RabbitCore RCM2000 User's Manual

> ## 2. Subsystems

> Chapter 2 describes the principal subsystems for the RCM2000.

> - Programming Cable
> - RCM2000 Digital Inputs and Outputs
> - Serial Communication
> - Memory

> ### 2.1 Programming Cable

> The RCM2000 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 J3 of the RCM2000 with the board operating in the run mode. This allows the programming port to be used as an application port. See Appendix E, "Programming Cable," for more information.

> Figure 1. RCM2000 Program Mode and Run Mode Setup

> Figure 2. Location of Prototyping Board Reset Button

> #### 2.1.1 Detailed Instructions: Changing from Program Mode to Run Mode

> 1. Disconnect the programming cable from header J3 of the RCM2000.
> 2. Reset the RCM2000. You may do this as explained in Figure 1. Figure 2 shows the location of the RESET button on the Prototyping Board.

> The RCM2000 is now ready to operate in the Run Mode.

> #### 2.1.2 Detailed Instructions: Changing from Run Mode to Program Mode

> 3. Attach the PROG connector on the programming cable to header J3 on the RCM2000.
> 4. Reset the RCM2000. You may do this as explained in Figure 1. Figure 2 shows the location of the RESET button on the Prototyping Board.

> The RCM2000 is now ready to operate in the Program Mode.

> ### 2.2 RCM2000 Digital Inputs and Outputs

> Figure 3 shows the subsystems designed into the RCM2000.

> Figure 3. RCM2000 Subsystems

> The RCM2000 has 40 parallel I/O lines grouped in five 8-bit ports available on headers J1 and J2. The 24 bidirectional I/O lines are located on pins PA0-PA7, PD0-PD7, and PE0-PE7. The pinouts for headers J1 and J2 are shown in Figure 4.

> Figure 4. RCM2000 I/O Pins

> The ports on the Rabbit 2000 microprocessor used in the RCM2000 are configurable, and so the factory defaults can be reconfigured. Table 2 lists the Rabbit 2000 factory defaults and the alternate configurations.

> Table 2. RCM2000 Pinout Configurations
> Pin | Pin Name | Default Use | Alternate Use | Notes
> Header J1 | 1, 20 | GND |  |  |
> 2 | VCC |  |  |
> 3-10 | PA[0:7] | Parallel I/O | Slave port data bus SD0-SD7 |
> 11 | PB0 | Input | Serial port clock CLKB |
> 12 | PB1 | Input | Serial port clock CLKA | CLKA is connected to programming port (header J3, pin 3)
> 13 | PB2 | Input | Slave port write /SWR |
> 14 | PB3 | Input | Slave port read /SRD |
> 15 | PB4 | Input | SA0 | Slave port address lines
> 16 | PB5 | Input | SA1
> 17 | PB6 | Output |  |
> 18 | PB7 | Output | Slave port attention line /SLAVEATTN |
> 19 | PCLK | Output (Internal Clock) | Output | Turned off in software
> 21-28 | D[7:0] | Input/Output |  | Rabbit 2000 data bus
> 29 | PE7 | Bitwise or parallel programmable I/O | I7 output or slave port chip select /SCS |
> 30 | PE6 | I6 output |
> 31 | PE5 | I5 output or INT1B input |
> 32 | PE4 | I4 output or INT0B input |
> 33 | PE3 | I3 output |
> 34 | PE2 | I2 output |
> 35 | PE1 | I1 output or INT1A input |
> 36 | PE0 | I0 output or INT0A input |
> 37 | /IOWR | Output (I/O write strobe) |  |
> 38 | /IORD | Output (I/O read strobe) |  |
> 39 | /BUFEN | Output (I/O buffer enable) |  |
> 40 | /WDO | Output (Watchdog output) | May also be used to output a 30 µs pulse | Outputs a pulse when the internal watchdog times out
> Header J2 | 1-13 | A[12:0] | Output |  | Rabbit 2000 address bus
> 14 | STAT | Output (Status) | Output |
> 15 | PC0 | Output | TXD |
> 16 | PC1 | Input | RXD |
> 17 | PC2 | Output | TXC |
> 18 | PC3 | Input | RXC |
> 19 | PC4 | Output | TXB |
> 20 | PC5 | Input | RXB |
> 21 | PC6 | Output | TXA |
> 22 | PC7 | Input | RXA |
> 21 | PC6 | Output | TXA | Connected to programming port
> 22 | PC7 | Input | RXA
> 23-26 | PD[0:3] | Bitwise or parallel programmable I/O, can be driven or open-drain output |  | 16 mA sourcing and sinking current at full AC switching speed
> 27 | PD4 | ATXB output |
> 28 | PD5 | ARXB input |
> 29 | PD6 | ATXA output |
> 30 | PD7 | ARXA input |
> 31, 40 | GND |  |  |
> 32, 39 | VCC |  |  |
> 33 | VBATR | 3 V battery input |  |
> 34 | VRAM | 2.1 V output |  | 100 kW minimum load
> 35-36 | SMODE0, SMODE1 | (0,0)--start executing at address zero |  | No programming cable attached
> SMODE0 =1, SMODE1 = 1 Cold boot from asynchronous serial port A at 2400 bps (programming cable connected) | (0,1)--cold boot from slave port (1,0)--cold boot from clocked serial port A | With programming cable attached
> 37 | /RES_OUT | Reset Output |  |
> 38 | /RES_IN | Reset Input |  |

