Peripheral Control Module

11.8.1.5Transaction 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

Action

Host successfully received data from UDC

UDC temporarily unable to transmit data

UDC endpoint needs host intervention

Host detected PID, CRC, or bit stuff error

UDC successfully received data from host

UDC temporarily unable to receive data

UDC endpoint needs host intervention

UDC detected PID, CRC, or bit stuff error

Token Packet

Data Packet

Handshake Packet

 

 

 

IN

DATA0/DATA1

ACK

 

 

 

 

 

 

IN

None

NAK

 

 

 

 

 

 

IN

None

STALL

 

 

 

 

 

 

IN

DATA0/DATA1

None

 

 

 

 

 

 

OUT

DATA0/DATA1

ACK

 

 

 

 

 

 

OUT

DATA0/DATA1

NAK

 

 

 

 

 

 

OUT

DATA0/DATA1

STALL

 

 

 

 

 

 

OUT

DATA0/DATA1

none

 

 

 

Packets from UDC to host are boldface

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-21shows 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.

SA-1100 Developer’s Manual

11-61

Page 211
Image 211
Intel SA-1100 manual Transaction Formats, Action, Out, Packets from UDC to host are boldface