Intel SA-1100 Computer Hardware User Manual


 
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 Figure 11-20. 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.
Figure 11-21 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