Because we started from ground zero with one goal — to make your design job easier and quicker.
- To minimize your learning curve, we began with the familiar Z80/Z180 instruction set, changing it only where needed to further maximize performance.
- With the Rabbit's enhanced math and I/O performance, you won't be stuck counting every last cycle as your design requirements expand. The Rabbit's performance can handle most traditional 16-bit applications and even some 32-bit problems — at substantial cost savings to you.
- Most processors just don't have enough ports for the typical embedded-system design, so you spend time and energy adding interface chips. Now you can skip all that. The Rabbit includes four flexible serial ports (sync and async), a feature you won't find with other 8- or 16-bit µP. The slave port allows the Rabbit to serve as an intelligent peripheral, and if parallel interfaces are what you need, more than 40 of the Rabbit's pins may be used for general I/O.
- To further reduce design challenges, we provide glueless memory architecture. Up to six memories can be interfaced without so much as a decoder to worry about.
- Does your system have complex timing requirements? The Rabbit meets your needs with a full array of configurable timing devices, including five 8-bit timers (4 cascadable), a 10-bit timer, a real-time clock, a watchdog timer, and a periodic clock interrupt. Central to the Rabbit's ability to respond rapidly to real-time events is its interrupt controller with four priority levels, two external interrupts, and internal interrupts from the timers, serial ports, and slave port.
- If your design is battery-operated, we've already saved you time by building in the power management features that you would normally have had to design in yourself. The hardware design doesn't need to make compromises between performance and power consumption — choices can be made on the fly under program control. For example, there are six programmable processor clock modes, programmable wait states, and a choice of two methods for controlling battery-backed RAM. A separate power pin for the real-time clock allows the whole processor to be shut down while keeping the clock alive.
- Nothing can bust your schedule as easily as the software development. That’s why we've written as much of the software as possible for you. A battle-tested BIOS is provided in source form that includes initialization and control of all on-chip peripherals and power management features, as well as multitasking services and support for external flash memory. Many application libraries are also included, ranging from FFT and floating point libraries to a TCP/IP stack.
- Since we can't write all of the code for you, we provide you with Dynamic C®, the best interactive compiler, editor, and source-level debugger in the industry. Dynamic C and the Rabbit 2000 can handle applications exceeding 50,000 C statements. The Rabbit 2000 instruction set was tailored to meet the requirements of Dynamic C, largely avoiding the need for assembly language programming. This tight integration of hardware and software is key to bringing your product to the market quickly.
The Instruction Set
The Rabbit 2000 features an updated Z180-style architecture for higher performance. Several obsolete or redundant Z180 instructions have been dropped to allow efficient one-byte op-codes for new instructions. Existing Z180 assembly language can be ported to the Rabbit with minimal change.
Instruction Set Enhancements
- C-efficient instructions are included for fetching and storing 16-bit words on the stack or at a computed memory address.
- Memory management is simplified by instructions that perform fetches, stores, calls, returns, and jumps over a full megabyte of address space.
- A single-byte prefix turns memory-access instructions into I/O instructions, resulting in faster and more flexible I/O.
- Communication between Rabbit registers is improved, allowing better use of the alternate register set for greatly enhanced compiler performance.
- 16-bit logical and arithmetic operations dramatically speed up both fixed and floating-point arithmetic. (See comparison chart below.)
The Rabbit 2000’s new instructions are natural improvements to the Z180 instruction set, providing a comfortable environment for the experienced Z80/Z180 programmer. Click here for more information on the Rabbit instruction set enhancements.
Hardware Architecture
Rabbit 2000 block diagram
Glueless Memory Interface
The Rabbit 2000 uses available memory bandwidth efficiently. One-byte reads (and most single-byte instructions) take two clock cycles, while one-byte writes take three clock cycles. Assuming the same memory speed, the Rabbit is about three times faster than the Z180 when running C code.
The main features of the Rabbit memory interface are:
- Up to six static memory chips connect directly to the Rabbit without glue logic.
- Only moderate-speed memory (55ns) is required to run at the highest clock rate with no wait states.
- Additional memories are easily supported.
- One megabyte of code space is accessible directly by call and jump instructions.
A basic design using the Rabbit 2000 shows the simplicity of the memory
interface.
Slave Interface
The slave port allows the Rabbit to serve as an intelligent peripheral device, which makes it excellent for off-loading communications protocols or motion control functions. Handshaking flags and interrupt capability for both master and slave make interfacing easy. For more on the slave port, click here.
Six communication registers simplify programming and enhance flexibility.
I/O Interface and Ports
The Rabbit 2000 has 40 I/O pins grouped in five 8-bit ports. Eight of these signals may be programmed as I/O chip selects or read/write strobes with selectable wait states. The high drive capability (up to ±25mA) and flexible configuration options allow most devices to be interfaced without glue logic.
Four on-chip asynchronous serial ports support a maximum burst of 92 Kb/s with a 30MHz master clock. Two of the ports also have synchronous communication capability supporting burst rates as high as 7.5 Mb/s.
Timers
Timer group A consists of five 8-bit reloadable down counters, four of which can be cascaded. These timers allow generation of precisely synchronized timing pulses under software control. The timers can also be configured to trigger interrupts or provide baud clocks for the serial ports.
Timer group B consists of a 10-bit free-running counter with two 10-bit match registers. Whenever the counter reaches a match value, the timer generates an output pulse and an optional interrupt. For more information on these timers, click here.
Time/Date Oscillator
In addition to the timers described above, the Rabbit includes a real-time clock consisting of an internal 48-bit counter driven by an external 32.768 kHz quartz crystal. This clock may be backed up using a battery connected to a dedicated clock power pin. A general-purpose clock interrupt is provided by dividing the clock oscillator by 16, resulting in a periodic interrupt every 488 µs when enabled. The Rabbit also includes a watchdog timer driven from the external 32.768 kHz crystal.
The watchdog timer can be used to automatically reset the processor if normal program flow is interrupted for a specified time period (selectable for 0.25, 0.5, 1, or 2 seconds).
Remote Bootstrap
The Rabbit 2000 may be remotely booted from a serial or slave port with no pre-existing program. This allows RAM-only configurations or complete reprogramming of soldered-in flash memory.
Low-Power Sleepy Mode
A unique low-power feature called the sleepy mode is available on the Rabbit 2000. Normally, a crystal or ceramic resonator in the range of 1.8 to 30 MHz is used for the main oscillator. The frequency can be doubled or divided by 8 internally to allow tradeoffs between execution speed and power consumption. In sleepy mode, the main oscillator is turned off and the CPU is clocked by the 32.768 kHz oscillator. Roughly 3,000 instructions per second are executed while consuming less than half a milliwatt. The sleepy mode is far more flexible than low-power modes of other microprocessors because instruction execution and decision making capability are maintained. This feature is excellent for many battery-powered applications.
Interrupt Controller
Four interrupt priority levels allow fast response to real-time events. Short interrupt service routines can be inserted directly into the vector table, allowing interrupt routines to execute in less than 4 µs.
Electrical and Environmental Characteristics
- Operating voltage 2.5–5.5 V
- Operating temp -40°C to 85°C
- Storage temp -55°C to 125°C
- Package type 100-pin PQFP
For pin descriptions and power consumption specs, click here.
The Rabbit 2000 RabbitCore 2000
Why accept OTP when you can have MTP (many times programmable)?
There is no disputing the convenience of a CPU integrated with everything you need, including program and data memory. Typically, however, you make sacrifices for this convenience. Data memory is small and processor performance is limited. Plus, when you discover a programming error, you must unsolder the processor and throw it out. The Rabbit RabbitCore 2000 overcomes these limitations and more. For more information on RabbitCore 2000, click here.
Computation Performance
- The Rabbit 2000 achieves superior integer and floating-point performance through a combination of functional features:
- A single-byte 12-cycle signed multiply instruction with a 32-bit product
- Many new 16-bit logical, arithmetic, and data transfer instructions
- A highly optimized Dynamic C math library
Microprocessor Speed Comparison.
Rabbit 2000 Software Development
Software for Rabbit 2000 is developed using Dynamic C, a C-language development system. Dynamic C operates on a PC under Windows or Windows NT and includes:
- Easy-to-use program editor
- Fast C compiler that compiles, links, and downloads directly to your target in one step
- Source-level debugger
- Hundreds of functions in source-code libraries
- A BIOS (basic input output system). Click here for more about the BIOS.
Real-Time Debugging
A programming cable provided with the Development Kit connects the PC serial port to one of the Rabbit's serial ports while the processor is running in the target system. No in-circuit emulator is needed, simplifying development. Developing software with Dynamic C is easy. C code, assembly code, or even mixed C and assembly code can be written, compiled, and tested without leaving the Dynamic C development environment.
Features of Dynamic C
Dynamic C is specifically tailored for embedded systems. You can compile your program and applicable library routines and simultaneously download the compiled code to your target system so quickly that you can make changes to your program almost as fast as you can think of them. Breakpoints, single stepping, observation of variables in a running program, complex watch expressions, and [courier font] printf to the Dynamic C console are all supported to aid in debugging. Dynamic C also includes powerful language extensions for cooperative multitasking.
Dynamic C includes exceptionally fast floating-point and math libraries, as well as device drivers for the Rabbit on-chip peripherals.
To see what Dynamic C looks like, click here.
Rabbit 2000 Development Kit
The Rabbit 2000 Development Kit includes everything you need to fully evaluate the capabilities of the Rabbit 2000 microprocessor. You'll be able to develop software specific to your application using the Dynamic C development system while putting the Rabbit 2000 through its paces. For more on the Development Kit, click here.
Return to top
Copyright © 2001 Rabbit Semiconductor. All Rights Reserved
|