Intel® IXP42X Product Line of Network Processors and IXC1100 Control Plane Processor
September 2006 DM
Order Number: 252480-006US 473
Universal Serial Bus (USB) v1.1 Device Controller—Intel® IXP42X product line and IXC1100
control plane processors
The host is then responsible for assigning a unique address to each device on the bus.
Addresses are assigned in the enumeration process, one device at a time. After the
host assigns the an address to the UDC, the UDC only responds to transactions directed
to that address. The Address field follows the PID in every packet transmitted.
When the UDC detects a packet that is addressed to it, it uses the Endpoint field to
determine which of the UDCs endpoints is being addressed. The Endpoint field contains
four bits. Encodings for endpoints 0 (0000b) through 15 (1111b) are allowed. The
Endpoint field follows the Address field. Tabl e 162 shows the valid values for the
endpoint field.
The Frame Number is an 11-bit field incremented by the host each time a frame is
transmitted. When it reaches its maximum value (2,047 [0x7FF]) its value rolls over.
Frame Number is transmitted in the SOF packet, which the host outputs in 1-ms
intervals.
Device controllers use the Frame Number field to control isochronous transfers. Data
fields are used to transmit the packet data between the host and the UDC. A data field
consists of 0 to 1,023 bytes. Each byte is transmitted least-significant-bit-first. The
UDC generates an interrupt to indicate that a Start of Frame event has occurred.
CRC fields are used to detect errors introduced during token and data-packet
transmission and are applied to all the fields in the packet except the PID field. The PID
contains its own 4-bit 1s complement check field for error detection. Token packets use
a 5-bit CRC (x5+x2+1) called CRC5 and Data packets use a 16-bit CRC
(x16+x15+x2+1) called CRC16. For both CRCs, the checker resets to all 1s at the start
of each packet.
Table 162. Endpoint Field Addressing
Endpoint Field Value UDC Endpoint Selected
0000 Endpoint 0
0001 Endpoint 1
0010 Endpoint 2
0011 Endpoint 3
0100 Endpoint 4
0101 Endpoint 5
0110 Endpoint 6
0111 Endpoint 7
1000 Endpoint 8
1001 Endpoint 9
1010 Endpoint 10
1011 Endpoint 11
1100 Endpoint 12
1101 Endpoint 13
1110 Endpoint 14
1111 Endpoint 15