RabbitCore RCM2300
User's Manual
PREV NEXT INDEX



2. Hardware Reference

Chapter 2 describes the hardware components and principal hardware subsystems of the RCM2300. Appendix A, "RabbitCore RCM2300 Specifications," provides complete physical and electrical specifications.

2.1 RCM2300 Digital Inputs and Outputs

Figure 1 shows the subsystems designed into the RCM2300.


Figure 1. Rabbit Subsystems

The RCM2300 modules have two 26-pin headers to which cables can be connected, or which can be plugged into matching sockets on a production device. The pinouts for these connectors are shown in Figure 2 below.


Figure 2. RCM2300 I/O Pinout

Fifteen additional connection points are available along one edge of the RCM2300 board. These connection points are 0.030" diameter holes spaced 0.05" apart, and are shown in Figure 3.


Figure 3. Additional RCM2300 Connection Points

The remaining discussion is focused on the I/O points available on headers J4 and J5 because it is anticipated that most users will not use the through-hole connection points because of their reduced convenience.

Table 1 lists the pinout configurations on headers J4 and J5. The ports on the Rabbit 2000 microprocessor used in the RCM2300 are configurable, and so the factory defaults can be reconfigured. Table 1 lists the factory defaults and the alternate configurations.

Table 1. RabbitCore RCM2300 Pinout Configurations 
Pin
Pin Name
Default Use
Alternate Use
Notes
Header J4
1 GND


2 VCC


3 PC0 Output TXD
4 PC1 Input RXD
5 PC2 Output TXC
6 PC3 Input RXC
7 PC6 Output TXA Is also connected to programming port used to program/debug
8 PC7 Input RXA
9 PE2 Bidirectional I/O I/O control
10 PD3 Bitwise or parallel programmable I/O

11 PD4 ATXB output
12 PD5 ARXB input
13 /IORD Input (I/O read strobe)

14 /IOWR Output (I/O write strobe)

15 PE0 Bitwise or parallel programmable I/O I0 control or INT0A input
16 PE1 I1 control or INT1A input
17 SMODE1 Startup mode bit input Input Can only be used as general inputs after the startup mode op-code has been read following boot-up
18 SMODE0 Startup mode bit input Input
19 PE4 Bitwise or parallel programmable I/O I4 control or INT0B input
20 PE5 I5 control or INT1B input
21 STATUS Low on first op-code fetch of instruction Output Accessed by addressing Global Output Control Register
22 PE7 Bitwise or parallel programmable I/O I7 control or slave port chip select /SCS
23-26 A[3:0]

Rabbit 2000 address bus
Header J5
1-8
PA[0:7]
Bytewide programmable parallel I/O
Slave port data bus
SD0-SD7

9
/RESET
Reset output
Reset input
This weak output can be driven externally
10
PB0
Input
Serial port clock CLKB input or output

11
PB2
Input
Slave port write /SWR

12
PB3
Input
Slave port read /SRD

13
PB4
Input
SA0
Slave port address lines
14
PB5
Input
SA1
15
PB7
Output
Slave port attention line /SLAVEATTN

16-23
D[7:0]
Input/Output

Rabbit 2000 data bus
24
VBAT
3 V battery input


25
VCC



26
GND



2.1.1 Dedicated Inputs

PB0 is a general CMOS input when the Rabbit 2000 is either not using Serial Port B or is using Serial Port B in an asynchronous mode. Four other general CMOS input-only pins are located on PB2-PB5. These pins can also be used for the slave port in master/slave communication between two processors. PB2 and PB3 are slave write and slave read strobes, while PB4 and PB5 serve as slave address lines SA0 and SA1, and are used to access the slave registers. PC1, PC3, and PC7 are general CMOS inputs only. These pins can instead be selectively enabled to serve as the serial data inputs for Serial Ports D, C, and A.

SMODE0 and SMODE1 are read at start-up, and set the mode whereby instructions are fetched. Thereafter the user may use and read these pins as inputs by reading the Slave Port Control Register.

NOTE Exercise care so that the SMODE0 and SMODE1 pins revert to the correct startup code when a reset occurs.

2.1.2 Dedicated Outputs

One of the general CMOS output-only pins is located on PB7. PB7 can also be used with the slave port as the /SLAVEATTN output. This configuration signifies that the slave is requesting attention from the master. PC0, PC2, and PC6 are also output-only pins; alternatively, they can serve as the serial data outputs for Serial Ports D, C, and A.

