Datasheet

ADuC7033
Rev. B | Page 72 of 140
PROCESSOR REFERENCE PERIPHERALS
INTERRUPT SYSTEM
There are 17 interrupt sources on the ADuC7033 that are
controlled by the interrupt controller. Most interrupts are
generated from the on-chip peripherals such as the ADC,
UART, and so on. The ARM7TDMI CPU core only recognizes
interrupts as one of two types: a normal interrupt request (IRQ)
and a fast interrupt request (FIQ). All the interrupts can be
masked separately.
The control and configuration of the interrupt system are
managed through nine interrupt-related registers, four
dedicated to IRQ and four dedicated to FIQ. An additional
MMR is used to select the programmed interrupt source. The
bits in each IRQ and FIQ register represent the same interrupt
source as described in Table 50.
IRQSTA/FIQSTA should be saved immediately upon entering
the interrupt service routine (ISR) to ensure that all valid
interrupt sources are serviced.
The interrupt generation route through the ARM7TDMI core is
shown in Figure 31.
Consider the example of Timer0, which is configured to generate a
timeout every 1 ms. After the first 1 ms timeout, FIQSIG/IRQSIG[2]
is set and can be cleared only by writing to T0CLRI.
If Timer0 is not enabled in either IRQEN or FIQEN, then
FIQSTA/IRQSTA[2] is not set and an interrupt does not occur.
However, if Timer0 is enabled in either IRQEN or FIQEN, then
either FIQSTA/IRQSTA[2] is set or an interrupt (either an FIQ
or IRQ) occurs.
Note that the IRQ and FIQ interrupt bit definitions in the CPSR
only control interrupt recognition by the ARM core, not by the
peripherals. For example, if Timer2 is configured to generate an
IRQ via IRQEN, the IRQ interrupt bit is set (disabled) in the
CPSR and the ADuC7033 is powered down. When an interrupt
occurs, the peripherals power up, but the ARM core remains
powered down. This is equivalent to POWCON = 0x71. The
ARM core can only be powered up by a reset event if this occurs.
Table 50. IRQ/FIQ MMRs Bit Designations
Bit Description Comments
0 All interrupts OR’ed (FIQ only)
1 SWI: not used in IRQEN/CLR and FIQEN/CLR
2 Timer0 See the Timer0—Lifetime Timer section.
3 Timer1 See the Timer1 section.
4 Timer2 or wake-up timer See the Timer2 or Wake-Up Timer section.
5 Timer3 or watchdog timer See the Timer3 or Watchdog Timer section.
6 Timer4 or STI timer See the Timer4 or STI Timer section.
7 LIN hardware See the LIN (Local Interconnect Network) Interface section.
8 Flash/EE interrupt See the Flash/EE Control Interface section.
9 PLL lock See the System Clocks section.
10 ADC See the 16-Bit, Σ-∆ Analog-to-Digital Converters section.
11 UART See the UART Serial Interface section.
12 SPI master See the Serial Peripheral Interface section.
13 XIRQ0 (GPIO IRQ0 ) See the General-Purpose I/O section.
14 XIRQ1 (GPIO IRQ1) See the General-Purpose I/O section.
15 Reserved—should be written as 0
16 IRQ3 (high voltage IRQ)
High Voltage Interrupt. See the High Voltage Peripheral Control
Interface section.
17 SPI slave See the Serial Peripheral Interface section.
18 XIRQ4 (GPIO IRQ4) See the General-Purpose I/O section.
19 XIRQ5 (GPIO IRQ5) See the General-Purpose I/O section.