Skip to main content
Visitor II
June 14, 2022
Solved

STM32CubeMonitor - validate SPI Rx buffer

  • June 14, 2022
  • 2 replies
  • 2291 views

I am receiving 32bit samples from an external ADC via SPI (DMA) on the STM32U5 (NUCLEO board) at a rate of 51200 samples/sec.

Does the ST-Link v3e provide an interface that should allow me to reliably stream these to my PC for further anlayis/validation?

I've tried using UART over VCP but the error rate was too high.

I've been trying to use STM32CubeMonitor - in direct mode I only managed 18600 samples/sec or 595kbps, and I haven't been able to get snapshot mode working at all.

The v3e debugger is USB HS, correct? I'm just not sure how to actually achieve anywhere close to that speed.

    This topic has been closed for replies.
    Best answer by victagayun

    Nowadays, UART speed can go higher than 5Mbps, in your case U5 Nucleo (assuming NUCLEO-U575ZI-Q) can reach 10Mbps. If data are sent as raw binary data, you may need to write your own protocol.

    0693W00000QMkfIQAT.png

    2 replies

    ST Employee
    June 27, 2022

    Hello

    If you need to dump all samples, it would imply 1.6Mbits/s bandwidth.

    This is far too much to SWD protocol used by STM32cubeMonitor because the computer is polling the data through ST-Link and it will not be fast enough, even with snapshot.

    One option could be to use a serial USB converter supporting very high speed, or putting another board to buffer the data received on UART and send it through USB VCP. But you need also a software to ingest the data, and I think that CubeMonitor will not manage this high flow for a long time.

    I would suggest to check if you really need to send all samples : if you could reduce the amount of data by compressing, or sending only some specific values, it would be easier.

    Best regards

    Explorer
    August 2, 2022

    Nowadays, UART speed can go higher than 5Mbps, in your case U5 Nucleo (assuming NUCLEO-U575ZI-Q) can reach 10Mbps. If data are sent as raw binary data, you may need to write your own protocol.

    0693W00000QMkfIQAT.png