System Interface Unit
MPC885 PowerQUICC Family Reference Manual, Rev. 2
Freescale Semiconductor
10-19
Figure 10-14. Interrupt Table Handling Example
The interrupt to be serviced can be determined by reading SIVEC[INTC]. For example, if IRQ3, level 3,
and IRQ6 interrupts occur simultaneously and IRQ3 is masked, INTC = 0b0001_1100 (0x1C), indicating
that the level 3 interrupt should be handled.
Note that SIVEC[INTC] contains the encoding for a level-7 interrupt (see
Table 10-7
) by default, even
when no interrupts are pending. Thus, polling SIVEC when all interrupts are masked returns the level-7
vector. Therefore, the level-7 interrupt vector may indicate a spurious interrupt in the following cases:
•
Polling SIVEC returns a level 7 interrupt, but nothing is programmed to interrupt at level 7.
•
Polling SIVEC returns a level 7 interrupt, but SIPEND[LV7] is not set (assuming something is
programmed to interrupt at level 7).
10.6
The Bus Monitor
Control of the bus monitor is provided in the SYPCR. The bus monitor ensures that each bus cycle initiated
by the MPC885 terminates within a reasonable time. The MPC885’s bus monitor does not monitor
accesses initiated by external masters. At the start of the transfer start signal (TS), the monitor begins
counting and stops when transfer acknowledge (TA), retry (RETRY) or transfer error (TEA) is asserted.
For burst cycles, this action is also performed between subsequent TA assertions for each data beat. If the
monitor times out, the bus monitor terminates the cycle by internally asserting TEA. The programmability
of the timeout allows for a variation in system peripheral response time. The timing mechanism is clocked
by the system clock divided by eight. The maximum value is 2,040 system clocks. The bus monitor is
always active when FRZ is asserted or when a debug mode request is pending, regardless of the state of
the SYPCR[BME] bit.
Intr: • • •
Save State
R3 <– @ SIVEC
R4 <– Base of Branch Table
• • •
lbz
add
mtspr
bctr
Rx, R3 (0)
Rx, Rx, R4
CTR, Rx
# Load as Byte
b Routine1
Base
Intr: • • •
Save State
R3 <– @ SIVEC
R4 <– Base of Branch Table
• • •
lhz
add
mtspr
bctr
Rx, R3 (0)
Rx, Rx, R4
CTR, Rx
# Load as half word
1st Instruction of Routine1
1st Instruction of Routine2
1st Instruction of Routine3
1st Instruction of Routine4
•
•
Base
Base + 400
Base + 800
Base + C00
Base + 1000
Base + n
b Routine2
Base + 4
b Routine3
Base + 8
b Routine4
Base + C
•
Base + 10
•
Base + n
•
•
•
•
•
•
Summary of Contents for PowerQUICC MPC870
Page 98: ...MPC885 PowerQUICC Family Reference Manual Rev 2 I 4 Freescale Semiconductor ...
Page 118: ...MPC885 Overview MPC885 PowerQUICC Family Reference Manual Rev 2 1 20 Freescale Semiconductor ...
Page 158: ...The MPC8xx Core MPC885 PowerQUICC Family Reference Manual Rev 2 3 18 Freescale Semiconductor ...
Page 288: ...MPC885 PowerQUICC Family Reference Manual Rev 2 III 4 Freescale Semiconductor ...
Page 554: ...MPC885 PowerQUICC Family Reference Manual Rev 2 V 6 Freescale Semiconductor ...
Page 1090: ...UTOPIA Interface MPC885 PowerQUICC Family Reference Manual Rev 2 43 8 Freescale Semiconductor ...
Page 1312: ...Byte Ordering MPC885 PowerQUICC Family Reference Manual Rev 2 A 8 Freescale Semiconductor ...
Page 1336: ...MPC885 PowerQUICC Family Reference Manual Rev 2 D 16 Freescale Semiconductor ...
Page 1358: ...MPC885 PowerQUICC Family Reference Manual Rev 2 D 38 Freescale Semiconductor ...
Page 1370: ...MPC880 MPC885 PowerQUICC Family Reference Manual Rev 2 E 4 Freescale Semiconductor ...
Page 1386: ...Revision History MPC885 PowerQUICC Family Reference Manual Rev 2 I 2 Freescale Semiconductor ...