This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

BeagleBone High-speed bulk USB transfer

Hi,

I am trying to facilitate high speed (480Mb/s) bulk transfer between a beagle bone and a host computer to transmit large amounts of data (uncompressed video frames.) I have modified the usb_dev_bulk example included in StarterWare to transfer data from the beaglebone to the host computer, however I am getting speeds of only about 930KB/sec. This leads me to believe that the beaglebone was being set up as a USB1.1 device and thus only allowing full speed transfer. I modified the device descriptor in usbdbulk.c so that the device is set up as USB2.0. However, this did not increase the speed at all. 


Has anyone been able to do high speed (480Mb/s) bulk transfer? 

I have the host computer and BeagleBone connected via the USB0 port.

Thanks,

Nick

  • Hi Nick,

    The existing StarterWare USBLib Bulk Class is implemented to support only PIO mode for endpoint I/O. It is not possible to achieve the 64KBps in the existing implementation.
    Additionally, as no bandwidth is reserved for Bulk endpoints, the saturation level of the host USB bus will also affect the throughput.

    Below are few pointers which you can use to improve the throughput on StarterWare USBLib front, if you are planning to make changes to the USBLib youeself:
    - Using CPPI-DMA for I/O of the Bulk EndPoint (and EDMA to transfer anywhere within the application) can increase the transfer rate.
    - Setting the maximum packet size to 512 will also improve the throughput.

    Regards
    Sirish

  • Hello Nick,
    have you improved the USB throughput? What throughput have you reached?
    What have you done?

    Regards
    Holger

  • Hi Sirish,

    My attention was brought back to this thread by another reply, and I realized that I forgot to reply to your suggestion. I'm no longer working on the project, but wanted to thank you all the same!

    Nick

  • Hi Holger

    I haven't worked on the project in some time, but as I recall I was never able to increase the throughput. Unfortunately it's been so long that I don't remember what all I tried to fix it. 

    Sorry I couldn't be of more help!

    Nick