RabbitCore RCM3700
User's Manual
PREV INDEX NEXT


4. Hardware Reference

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

Figure 4 shows the Rabbit-based subsystems designed into the RCM3700.


Figure 4. RCM3700 Subsystems

4.1 RCM3700 Digital Inputs and Outputs

Figure 5 shows the RCM3700 pinouts for header J1.


Figure 5. RCM3700 Pinouts

Header J1 is a standard 2 x 20 IDC header with a nominal 0.1" pitch.

Figure 6 shows the use of the Rabbit 3000 microprocessor ports in the RCM3700 modules.


Figure 6. Use of Rabbit 3000 Ports

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

Table 2. RCM3700 Pinout Configurations 
Pin
Pin Name
Default Use
Alternate Use
Notes
Header J1
1–8
PA[7:0]
Parallel I/O
External data bus
(ID0–ID7)
Slave port data bus
(SD0–SD7)
External Data Bus
9
PF1
Input/Output
QD1A
CLKC

10
PF0
Input/Output
QD1B
CLKD

11
PB0
Input/Output
CLKB

12
PB2
Input/Output
IA0
/SWR
External Address 0
Slave port write
13
PB3
Input/Output
IA1
/SRD
External Address 1
Slave port read
14
PB4
Input/Output
IA2
SA0
External Address 2
Slave Port Address 0
15
PB5
Input/Output
IA3
SA1
External Address 3
Slave Port Address 1
16
PB7
Input/Output
IA5
/SLAVEATTN
External Address 5
Slave Port Attention
17
PF4
Input/Output
AQD1B
PWM0

18
PF5
Input/Output
AQD1A
PWM1

19
PF6
Input/Output
AQD2B
PWM2

20
PF7
Input/Output
AQD2A
PWM3

21
PC0
Output
TXD
Serial Port D
22
PC1/PG2
Input/Output
RXD/TXF
Serial Port D
Serial Port F
23
PC2
Output
TXC
Serial Port C
24
PC3/PG3
Input/Output
RXC/RXF
Serial Port C
Serial Port F
25
PE7
Input/Output
I7
/SCS
I/O Strobe 7
Slave Port Chip Select
Header J1
26
PE5
Input/Output
I5
INT1B
I/O Strobe 5
Interrupt 1B
27
PE4
Input/Output
I4
INT0B
I/O Strobe 4
Interrupt 0B
28
PE1
Input/Output
I1
INT1A
I/O Strobe 1
Interrupt 1A
29
PE0
Input/Output
I0
INT0A
I/O Strobe 0
Interrupt 0A
30
PG7
Input/Output
RXE
Serial Port E
31
PG6
Input/Output
TXE
32
/IOWR
Output

External write strobe
33
/IORD
Input

External read strobe
34
PD4
Input/Output
ATXB
Alternate Serial Port B
35
PD5
Input/Output
ARXB
36
/RES
Reset output
Reset input
Reset output from Reset Generator
37
VBAT



38
GND



39
+5 V



40
GND




4.1.1 Memory I/O Interface

The Rabbit 3000 address lines (A0–A18) and all the data lines (D0–D7) are routed internally to the onboard flash memory and SRAM chips. I/0 write (/IOWR) and I/0 read (/IORD) are available for interfacing to external devices.

Parallel Port A can also be used as an external I/O data bus to isolate external I/O from the main data bus. Parallel Port B pins PB2–PB5 and PB7 can also be used as an auxiliary address bus.

When using the auxiliary I/O bus for either Ethernet or the LCD/keypad module on the Prototyping Board, or for any other reason, you must add the following line at the beginning of your program.

4.1.2 Other Inputs and Outputs

/RES is an output from the reset circuitry that can be used to reset other peripheral devices. This pin can also be used to reset the microprocessor.

4.2 Serial Communication

