Preliminary
Interrupt Support
www.ti.com
20.7.1.2 Controller Interrupts
Each of the controllers has 42 interrupts that are generated by the USB 2.0 OTG Controller. Actually,
there are only 41 real interrupts; but 42 are designed into the logic. This makes the logic easier to build.
RX_ENDP[0] will never be used.
Table 20-29. Controller Interrupts
Interrupt
Description
TX_ENDP[15:0]
TX endpoint ready or error for endpoints 15 to 0
(endpoint 0 is used for both TX and RX)
RX_ENDP[15:1]
RX endpoint ready or error for endpoints 15 to 0
(there is no interrupt for endpoint 0)
USB[8] DRVVBUS level change
Signal from the Mentor core
USB[7:0]
8 USB conditions
USB_INT
Single interrupt signal from the Mentor core
TX_FIFO[15:0]
TX FIFO endpoint ready for endpoints 15 to 0
The interrupts listed in
are generated by the Mentor core (assumes that DMAReqEnab and
DMAReqMode are not both set) and follow the following procedure to generate the interrupt (for all
interrupts except USB[8] and TX_FIFO[15:0]):
•
Mentor core will signal F_INTR module that there is an interrupt via the USB_INT signal.
•
F_INTR will generate 3 VBUSP read transactions for the Mentor core.
–
Read INTRTX register
–
Read INTRRX register
–
Read INTRUSB register
•
F_INTR will temporary store the results and transfer the data to the F_REGS module.
•
The F_REGS module will generate the hardware IRQ event source.
Interrupts for TX_ENDP[15:0] and RX_ENDP[15:1] are not generated when both DMAReqEnab and
DMAReqMode are both set. This is the typical case when the USBSS DMA is used (CPPI).
Interrupts for TX_FIFO[15:0] are derived from the Mentor controller and sent directly to the F_REGS
module which generates the hardware interrupts event source. These interrupts indicate when the TX
Fifo is ready to accept new data.
The interrupt for USB[8] is from the signal DRVVBUS. This interrupt comes from the Mentor core; but
does not have an internal register within the Mentor core. The signal DRVVBUS goes directly to the
F_REGS module which generates the hardware interrupt event source.
The interrupts listed in
can be enabled (or disabled) by setting (or clearing) the appropriate
IRQENABLE_SET (or IRQENABLE_CLR) bits in the MMR registers.
To clear the interrupts it is required to write 1’s to the IRQSTAUS registers. It is possible to manually
set the interrupts by writing 1’s to the IRQSTATUS_RAW registers.
The interrupt registers for all the interrupts in Table 132 are listed in both the USB0 and USB1 controller
memory maps. The interrupt registers for TX_ENDP[15:0], RX_ENDP[15:1], and USB[7:0] are listed in
the Mentor Core memory map.
1824
Universal Serial Bus (USB)
SPRUGX9 – 15 April 2011
© 2011, Texas Instruments Incorporated
Содержание TMS320C6A816 Series
Страница 2: ...Preliminary 2 SPRUGX9 15 April 2011 Submit Documentation Feedback 2011 Texas Instruments Incorporated...
Страница 92: ...92 Read This First SPRUGX9 15 April 2011 Submit Documentation Feedback 2011 Texas Instruments Incorporated...
Страница 1122: ...1122 Multichannel Audio Serial Port McASP SPRUGX9 15 April 2011 Submit Documentation Feedback 2011 Texas Instruments Incorporated...
Страница 1562: ...1562 Real Time Clock RTC SPRUGX9 15 April 2011 Submit Documentation Feedback 2011 Texas Instruments Incorporated...
Страница 1658: ...1658 Timers SPRUGX9 15 April 2011 Submit Documentation Feedback 2011 Texas Instruments Incorporated...
Страница 1750: ...1750 UART IrDA CIR Module SPRUGX9 15 April 2011 Submit Documentation Feedback 2011 Texas Instruments Incorporated...
Страница 1984: ...1984 Universal Serial Bus USB SPRUGX9 15 April 2011 Submit Documentation Feedback 2011 Texas Instruments Incorporated...