beautypg.com

5 transaction formats, 5transaction formats -61, Bulk transaction formats -61 – Intel STRONGARM SA-1100 User Manual

Page 211

background image

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