668-0011 Rabbit Semiconductor, 668-0011 Datasheet - Page 67

no-image

668-0011

Manufacturer Part Number
668-0011
Description
IC MPU RABIT3000A 55.5MHZ128LQFP
Manufacturer
Rabbit Semiconductor
Datasheet

Specifications of 668-0011

Rohs Status
RoHS non-compliant
Processor Type
Rabbit 3000 8-Bit
Speed
55.5MHz
Voltage
2.5V, 2.7V, 3V, 3.3V
Mounting Type
Surface Mount
Package / Case
128-LQFP
Features
-
Other names
316-1043

Available stocks

Company
Part Number
Manufacturer
Quantity
Price
Part Number:
668-0011
Manufacturer:
Rabbit Semiconductor
Quantity:
10 000
6. I
NTERRUPTS
6.1 Overview
The Rabbit 3000 can operate at one of four priority levels, 0–3, with Priority 0 being the
expected standard operating level. The current priority and up to three previous priority
levels are kept in the processor’s 8-bit IP register, where bits 0–1 contain the current
priority. Every time an interrupt is handled or an IPSET instruction occurs, the value in the
register is shifted left by two bits, and the new priority placed in bits 0–1. When an IPRES
or IRET instruction occurs, the value in IP is shifted right by two bits (bits 0–1 are shifted
into bits 6–7). On reset, the processor starts at Priority 3.
Most interrupts can be set to be Priority 1–3. A pending interrupt will be handled only if
its interrupt priority is greater than the current processor priority. This means that even a
Priority 3 interrupt can be blocked if the processor is currently at Priority 3. The System
Mode Violation, Stack Limit Violation, Write Protection Violation, secondary watchdog,
and breakpoint interrupts are always enabled at Priority 3. In addition, when the system/
user mode is enabled and the processor is in the user mode, the processor will not actually
enter Priority 3; any attempt to enter Priority 3 will actually be requested as Priority 2.
When an interrupt is handled, a call is executed to a fixed location in the interrupt vector
tables; this operation requires 10 clocks, the minimum interrupt latency for the Rabbit
3000. There are two vector tables, the internal and the external interrupt vector tables, that
can be located anywhere in logical memory by setting the processor’s IIR and EIR registers.
The IIR and EIR registers hold the upper byte of each table’s address. For example, if IIR
is loaded with 0x00C4, then the internal interrupt vector table will start at the logical mem-
ory address 0xC400.
The internal interrupt vector table occupies 512 bytes, and the external interrupt vector
table is 256 bytes in size. Since the RST and SYSCALL vectors use all eight bits of the
IIR for addressing, the lowermost bit of IIR should always be set to zero so to keep some
vectors from inadvertently overlapping.
Each interrupt’s vector begins on a 16-byte boundary inside the vector tables. It may be
possible to fit a small routine into that space, but it is typical to place a call to a separate
routine in that location.
Some Rabbit 3000 instructions are “chained atomic,” which means that an interrupt cannot
occur between that instruction and the following instruction. These instructions are useful
for doing things like exiting interrupt handlers properly or updating semaphores.
Chapter 6 Interrupts
57

Related parts for 668-0011