USB Transactions
13-67
USB Function Module
Figure 13–8. Stages and Transaction Phases of Non-Autodecoded Control Transfers
Non-autodecode control write transfers-–correct status
Setup
Token
Command
ACK
Out
Token
Command
Data
ACK
Status
Token
Completion
Status
Data Stage
(Occurs 0 or more times,
depending on the amount of data)
Setup Stage
Status Stage
Non-autodecode control read transfers-–correct status
Data Stage
(Occurs 1 or more times, depending
on the Command and amount of data)
Setup Stage
Status Stage
EP0 TX Interrupt
STAT_FLG.ACK bit set
(one per IN transaction)
ACK
Non-autodecode control write transfers–request error
(due to LH setting RXCON1.Stall_Cmd)
Data Stage
(Occurs 0 or more times,
depending on the amount of data)
Setup Stage
Status Stage
Non-autodecode control read transfers-–request error
(due to LH setting CTRL.Stall_Cmd)
EP0 RX Interrupt
STAT_FLG.STALL bit set
EP0 TX Interrupt
STAT_FLG.STALL bit set
(one per In transaction)
EP0 RX Interrupt
STAT_FLG.ACK bit set
EP0 TX Interrupt
STAT_FLG.ACK bit set
EP0 TX Interrupt
STAT_FLG.STALL bit set
Setup Interrupt
EP0 RX Interrupt
STAT_FLG.ACK bit set
(one per OUT transaction)
EP0 RX Interrupt
RXSTATFLG.STALL bit set
(one per OUT transaction)
Setup
Token
Command
ACK
Out
Token
Command
Data
Stall
Status
Token
Completion
Status
Stall
Setup
Token
Command
ACK
In Token
Command
Data
ACK
Status
Token
0-length
data
Completion
Status
Data Stage
(Occurs 1 or more times, depending
on the Command and amount of data)
Setup Stage
Status Stage
Setup
Token
Command
ACK
In Token
Stall
Status
Token
0-length
data
Stall
No flag is updated.
Setup Interrupt
No flag is updated.
Setup Interrupt
No flag is updated.
Setup Interrupt
No flag is updated.