Motherboard Forums


Reply
Thread Tools Display Modes

USB - Bulk Transfer speed up

 
 





















edurohr
Guest
Posts: n/a

 
      12-18-2007, 09:24 PM


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


 
Reply With Quote
 
Leo Havmøller
Guest
Posts: n/a

 
      12-19-2007, 04:38 AM
> I'm using a LPC2148 device with built-in USB (Full Speed) device
> controller.
> I can sucessfully make Bulk transfers at every 1ms, but cannot do it
> faster.


Why not?

> Since my endpoint is limitted to 64 bytes, I can't reach transfer rates
> above 64Kbytes/s, even using a full speed device.


Sure you can. You just need multiple 64 byte packets transferred within one
frame.

> How could I increase this rate, once it could be close to 12Mbits/sec
> (theoricaly)?


With fully optimized device and host drivers, you can reach 8-9 MBit.

> All sugestions are welcome,


http://www.lvr.com/usb.htm
http://www.usb.org/phpbb/

Leo Havmøller.

 
Reply With Quote
 
edurohr
Guest
Posts: n/a

 
      12-19-2007, 10:37 AM
>> I'm using a LPC2148 device with built-in USB (Full Speed) device
>> controller.
>> I can sucessfully make Bulk transfers at every 1ms, but cannot do it
>> faster.

>
>Why not?


I belive that the bottleneck is in the host driver. I'm usin
LIBUSB-WIN32
and I saw with a osciloscope that each communication at USB is don
exactly at every 1ms.

>
>> Since my endpoint is limitted to 64 bytes, I can't reach transfe

rates
>> above 64Kbytes/s, even using a full speed device.

>
>Sure you can. You just need multiple 64 byte packets transferred withi

one
>frame.


How can I do this?

>
>> How could I increase this rate, once it could be close to 12Mbits/sec
>> (theoricaly)?

>
>With fully optimized device and host drivers, you can reach 8-9 MBit.


I'm actually with 32kbytes

Thanks for attention.

>
>> All sugestions are welcome,

>
>http://www.lvr.com/usb.htm
>http://www.usb.org/phpbb/
>
>Leo Havm�ller.
>
>

 
Reply With Quote
 
typhon62
Guest
Posts: n/a

 
      12-19-2007, 12:48 PM
On Dec 18, 3:24 pm, "edurohr" <edur...@gmail.com> wrote:
> Hi all,
>
> I'm using a LPC2148 device with built-in USB (Full Speed) device
> controller.
> I can sucessfully make Bulk transfers at every 1ms, but cannot do it
> faster.
> Since my endpoint is limitted to 64 bytes, I can't reach transfer rates
> above 64Kbytes/s, even using a full speed device.
> How could I increase this rate, once it could be close to 12Mbits/sec
> (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.
 
Reply With Quote
 
edurohr
Guest
Posts: n/a

 
      12-20-2007, 12:46 PM
>On Dec 18, 3:24 pm, "edurohr" <edur...@gmail.com> wrote:
>> Hi all,
>>
>> I'm using a LPC2148 device with built-in USB (Full Speed) device
>> controller.
>> I can sucessfully make Bulk transfers at every 1ms, but cannot do it
>> faster.
>> Since my endpoint is limitted to 64 bytes, I can't reach transfe

rates
>> above 64Kbytes/s, even using a full speed device.
>> How could I increase this rate, once it could be close to 12Mbits/sec
>> (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.
>


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?


 
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Re: Compaq Presario V5306US and memory speed Ben Myers Compaq 3 04-28-2008 03:57 PM
Re: USB host controller BULK Transfer problem. Ben Myers Dell 0 03-28-2008 01:43 PM
A8N-E SATA speed Percival P. Cassidy Asus 5 10-28-2007 06:37 PM
Case fan control Folk Abit 14 09-21-2007 02:41 AM
AMD64x2 speed v.s. DDR2 memory speed? Joe101 Asus 1 07-05-2007 12:40 AM


All times are GMT. The time now is 12:53 PM.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43