![]() |
| RabbitCore RCM3000 User's Manual |
4. Hardware Reference
Chapter 3 describes the hardware components and principal hardware subsystems of the RCM3000. Appendix A, "RCM3000 Specifications," provides complete physical and electrical specifications.
Figure 4 shows these Rabbit-based subsystems designed into the RCM3000.
4.1 RCM3000 Digital Inputs and Outputs
The RCM3000 has 52 parallel I/O lines grouped in seven 8-bit ports available on headers J1 and J2. The 44 bidirectional I/O lines are located on pins PA0PA7, PB0, PB2PB7, PD2PD7, PE0PE1, PE3PE7, PF0PF7, and PG0PG7.
Figure 5 shows the RCM3000 pinouts for headers J1 and J2.
Headers J1 and J2 are standard 2 × 34 headers with a nominal 2 mm pitch. An RJ-45 Ethernet jack is also included with the RCM3000.
The signals labeled PD2, PD3, PD6, and PD7 on header J1 (pins 2932) and the pins that are not connected (pins 3334 on header J1 and pin 33 on header J2) are reserved for future use on other models in the RCM3000.
Figure 6 shows the use of the Rabbit 3000 ports in the RCM3000 modules.
The ports on the Rabbit 3000 microprocessor used in the RCM3000 are configurable, and so the factory defaults can be reconfigured. Table 2 lists the Rabbit 3000 factory defaults and the alternate configurations.
NOTE Ports PD0 and PE2 are used for the Ethernet interface. Locations R38R43 allow the population of 0 W resistors (jumpers) that will be used to enable future options. These locations are currently unused.
4.1.1 Memory I/O Interface
The Rabbit 3000 address lines (A0A19) 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 PB2PB7 can also be used as an external address bus.
When using the auxiliary I/O bus, you must add the following line at the beginning of your program.
#define PORTA_AUX_IO // required to enable auxiliary I/O busThe 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 output.
4.1.2 Other Inputs and Outputs
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.
/RESET_IN is an external input used to reset the Rabbit 3000 microprocessor and the RabbitCore RCM3000 memory. /RES is an output from the reset circuitry that can be used to reset other peripheral devices.
4.1.3 5 V Tolerant Inputs
The RCM3000 operates over a voltage from 3.15 V to 3.45 V, but most RCM3000 input pins, except /RESET_IN, VRAM, VBAT_EXT, and the power-supply pins, are 5 V tolerant. When a 5 V signal is applied to 5 V tolerant pins, they present a high impedance even if the Rabbit power is off. The 5 V tolerant feature allows 5 V devices that have a suitable switching threshold to be connected directly to the RCM3000. This includes HCT family parts operated at 5 V that have an input threshold between 0.8 and 2 V.
In order to translate between 5 V and 3.3 V, HCT family parts powered from 5 V can be used, and are often the best solution. There is also the "LVT" family of parts that operate from 2.0 V to 3.3 V, but that have 5 V tolerant inputs and are available from many suppliers. True level-translating parts are available with separate 3.3 V and 5 V supply pins, but these parts are not usually needed, and have design traps involving power sequencing.
4.2 Serial Communication
The RCM3000 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 RCM3000 is mounted on. For example, the Prototyping Board has a standard RS-232 transceiver chip.
4.2.1 Serial Ports
There are six serial ports designated as Serial Ports A, B, C, D, E, and F. All six serial ports can operate in an asynchronous mode up to the baud rate of the system clock divided by 16. 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, B, 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. When the Rabbit 3000 provides the clock, the baud rate can be up to 80% of the system clock frequency divided by 128, or 183,750 bps for a 29.4 MHz clock speed.
Serial Ports E and F can also be configured as SDLC/HDLC serial ports. The IRDA protocol is also supported in SDLC format by these two ports.
Serial Port A is available only on the programming port.
4.2.2 Ethernet Port
Figure 7 shows the pinout for the RJ-45 Ethernet port (J4). 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 (LNK) and one to indicate Ethernet activity (ACT).
The transformer/connector assembly ground is connected to the RCM3000 printed circuit board digital ground via a 0 W resistor, R31, as shown in Figure 8.
The RJ-45 connector is shielded to minimize EMI effects to/from the Ethernet signals.
4.2.3 Serial Programming Port
The RCM3000 serial programming port is accessed using header J3 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 RCM3000 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.
Programming may also be initiated through the motherboard to which the RCM3000 series module is plugged in to since the Serial Port A (PC6 and PC7), SMODE0, SMODE1, and /RESET_IN are available on headers J1 and J2 (see Table 2).
Alternate Uses of the Serial 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 serial programming port may also be used as a serial port via the DIAG connector on the serial programming cable.
In addition to Serial Port A, the Rabbit 3000 startup-mode (SMODE0, SMODE1), status, and reset pins are available on the serial 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_IN pin is an external input that is used to reset the Rabbit 3000 and the RCM3000 onboard peripheral circuits. The serial programming port can be used to force a hard reset on the RCM3000 by asserting the /RESET_IN 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 serial programming port of the RCM3000 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 RCM3000 serial programming port at header J3, programs can be downloaded and debugged over the serial interface.
The DIAG connector of the programming cable may be used on header J3 of the RCM3000 with the RCM3000 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 RCM3000 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 RCM3000 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 RCM3000
The RCM3000 must be programmed via the Prototyping Board or via a similar arrangement on a customer-supplied board. Once the RCM3000 has been programmed successfully, remove the serial programming cable from the programming connector and reset the RCM3000. The RCM3000 may be reset by cycling the power off/on or by pressing the RESET button on the Prototyping Board. The RCM3000 module may now be removed from the Prototyping Board for end-use installation.
CAUTION: Disconnect power to the Prototyping Board or other boards when removing or installing your RCM3000 module to protect against inadvertent shorts across the pins or damage to the RCM3000 if the pins are not plugged in correctly. Do not reapply power until you have verified that the RCM3000 module is plugged in correctly.
4.4 Other Hardware
4.4.1 Clock Doubler
The RCM3000 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 29.4 MHz frequency specified for the RCM3000 is generated using a 14.7456 MHz crystal. The clock doubler will not work for crystals with a frequency above 26.7264 MHz.
The clock doubler may be disabled if 29.4 MHz clock speeds are not required. Disabling the Rabbit 3000 microprocessor's internal clock doubler will reduce power consumption and further reduce radiated emissions. The clock doubler is disabled with a simple global 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 means for doing so is through a simple global 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
The RCM3000 can accept 128K to 512K of SRAM at U4.
4.5.2 Flash EPROM
The RCM3000 can accept 256K to 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, define a "user block" area to store persistent data. The functions
writeUserBlockandreadUserBlockare provided for this.A Flash Memory Bank Select jumper configuration option based on 0 W surface-mounted resistors exists at header JP1 on the RCM3000 RabbitCore 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 256K 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 218, Implementing a Serial Download Manager for a 256K Flash, for details.
4.5.3 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 |