Atmel ARM-Based Evaluation Kit AT91SAM9N12-EK AT91SAM9N12-EK Data Sheet

Product codes
AT91SAM9N12-EK
Page of 1104
55
SAM9N12/SAM9CN11/SAM9CN12 [DATASHEET]
11063K–ATARM–05-Nov-13
11.
Advanced Interrupt Controller (AIC)
11.1
Description
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. 
11.2
Embedded Characteristics
Controls the Interrupt Lines (nIRQ and nFIQ) of an ARM
®
 Processor
Thirty-two Individually Maskable and Vectored Interrupt Sources
Source 0 is Reserved for the Fast Interrupt Input (FIQ)
Source 1 is Reserved for System Peripherals
Source 2 to Source 31 Control up to Thirty Embedded Peripheral Interrupts or External Interrupts 
Programmable Edge-triggered or Level-sensitive Internal Sources
Programmable Positive/Negative Edge-triggered or High/Low Level-sensitive External Sources
8-level Priority Controller 
Drives the Normal Interrupt of the Processor 
Handles Priority of the Interrupt Sources 1 to 31
Higher Priority Interrupts Can Be Served During Service of Lower Priority Interrupt
Vectoring
Optimizes Interrupt Service Routine Branch and Execution
One 32-bit Vector Register per Interrupt Source
Interrupt Vector Register Reads the Corresponding Current Interrupt Vector
Protect Mode
Easy Debugging by Preventing Automatic Operations when Protect Models Are Enabled
Fast Forcing
Permits Redirecting any Normal Interrupt Source to the Fast Interrupt of the Processor
General Interrupt Mask
Provides Processor Synchronization on Events Without Triggering an Interrupt
Write Protected Registers