Specifications
14
14
USB Transfers—Closer Look at a Control Transfer
Control Read Transfers (IN)—contains Setup, Data (optional), and
handshake transactions
SETUP
PID=1101
DATA0
PID=0011
ACK
PID=0010
IN
PID=1001
DATA1/0
PID=1011
ACK
PID=0010
NAK
PID=1010
STALL
PID=1110
OUT
PID=0001
0-LENGTH
DATA1
PID=1011
ACK
PID=0010
NAK
PID=1010
STALL
PID=1110
Host sends setup packet followed by 8 bytes of data for
the request. The device must return an ACK.
Setup Transaction
Data Transaction
Status Transaction
Host sends IN packet and the device responds with the
data requested. Host responds with handshake. No
response indicates a data error. DATA1 is first and
alternates DATA0 and DATA1.
Data error
Data error
Host sends OUT packet for status phase. Host responds
with a 0 length packet to indicate the success or failure
of the transfer. Device ACK the status. No response
indicates a data error.
Data error
Host → Device
Device → Host
Here we have the same transfer type as the previous slide except that the host is now
requesting data from the device. Therefore, the data direction for the Data
transaction and the Status transaction are reversed.