Data packets

Go down

Data packets

Post  meodingu on Mon Jan 10, 2011 8:39 am

Data packets
A data packet consists of the PID followed by 01023 bytes of data payload (up to 1024 in high bandwidth, at most 8 at low bandwidth), and a 16-bit CRC.
There are two basic data packets, DATA0 and DATA1. They must always be preceded by an address token, and are usually followed by a handshake token from the receiver back to the transmitter. The two packet types provide the 1-bit sequence number required by Stop-and-wait ARQ. If a USB host does not receive a response (such as an ACK) for data it has transmitted, it does not know if the data was received or not; the data might have been lost in transit, or it might have been received but the handshake response was lost.
To solve this problem, the device keeps track of the type of DATAx packet it last accepted. If it receives another DATAx packet of the same type, it is acknowledged but ignored as a duplicate. Only a DATAx packet of the opposite type is actually received.
When a device is reset with a SETUP packet, it expects an 8-byte DATA0 packet next.
USB 2.0 added DATA2 and MDATA packet types as well. They are used only by high-bandwidth devices doing high-bandwidth isochronous transfers which need to transfer more than 1024 bytes per 125 s "microframe" (8192 kB/s)


Ben 10 Games
Flue Liners
avatar
meodingu
steve harmisson

Posts : 208
Join date : 2010-09-28

View user profile

Back to top Go down

Back to top

- Similar topics

 
Permissions in this forum:
You cannot reply to topics in this forum