Author Topic: HS USB-MSD on Teensy_3_6  (Read 6921 times)

Offline JohnH

  • Newbie
  • *
  • Posts: 2
    • View Profile
HS USB-MSD on Teensy_3_6
« on: January 08, 2018, 08:13:34 PM »
After some bungling-around I have USB-MSD working on the HS (480Mb/sec) USB port (USB1) of a Teensy_3_6.  The highest transfer rate I've been able to obtain is 1.69MB/sec (Teensy->PC USB3 port), a disappointing fraction of the ~48MB/sec I expected.  Any one else have any experience with this?

Offline mark

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 3238
    • View Profile
    • uTasker
Re: HS USB-MSD on Teensy_3_6
« Reply #1 on: January 09, 2018, 10:06:30 AM »

It is not easy to get high throughput, even when the USB bit rate is very high. It depends on many factors - how the data is being prepared, how the USB buffers are kept filled in order to avoid the controller missing slots. It also depends on the class - the PC may only give it a part of the bandwidth available.

You need to analyse the flow, use a USB analyser to check the missed slots (and then feed this back to the analysis to see why the code is not supplying the controller to keep it flowing).

The USB bus is one aspect but getting the firmware to keep up with the data rate is another, which is often underestimated. If you are using USB-MSD to get data from an SD card for example, the SD card will probably be the actual bottle-neck because they can be quite slow.