5 transaction formats, 5transaction formats -61, Bulk transaction formats -61 – Intel STRONGARM SA-1100 User Manual
Page 211
SA-1100 Developer’s Manual
11-61
Peripheral Control Module
11.8.1.5
Transaction Formats
Packets are assembled into groups to form transactions. Four different transaction formats are used
in the USB protocol. Each is specific to a particular endpoint type: bulk, control, interrupt, and
isochronous. Note that isochronous and interrupt transactions are not supported by the UDC and
are not described in this section. Endpoint 0, by default, is a control endpoint and receives only
control transactions; both endpoints 1 and 2 use bulk transactions. Note that all USB bus
transactions are initiated by the host controller and that transmission takes place between the host
and UDC one direction at a time (half-duplex).
Bulk transactions guarantee error-free transmission of data between the host and UDC by using
packet error detection and retry. The three packet types used to construct bulk transactions are:
token, data, and handshake. The eight possible types of bulk transactions based on data direction,
error, and stall conditions are shown in
. Note that packets sent by the UDC to the
host are highlighted in boldface type, and packets sent by the host to the UDC are not.
Figure 11-20. Bulk Transaction Formats
Control transactions are used by the host to configure endpoints and query their status. Like bulk
transactions, control transactions begin with a setup packet, followed by an optional data packet,
then a handshake packet. Note that control transactions, by default, use DATA0 type transfers.
shows the four possible types of control transactions. Note that packets sent by the
UDC to the host are highlighted in boldface type, and packets sent by the host to the UDC are not.
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
Packets from UDC to host are boldface