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.
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.
All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with respect to these materials. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.
TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs andembedded processors, along with software, tools and the industry’s largest sales/support staff.