USB - Bulk Transfer speed up

Dec 18, 2007 2 Replies

Hi all,



I'm using a LPC2148 device with built-in USB (Full Speed) devic controller. I can sucessfully make Bulk transfers at every 1ms, but cannot do i faster. Since my endpoint is limitted to 64 bytes, I can't reach transfer rate above 64Kbytes/s, even using a full speed device. How could I increase this rate, once it could be close to 12Mbits/se (theoricaly)?



All sugestions are welcome, Eduardo


You need to read up on USB. USB Full Speed is polled at 1ms, so you can't go any faster than that. Like Leo said, you need to use all of the buffers within a single 1ms frame.

rates

Thanks for help, it works!

Now I can get 8Mbit/s, using multiple packets per frame. I'm using the LibUsb library, so just need to increase the SIZE in th line:

usb_bulk_write(dev, EP_OUT, (char *)buffer, SIZE, TIMEOUT);

On firmware, once my device the output buffer has only 64 bytes lenght, have to reload it very fast.

Now I'm trying to read and write data in the same frame. Is it possibl with LibUsb? Is it possible at all?

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required