Exceptions and Interrupts Control
102
SPRUH22I – April 2012 – Revised November 2019
Copyright © 2012–2019, Texas Instruments Incorporated
System Control and Interrupts
1.5.4.1.2 Peripheral Level
If an interrupt-generating event occurs in a peripheral, the interrupt flag (IF) bit corresponding to that event
is set in a register for that particular peripheral.
If the corresponding interrupt enable (IE) bit is set, the peripheral generates an interrupt request to the PIE
controller. If the interrupt is not enabled at the peripheral level, then the IF remains set until cleared by
software. If the interrupt is enabled at a later time, and the interrupt flag is still set, the interrupt request is
asserted to the PIE. Interrupt flags within the peripheral registers must be manually cleared.
1.5.4.1.3 PIE Level
The PIE block multiplexes eight peripheral and external pin interrupts into one CPU interrupt. These
interrupts are divided into 12 groups: PIE group 1 - PIE group 12. The interrupts within a group are
multiplexed into one CPU interrupt. For example, PIE group 1 is multiplexed into CPU interrupt 1 (INT1)
while PIE group 12 is multiplexed into CPU interrupt 12 (INT12). Interrupt sources connected to the
remaining CPU interrupts are not multiplexed. For the non-multiplexed interrupts, the PIE passes the
request directly to the CPU.
For multiplexed interrupt sources, each interrupt group in the PIE block has an associated flag register
(PIEIFRx) and enable (PIEIERx) register (x = PIE group 1 - PIE group 12). Each bit, referred to as y,
corresponds to one of the eight MUXed interrupts within the group. Thus PIEIFRx.y and PIEIERx.y
correspond to interrupt y (y = 1-8) in PIE group x (x = 1-12). In addition, there is one acknowledge bit
(PIEACK) for every PIE interrupt group referred to as PIEACKx (x = 1-12).
Once the request is made to the PIE controller, the corresponding PIE interrupt flag (PIEIFRx.y) bit is set.
If the PIE interrupt enable (PIEIERx.y) bit is also set for the given interrupt then the PIE controller checks
the corresponding PIEACKx bit to determine if the CPU is ready for an interrupt from that group. If the
PIEACKx bit is clear for that group, then the PIE controller sends the interrupt request to the CPU. If
PIEACKx is set, then the PIE waits until it is cleared to send the request for INTx.
1.5.4.1.4 CPU Level
Once the request is sent to the CPU, the CPU level interrupt flag (IFR) bit corresponding to INTx is set.
After a flag has been latched in the IFR, the corresponding interrupt is not serviced until it is appropriately
enabled in the CPU interrupt enable (IER) register or the debug interrupt enable register (DBGIER) and
the global interrupt mask (INTM) bit.