Intel PXA26X Laptop User Manual


 
Intel® PXA26x Processor Family Developer’s Manual 12-7
Universal Serial Bus Device Controller
12.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.
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 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 12-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 allows
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 corresponds 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 Table 12-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