> As shown in Table 2, pins PA0-PA7 can be used to allow the Rabbit 2000 to be a slave to another processor. PE0, PE1, PE4, and PE5 can be used as external interrupts INT0A, INT1A, INT0B, and INT1B. Pins PB0 and PB1 can be used to access the clock on Serial Port B and Serial Port A of the Rabbit microprocessor. Pins PD4 and PD6 can be programmed to be optional serial outputs for Serial Ports B and A. PD5 and PD7 can be used as alternate serial inputs by Serial Ports B and A.

> #### 2.2.1 Dedicated Inputs

> PB0 and PB1 are designated as inputs because the Rabbit 2000 is operating in an asynchronous mode. Four of the input-only pins are located on PB2-PB5. When Port C is used as a parallel port, PC1, PC3, PC5, and PC7 are also inputs only. All the inputs are pulled up with 47 kW resistors. Figure 5 shows the locations of these pullup resistors.

> Figure 5. Locations of Digital Input Pullup Resistors

> NOTE | All the digital input pullup resistors are located on the bottom side of RCM2000 boards marked 175-0168

> PB2-PB5 can instead be used for the slave port. 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 (SD0-SD7), which is the alternate assignment for Parallel Port A. Parallel Port C pins PC1, PC3, PC5, and PC7 are inputs only can alternately be selectively enabled to serve as the serial data inputs for Serial Ports D, C, B, and A.

> #### 2.2.2 Dedicated Outputs

> Two of the output-only pins are located on PB6-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. When Port C is used as a parallel port, PC0, PC2, PC4 and PC6 are outputs only. These pins can alternately serve as the serial data outputs for Serial Ports D, C, B, and A.

> ### 2.3 Memory I/O Interface

> Thirteen of the Rabbit 2000 address lines (A0-A12) and all the data lines (D0-D7) are available as outputs on the RCM2000. I/0 write (/IOWR), I/0 read (/IORD), buffer enable (/BUFEN), and Watchdog Output (/WDO) are also available for interfacing to external devices.

> The STATUS output has three different programmable functions:

> 1. It can be driven low on the first op code fetch cycle.
> 2. It can be driven low during an interrupt acknowledge cycle.
> 3. It can also serve as a general-purpose output.

> #### 2.3.1 Additional I/0

> Although, the output clock is available on the PCLK pin, the output clock is disabled in software starting with Dynamic C v 7.02 and later. This reduces radiated emissions. The primary function of PCLK is as a peripheral clock or a peripheral clock ÷ 2, but PCLK can instead be used as a digital output. See Section 3.2.1, "PCLK Output," for more information.

