STM32F411 I need to send a lot of data by USB with high speed

2.6k views Asked by At

I'm using STM32F411 with USB CDC library, and max speed for this library is ~1Mb/s. I'm creating a project where I have 8 microphones connected into ADC line (this part works fine), I need a 16-bit signal, so I'm increasing accuracy by adding first 16 signals from one line (ADC gives only 12-bits signal). In my project, I need 96k 16-bit samples for one line, so it's 0,768M signals for all 8 lines. This signal needs 12000Kb space, but STM32 have only 128Kb SRAM, so I decided to send about 120 with 100Kb data in one second.

The conclusion is I need ~11,72Mb/s to send this.

The problem is that I'm unable to do that because CDC USB limited me to ~1Mb/s.

Question is how to increase USB speed to 12Mb/s for STM32F4. I need some prompt or library.

Or maybe should I set up "audio device" in CubeMX?

1

There are 1 answers

2
0___________ On

If small b means byte in your question, the answer is: it is not possible as your micro has FS USB which max speeds is 12M bits per second.

If it means bits your 1Mb (bit) speed assumption is wrong. But you will not reach the 12M bit payload transfer.

You may try to write (only if b means bit) your own class but I afraid you will not find a ready made library. You will need also to write the device driver on the host computer