30.01.2015 Views

UM10211 - Standard ICs

UM10211 - Standard ICs

UM10211 - Standard ICs

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>UM10211</strong><br />

Chapter 7: Vectored Interrupt Controller (VIC)<br />

Rev. 01 — 27 March 2007<br />

User manual<br />

1. Features<br />

• ARM PrimeCell Vectored Interrupt Controller<br />

• Mapped to AHB address space for fast access<br />

• Supports 32 vectored IRQ interrupts<br />

• 16 programmable interrupt priority levels<br />

• Fixed hardware priority within each programmable priority level<br />

• Hardware priority level masking<br />

• Any input can be assigned as an FIQ interrupt<br />

• Software interrupt generation<br />

2. Description<br />

3. Register description<br />

The ARM processor core has two interrupt inputs called Interrupt Request (IRQ) and Fast<br />

Interrupt reQuest (FIQ). The Vectored Interrupt Controller (VIC) takes 32 interrupt request<br />

inputs and programmably assigns them as FIQ or vectored IRQ types. The programmable<br />

assignment scheme means that priorities of interrupts from the various peripherals can be<br />

dynamically assigned and adjusted.<br />

Fast Interrupt reQuest (FIQ) requests have the highest priority. If more than one request is<br />

assigned to FIQ, the VIC ORs the requests to produce the FIQ signal to the ARM<br />

processor. The fastest possible FIQ latency is achieved when only one request is<br />

classified as FIQ, because then the FIQ service routine can simply start dealing with that<br />

device. But if more than one request is assigned to the FIQ class, the FIQ service routine<br />

can read a word from the VIC that identifies which FIQ source(s) is (are) requesting an<br />

interrupt.<br />

Vectored IRQ’s, which include all interrupt requests that are not classified as FIQs, have a<br />

programmable interrupt priority. When more than one interrupt is assigned the same<br />

priority and occur simultaneously, the one connected to the lowest numbered VIC channel<br />

(see Table 7–77 on page 83) will be serviced first.<br />

The VIC ORs the requests from all of the vectored IRQs to produce the IRQ signal to the<br />

ARM processor. The IRQ service routine can start by reading a register from the VIC and<br />

jumping to the address supplied by that register.<br />

The VIC implements the registers shown in Table 7–63. More detailed descriptions follow.<br />

<strong>UM10211</strong>_1<br />

© NXP B.V. 2007. All rights reserved.<br />

User manual Rev. 01 — 27 March 2007 76 of 613

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!