There are 2 kinds of interrupts: processing (i.e. their generation are part of the normal
processing) and exception (errors).
Processing interrupts are generated when the following events are triggered:
•
•
•
•
IDTI: ID Pad detection (insert, remove)
VBUSTI: VBUS plug-in detection (insert, remove)
SRPI: SRP detected
ROLEEXI: Role Exchanged
Exception Interrupts are generated when the following events are triggered:
•
•
•
•
VBERRI: Drop on VBUS Detected
BCERRI: Error during the B-Connection
HNPERRI: HNP Error
STOI: Time-out detected during Suspend mode
Power modes
Idle Mode
In this mode, the CPU core is halted (CPU clock stopped). The Idle mode is taken
regardless of the USB controller state (running or not). The CPU wakes up on any USB
interrupts.
Power Down
In this mode, the oscillator and PLL are stopped and the CPU and peripherals are fro-
zen. The CPU “wakes up” when:
•
•
•
•
the WAKEUPI interrupt is triggered in the Peripheral mode (HOST cleared),
the RXRSMI or the SRPI interrupt is triggered in the Host mode (HOST set).
the IDTI interrupt is triggered
the VBUSTI interrupt is triggered
Freeze Clock
The firmware has the ability to reduce the power consumption by setting the FRZCLK
bit, which freezes the clock of USB controller. When FRZCLK is set, it is still possible to
have an access to the following registers:
•
•
•
•
•
•
•
•
USBCON, USBSTA, USBINT
DPRAM direct access (DPADD10:0, UxDATX)
UDCON (detach, …)
UDINT
UDIEN
UHCON
UHINT
UHIEN
Moreover, when FRZCLK is set, only the following interrupts may be triggered:
•
•
•
WAKEUPI
IDTI
VBUSTI
88
AT85C51SND3Bx
7632A–MP3–03/06