cancel
Showing results for 
Search instead for 
Did you mean: 

How to send ADC data from memory to USB at high speed?

KWalc.1
Associate

Hello community,

I have been using Nucleo F413ZH for some time. So far I have used ADC for lower speeds and needed nothing more to read the data than STMstudio. Recently I have a problem that I don't know how to approach. I also don't know how to find a solution online (I feel like I'm wandering around).

I have 16 microphones, each connects to one ADC channel and thanks to the use of DMA it directs data to the memory. However, I would like to do a cross-correlation of the signals, so I came to the conclusion that I would send the data to the PC or RPi 4b, and I would do the calculations there. But the problem for me is sending so much data from the memory. I don't know how to direct data from adc straight to USB.

I read and watched a video about the CDC and its theoretical limitation of 1 MB / s which would be satisfactory for me, but I don't know how to write the code or which functions to use (i need 16mic x10bit x44.1khz ~= 7Mbit/s =882KBytes/s, also i can reduce some mics to 12 of them ) .

Maybe someone would be able to point out a solution to such a problem, maybe it is already solved on the forum, but I haven't found it. Perhaps there are other methods for fast data transfer that I haven't found yet.

I have so many questions that I don't know where to start.

Thank you for any involvement in the reply

0 REPLIES 0