AT90USB82/162
Each of these interupts are time-relative events that will be detected only if the USB clock is
enabled (FRZCLK bit set), except for the WAKEUP interrupt that will trigger each time a state
change is detected on the data lines.
This asynchronous interrupt WAKEUP allows to wake-up a device that is in power-down mode,
generally after that the USB has entered the Suspend state.
Figure 19-9. USB Endpoint Interrupt vector sources
Endpoint 4
Endpoint 3
Endpoint 2
Endpoint 1
Endpoint 0
OVERFI
UESTAX.6
UNDERFI
UESTAX.5
FLERRE
UEIENX.7
NAKINI
UEINTX.6
NAKINE
UEIENX.6
NAKOUTI
UEINTX.4
TXSTPE
USB Endpoint
Interrupt Vector
UEIENX.4
RXSTPI
EPINT
UEINTX.3
UEINT.X
TXOUTE
UEIENX.3
RXOUTI
UEINTX.2
RXOUTE
UEIENX.2
STALLEDI
UEINTX.1
STALLEDE
UEIENX.1
TXINI
UEINTX.0
TXINE
UEIENX.0
Each endpoint has 8 interrupts sources associated with flags, and each source can be enabled
or not to trigger the corresponding endpoint interrupt.
If, for an endpoint, at least one of the sources is enabled to trigger interrupt, the corresponding
event(s) will make the program branch to the USB Endpoint Interrupt vector. The user may
determine the source (endpoint) of the interrupt by reading the UEINT register, and then handle
the event detected by polling the different flags.
189
7707D–AVR–07/08