Rabbit 2000™ Microprocessor Designer's Handbook

> ## 2. Rabbit Hardware Design Overview

> Because of the glueless nature of the external interfaces, especially the memory interface, it is easy to design hardware in a Rabbit-based system. More details on hardware design are given in the Rabbit 2000 Microprocessor User's Manual.

> ### 2.1 Design Conventions

> - Include a standard Rabbit programming cable. The standard 10-pin programming connector provides a connection to serial port A and allows the PC to reset and cold boot the target system.
> - Connect a static RAM having at least 32K bytes to the processor using /CS1, /OE1 and /WE1. It is useful if the PC board footprint can also accommodate a RAM large enough to hold all the code anticipated. If a large RAM can be accommodated, software development will go faster. Although code residing in some flash memory can be debugged, debugging and program download is faster to RAM. There are also types of flash memory that can be used, but they cannot support debugging.
> - Connect a flash memory that is on the approved list and has at least 128K bytes of storage to the processor using /CS0, /OE0 and /WE0. Non-approved memories can be used, but it may be necessary to modify the BIOS. Some systems designed to have their program reloaded by an external agent on each powerup may not need any flash memory.
> - Install a crystal or oscillator with a frequency of 32.768 kHz to drive the battery-backable clock. (Battery-backing is optional, but the clock is used in the cold boot sequence to generate a known baud rate.)
> - Install a crystal or oscillator for the main processor clock that is a multiple of 614.4 kHz, or better, a multiple of 1.8432 MHz. These preferred clock frequencies make possible the generation of sensible baud rates. If the crystal frequency is a multiple of 614.4 kHz, then the same multiples of the 19,200 bps baud rate are achievable. Common crystal frequencies to use are 3.6864, 7.3728, 11.0592 or 14.7456 MHz, or double these frequencies.
> - Digital I/O line PB1 should not be used in the design if cloning is to be be used. (See "BIOS Support for Program Cloning" on page 43 for more information on cloning.)

> #### 2.1.1 Rabbit Programming Connector

> The user may be concerned that the requirement for a programming connector places added cost overhead on the design. The overhead is very small--less than $0.25 for components and board space that could be eliminated if the programming connector were not made a part of the system.

> The programming connector can also be used for a variety of other purposes, including user applications. A device attached to the programming connector has complete control over the system because it can perform a hardware reset and load new software. If this degree of control is not desired for a particular situation, then certain pins can be left unconnected in the connecting cable, limiting the functionality of the connector to serial communications. Z-World will be developing products and software that assume the presence of the programming connector.

> #### 2.1.2 Memory Chips

> Most systems have one static RAM chip and one or two flash memory chips, but more memory chips can be used when appropriate. Static RAM chips are available in 32K x 8, 64K x 8, 128K x 8, 256K x 8 and 512K x 8 sizes. The 256K x 8 is mainly available in 3 V versions. The other chips are available in 5 V or 3 V versions. Suggested flash memory chips between 128K x 8 and 512K x 8 are given in Chapter 10, Flash Memories.

> Dynamic C and a PC are not necessary for the production programming of flash memory since the flash memory can be copied from one controller to another by cloning. This is done by connecting the system to be programmed to the same type of system that is already programmed. This connection is made with a cloning cable. The cloning cable connects to both programming ports and has a button to start the transfer of program and an LED to display the progress of the transfer.

> #### 2.1.3 Oscillator Crystals

> Generally a system will have two oscillator crystals, a 32.768 kHz crystal to drive the battery-backable timer, and another crystal that has a frequency that is a multiple of 1.8432 MHz or a multiple of 3.6864 MHz. Typical values are 1.8432, 3.6864, 7.3728, 11.0592, 14.7456, 18.432, 25.8048, and 29.4912 MHz. These crystal frequencies (except 1.8432 MHz) allow generation of standard baud rates up to at least 115,200 bps. The clock frequency can be doubled by an on-chip clock doubler, but the doubler should not be used to achieve frequencies higher than about 22.1184 MHz on a 5 V system and 14.7456 MHz on a 3.3 V system. A quartz crystal should be used for the 32.768 kHz oscillator. For the main oscillator a ceramic resonator, accurate to 0.5%, will usually be adequate and less expensive than a quartz crystal.

> ### 2.2 Operating Voltages

> The operating voltage in Rabbit-based systems will usually be 5 V or 3.3 V, but 2.7 V is also a possibility. The maximum computation per watt is obtained in the range of 3.0 V to 3.6 V. The highest clock speeds require 5 V. The maximum clock speed with a 3.3 V supply is 18.9 MHz, but it will usually be convenient to use a 7.3728 MHz crystal, doubling the frequency to 14.7456 MHz. Good computational performance, but not the absolute maximum, can be implemented for 5 V systems by using an 11.0592 MHz crystal and doubling the frequency to 22.1184 MHz. Such a system will operate with 70 ns memories. If the maximum performance is required, then a 29.4912 MHz crystal or resonator (for a crystal this must be the first overtone, and may need to be special ordered) or a 29.4912 MHz external oscillator can be used. A 29.4912 MHz system will require 55 ns memory access time. A table of timing specification is contained in the Rabbit 2000 Microprocessor User's Manual.

> ### 2.3 Power Consumption

> When minimum power consumption is required, a 3.3 V power supply and a 3.6864 MHz or a 1.8432 MHz crystal will usually be good choices. Such a system can operate at the main 3.6864 MHz or 1.8432 MHz frequency either doubled or divided by 8 (or both). A further reduction in power consumption at the expense of computing speed can be obtained by adding memory wait states. Operating at 3.6864 MHz, such a system will draw approximately 11 mA at 3.3 V, not including the power required by the memory. Approximately 2 mA is used for the oscillator and 9 mA is used for the processor. Reducing the processor frequency will reduce current proportionally. At 1/4th the frequency or (0.92 MHz) the current consumption will be approximately 4 mA. At 1/8th the frequency, (0.46 MHz) the total power consumption will be approximately 3 mA, not including the memories. Doubling the frequency to 7.37 MHz will increase the current to approximately 20 mA.

> If the main oscillator is turned off and the microprocessor is operated at 32.768 kHz from the clock oscillator, the current will drop to about 200 µA exclusive of the current required by the memory. The level of power consumption can be fine-tuned by adding memory wait states, which have the effect of reducing power consumption. In order to obtain microampere level power consumption, it is necessary to use auto powerdown flash memories to hold the executing code. Standby power while the system is waiting for an event can be reduced by executing long strings of multiply zero by zero instructions. Keep in mind that a Rabbit operating at 3.68 MHz has the compute power of a Z180 microprocessor operating at approximately triple the clock frequency (11 MHz).

> ### 2.4 Through-hole Technology

> Most design advice given for the Rabbit assumes the use of surface-mount technology. However, it is possible to use the older through hole technology and develop a Rabbit system. One can use Z-World's Rabbit-based Core Module, a small circuit board with a complete Rabbit core that includes memory and oscillators. Another possibility is to solder the Rabbit processors by hand to the circuit board. This is not difficult and is satisfactory for low production volumes if the right technique is used.

Rabbit Semiconductor Corporation http://www.rabbitsemiconductor.com Voice: (530) 757-8400 Fax: (530) 757-8402