b. If no flagged interrupts within the group are enabled, then the PIE will respond with the vector for the
highest priority interrupt within that group. That is the branch address used for INTx.1. This behavior
corresponds to the 28x TRAP or INT instructions.
Note
Because the PIEIERx register is used to determine which vector will be used for the branch, you
must take care when clearing bits within the PIEIERx register. The proper procedure for clearing
bits within a PIEIERx register is described in
. Failure to follow these steps can
result in changes occurring to the PIEIERx register after an interrupt has been passed to the CPU
at Step 5 in Figure 6-5. In this case, the PIE will respond as if a TRAP or INT instruction was
executed unless there are other interrupts both pending and enabled.
At this point, the PIEIFRx.y bit is cleared and the CPU branches to the vector of the interrupt fetched from
the PIE.
1.6.3.4 The PIE Vector Table
) consists of a 256 x 16 SARAM block that can also be used as RAM (in
data space only) if the PIE block is not in use. The PIE vector table contents are undefined on reset. The CPU
fixes interrupt priority for INT1 to INT12. The PIE controls priority for each group of eight interrupts. For example,
if INT1.1 should occur simultaneously with INT8.1, both interrupts are presented to the CPU simultaneously
by the PIE block, and the CPU services INT1.1 first. If INT1.1 should occur simultaneously with INT1.8, then
INT1.1 is sent to the CPU first and then INT1.8 follows. Interrupt prioritization is performed during the vector
fetch portion of the interrupt processing.
When the PIE is enabled, a TRAP #1 through TRAP #12 or an INTR INT1 to INTR INT12 instruction transfers
program control to the interrupt service routine corresponding to the first vector within the PIE group. For
example: TRAP #1 fetches the vector from INT1.1, TRAP #2 fetches the vector from INT2.1 and so forth.
Similarly an OR IFR, #16-bit operation causes the vector to be fetched from INTR1.1 to INTR12.1 locations, if
the respective interrupt flag is set. All other TRAP, INTR, OR IFR,#16-bit operations fetch the vector from the
respective table location. The vector table is EALLOW protected.
Out of the 96 possible MUXed interrupts in
, 43 interrupts are currently used. The remaining
interrupts are reserved for future devices. These reserved interrupts can be used as software interrupts if they
are enabled at the PIEIFRx level, provided none of the interrupts within the group is being used by a peripheral.
Otherwise, interrupts coming from peripherals may be lost by accidentally clearing their flags when modifying the
PIEIFR.
To summarize, there are two safe cases when the reserved interrupts can be used as software interrupts:
1. No peripheral within the group is asserting interrupts.
2. No peripheral interrupts are assigned to the group. For example, PIE group 11 and 12 do not have any
peripherals attached to them.
. Each row in the table shows the 8 interrupts multiplexed into a particular CPU interrupt. The entire PIE
vector table, including both MUXed and non-MUXed interrupts, is shown in
System Control and Interrupts
176
TMS320x2806x Microcontrollers
SPRUH18I – JANUARY 2011 – REVISED JUNE 2022
Copyright © 2022 Texas Instruments Incorporated
Summary of Contents for TMS320 2806 Series
Page 2: ......