The new Rabbit 3000 is an extremely low-EMI microprocessor designed specifically for embedded control, communications, and Ethernet connectivity. Rabbit Semiconductor's new processor shares its instruction set and conceptual design with the company's proven Rabbit 2000. This article from Analog Data Products, local represenative for Rabbit Semiconductor, explains further.
The Rabbit 3000 is fast running at up to 54 MHz and C-friendly, with compact code and direct software support for 1 MB of code/data space. Rabbit 3000 development tools include extensive support for Internet and network connectivity, with full source code for TCP/IP provided royalty free. It operates at 3,3 V (with 5 V tolerant I/O) and boasts six serial ports with IrDA, 56+ digital I/O, quadrature encoder inputs, PWM (pulse width modulation) outputs, and pulse capture and measurement capabilities. It also features a battery-backable realtime clock, glueless interfacing, and ultra-low power modes. Its compact instruction set and high clock speeds give the Rabbit 3000 blazingly fast performance for math, logic, and I/O.
Programming the Rabbit 3000
Microprocessor hardware and software development is easy for Rabbit users. The Rabbit 3000 is programmed using the industry-proven Dynamic C Premier software development system from sister division Z-World. Dynamic C is an integrated C compiler, editor, loader, and debugger created specifically for Rabbit-based systems. Developing software with Dynamic C is simple. Programming and debugging are accomplished by connecting an interface cable from a PC to a Rabbit-based target system or over Ethernet/Internet using appropriate accessory hardware.
Users can write, compile, and test C code, Assembly code, or even intermixed C and Assembly code without leaving the Dynamic C development environment. Debugging occurs while the application runs on the target, eliminating the need for costly in-circuit emulators. Alternatively, one can compile one's program to an image file for later loading.
Some key programming features are: fast compiler with one-step compiling and downloading to target; full-feature source and/or assembly-level debugger; many functions in source-code libraries; exceptionally fast support for floating-point arithmetic and transcendental functions; RS232 and RS485 serial comms and analog and digital I/O drivers; powerful language extensions for co-operative or pre-emptive multitasking; generate programs that use as much as 512K of data in SRAM and 512K of code in Flash or EPROM.
A full TCP/IP stack with source code is provided royalty-free in Dynamic C. TCP/IP support includes PPP (with Dynamic C Premier), socket-level TCP and UDP, FTP, TFTP, HTTP (w/SSI and CGI), DHCP client, SMTP mail client, PING, and POP3.
EMI-free microprocessor
Government-mandated testing for electromagnetic interference (EMI) often proves a major headache for embedded systems design engineers. Unintentional electromagnetic radiation has the potential to derail development schedules with time-consuming board redesign or costly EMI-reducing components. The Rabbit 3000 has several powerful design features that can practically eliminate EMI problems. These features are very effective and it is unlikely that developers will experience EMI issues with use of this processor.
Some factors that contribute to this low-EMI are:
* A clock spectrum spreader reduces EMI amplitude derived from the clock by up to 25 dB.
* A clock doubler allows the external oscillator to operate at half the internal clock frequency.
* Separate power pins for the processor core and I/O ring prevent propagation of core noise to signal lines.
* Gated clocks in the internal logic blocks the clock-driving parts of the processor clock tree, which are not in use for a particular instruction. This reduces the amplitude of EMI generated by clock-related current surges.
* An auxiliary I/O bus limits loading, and makes the physical extension of fast data and address lines in the system unnecessary.
* Bus architecture eliminates the need for routing the clock out of the processor.
* The spectrum spreader is especially powerful- effectively reducing clock-related EMI and derivative signals by approximately 25 dB. This is a design-critical amount, as devices often fail EMI tests by as little as 5 dB.
The Rabbit 3000 contains a number of unique low-power features. It offers ultra-low-speed clock options that allow the chip to operate off of a divided (/2, /4, /8, /16) version of the 32,768 kHz clock or a divided (/2, /4, /6, /8) version of the fast clock. It also has features to minimise the 'chip select enabled' duty cycle which further reduces unnecessary power consumption.
Instruction set
The Rabbit 3000 shares its instruction set and conceptual design with the Rabbit 2000 microprocessor. Rabbit processors feature 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 changes. Rabbit microprocessors have added important new instructions to improve the instruction set, especially from the standpoint of boosting the quality and execution speed of compiler-generated C code.
The block diagram of the Rabbit 3000 is shown in Figure 1.
Other features
The Rabbit 3000 requires no external memory driver or interface logic. Its 20 address lines, eight data lines, three chip select lines, two output enable lines, and two write enable lines can be interfaced directly to up to six memory devices (Flash or SRAM). Up to 1 MB of memory can be addressed directly, with the simplest possible hardware interface. See Figure 2.
The Rabbit 3000's built-in slave port makes it easy to use in a master-slave configuration. three data input, three data output, and two control registers simplify exchange of data between master and slave. two address lines and an 8-line data port, plus control signal lines, offer flexible interface possibilities whether the Rabbit 3000 is used as master, slave, or both. The microprocessor can be remotely bootstrapped from serial port A in asynchronous, clocked serial (even using IrDA), or via the slave port interface.
The Rabbit 3000 contains two Input Capture channels, each of which consists of a 16-bit counter clocked by the output of an internal timer. Each channel can be programmed to receive its inputs from one or two of 16 parallel port pins. The input capture channels can be used for a variety of functions, such as pulse width measurement or serial baud-rate detection.
Two quadrature decoder channels for direct interface to optical encoder units are available. Each quadrature decoder has two inputs, one serving as the normal input and the other as the quadrature input. An 8-bit up/down counter counts encoder steps in the forward and backward direction and requests interrupts when the count goes through the zero count in either direction.
There are four independent PWM output units in the Rabbit 3000. The PWM outputs generate a train of pulses periodic on a 1024 pulse frame with a duty cycle that varies from 0/1024 to 1024/1024. The units are driven by the output of an internal timer that can be programmed to vary the length of the pulses. The PWM outputs can be filtered and used to create a 10-bit D/A converter. They can also be used to directly drive devices that contain intrinsic filtering, such as motors or solenoids.
A development kit is also available that provides all the tools needed to develop Ethernet and nonEthernet applications with the Rabbit 3000 microprocessor. The kits include: microprocessor core module (with Rabbit 3000 processor, Flash, and SRAM), prototyping board, complete Dynamic C SE software development system (not a trial version) with TCP/IP software and documentation on CD-ROM, serial cable for programming and debugging.
The Rabbit 3000 comes in 128-pin LQFP (16 x 16 x 1,5 mm). Operating voltage is 1,8-3,6 V d.c. (5 V tolerant), current 2 mA/MHz at 3,3 V. It is rated for use from -55 to +85°C.
For further information contact Analog Data Products SA, 011 531 1400.
© Technews Publishing (Pty) Ltd | All Rights Reserved