Intel® IXP400 Software

Access-Layer Components: USB Access (ixUSB) API

Table 56. Control Transaction Formats, Set-Up Stage

Action

Token Packet

Data Packet

Handshake Packet

 

 

 

 

UDC successfully received control from host

Setup

DATA0

ACK

 

 

 

 

UDC temporarily unable to receive data

Setup

DATA0

NAK

 

 

 

 

UDC endpoint needs host intervention

Setup

DATA0

STALL

 

 

 

 

UDC detected PID, CRC, or bit stuff error

Setup

DATA0

None

 

 

 

 

NOTE: Packets from UDC to host are boldface.

Control transfers are assembled by the host by sending a control transaction to tell the UDC what type of control transfer is taking place (control read or control write), followed by two or more bulk data transactions. The first stage of the control transfer is the setup. The device must either respond with an ACK; or if the data is corrupted, it sends no handshake.

The control transaction, by default, uses a DATA0 transfer, and each subsequent bulk data transaction toggles between DATA1 and DATA0 transfers. For a control write to an endpoint, OUT transactions are used. For control reads, IN transactions are used.

The transfer direction of the last bulk data transaction is reversed. It is used to report status and functions as a handshake. The last bulk data transaction always uses a DATA1 transfer by default (even if the previous bulk transaction used DATA1). For a control write, the last transaction is an IN from the UDC to the host, and for a control read, the last transaction is an OUT from the host to the UDC.

Table 57. Control Transaction Formats

Control Write

Setup

DATA (BULK OUT)

STATUS (BULK IN)

 

 

 

 

Control read

Setup

DATA (BULK IN)*

STATUS (BULK OUT)

NOTE: Packets from UDC to host are boldface.

Interrupt transactions are used by the host to query the status of the device. Like bulk transactions, interrupt transactions begin with a setup packet, followed by an optional data packet, then a handshake packet. Table 58 shows the eight possible types of interrupt transactions.

Table 58. Interrupt 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.

Programmer’s Guide

IXP400 Software Version 2.0

April 2005

 

Document Number: 252539, Revision: 007

301

Page 301
Image 301
Intel IXP400 manual Control Transaction Formats, Set-Up Stage, Interrupt Transaction Formats, Control Write Setup