|
Message
From: "Marc Reinig" <mreinig@p...>
Date: Sun, 2 Nov 2003 10:37:14 -0800
Subject: RE: [usb] Packet transfers w USB2.0 core
> As I understand the USB spec, a device indicates
> packet boundaries on bulk pipes by transferring
> a last data transaction of less than 64 bytes.
No, bulk endpoints on full-speed devices, the max packet size on the bus can
be 8, 16, 32, or 64 bytes. And for USB 2.0 it can be also 512 bytes. 64
bytes is just one of the choices.
> If the packet is an exact multiple of 64 bytes the
> last data transaction will have 0 data bytes.
No. A device responds to IN requests as they are sent by the host. When
the end of its data occurs, if there is less than a max packets worth of
data, it sends a short packet. If there is exactly a max packets worth
left, it sends that.
It is application specific whether the host will send another request when
it has received all of its data. So, you may or may not get an additional
request for data. It is not automatic. However, if you do get such a
request, you must respond with a zero length packet.
Marc Reinig
System Solutions
> -----Original Message-----
> From: owner-usb@o... [mailto:owner-usb@o...]On Behalf
> Of subha sriraman
> Subject: [usb] Packet transfers w USB2.0 core
>
> I have a few questions regarding usage of the USB2.0
> core for transferring packets (in Host controlled and
> DMA modes).
>
> As I understand the USB spec, a device indicates
> packet boundaries on bulk pipes by transferring a last
> data transaction of less than 64 bytes. If the packet
> is an exact multiple of 64 bytes the last data
> transaction will have 0 data bytes. Does the USB core
> correctly handle this?
> 1) In Host controlled mode, I assume the packet size
> is programmed into the buffer size field to send a
> packet (IN)? In this case does the core automatically
> generate a 0 byte data transaction at the end if
> needed?
> 2) In DMA mode, the model seems to be a continuous
> flow of data bytes (with flow ctl). How does one
> indicate packet boundaries?
> 3) What is the definition of MAX_PL_SIZE? is it
> typically 64 bytes (1 transaction)? or is it something
> else?
>
> Thanks for your time.
>
>
> __________________________________
> Do you Yahoo!?
> Exclusive Video Premiere - Britney Spears
> http://launch.yahoo.com/promos/britneyspears/
>
|
 |