
Universal Serial Bus
M30240 Group
Rev.1.00 Sep 24, 2003 Page 298 of 360
3.2.2.5 USB Interrupt Status Registers
These registers are used to determine the condition that caused a USB function interrupt, and to indi-
cate a USB Reset, Suspend and Resume interrupt. When an interrupt request occurs, the correspond-
ing status flag is set to “1”. To clear a status flag, the CPU writes a “1” to the bit to be cleared.
Because the USB Function Interrupt has multiple sources that can generate an interrupt, it is recommended that
the user first read the two status registers and store them in variables then write back the same value for clearing
all the existing interrupts that were pending when the status registers were read. This procedure prevents any
interrupt that occurs after the status registers are read from being cleared by the ‘write-back’ operation. The CPU
must read, then write both status registers, writing to status register 1 first and status register 2 second to guar-
antee proper operation.
“Read-modify-write’ instructions, such as “BCLR’ and ‘BSET’, should not be used to clear any of the interrupt sta-
tus bits in USBIS1 or USBIS2. Using these instructions could cause pending interrupts to be cleared without the
firmware’s knowledge.
Figure 3.11 shows the structures of USB interrupt status register 1 and USB interrupt status register 2
.
Figure 3.11: USB Interrupt Status Registers (USBIS1, USBIS2)
Bit Symbol
Bit Name
Function
R W
Reserved
Must always be set to "0"
O O
O
Symbol
USBIS1
Address
0302
16
When reset
00
16
USB Interrupt Status Register 1
b7
b5
b6
b4
b3
b2
b1
b0
O O
INTST0
INTST2
INTST3
INTST4
INTST5
O O
USB Endpoint 0 Interrupt
Status Flag
0: No Interrupt Request issued
1: Interrupt request issued
INTST6
INTST7
0: No Interrupt Request issued
1: Interrupt request issued
0: No Interrupt Request issued
1: Interrupt request issued
0: No Interrupt Request issued
1: Interrupt request issued
0: No Interrupt Request issued
1: Interrupt request issued
0: No Interrupt Request issued
1: Interrupt request issued
0: No Interrupt Request issued
1: Interrupt request issued
O O
USB Endpoint 1 IN
Interrupt Status Flag
USB Endpoint 1 OUT
Interrupt Status Flag
USB Endpoint 2 IN
Interrupt Status Flag
USB Endpoint 2 OUT
Interrupt Status Flag
USB Endpoint 3 IN
Interrupt Status Flag
USB Endpoint 3 OUT
Interrupt Status Flag
Bit Symbol
Bit Name
Function
R W
Reserved
Must always be set to "0"
O O
Symbol
USBIS2
Address
0303
16
When reset
00
16
USB Interrupt Status Register 2
b7
b5
b6
b4
b3
b2
b1
b0
O O
INTST8
INTST9
INTST12
INTST13
O O
USB Endpoint 4 IN
Interrupt Status Flag
0: No Interrupt Request issued
1: Interrupt request issued
INTST14
INTST15
0: No Interrupt Request issued
1: Interrupt request issued
0: No Interrupt Request issued
1: Interrupt request issued
0: No Interrupt Request issued
1: Interrupt request issued
0: No Interrupt Request issued
1: Interrupt request issued
0: No Interrupt Request issued
1: Interrupt request issued
O O
USB Endpoint 4 OUT
Interrupt Status Flag
USB Overrun/Underrun
Interrupt Status Flag
USB Reset
Interrupt Status Flag
USB Resume Signaling
Interrupt Status Flag
USB Suspend Signaling
Interrupt Status Flag