For Each OUT
Packet Specified in
SETUP Phase
TxPktRdy
Set?
Yes
OUT Token Sent
STALL
Received?
Yes
RxStall Set
TxPktRdy Cleared
Error Count Cleared
Interrupt Generated
Command Could Not
Be Completed
No
No
ACK
Received?
No
Yes
No
NAK Limit
Reached?
Yes
Yes
No
No
NAK Timeout Set
Endpoint Halted
Interrupt Generated
NAK
Received?
Error Count
Incremented
Transaction
Complete
Implies Problem at
Peripheral End of
Connection
Transaction Deemed
Completed
Error Bit Set
TxPktRdy Cleared
Error Count Cleared
Interrupt Generated
Yes
Error Count
= 3?
TxPktRdy Cleared
Error Count Cleared
Interrupt Generated
Error Count
Cleared
DATA0/1 Packet Sent
Functional Description
Figure 16-10. Flow Chart of Data Stage (OUT Data Phase) of a Control Transfer in Host Mode
16.3.8.2.1.4 Status Phase (Status for OUT Data Phase or Setup Phase) of a Control Transaction: Host
Mode
IN Status Phase of a control transfer exists for a Zero Data Request or for a Write Request of a control
transfer. The IN Status Phase follows the Setup Stage, if no Data Stage of a control transfer exists, or
OUT Data Phase of a Data Stage of a control transfer.
For the IN Status Phase of a control transaction (
), the software driving the USB Host device
needs to:
1. Set the STATUSPKT and REQPKT bits of HOST_CSR0 (bit 6 and bit 5, respectively).
2. Wait while the controller sends an IN token and receives a response from the USB peripheral device.
3. When the controller generates the Endpoint 0 interrupt, read HOST_CSR0 to establish whether the
RXSTALL bit (bit 2), the ERROR bit (bit 4), the NAK_TIMEOUT bit (bit 7) or RXPKTRDY bit (bit 0) has
been set.
If RXSTALL bit is set, it indicates that the target could not complete the command and so has issued a
1723
SPRUH73H – October 2011 – Revised April 2013
Universal Serial Bus (USB)
Copyright © 2011–2013, Texas Instruments Incorporated