> Two status mode pins, SMODE0 and SMODE1, are available as inputs. The logic state of these two pins determines the startup procedure after a reset. /RES_IN is an external input used to reset the Rabbit 2000 microprocessor and RCM2000 memory. /RES_OUT is an output from the reset circuitry that can be used to reset other peripheral devices.

> ### 2.4 Serial Communication

> The RCM2000 does not have an RS-232 or an RS-485 transceiver directly on the board. However, the Prototyping Board does support a industry standard RS-232 transceiver chip. See Appendix B, "Prototyping Board," for more information.

> #### 2.4.1 Serial Ports

> There are four serial ports designated as Serial Ports A, B, C, and D. All four serial ports can operate in an asynchronous mode up to the baud rate of 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 be operated alternately 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 provides the clock, the baud rate can be up to 1/4 of the system clock frequency, or more than 6.45 Mbps for a 25.8 MHz clock speed.

> #### 2.4.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 RCM2000 has a 10-pin program header labeled J3. The Rabbit 2000 startup-mode pins (SMODE0, SMODE1) are presented to the programming port so that an externally connected device can force the RCM2000 to start up in an external bootstrap mode. The Rabbit 2000 Microprocessor User's Manual provides more information related to the bootstrap mode.

> The programming port is used to start the RCM2000 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.

> The RCM2000 can be reset from the programming port via the /RESET_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 fast serial communication possible.

> ### 2.5 Clock Doubler

> The RCM2000 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 25.8 MHz (RCM 2000 and RCM2010) and 18.4 MHz (RCM 2020) frequencies are generated using 12.9 MHz and 9.2 MHz crystals. The clock doubler is disabled automatically in the BIOS for crystals with a frequency above 12.9 MHz.

> The clock doubler can be disabled if 25.8 MHz or 18.4 MHz clock speeds are not required. Disabling the Rabbit 2000 microprocessor's internal clock 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,

> to read as follows.

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

> 3. Change the serial baud rate to 57,600 bps when the RCM2000 is operated at 12.9 MHz or 9.2 MHz.
> 4. Save the change using File > Save.

> ### 2.6 Memory

> #### 2.6.1 SRAM

> The RCM2000 is designed to accept 32K to 512K of SRAM packaged in an SOIC case.

> The existing standard models of the RCM2000 come with 128K or 512K of SRAM. Figure 6 shows the locations and the jumper settings for the jumpers at JP1 used to set the SRAM size. The "jumpers" are 0 W surface-mounted resistors.

> Figure 6. RCM2000 Jumper Settings
> for SRAM and Flash EPROM Size

> #### 2.6.2 Flash EPROM

> The RCM2000 is also designed to accept 128K to 512K of flash EPROM packaged in a TSOP case.

> The existing standard models of the RCM2000 come with 256K of flash EPROM. Figure 6 shows the locations and the jumper settings for the jumpers at JP2 used to set the flash EPROM size. The "jumpers" are 0 W surface-mounted resistors.

> NOTE | Z-World recommends that any customer applications should not be constrained by the sector size of the flash EPROM since it may be necessary to change the sector size in the future.

> A Flash Memory Bank Select jumper configuration option exists at JP3 with 0 W surface-mounted resistors. This provision allows the code space in the flash memory to be split in half so that one flash memory chip can emulate the two flash memory chips found on some Z-World single-board computers.

> NOTE | Only the Normal Mode (pins 1-2 connected at JP2), which corresponds to using the full code space, is supported at the present time.

> #### 2.6.3 Dynamic C BIOS Source Files

> The Dynamic C BIOS source files handle different standard RAM and flash EPROM sizes automatically.

Z-World http://www.zworld.com Voice: (530) 757-3737 FAX: (530) 753-5141 sales@zworld.com | Rabbit Semiconductor http://www.rabbitsemiconductor.com Voice: (530) 757-8400 FAX: (530) 757-8402 sales@rabbitsemiconductor.com