![]() |
| RabbitCore RCM3700 User's Manual |
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.
![]()
4.1 RCM3700 Digital Inputs and Outputs
Figure 5 shows the RCM3700 pinouts for header J1.
![]()
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.
![]()
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.
4.1.1 Memory I/O Interface
The Rabbit 3000 address lines (A0A18) and all the data lines (D0D7) 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 PB2PB5 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.
#define PORTA_AUX_IO // required to enable auxiliary I/O bus4.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).
![]()
The serial ports used are selected with the
serXOpenfunction 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 used4.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.
![]()
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.
- Cold-boot the Rabbit 3000 on the RCM3700 after a reset.
- Remotely download and debug a program over an Ethernet connection using the RabbitLink EG2110.
- Fast copy designated portions of flash memory from one Rabbit-based board (the master) to another (the slave) using the Rabbit Cloning Board.
Alternate Uses of the Programming Port
All three clocked Serial Port A signals are available as
- a synchronous serial port
- an asynchronous serial port, with the clock line usable as a general CMOS input
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 resetthe 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:
- It can be driven low on the first op code fetch cycle.
- It can be driven low during an interrupt acknowledge cycle.
- 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.
![]()
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.
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.
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.
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 256K512K of SRAM.
4.5.2 Flash EPROM
RCM3700 series boards also have 256K512K 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
writeUserBlockandreadUserBlockare 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\RCM3700folder 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 |