6.13 Bulk Endpoint Interrupts
All USB interrupts activate the 8051 INT 2 interrupt. If enabled, INT2 interrupts cause the
8051 to push the current program counter onto the stack, and then execute a jump to loca-
tion 0x43, where the programmer has inserted a jump instruction to the interrupt service
routine (ISR). If the AVEN (Autovector Enable) bit is set, the EZ-USB core inserts a spe-
cial byte at location 0x45, which directs the jump instruction to a table of jump instruc-
tions which transfer control the endpoint-specific ISR.
Table 6-4. 8051 INT2 Interrupt Vector
Location
0x43
Op-Code
02
Instruction
LJMP
0x44
AddrH
AddrL*
0x45
* Replaced by EZ-USB Core if AVEN=1.
The byte inserted by the EZ-USB core at address 0x45 depends on which bulk endpoint
requires service. Table 6-5 shows all INT2 vectors, with the bulk endpoint vectors un-
shaded. The shaded interrupts apply to all the bulk endpoints.
Table 6-5. Byte Inserted by EZ-USB Core at Location 0x45 if AVEN=1
Interrupt
SUDAV
SOF
Inserted Byte at 0x45
0x00
0x04
SUTOK
SUSPEND
USBRES
Reserved
EP0-IN
0x08
0x0C
0x10
0x14
0x18
EP0-OUT
EP1-IN
0X1C
0x20
EP1OUT
EP2IN
0x24
0x28
EP2OUT
EP3-IN
0x2C
0x30
EP3-OUT
EP4-IN
0x34
0x38
EP4-OUT
EP5-IN
0x3C
0x40
EP5-OUT
EP6-IN
0x44
0x48
EP6-OUT
EP7-IN
0x4C
0x50
EP7-OUT
0x54
EZ-USB TRM v1.9
Chapter 6. EZ-USB CPU
Page 6-15