Enter general USB
ISR
USB device state
changed handle
IRQ_SRC.EP0_RX
=1?
EP0 RX
handler
Return from general
USB ISR
Set
IRQ_SRC.
EP0_RX = 1
to clear the IT.
IRQ_SRC.EP0_TX
=1?
EP0 TX
handler
Set
IRQ_SRC.
EP0_TX = 1
to clear the IT.
IRQ_SRC.
RXn_EOT =1?
Non-ISO RX DMA
end of transfer
handler
IRQ_SRC.
RXn_Cnt =1?
Non-ISO RX DMA
transactions
count handler
IRQ_SRC.
TXn_Done =1?
Non-ISO TX DMA
done handler
The interrupt must
be cleared within the
device state changed
handler.
IRQ_SRC.SETUP
=1?
Setup
handler
DMA interrupts
are cleared within their
respective handlers.
Yes
No
No
No
Yes
No
Yes
No
Yes
No
Yes
Yes
Must be
IRQ_SRC.DS_CHG
USB Device Controller
1618
SPNU503C – March 2018
Copyright © 2018, Texas Instruments Incorporated
Universal Serial Bus (USB)
Figure 29-62. General USB Interrupt ISR Source Parsing Flowchart
29.3.13 Setup Interrupt Handler
A separate interrupt flag exists for setup transactions so that the CPU cannot miss a setup transaction,
even if it occurs during the data or status phase of another transfer (case of an aborted transfer). The
setup parsing function captures the control transfer request information for use in determining which USB
bus activity is needed and in controlling how the CPU must generate or respond to the control transfer.
This information includes the following:
•
bmRequestType
•
bmRequest