Datasheet

2017 Microchip Technology Inc. DS60001516A-page 295
SAM9G20
26. Advanced Interrupt Controller (AIC)
26.1 Overview
The Advanced Interrupt Controller (AIC) is an 8-level priority, individually maskable, vectored interrupt controller, providing handling of up
to thirty-two interrupt sources. It is designed to substantially reduce the software and real-time overhead in handling internal and external
interrupts.
The AIC drives the nFIQ (fast interrupt request) and the nIRQ (standard interrupt request) inputs of an Arm processor. Inputs of the AIC
are either internal peripheral interrupts or external interrupts coming from the product's pins.
The 8-level Priority Controller allows the user to define the priority for each interrupt source, thus permitting higher priority interrupts to be
serviced even if a lower priority interrupt is being treated.
Internal interrupt sources can be programmed to be level sensitive or edge triggered. External interrupt sources can be programmed to
be positive-edge or negative-edge triggered or high-level or low-level sensitive.
The fast forcing feature redirects any internal or external interrupt source to provide a fast interrupt rather than a normal interrupt.
26.2 Block Diagram
Figure 26-1: Block Diagram
26.3 Application Block Diagram
Figure 26-2: Description of the Application Block
AIC
APB
Arm
Processor
FIQ
IRQ0-IRQn
Embedded
PeripheralEE
Peripheral
Embedded
Peripheral
Embedded
Up to
Thirty-two
Sources
nFIQ
nIRQ
Advanced Interrupt Controller
Embedded Peripherals
External Peripherals
(External Interrupts)
Standalone
Applications
RTOS Drivers
Hard Real Time Tasks
OS-based Applications
OS Drivers
General OS Interrupt Handler