User`s manual
E–2 External Interrupts RabbitCore RCM2100 Series
E.1 Use of External Interrupts
Figure E–2 shows a block diagram of how the Rab-
bit 2000 external interrupt logic is used in general.
Interrupts on the Rabbit 2000 can take place at three
priority levels from low to high priority, and are
numbered 1, 2 and 3. Each on-chip device, includ-
ing the two external interrupts, can be assigned a
priority at which interrupts will take place. For inter-
rupts that have been assigned the same pro-
grammed priority, there is an implicit priority with
external interrupt #1 having the highest priority,
external interrupt #0 the second highest, and the
remaining on-chip devices having lower priorities in
the order specified in Section 7.8, “Rabbit Interrupt
Structure,” in the Rabbit 2000 User’s Manual.
The two independent interrupts are generated by
inputs to the four pins shown in Figure E–2. Each
pin is connected to an edge detector that can be con-
figured under program control to detect rising
edges, falling edges, or both. These same pins, a
part of parallel port E, support alternate functional-
ity as reflected in Table E–1.
When the edge detector detects the rising or falling
edge that it is programmed to detect, it sets a flip-
flop that drives the output of the edge detector. The
flip-flop should be cleared automatically when the
interrupt takes place.
Instead, the flip-flop may be cleared spuriously
because a different, lower priority, interrupt occurs
nearly simultaneously (during an 8-clock window)
with the occurrence of the edge that sets the flip-
flop. This results in a lost interrupt.
Or the flip-flop might not be cleared when the inter-
rupt takes place if a different, higher priority, inter-
rupt is being requested nearly simultaneously
(during an 8-clock window) with the occurrence of
the external interrupt. This results in a spurious
interrupt after the first interrupt because the interrupt
request was not cleared.
In either case, precautions need to be taken if an
interrupt request transitions during a short time
period 8 clocks long. These sequences are shown
schematically in Figure E–3.
Figure E–2: Rabbit 2000 External Interrupt Logic
Interrupt Request #1
INT1A
INT1B
29
23
Interrupt Request #0
INT0A
INT0B
30
24
Edge
Detectors
Figure E–3: Interrupt Sequences with
Lost or Spurious Interrupts
Ext Interrupt Req ff
Spurious clear of interrupt request ff
8-clock window
Different lower priority interrupt
(e.g., serial port) takes place
LOST INTERRUPT
Different higher priority interrupt is
requested during 8-clock window
Request ff fails to be cleared
Ext Interrupt Req ff
External Interrupt
takes place
Spurious interrupt
results
SPURIOUS INTERRUPT