Intel IXP400 Frozen Dessert Maker User Manual


 
Intel
®
IXP400 Software
Access-Layer Components: USB Access (ixUSB) API
Programmer’s Guide IXP400 Software Version 2.0 April 2005
Document Number: 252539, Revision: 007 301
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.
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 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.
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.
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.