Техническая Спецификация для Atmel Evaluation Kit for AT32uC3A0512, 32-Bit AVR Microcontroller Atmel ATEVK1105 ATEVK1105

Модели
ATEVK1105
Скачать
Страница из 826
99
AT32UC3A
16. Interrupt Controller (INTC)
Rev: 1.0.1.1
16.1
Description
The INTC collects interrupt requests from the peripherals, prioritizes them, and delivers an inter-
rupt request and an autovector to the CPU. The AVR32 architecture supports 4 priority levels for
regular, maskable interrupts, and a Non-Maskable Interrupt (NMI). 
The INTC supports up to 64 groups of interrupts. Each group can have up to 32 interrupt request
lines, these lines are connected to the peripherals. Each group has an Interrupt Priority Register
(IPR) and an Interrupt Request Register (IRR). The IPRs are used to assign a priority level and
an autovector to each group, and the IRRs are used to identify the active interrupt request within
each group. If a group has only one interrupt request line, an active interrupt group uniquely
identifies the active interrupt request line, and the corresponding IRR is not needed. The INTC
also provides one Interrupt Cause Register (ICR) per priority level. These registers identify the
group that has a pending interrupt of the corresponding priority level. If several groups have an
pending interrupt of the same level, the group with the lowest number takes priority.
16.2
Block Diagram
gives an overview of the INTC. The grey boxes represent registers that
can be accessed via the Peripheral Bus (PB). The interrupt requests from the peripherals
(IREQn) and the NMI are input on the left side of the figure. Signals to and from the CPU are on
the right side of the figure.
Figure 16-1.
Overview of the Interrupt Controller
16.3
Operation
All of the incoming interrupt requests (IREQs) are sampled into the corresponding Interrupt
Request Register (IRR). The IRRs must be accessed to identify which IREQ within a group that
is active. If several IREQs within the same group is active, the interrupt service routine must pri-
Request
masking
OR
IREQ0 
IREQ1
IREQ2
IREQ31
GrpReq0
Masks
SREG
masks
I[3-0]M
GM
INTLEVEL
AUTOVECTOR
P
rio
ritiz
er
CPU
Interrupt Controller
OR
GrpReqN
NMIREQ
OR
IREQ32 
IREQ33
IREQ34
IREQ63
GrpReq1
IRR registers
IPR registers
ICR registers
INT_level, offset
INT_level, offset
INT_level, offset
IPR0
IPR1
IPRn
IRR0
IRR1
IRRn
ValReq0
ValReq1
ValReqN
32058K
AVR32-01/12