I want to operate 2 simultaneous channels of an AD7768 A/D converter @ 256 kS/s. Its resolution is 24 bit which yields a data rate of 2 x 24 bit x 256 kS/s = 12.288 Mbit/s.

Using a microcontroller, I want to transmit the raw data of both channels via USB 2.0 and in realtime to a PC.

From an earlier project, I still have an STM32F405RGT6 microcontroller running at 168 MHz. Can anybody estimate if this microcontroller can handle this fast data transmission via USB? (I know, an FPGA would probably be the better choice but would also be more complicated to implement.)

Thanks for your help!


That part can be a high speed USB 2.0 device (480 Mbit/second), it will need an external ULPI USB phy for this.

If you don’t need to do any processing, and just pipe data from the ADC to an isochronous USB endpoint it should be ok.

| improve this answer | |
  • \$\begingroup\$ Yes, I only want to pipe the data. As far as I understand the external ULPI USB PHY is not required here because USB in full-speed operation (12 MByte/s) should be sufficient. Or am I wrong? \$\endgroup\$ – Charly Aug 13 at 11:54
  • 2
    \$\begingroup\$ USB 2.0 full speed is 12 Mbit/sec, rather than MByte, and some of that is taken up with protocol overheads, so it would be inadequate for your data rate \$\endgroup\$ – Colin Aug 13 at 12:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.