Intel
®
IXP42X Product Line of Network Processors and IXC1100 Control Plane Processor
September 2006 DM
Order Number: 252480-006US 475
Universal Serial Bus (USB) v1.1 Device Controller—Intel
®
IXP42X product line and IXC1100
control plane processors
A data packet consists of a sync; a PID; from 0 to 1,023 bytes of data; and a CRC16
field, as shown in Table 165. Note that the UDC supports a maximum of 8 bytes of data
for an Interrupt IN data payload, a maximum of 64 bytes of data for a bulk data
payload and a maximum of 256 bytes of data for an isochronous data payload.
18.3.4.4 Handshake Packet Type
Handshake packets consist of a Sync and a PID. Handshake packets do not contain a
CRC because the PID contains its own check field. Handshake packets are used to
report data transaction status, including confirmation that data was successfully
received, flow control, and stall conditions. Only transactions that support flow control
can return handshakes.
The three types of handshake packets are: ACK, NAK, and STALL.
ACK indicates that a data packet was received without bit stuffing, CRC, or PID check
errors. NAK indicates that the UDC was unable to accept data from the host or has no
data to transmit. STALL indicates that the UDC was unable to transmit or receive data,
and requires host intervention to clear the stall condition.
The receiving unit signals Bit stuffing, CRC, and PID errors by omitting a handshake
packet. Table 166 shows the format of a handshake packet.
18.3.5 Transaction Formats
Packets are assembled into groups to form transactions. The USB protocol uses four
different transaction formats. Each transaction format is specific to a particular type of
endpoint: Bulk, Control, Interrupt, or Isochronous.
Endpoint 0, by default, is a control endpoint and receives only control transactions. All
USB transactions are initiated by the host controller and transmitted in one direction at
a time (known as half-duplex) between the host and UDC.
18.3.5.1 Bulk Transaction Type
Bulk transactions guarantee error-free data transmission between the host and UDC by
using packet-error detection and retry. The host schedules bulk packets when the bus
has available time.
Bulk transactions are made up of three packet types: Token, Data, and Handshake. The
eight types of bulk transactions are based on data direction, error, and stall conditions.
The types of bulk transactions are shown in Table 167. Packets sent from the UDC to
the host are highlighted in boldface type and packets sent from the host to the UDC are
not.
Table 165. Data Packet Format
8 bits 8 bits 0 - 1,023 bytes 16 bits
Sync PID Data CRC16
Table 166. Handshake Packet Format
8 bits 8 bits
Sync PID