Input/Output Interfaces
5.7.1 USB Data Formats
The USB I/F uses non-return-to-zero inverted (NRZI) encoding for data transmissions, in which a 1 is represented by no change (between bit times) in signal level and a 0 is represented by a change in signal level. Bit stuffing is employed prior to NRZ1 encoding so that in the event a string of 1's is transmitted (normally resulting in a steady signal level) a 0 is inserted after every six consecutive 1's to ensure adequate signal transitions in the data stream. The USB transmissions consist of packets using one of four types of formats (Figure 5-9) that include two or more of seven field types.
■Sync Field—8-bit field that starts every packet and is used by the receiver to align the incoming signal with the local clock.
■Packet Identifier (PID) Field—8-bit field sent with every packet to identify the attributes (in. out, start-of-frame (SOF), setup, data, acknowledge, stall, preamble) and the degree of error correction to be applied.
■Address Field—7-bit field that provides source information required in token packets.
■Endpoint Field—4-bit field that provides destination information required in token packets.
■Frame Field—11-bit field sent in Start-of-Frame (SOF) packets that are incremented by the host and sent only at the start of each frame.
■Data Field—0-1023-byte field of data.
■Cyclic Redundancy Check (CRC) Field—5- or 16-bit field used to check transmission integrity.
Token Packet | Sync Field | PID Field | Addr. Field | | ENDP. Field | | | CRC Field | |
(8 bits) | (8 bits) | (7 bits) | | (4 bits) | | | (5 bits) | |
| | | | | | | | | | | |
| | | | | | | | |
SOF Packet | Sync Field | PID Field | Frame Field | | CRC | Field | |
(8 bits) | (8 bits) | (11 bits) | | (5 bits) | |
| | | | | | | | |
| | | | | | | |
Data Packet | Sync Field | PID Field | Data Field | | | | CRC Field |
(8 bits) | (8 bits) | (0-1023 bytes) | | | | (16 bits) |
| | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
Handshake Packet | Sync Field | PID Field | | | | | | | | | |
(8 bits) | (8 bits) | | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | | | |
Figure 5-9. USB Packet Formats
Data is transferred LSb first. A cyclic redundancy check (CRC) is applied to all packets (except a handshake packet). A packet causing a CRC error is generally completely ignored by the receiver.
5-26 | 361834-002 | Technical Reference Guide |