Level Versus Pulse Interrupts - ARM Cortex-M3 Technical Reference Manual

Hide thumbs Also See for Cortex-M3:
Table of Contents

Advertisement

Nested Vectored Interrupt Controller
8.3

Level versus pulse interrupts

8-40
The processor supports both level and pulse interrupts. A level interrupt is held asserted
until it is cleared by the ISR accessing the device. A pulse interrupt is a variant of an
edge model. The edge must be sampled on the rising edge of the Cortex-M3 clock,
HCLK, instead of being asynchronous.
For level interrupts, if the signal is not deasserted before the return from the interrupt
routine, the interrupt repends and re-activates. This is particularly useful for FIFO and
buffer-based devices because it ensures that they drain either by a single ISR or by
repeated invocations, with no extra work. This means that the device holds the signal in
assert until the device is empty.
A pulse interrupt can be reasserted during the ISR so that the interrupt can be pended
and active at the same time. The application design must ensure that a second pulse does
not arrive before the first pulse is activated. The second pend has no affect because it is
already pended. However, if the interrupt is asserted for at least one cycle, the NVIC
latches the pend bit. When the ISR activates, the pend bit is cleared. If the interrupt
asserts again while it is activated, it can latch the pend bit again.
Pulse interrupts are mostly used for external signals and for rate or repeat signals.
Copyright © 2005, 2006 ARM Limited. All rights reserved.
ARM DDI 0337B

Advertisement

Table of Contents
loading

Table of Contents