Interrupt Controller (INTC)
MPC5565 Microcontroller Reference Manual, Rev. 1.0
Freescale Semiconductor
10-25
INTC current priority register (INTC_CPR). The results of those comparisons are used to manage the
priority of the ISR being executed by the processor. The LIFO also assists in managing that priority.
10.4.2.1
Current Priority and Preemption
The priority arbitrator, selector, encoder, and comparator submodules shown in
are used to
compare the priority of the asserted interrupt requests to the current priority. If the priority of any asserted
peripheral or software settable interrupt request is higher than the current priority, then the interrupt request
to the processor is asserted. Also, a unique vector for the preempting peripheral or software settable
interrupt request is generated for INTC interrupt acknowledge register (INTC_IACKR), and if in hardware
vector mode, for the interrupt vector provided to the processor.
10.4.2.1.1
Priority Arbitrator Submodule
The priority arbitrator submodule compares all the priorities of all of the asserted interrupt requests, both
peripheral and software settable. The output of the priority arbitrator submodule is the highest of those
priorities. Also, any interrupt requests which have this highest priority are output as asserted interrupt
requests to the request selector submodule.
10.4.2.1.2
Request Selector Submodule
If only one interrupt request from the priority arbitrator submodule is asserted, then it is passed as asserted
to the vector encoder submodule. If multiple interrupt requests from the priority arbitrator submodule are
asserted, then only the one with the lowest vector is passed as asserted to the vector encoder submodule.
The lower vector is chosen regardless of the time order of the assertions of the peripheral or software
settable interrupt requests.
10.4.2.1.3
Vector Encoder Submodule
The vector encoder submodule generates the unique 9-bit vector for the asserted interrupt request from the
request selector submodule.
10.4.2.1.4
Priority Comparator Submodule
The priority comparator submodule compares the highest priority output from the priority arbitrator
submodule with PRI in INTC_CPR. If the priority comparator submodule detects that this highest priority
is higher than the current priority, then it asserts the interrupt request to the processor. This interrupt request
to the processor asserts whether this highest priority is raised above the value of PRI in INTC_CPR or the
PRI value in INTC_CPR is lowered below this highest priority. This highest priority then becomes the new
priority which is written to PRI in INTC_CPR when the interrupt request to the processor is
acknowledged. Interrupt requests whose PRI
n
in INTC_PSR
n
are zero does not cause a preemption
because their PRI
n
is not higher than PRI in INTC_CPR.
10.4.2.2
LIFO
The LIFO stores the preempted PRI values from the INTC_CPR. Therefore, because these priorities are
stacked within the INTC, if interrupts need to be enabled during the ISR, at the beginning of the interrupt
exception handler the PRI value in the INTC_CPR does not need to be loaded from the INTC_CPR and
Summary of Contents for MPC5565
Page 18: ...MPC5565 Microcontroller Reference Manual Devices Supported MPC5565 MPC5565 RM Rev 1 0 09 2007...
Page 34: ...MPC5565 Reference Manual Rev 1 0 Freescale Semiconductor 15...
Page 35: ...MPC5565 Reference Manual Rev 1 0 16 Freescale Semiconductor...
Page 553: ...Flash Memory MPC5565 Microcontroller Reference Manual Rev 1 0 13 38 Freescale Semiconductor...
Page 559: ...SRAM MPC5565 Microcontroller Reference Manual Rev 1 0 14 6 Freescale Semiconductor...
Page 973: ...Preface MPC5565 Microcontroller Reference Manual Rev 1 0 21 36 Freescale Semiconductor...
Page 1153: ...Calibration MPC5565 Microcontroller Reference Manual Rev 1 0 B 8 Freescale Semiconductor...