The STATUS pin goes low by default after the first op-code fetch of an instruction cycle. The STATUS pin may be programmed as a separate output by changing the Rabbit 2000's Global Output Control Register.

2.1.3 Memory I/O Interface

Four of the Rabbit 2000 address lines (A0-A3) and all the data lines (D0-D7) are available. I/0 write (/IOWR) and I/0 read (/IORD) are also available for interfacing to external devices.

2.1.4 Other Inputs and Outputs

As shown in Table 1, pins PA0-PA7 can be used to allow the Rabbit 2000 to be a slave to another processor. The slave port also uses PB2-PB5, PB7, and PE7.

PE0, PE1, PE4, and PE5 can be used for up to two external interrupts. PB0 can be used to access the clock on Serial Port B of the Rabbit microprocessor. PD4 can be programmed to be a serial output for Serial Port B. PD5 can be used as a serial input by Serial Port B.

2.2 Serial Communication

The RCM2300 board does not have an RS-232 or an RS-485 transceiver directly on the board. However, an RS-232 or RS-485 interface may be incorporated on the board the RCM2300 is mounted on. For example, the Prototyping Board supports a standard RS-232 transceiver chip.

2.2.1 Serial Ports

There are four serial ports designated as Serial Ports A, B, C, and D. All four serial ports can sustain their operation in an asynchronous mode up to the baud rate of the system clock divided by 64. The maximum burst rate for an asynchronous byte can be as high as the system clock divided by 32. An asynchronous port can handle 7 or 8 data bits. A 9th bit address scheme, where an additional bit is sent to mark the first byte of a message, is also supported.

Serial Ports A and B can also be operated in the clocked serial mode. In this mode, a clock line synchronously clocks the data in or out. Either of the two communicating devices can supply the clock. When the Rabbit 2000 provides the clock, the sustained baud rate can be up to the system clock frequency divided by 8, or 2.76 Mbps for a 22.1 MHz clock speed. The maximum burst rate for a byte can be as high as the system clock divided by 4.

Serial Port A's clock pin is available only on the programming port, and so is likely to be inconvenient to interface with.

2.2.2 Programming Port

Serial Port A has special features that allow it to cold-boot the system after reset. Serial Port A is also the port that is used for software development under Dynamic C.

The RCM2300 has a 10-pin program header labeled J1. The Rabbit 2000 startup-mode pins (SMODE0, SMODE1) are presented to the programming port so that an externally connected device can force the RCM2300 to start up in an external bootstrap mode. The Rabbit 2000 Microprocessor User's Manual provides more information about the bootstrap mode.

The programming port is used to start the RCM2300 in a mode where it will download a program from the port and then execute the program. The programming port transmits information to and from a PC while a program is being debugged in-circuit.

The RCM2300 can be reset from the programming port via the /RES_IN line.

The Rabbit 2000 status pin is also presented to the programming port. The status pin is an output that can be used to send a general digital signal.

The clock line for Serial Port A is presented to the programming port, which makes synchronous serial communication possible.

All the programming port pins, except the Serial Port A clock line, are duplicated on the 26-pin headers.

2.2.2.1 Alternate Uses of the Programming Port

The programming port may also be used as an application port with the DIAG connector on the programming cable.

All three clocked Serial Port A signals are available for use as

Two startup mode pins, SMODE0 and SMODE1, are available as general CMOS inputs after they are read during the initial boot-up. The logic state of these two pins is very important in determining the startup procedure after a reset.

/RES_IN is an external input used to reset the Rabbit 2000 microprocessor.

The status pin may also be used as a general CMOS output.

See Appendix C, "Programming Cable," for more information.

2.3 Other Hardware

2.3.1 Clock Doubler

The RCM2300 takes advantage of the Rabbit 2000 microprocessor's internal clock doubler. A built-in clock doubler allows half-frequency crystals to be used to reduce radiated emissions. The 22.1 MHz frequency is generated using an 11.0592 MHz crystal. The clock doubler is disabled automatically in the BIOS for crystals with a frequency above 12.9 MHz.

The clock doubler may be disabled if 22.1 MHz clock speeds are not required. Disabling the Rabbit 2000 microprocessor's internal clock doubler will reduce power consumption and further reduce radiated emissions. The clock doubler is disabled with a simple change to the BIOS as described below.

  1. Open the BIOS source code file, RABBITBIOS.C in the BIOS directory.
  2. Change the line

