![Freescale Semiconductor MCF54455 Reference Manual Download Page 405](http://html1.mh-extra.com/html/freescale-semiconductor/mcf54455/mcf54455_reference-manual_2330541405.webp)
Interrupt Controller Modules
17-16
Freescale Semiconductor
17.3
Functional Description
17.3.1
Interrupt Controller Theory of Operation
To support the interrupt architecture of the 68K/ColdFire programming model, the 64 interrupt sources are
organized as 7 levels, with an arbitrary number of requests programmed to each level. The priority
structure within a single interrupt level depends on the interrupt source number assignments (see
Section 17.2.9.1, “Interrupt Sources”
). The higher numbered interrupt source has priority over the lower
numbered interrupt source. See the below table for an example.
The level is fully programmable for all sources. The 3-bit level is defined in the interrupt control register
(ICR0
n,
ICR1
n
).
The operation of the interrupt controller can be broadly partitioned into three activities:
•
Recognition
•
Prioritization
•
Vector determination during IACK
17.3.1.1
Interrupt Recognition
The interrupt controller continuously examines the request sources (IPR
n
) and the interrupt mask register
(IMR
n
) to determine if there are active requests. This is the recognition phase. The interrupt force register
(INTFRC
n
) also factors into the generation of an active request.
17.3.1.2
Interrupt Prioritization
As an active request is detected, it is translated into the programmed interrupt level. Next, the appropriate
level masking is performed if this feature is enabled. The level of the active request must be greater than
the current mask level before it is signaled in the processor. The resulting unmasked decoded priority level
is driven out of the interrupt controller. The decoded priority levels from the interrupt controllers are
Table 17-17. SWIACK
n
and L
x
IACK
n
Field Descriptions
Field
Description
7–0
VECTOR
Vector number. A read from the SWIACK register returns the vector number associated with the highest priority
pending interrupt source. A read from one of the L
n
IACK registers returns the highest priority unmasked interrupt
source within the level.
A write to any IACK register causes an error termination.
Table 17-18. Example Interrupt Priority Within a Level
Interrupt Source
ICR[2:0]
Priority
40
011
Highest
22
011
8
011
2
011
Lowest
Summary of Contents for MCF54455
Page 33: ...xxviii Freescale Semiconductor ...
Page 67: ...Freescale Semiconductor 1 ...
Page 125: ...Freescale Semiconductor 1 ...
Page 145: ...Enhanced Multiply Accumulate Unit EMAC 5 21 Freescale Semiconductor ...
Page 173: ...Cache 6 28 Freescale Semiconductor ...
Page 179: ...Static RAM SRAM 7 6 Freescale Semiconductor ...
Page 207: ...Power Management 9 16 Freescale Semiconductor ...
Page 323: ...Reset Controller Module 13 8 Freescale Semiconductor ...
Page 389: ...Pin Multiplexing and Control 16 44 Freescale Semiconductor ...
Page 575: ...PCI Bus Controller 22 58 Freescale Semiconductor ...
Page 600: ...Advanced Technology Attachment ATA Freescale Semiconductor 23 25 ...
Page 601: ...Freescale Semiconductor 1 ...
Page 842: ...I2 C Interface Freescale Semiconductor 33 16 ...
Page 843: ...Freescale Semiconductor 1 ...
Page 921: ...Revision History A 6 Freescale Semiconductor ...