
S3C880A/F880A
INTERRUPT STRUCTURE
5-1
5
INTERRUPT STRUCTURE
OVERVIEW
The SAM87 interrupt structure has three basic components: levels, vectors, and sources. The CPU recognizes 8
interrupt levels and supports up to 128 interrupt vectors. When a specific interrupt level has more than one
vector address, the vector priorities are established in hardware. Each vector can have one or more interrupt
sources.
Levels
Levels provide the highest-level method of interrupt priority assignment and recognition. All peripherals and I/O
blocks can issue interrupt requests. In other words, peripheral and I/O operations are interrupt-driven. There are
eight interrupt levels: IRQ0–IRQ7. Each interrupt level directly corresponds to an interrupt request number
(IRQn). The total number of interrupt levels used in the interrupt structure varies from device to device. For the
S3C880A/F880A microcontrollers, seven levels are recognized: IRQ0–IRQ4, IRQ6, and IRQ7.
The interrupt level numbers 0 through 7 do not necessarily indicate the relative priority of the levels. They are
simply identifiers for the interrupt levels that are recognized by the CPU (IRQ0–IRQ7). The relative priority of
different interrupt levels is determined by settings in the interrupt priority register, IPR. Interrupt logic controlled
by the IPR settings lets you define additional priority relationship for specific interrupt levels.
Vectors
Each interrupt level can have one or more interrupt vectors, or it may have no vector address assigned at all.
The maximum number of vectors that can be supported for a given level is 128. (The actual number of vectors
used for the S3C8-series microcontrollers is always much smaller.) If an interrupt level has more than one vector
address, the vector priorities are set in hardware. The S3C880A/F880A have 9 vectors, one corresponding to
each of the 9 possible sources.
Sources
A source is any peripheral that generates an interrupt. A source can be an external pin or a counter overflow, for
example. Each vector can have several interrupt sources. In the S3C880A/F880A interrupt structure, each
source has its own vector address. When a service routine starts, the respective pending bit is either cleared
automatically by hardware or "manually" by the program software. The characteristics of the source's pending
mechanism determine which method is used to clear its pending bit.
INTERRUPT TYPES
The three components of the SAM87 interrupt structure described above — levels, vectors, and sources — are
combined to determine the interrupt structure of an individual device and to make full use of its available
interrupt logic. There are three possible combinations of interrupt structure components, called interrupt types 1,
2, and 3. The types differ in the number of vectors and interrupt sources assigned to each level (see Figure 5-1):
Type 1:
One level (IRQn) + one vector (V
1) + one source (S1)
Type 2:
One level (IRQn) + one vector (V
1) + multiple sources (S1 – Sn)
Type 3:
One level (IRQn) + multiple vectors (V
1 – Vn) + multiple sources (S1 – Sn , Sn+1 – Sn+m)
In the S3C880A/F880A interrupt structure, only interrupt types 1 and 3 are implemented.