Irq characteristics interrupt sources – Digi NS9215 User Manual

Page 149

Advertising
background image

. . . . .

S Y S T E M C O N T R O L M O D U L E

Interrupt controller

www.digiembedded.com

149

IRQ
characteristics

The IRQ interrupts are enabled by the respective enabling bits.

Once enabled, the interrupt source programmed in the Interrupt Configuration
register for each priority level connects the interrupt to one of 32 priority lines
going into the priority encoder block.

The priority encoder block has a fixed order, with line 0 as the highest priority.
The interrupt with the highest priority level has its encoded priority level
displayed, to select the appropriate vector for the ISADDR register (see
“ISADDR register” on page 176).

The CPU, once interrupted, can read the ISADDR register to get the address of
the Interrupt Service Routine. A read to the ISADDR register updates the
priority encoder block, which masks the current and any lower priority
interrupt requests. Writing to this address indicates to the priority hardware
that the current interrupt is serviced, allowing lower priority interrupts to
become active.

The write value to the ISADDR register must be the level of the interrupt being
serviced. Valid values are 0–31.

The priority encoder block enables 32 prioritized interrupts to be serviced in
nested fashion. A software interrupt can be implemented by writing to a
software interrupt register. The software interrupt typically is assigned level 1
or level 2 priority.

Interrupt sources

An Interrupt Status register shows the current active interrupt requests. The Raw
Interrupts register shows the status of the unmasked interrupt requests.

Interrupt Source 0
Interrupt Source 1

Interrupt Source 31

Priority Level 1

Interrupt Source ID Reg 1

Interrupt Source 0

Interrupt Source 1

Interrupt Source 31

Priority Level 0 (highest)

Interrupt Source ID Reg 0

Interrupt Source 0
Interrupt Source 1

Interrupt Source 31

Priority Level 31 (lowest)

Interrupt Source ID Reg 31

Priority

Encoder

IRQ

FIQ

Interrupt Vector Address Reg Level 1

Interrupt Vector Address Reg Level 31

Interrupt Vector Address Reg Level 0

Winning Priority Level

ISADDR Reg

Active Interrupt Level Reg

Enable

Invert

Enable

Invert

Enable

Invert

Advertising