On Mon, 14 Mar 2005, camel yang wrote:

> In usb 1.1 specification 5.8.4(page 47):"Bulk
> transfers can be used only by full-speed devices".I
> think Bulk transfers and Interrupt Transfers are
> same(all are IN OUT tokens and DATA HandShake pakets)
> in the protocol level.Can it work If i implement a
> bulk pipe in low-speed device? Is it bandwidth
> constrains,if it can't work?Can anyone explain to me? 

Bulk and interrupt transfers appear the same on the bus, but they are not 
the same at the higher protocol levels.  Interrupt transfers are scheduled 
periodically without immediate retries, whereas bulk transfers are 
scheduled opportunistically with immediate retries.

If you implement a bulk pipe in a low-speed device it won't work.  The 
host controller drivers will refuse to schedule a bulk transfer to a 
low-speed device, because such things are illegal according to the spec.

You could use an interrupt endpoint with period 1.  Or you could implement
your transfer over endpoint 0 instead, which is almost as good as a bulk
pipe.  Or, if you really do have a lot of bulk data to send, you should
use a full-speed or high-speed device.  Low-speed devices were never meant
to transfer large amounts of data.

Alan Stern



-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
[email protected]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to