Protocol analysis
R&S
®
RTE
819User Manual 1326.1032.02 ─ 20
Figure 13-95: Start of a high-speed packet: after an SE0, the packet starts with a SYNC field (or SOP),
followed by the data packet
SE0 = Single-ended zero, both D+ and D- wire are on low level
1 = High-speed SYNC field (or SOP), length up to 32 bits
2 = Receiver-squelched differential envelope, below 100 mV
3 = Differential envelope exceeds 150 mV, reception enabled with 4 symbol times
4 = Clock recovery must lock in time to detect end of SYNC
5 = End of SYNC detected, receiver begins data recovery
After the SYNC (or SOP), USB data packets consist of (in this order):
●
PID (packet identifier): specifies the type of packet. Examples are:
– Token packets (IN, OUT, SETUP) are always the first packet in a USB transac-
tion, containing the address of the device and its endpoint.
– Token SOF packets (start of frame) are there to schedule a data transfer.
– Handshake packets provide the status of the transaction.
– Data packets are dedicated for the data transfer payload.
– Various special packets provide special characteristics: for instance, SPLIT
packets are used to communicate with low or full speed devices on a high-
speed link.
The PID's length is 8 bit, beginning (LSB) with the fields PID0, PID1, PID2 and
PID3. Those 4 bits are repeated in PID4, PID5, PID6 and PID7, but in complemen-
tary form (for integrity checking). The PID is the only part of a packet not to be cov-
ered by the CRC (see below). Packets with invalid or non-supported PID fields are
rejected. For valid PIDs, see Table 13-22.
●
ADDR (address): contains the USB address of the target device. The length of this
field is 7 bits, resulting in addresses 0 through 127 (with 0 reserved as the default
address after reset).
●
ENDP (endpoint): number of the endpoint. The length of this field is 4 bits, resulting
in a maximum of 16 different endpoints.
●
Frame number: this field with a length of 11 bits specifies the current frame num-
ber 0 to 2047. It is only sent in SOF packets.
●
Data field (or "payload data"): the length of this field is not fixed, it can contain
between 0 bytes and 1024 bytes.
●
CRC (cyclic redundancy check): Finally, the CRC field ensures that the received
data is correct. If an error is detected in the CRC calculation, the packet is rejected.
Packets (in this case: IN, OUT, SOF, SETUP, PING, SPLIT) are followed by a
CRC5 (which is 5 bits long) over ADDR and ENDP (or the frame number field, in
case of SOF); data packets (DATA0, DATA1, MDATA, DATA2) are followed by a
CRC16 (which is 16 bits long) over the data field. No CRC is used for handshake
packets.
USB (option R&S
RTE-K60)