Packet
USB Packet types: (Source: http://www.usbmadesimple.co.uk/ums_3.htm)
PID Type | PID Name | PID<3:0>* |
Token | OUT | 0001b |
IN | 1001b | |
SOF | 0101b | |
SETUP | 1101b | |
Data | DATA0 | 0011b |
DATA1 | 1011b | |
DATA2 | 0111b | |
MDATA | 1111b | |
Handshake | ACK | 0010b |
NAK | 1010b | |
STALL | 1110b | |
NYET | 0110b | |
Special | PRE | 1100b |
ERR | 1100b | |
SPLIT | 1000b | |
PING | 0100b | |
Reserved | 0000b |
Transaction:
One transaction has 3 packets: Token + Data + Handshake for a successful transaction. (*). Nak and Stall error condition could happen after Token when no data is available.
There are 3 types of transactions: IN, OUT, SETUP
*: For IN and OUT transactions used for isochronous transfers, there are only 2 packets; there is no handshake packet.
Transfer:
There are 4 types of transfer:
- Control
- Interrupt
- Bulk
- Isochronous (such as audio data)
HID device only uses Control and Interrupt
Control transfer = 3 transactions: SETUP + IN/OUT DATA + STATUS(IN/OUT transaction)
Other transfers has just one transaction: IN/OUT data.
No comments:
Post a Comment