#define CLOCK_DOUBLED 1 // set to 1 to double the clock if XTAL<=12.9MHz,

#define CLOCK_DOUBLED 0 // set to 1 to double the clock if XTAL<=12.9MHz,
  1. Save the change using File > Save.

2.3.2 Backup Battery Circuit

The RCM2300 does not have a battery, but there is provision for a customer-supplied battery to back up SRAM and keep the internal Rabbit 2000 real-time clock running.

Header J5, shown in Figure 4, allows access to the external battery. This header makes it possible to connect an external 3 V lithium battery. This allows the internal Rabbit 2000 real-time clock to run and allows the SRAM to retain data when the RCM2300 is powered down.


Figure 4. External Battery Connections
at Header J5

A lithium battery with a nominal voltage of 3 V and a minimum capacity of 950 mA·h is recommended. A lithium battery is needed because of its nearly constant nominal voltage over most of its life.

The drain on the battery by the RCM2300 is typically 16 µA when no other power is supplied. If a 950 mA·h battery is used, the battery can last more than 6 years:

The actual life in your application will depend on the current drawn by components not on the RCM2300 and the storage capacity of the battery. Note that the shelf life of a lithium battery is ultimately 10 years.

The battery-backup circuit serves two purposes:

Figure 5 shows the RCM2300 battery backup circuit.


Figure 5. RabbitCore RCM2300 Battery Backup Circuit

It is important not to charge a lithium battery with any appreciable current. Resistor R5, shown in Figure 5, prevents any catastrophic failure of Q1 by limiting current to the customer-supplied battery. VRAM and Vcc are nearly equal (difference <100 mV, typically 10 mV) when power is supplied to the RCM2300.

Resistors R3 and R4 make up a voltage divider that biases the base of Q1 to about 0.9 × VBAT. VBE on Q1 is about 0.55 V. Therefore, VRAM is about 0.9 × VBAT - 0.55 V, or about 2.15 V for a 3 V battery.

2.3.2.1 Power to VRAM Switch

The VRAM switch, shown in Figure 6, allows a customer-supplied external battery to provide power when the external power goes off. The switch provides an isolation between Vcc and the battery when Vcc goes low. This prevents the Vcc line from draining the battery.


Figure 6. VRAM Switch

Transistor Q5 is needed to ensure a very small voltage drop between Vcc and VRAM (difference <100 mV, typically 10 mV) so that the processor lines powered by Vcc will not have a significantly different voltage than VRAM.

When the RCM2300 is not resetting (pin 2 on U1 is high), the /RESET line will be high. This turns on Q2, causing its collector to go low. This turns on Q5, allowing VRAM to nearly equal Vcc.

When the RCM2300 is resetting, the /RESET line will go low. This turns off Q2 and Q5, providing an isolation between Vcc and VRAM.

The battery backup circuit keeps VRAM from dropping below 2 V.

2.3.2.2 Reset Generator

The RCM2300 uses a reset generator, U1, to reset the Rabbit 2000 microprocessor when the voltage drops below the voltage necessary for reliable operation. The reset occurs between 4.50 V and 4.75 V, typically 4.63 V.

The RCM2300 has a reset output, pin 9 on header J5. The reset output may be overdriven with at least 5 mA, essentially turning pin 9 on header J5 into a reset input, which may be used to reset the RCM2300.

2.4 Programming Cable

The RCM2300 is automatically in program mode when the PROG connector on the programming cable is attached, and is automatically in run mode when no programming cable is attached.

The DIAG connector of the programming cable may be used on header J1 of the RCM2300 with the board operating in the run mode. This allows the programming port to be used as an application port. See Appendix C, "Programming Cable," for more information.


Figure 7. Switching Between Program Mode and Run Mode

2.4.1 Changing from Program Mode to Run Mode

    1. Disconnect the programming cable from header J1 of the RCM2300.
    2. Reset the RCM2300. You may do this as explained in Figure 7.

The RCM2300 is now ready to operate in the run mode.

2.4.2 Changing from Run Mode to Program Mode

    1. Attach the programming cable to header J1 on the RCM2300.
    2. Reset the RCM2300 series. You may do this as explained in Figure 7.

The RCM2300 is now ready to operate in the program mode.


Rabbit Semiconductor
http://www.rabbitsemiconductor.com
Voice: (530) 757-8400
FAX: (530) 757-8402
sales@rabbitsemiconductor.com
PREV NEXT INDEX