![Freescale Semiconductor MCF54455 Reference Manual Download Page 406](http://html1.mh-extra.com/html/freescale-semiconductor/mcf54455/mcf54455_reference-manual_2330541406.webp)
Interrupt Controller Modules
Freescale Semiconductor
17-17
logically summed together, and the highest enabled interrupt request is sent to the processor core during
this prioritization phase.
17.3.1.3
Interrupt Vector Determination
After the core has sampled for pending interrupts and begun interrupt exception processing, it generates
an interrupt acknowledge cycle (IACK). The IACK transfer is treated as a memory-mapped byte read by
the processor, and routed to the appropriate interrupt controller. Next, the interrupt controller extracts the
level being acknowledged from address bits[4:2], and then determines the highest unmasked level for the
type of interrupt being acknowledged, and returns the 8-bit interrupt vector for that request to complete the
cycle. The 8-bit interrupt vector is formed using the following algorithm:
For INTC0,
vector_number = 64 + interrupt source number
For INTC1,
vector_number = 128 + interrupt source number
Recall vector_numbers 0-63 are reserved for the ColdFire processor and its internal exceptions. Thus, the
following mapping of bit positions to vector numbers applies for INTC0:
if interrupt source 0 is active and acknowledged, then vector_number = 64
if interrupt source 1 is active and acknowledged, then vector_number = 65
if interrupt source 2 is active and acknowledged, then vector_number = 66
...
if interrupt source 63 is active and acknowledged, then vector_number = 127
The net effect is a fixed mapping between the bit position within the source to the actual interrupt vector
number.
If there is no active interrupt source for the given level, a special spurious interrupt vector (vector_number
equals 24) is returned and it is the responsibility of the service routine to manage this error situation.
This protocol implies the interrupting peripheral is not accessed during the acknowledge cycle because the
interrupt controller completely services the acknowledge. This means the interrupt source must be
explicitly disabled in the interrupt service routine. This design provides unique vector capability for all
interrupt requests, regardless of the complexity of the peripheral device.
In some applications, it is expected that the hardware masking of interrupt levels by the interrupt controller
is enabled. This masking capability can be used with the processor’s masking logic to form a dual-mask
capability. In this operation mode, the IACK read cycle also causes the current interrupt level mask to be
saved in the SLMASK register, and the new level being acknowledged loaded into the CLMASK register.
This operation then automatically masks the new level (and all lower levels) while in the service routine.
Generally, as the service routine completes execution, and the initiating request source has been negated,
the saved mask level is restored into the current mask level to re-enable the lower priority levels.
Finally, the vector number returned during the IACK cycle provides the association with the request and
the physical interrupt signal. The CLMASK and SLMASK registers are all loaded (if properly enabled)
during the interrupt acknowledge read cycle.
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 ...