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