The RCM3700 board does not have any serial transceivers directly on the board. However, a serial interface may be incorporated on the board the RCM3700 is mounted on. For example, the Prototyping Board has RS-232, RS-485 and IrDA transceiver chips.

4.2.1 Serial Ports

There are five serial ports designated as Serial Ports A, C, D, E, and F. All five serial ports can operate in an asynchronous mode up to the baud rate of the system clock divided by 8. 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 Port A is normally used as a programming port, but may be used either as an asynchronous or as a clocked serial port once application development has been completed and the RCM3700 is operating in the Run Mode.

Serial Ports C and D 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.

Serial Ports E and F can also be configured as HDLC serial ports. The IrDA protocol is also supported in SDLC format by these two ports.

Serial Port F shares its pins with Serial Ports C and D on header J1, as shown in Figure 7. The selection of port(s) depends on your need for two clocked serial ports (Serial Ports C and D) vs. a second HDLC serial port (Serial Port F).


Figure 7. RCM3700 Serial Ports C, D, and F

The serial ports used are selected with the serXOpen function call, where X is the serial port (C, D, or F). Remember that RxC and RxD on Serial Ports C and D cannot be used if Serial Port F is being used

4.2.2 Ethernet Port

Figure 8 shows the pinout for the RJ-45 Ethernet port (J3). Note that some Ethernet connectors are numbered in reverse to the order used here.


Figure 8. RJ-45 Ethernet Port Pinout

Two LEDs are placed next to the RJ-45 Ethernet jack, one to indicate an Ethernet link (LINK) and one to indicate Ethernet activity (ACT).

The RJ-45 connector is shielded to minimize EMI effects to/from the Ethernet signals.

4.2.3 Serial Programming Port

The RCM3700 programming port is accessed through header J2 or over an Ethernet connection via the RabbitLink EG2110. The programming port uses the Rabbit 3000's Serial Port A for communication. Dynamic C uses the programming port to download and debug programs.

The programming port is also used for the following operations.

Alternate Uses of the Programming Port

All three clocked Serial Port A signals are available as

The programming port may also be used as a serial port via the DIAG connector on the programming cable.

In addition to Serial Port A, the Rabbit 3000 startup-mode (SMODE0, SMODE1), status, and reset pins are available on the programming port.

The two startup mode pins determine what happens after a reset—the Rabbit 3000 is either cold-booted or the program begins executing at address 0x0000.

The status pin is used by Dynamic C to determine whether a Rabbit microprocessor is present. 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 CMOS output.

The reset pin is an external input that is used to reset the Rabbit 3000. The serial programming port can be used to force a hard reset on the RCM3700 by asserting the reset signal.

Refer to the Rabbit 3000 Microprocessor User's Manual for more information.

4.3 Serial Programming Cable

The programming cable is used to connect the programming port of the RCM3700 to a PC serial COM port. The programming cable converts the RS-232 voltage levels used by the PC serial port to the CMOS voltage levels used by the Rabbit 3000.

When the PROG connector on the programming cable is connected to the RCM3700 programming port, programs can be downloaded and debugged over the serial interface.

The DIAG connector of the programming cable may be used on header J2 of the RCM3700 with the RCM3700 operating in the Run Mode. This allows the programming port to be used as a regular serial port.

4.3.1 Changing Between Program Mode and Run Mode

The RCM3700 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. When the Rabbit 3000 is reset, the operating mode is determined by the status of the SMODE pins. When the programming cable's PROG connector is attached, the SMODE pins are pulled high, placing the Rabbit 3000 in the Program Mode. When the programming cable's PROG connector is not attached, the SMODE pins are pulled low, causing the Rabbit 3000 to operate in the Run Mode.


Figure 9. Switching Between Program Mode and Run Mode

A program "runs" in either mode, but can only be downloaded and debugged when the RCM3700 is in the Program Mode.

Refer to the Rabbit 3000 Microprocessor User's Manual for more information on the programming port and the programming cable.

4.3.2 Standalone Operation of the RCM3700

