Re: How do USB 2.0 devices attain high throuput?
- From: Paul Gotch <paulg@xxxxxxxxxxxxxxxxx>
- Date: 25 Feb 2006 23:01:58 +0000 (GMT)
nappy <gospam@xxxxxxxxxxxx> wrote:
I am contemplating a design. The Cypress FX2 docs state that USB 2.0
buffers can be up to 512 bytes for bulk transfers. If USB 2.0 is only
services every 125 uS then how do drives and other devices get closer to
the ~60mB through put? Or even the 25mB average of drives?
The 125uS timebase allows you to do 13 of 512 byte bulk transfers in each frame.
This allows you to transfer 5324800 bytes per seconds which is approximately
50.7 MBytes/s if you are working in base 2 or 53.2 MBytes if you are in base
10.
Actually getting that data rate depends on the endpoint not issuing any NAKs
during the microframe. If the host controller sees a NAK it has to stop
sending data.
If you need timing guarentees then you'd need to do Isochronous transfers
and the limit is 2 of 3072 byte transfers ie about 46 Mbytes/s base 2
In practice actually achieving either of these maxima usually requires that
your device is the only thing on the bus except for the host controller.
Download and look at chapter 5, particularly 5.4, 5.6 and 5.8 of usb_20.pdf in
the zipfile from
http://www.usb.org/developers/docs/usb_20_02212005.zip
Personally I prefer IEEE1394 which looks inferior if you look at marketing
blurb but is better in practice.
-p
--
"What goes up must come down, ask any system administrator"
--------------------------------------------------------------------
.
- Follow-Ups:
- Re: How do USB 2.0 devices attain high throuput?
- From: nappy
- Re: How do USB 2.0 devices attain high throuput?
- References:
- How do USB 2.0 devices attain high throuput?
- From: nappy
- How do USB 2.0 devices attain high throuput?
- Prev by Date: Broadcom pinout..
- Next by Date: Re: anyone have an ancient SDS tool suite?
- Previous by thread: Re: How do USB 2.0 devices attain high throuput?
- Next by thread: Re: How do USB 2.0 devices attain high throuput?
- Index(es):