
MOTOROLA
Chapter 12. Embedded Programmable Interrupt Controller (EPIC)
12-9
EPIC Unit Interrupt Protocol
12.3.6.1 Interrupt Pending Register (IPR)Non-programmable
The interrupt signals in the EPIC unit are qualiTed and synchronized by the internal IPR,
which has one bit for each interrupt. The mask bits from the appropriate vector/priority
register are used to qualify the output of the IPR. Therefore, if an interrupt condition is
detected when the mask bit is set, that interrupt is requested when the mask bit is cleared.
The interrupt source are internal (I
2
C, DMA or I
2
O), EPIC (four timers), and external
(interrupt signal [0-4] or 16 serial interrupts. When there is a direct or serial interrupt and
the sense bit = 0 (edge-sensitive), the IPR is cleared when the interrupt associated with a
particular bit in the IPR register is acknowledged with an interrupt acknowledge cycle.
When the sense bit = 1 (level-activated), the IPR is not cleared until the source signal is
negated.
Since an edge-sensitive interrupt is not cleared until it is acknowledged and the default
polarity/sense bits for all interrupts are set to edge-sensitive at power-up, it is possible for
EPIC to store detections of edges as pending interrupts. If software permanently sets the
polarity/sense of an interrupt source to edge-sensitive and clears its mask bit, it can receive
the vector for the interrupt source and not a spurious interrupt. To prevent having to handle
a false interrupt, see the programming note in Section 12.8, òProgramming Guidelines.ó
12.3.6.2 Interrupt Selector (IS)
The interrupt selector (IS) receives interrupt requests from the IPR. The output of the IS is
the highest priority interrupt that has been qualiTed. This output is the priority of the
selected interrupt and its source identiTcation. The IS resolves an interrupt request in two
clocks.
During an EOI cycle, the value in the in-service register (ISR) is used to select which bits
are to be cleared in the ISR. One cycle after an EOI cycle, the output of the IS is the interrupt
source identiTcation and priority value to be cleared from the ISR. This interrupt source is
the one with highest priority in the in-service register.
12.3.6.3 Interrupt Request Register (IRR)
The interrupt request register (IRR) always passes the output of the IS except during
interrupt acknowledge cycles. This guarantees that the vector that is read from the interrupt
acknowledge register is not changing due to the arrival of a higher priority interrupt. The
IRR also serves as a pipeline register for the two-clock propagation time through the IS.
12.3.6.4 In-Service Register (ISR)
The contents of the in-service register (ISR) are the priority and source values of the
interrupts that are currently in service in the processor. The ISR receives an internal bit-set
command during interrupt acknowledge cycles and an internal bit-clear command during
EOI cycles.