The RCM3700 must be programmed via the RCM3700 Prototyping Board or via a similar arrangement on a customer-supplied board. Once the RCM3700 has been programmed successfully, remove the programming cable from the programming connector and reset the RCM3700. The RCM3700 may be reset by cycling the power off/on or by pressing the RESET button on the Prototyping Board. The RCM3700 module may now be removed from the Prototyping Board for end-use installation.


CAUTION:
Power to the Prototyping Board or other boards should be disconnected when removing or installing your RCM3700 module to protect against inadvertent shorts across the pins or damage to the RCM3700 if the pins are not plugged in correctly. Do not reapply power until you have verified that the RCM3700 module is plugged in correctly.


4.4 Other Hardware

4.4.1 Clock Doubler

The RCM3700 takes advantage of the Rabbit 3000 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 specified for the RCM3700 is generated using a 11.06 MHz resonator.

The clock doubler may be disabled if 22.1 MHz clock speeds are not required. This will reduce power consumption and further reduce radiated emissions. Disable the clock doubler by adding a simple configuration macro as shown below.

  1. Select the "Defines" tab from the Dynamic C Options > Project Options menu.

  2. Add the line CLOCK_DOUBLED=0 to always disable the clock doubler.

    The clock doubler is enabled by default, and usually no entry is needed. If you need to specify that the clock doubler is always enabled, add the line CLOCK_DOUBLED=1 to always enable the clock doubler.

  3. Click OK to save the macro. The clock doubler will now remain off whenever you are in the project file where you defined the macro.


4.4.2 Spectrum Spreader

The Rabbit 3000 features a spectrum spreader, which helps to mitigate EMI problems. By default, the spectrum spreader is on automatically, but it may also be turned off or set to a stronger setting. The spectrum spreader settings may be changed through a simple configuration macro as shown below.

  1. Select the "Defines" tab from the Dynamic C Options > Project Options menu.

  2. Normal spreading is the default, and usually no entry is needed. If you need to specify normal spreading, add the line

    ENABLE_SPREADER=1

For strong spreading, add the line

    ENABLE_SPREADER=2

To disable the spectrum spreader, add the line

    ENABLE_SPREADER=0

NOTE The strong spectrum-spreading setting is not recommended since it may limit the maximum clock speed or the maximum baud rate. It is unlikely that the strong setting will be needed in a real application.

  1. Click OK to save the macro. The spectrum spreader will now remain off whenever you are in the project file where you defined the macro.


NOTE Refer to the Rabbit 3000 Microprocessor User's Manual for more information on the spectrum-spreading setting and the maximum clock speed.

4.5 Memory

4.5.1 SRAM

RCM3700 series boards have 256K–512K of SRAM.

4.5.2 Flash EPROM

RCM3700 series boards also have 256K–512K of flash EPROM.

NOTE Rabbit Semiconductor 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.

Writing to arbitrary flash memory addresses at run time is also discouraged. Instead, use a portion of the "user block" area to store persistent data. The functions writeUserBlock and readUserBlock are provided for this. Refer to the Rabbit 3000 Microprocessor Designer's Handbook for additional information.

A Flash Memory Bank Select jumper configuration option based on 0 W surface-mounted resistors exists at header JP1 on the RCM3700 modules. This option, used in conjunction with some configuration macros, allows Dynamic C to compile two different co-resident programs for the upper and lower halves of the 512K flash in such a way that both programs start at logical address 0000. This is useful for applications that require a resident download manager and a separate downloaded program. See Technical Note TN218, Implementing a Serial Download Manager for a 256K Flash, for details.

4.5.3 Serial Flash

A 1Mbyte serial flash is available to store data and Web pages. Sample programs in the SAMPLES\RCM3700 folder illustrate the use of the serial flash.

4.5.4 Dynamic C BIOS Source Files

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


Rabbit Semiconductor
www.rabbit.com
PREV INDEX NEXT