Intel® PXA26x Processor Family Developer’s Manual 12-7
Universal Serial Bus Device Controller
12.3.5 Transaction F ormats
Packets are assembled into groups to form transactions. The USB protocol uses four different
transaction formats. Each transaction format is specific to a partic ular 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 in iti ated by th e h ost contro ller an d trans mitted i n one
direction at a time (known as half-duplex) between the host and UDC.

12.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 pac kets when the bus has available time.
Bulk transactions are made up of three packet types: token, d ata, an d han dshak e. The ei ght types of
bulk transactions are based on data direction, error, and stall conditions. The types of bulk
transactions are shown in Table12-7. Packets sent from the UDC to the host are highlighted in
boldface type and packets sent from the host to the UDC are not.

12.3.5.2 Isochronous Transaction Type

Isochronous transactions ensure constant rate, error-tolerant transmission of data between the host
and UDC. The host schedules isochronous packets during every frame. USB protocol all ows
isochronous transfers to take up to 90% of the USB bandwidth. Unlike bulk transactions, if
corrupted data is received, the UDC continues to process the corrupted data that corresp onds to the
current start of frame indicator. Isochronous transactions do not support a handshake phase or retry
capability. Two packet types construct isochronous transactions: token and data. The types of
isochronous transactions based on data direction are shown in Table12-8.
Table 12-7. Bulk Transaction Formats
Action Token Packet Data Packet Handshake Packet
Host successfully received data from UDC IN DATA0/DATA1 ACK
UDC temporarily unable to transmit data IN None NAK
UDC endpoint needs host intervention IN None STALL
Host detected PID, CRC, or bit stuff error IN DATA0/DATA1 None
UDC successfully received data from host OUT DATA0/DATA1 ACK
UDC temporarily unable to receive data OUT DATA0/DATA1 NAK
UDC endpoint needs host intervention OUT DATA0/DATA1 STALL
UDC detected PID, CRC, or bit stuff error OUT DATA0/DATA1 None
NOTE: Packets from UDC to host are boldface
Table 12-8. Isochronous Transaction Formats
Action Token Packet Data Packet
Host received data from UDC IN DATA0
UDC received data from host OUT DATA0
NOTE: Packets from UDC to host are boldface