RabbitCore RCM4500W
User's Manual
PREV INDEX NEXT


4. Hardware Reference

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

Figure 6 shows the Rabbit-based subsystems designed into the RCM4510W.


Figure 6. RCM4510W Subsystems

4.1 RCM4510W Digital Inputs and Outputs

Figure 7 shows the RCM4510W pinouts for headers J1 and J4.


Figure 7. RCM4510W Pinout

Headers J1 is a standard 2 × 25 IDC header with a nominal 1.27 mm pitch, and header J4 is a standard 2 × 7 IDC header with a nominal 2 mm pitch.

Figure 8 shows the use of the Rabbit 4000 microprocessor ports in the RCM4510W modules.


Figure 8. Use of Rabbit 4000 Ports

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

Table 2. RCM4510W Pinout Configurations 
Pin Pin Name Default Use Alternate Use Notes
Header J1
1
+3.3 V_IN



2
GND



3
/RES_OUT
Reset output
Reset input
Reset output from Reset Generator or external reset input
4
/IORD
Output

External I/O read strobe
5
/IOWR
Output

External I/O write strobe
6
/RESET_IN
Input

Input to Reset Generator
7
VBAT_EXT
Battery input


8–15
PA[0:7]
Input/Output
Slave port data bus
(SD0–SD7)
External I/O data bus
(ID0–ID7)

16
PB0
Input/Output
SCLK
External I/O Address IA6
SCLKB (reserved for future use)
17
PB1
Input/Output
SCLKA
External I/O Address IA7
Programming port CLKA
18
PB2
Input/Output
/SWR
External I/O Address IA0

19
PB3
Input/Output
/SRD
External I/O Address IA1

20
PB4
Input/Output
SA0
External I/O Address IA2

21
PB5
Input/Output
SA1
External I/O Address IA3

22
PB6
Input/Output
/SCS
External I/O Address IA4

23
PB7
Input/Output
/SLAVATN
External I/O Address IA5

Header J1
24
PC0
Input/Output
TXD
I/O Strobe I0
Timer C0
TCLKF
Serial Port D
25
PC1
Input/Output
RXD/TXD
I/O Strobe I1
Timer C1
RCLKF
Input Capture
26
PC2
Input/Output
TXC/TXF
I/O Strobe I2
Timer C2
Serial Port C
27
PC3
Input/Output
RXC/TXC/RXF
I/O Strobe I3
Timer C3
SCLKD
Input Capture
28
PC4
Input/Output
TXB
I/O Strobe I4
PWM0
TCLKE
Serial Port B (shared by XBee RF module)
29
PC5
Input/Output
RXB/TXB
I/O Strobe I5
PWM1
RCLKE
Input Capture
30
PC6
Input/Output
TXA/TXE
I/O Strobe I6
PWM2
Programming port
31
PC7
Input/Output
RXA/TXA/RXE
I/O Strobe I7
PWM3
SCLKC
Input Capture
32
PE0
Input/Output
I/O Strobe I0
A20
Timer C0
TCLKF
INT0
QRD1B

Header J1
33
PE1
Input/Output
I/O Strobe I1
A21
Timer C1
RXD/RCLKF
INT1
QRD1A
Input Capture

34
PE2
Input/Output
I/O Strobe I2
A22
Timer C2
TXF
DREQ0
QRD2B

35
PE3
Input/Output
I/O Strobe I3
A23
Timer C3
RXC/RXF/SCLKD
DREQ1
QRD2A
Input Capture

36
PE4
Input/Output
I/O Strobe I4
/A0
INT0
PWM0
TCLKE

37
PE5/SMODE0
Input/Output
I/O Strobe I5
INT1
PWM1
RXB/RCLKE
Input Capture
PE5 is the default configuration
38
PE6/SMODE1
Input/Output
I/O Strobe I6
PWM2
TXE
DREQ0
PE6 is the default configuration
39
PE7/STATUS
Input/Output
I/O Strobe I7
PWM3
RXA/RXE/SCLKC
DREQ1
Input Capture
PE7 is the default configuration
Header J1
40
PD0
Input/Output
I/O Strobe I0
Timer C0
D8
INT0
SCLKD/TCLKF
QRD1B
RCM4510W only
41
PD1
Input/Output
IA6
I/O Strobe I1
Timer C1
D9
INT1
RXD/RCLKF
QRD1A
Input Capture
42
PD2
Input/Output
I/O Strobe I2
Timer C2
D10
DREQ0
TXF/SCLKC
QRD2B
43
PD3
Input/Output
IA7
I/O Strobe I3
Timer C3
D11
DREQ1
RXC/RXF
QRD2A
Input Capture
44
PD4
Input/Output
I/O Strobe I4
D12
PWM0
TXB/TCLKE
45
PD5
Input/Output
IA6
I/O Strobe I5
D13
PWM1
RXB/RCLKE
Input Capture
Header J1
46
PD6
Input/Output
I/O Strobe I6
D14
PWM2
TXA/TXE
Serial Port E (RCM4510W only)
47
PD7
Input/Output
IA7
I/O Strobe I7
D15
PWM3
RXA/RXE
Input Capture
48
CONVERT
Analog Input

Reserved for future use
49
VREF
Analog reference voltage

50
GND
Ground

Ground
Header J4
1
ADC0/DIO0
Input/Output
Analog Input
Software-selectable
2
ADC1/DIO1
Input/Output
Analog Input
Software-selectable
3
ADC2/DIO2
Input/Output
Analog Input
Software-selectable
4
ADC3/DIO3
Input/Output
Analog Input
Software-selectable
5
GND
Ground


6
GPIO8/VREF
Input/Output
Analog reference voltage (1.2 V)
Software-selectable, analog ref. voltage not presently supported
7
n.c.



8
+3.3 V



9
SYS_PWR_ON
Output

Used by XBee RF module to place or remove remaining RCM4510W circuitry in "sleep" mode
10
GPIO0
Input/Output


11
GPIO13
Input/Output


12
n.c.



13
GPIO15
Input/Output


14
GPIO16
Input/Output



4.1.1 Memory I/O Interface

The Rabbit 4000 address lines (A0–A19) 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, and are also used by the RCM4510W.

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–PB7 can also be used as an auxiliary address bus.

When using the external I/O bus for any reason, you must add the following line at the beginning of your program.

Selected pins on Parallel Ports D and E as specified in Table 2 may be used for input capture, quadrature decoder, DMA, and pulse-width modulator purposes.

4.1.2 Other Inputs and Outputs

The STATUS and the two SMODE pins, SMODE0 and SMODE1, can be brought out to header J1 instead of the PE5–PE7 pins as explained in Appendix A.6.

/RESET_IN is normally associated with the programming port, but may be used as an external input to reset the Rabbit 4000 microprocessor and the RCM4510W memory. /RESET_OUT is an output from the reset circuitry that can be used to reset other peripheral devices.

4.1.3 Auxiliary I/O

Up to nine additional digital I/O, up to four of which may be configured in software as analog inputs, a +3.3 V DC power supply point and ground, and a SYS_PWR_ON line are brought out on auxiliary I/O header J4. Section 4.4 describes the use of these lines in more detail.

4.2 Serial Communication

The RCM4510W module does not have any serial driver or receiver chips directly on the board. However, a serial interface may be incorporated on the board the RCM4510W is mounted on. For example, the Prototyping Board has an 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 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 RCM4510W is operating in the Run Mode.

Serial Port B is shared with the RCM4510W module's asynchronous XBee RF module. Flow control for the XBee RF module is provided from the Rabbit 4000 RxD+ and TxD– Ethernet pins.

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. Note that PD2 and PD0 provide the SCLKC and SCLKD outputs automatically when Serial Ports C and D are set up as clocked serial ports.

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 Ports E and F must be configured before they can be used. The sample program IOCONFIG_SWITCHECHO.C in the Dynamic C SAMPLES\RCM4500W\SERIAL folder shows how to configure Serial Ports E and F.

Table 3 summarizes the possible parallel port pins for the serial ports and their clocks.

Table 3. Rabbit 4000 Serial Port and Clock Pins
Serial Port A
TXA
PC6, PC7, PD6
Serial Port E
TXE
PD6, PE6, PC6
RXA
PC7, PD7, PE7
RXE
PD7, PE7, PC7
SCLKA
PB1
RCLKE
PD5, PE5, PC5
Serial Port B
TXB
PC4, PC5, PD4
TCLKE
PD4, PE4, PC4
RXB
PC5, PD5, PE5
Serial Port F
TXF
PD2, PE2, PC2
SCLKB
PB0
RXF
PD3, PE3, PC3
Serial Port C
TXC
PC2, PC3
RCLKF
PD1, PE1, PC1
RXC
PC3, PD3, PE3
TCLKF
PD0, PE0, PC0
SCLKC
PD2, PE2, PE7, PC7
RCLKE and RCLKF must be selected to be on the same parallel port as TXE and TXF respectively.
Serial Port D
TXD
PC0, PC1
RXD
PC1, PD1, PE1
SCLKD
PD0, PE0, PE3, PC3

4.2.1.1 Using the Serial Ports

The receive lines on the RCM4510W serial ports do not have pull-up resistors. If you are using the serial ports without a receiver chip (for example, for RS-422, RS-232, or RS-485 serial communication), the absence of a pull-up resistor on the receive line will likely lead to line breaks being generated since line breaks are normally generated whenever the receive line is pulled low. If you are operating a serial port asynchronously, you can inhibit character assembly during breaks by setting bit 1 in the corresponding Serial Port Extended Register to 1. Should you need line breaks, you will have to either add a pull-up resistor on your motherboard or use a receiver that incorporates the circuits to have the output default to the nonbreak levels.

The Dynamic C RS232.LIB library requires you to define the macro RS232_NOCHARASSYINBRK to inhibit break-character assembly for all the serial ports.

This macro is already defined so that it is the default behavior for the sample programs in the Dynamic C SAMPLES\RCM4500W\SERIAL folder.

4.2.2 Programming Port

The RCM4510W is programmed via the 10-pin header labeled J2. The programming port uses the Rabbit 4000's Serial Port A for communication. Dynamic C uses the programming port to download and debug programs.

Serial Port A is also used for the following operations.

Alternate Uses of the Programming Port

All three 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 4000 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 4000 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 output once a program has been downloaded and is running.

The reset pin is an external input that is used to reset the Rabbit 4000.

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

4.3 Programming Cable

The programming cable is used to connect the programming port of the RCM4510W 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 4000.

When the PROG connector on the programming cable is connected to the RCM4510W 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 RCM4510W with the RCM4510W 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 RCM4510W 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 4000 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 4000 in the Program Mode. When the programming cable's PROG connector is not attached, the SMODE pins are pulled low, causing the Rabbit 4000 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 RCM4510W is in the Program Mode.

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

4.3.2 Standalone Operation of the RCM4510W

Once the RCM4510W has been programmed successfully, remove the programming cable from the programming connector and reset the RCM4510W. The RCM4510W may be reset by cycling, the power off/on or by pressing the RESET button on the Prototyping Board. The RCM4510W 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 RCM4510W module to protect against inadvertent shorts across the pins or damage to the RCM4510W if the pins are not plugged in correctly. Do not reapply power until you have verified that the RCM4510W module is plugged in correctly.


4.4 Auxiliary I/O

4.4.1 Digital I/O

The RCM4510W modules' XBee RF module has up to five general-purpose I/O on header J4 — GPIO0, GPIO8, GPIO13, GPIO15, and GPIO16. Table 4 provides the names used in Dynamic C for these pins and their default configurations.

Table 4. XBee RF Module GPIO Pin Setup
J4 Pin Schematic Name Dynamic C Name Default Configuration
10
GPIO0
DIO_05
Digital Output (high)
6
GPIO8
DIO_12
Digital Input (pulled up)
11
GPIO13
DIO_04
Digital Output (high)
13
GPIO15
DIO_10
Digital Output (high)
14
GPIO16
DIO_11
Digital Input (pulled up)

All the pins have the following software-configurable features.

The four digital I/O, DIO0–DIO3, are similar to the general-purpose I/O, but may instead by configured in software as analog inputs.

NOTE The XBee firmware associated with Dynamic C v. 10.46 does not support I/O reads for RCM4510W RabbitCore modules set up as API coordinators or as API routers.

The input switching threshold between logic 0 and logic 1 is 0.66–2.64 V DC, and the output switching threshold between logic 0 and logic 1 is 0.59–2.71 V DC.

4.4.2 A/D Converter

The RCM4510W modules' XBee RF module has four inputs on header J4 that may be set up in software as analog inputs.

The four analog input pins, ADC0–ADC3, each have an input impedance of 6–7 MW, depending on whether they are used as single-ended or differential inputs. The input signal can range from -1.2 V to +1.2 V (differential mode) or from 0 V to +1.2 V (single-ended mode).

Use a resistor divider such as the one shown in Figure 10 to measure voltages above 1.2 V on the analog inputs.


Figure 10. Resistor Divider Network for Analog Inputs

The R1 resistors are typically 20 kW to 100 kW, with a lower resistance leading to more accuracy, but at the expense of a higher current draw. The R0 resistors would then be 180 kW to 900 kW for a 10:1 attenuator. The capacitor filters noise pulses on the A/D converter input.

The A/D converter can only accept positive voltages. With the R1 resistors connected to ground, your analog circuit is well-suited to perform positive A/D conversions. When the R1 resistors are tied to ground for differential measurements, both differential inputs must be referenced to analog ground, and both inputs must be positive with respect to analog ground.

If a device such as a battery is connected across two channels for a differential measurement, and it is not referenced to analog ground, then the current from the device will flow through both sets of attenuator resistors without flowing back to analog ground as shown in Figure 11. This will generate a negative voltage at one of the inputs, ADC1, which will almost certainly lead to inaccurate A/D conversions. To make such differential measurements, connect the R1 resistors to the A/D converter's internal reference voltage, which is 1.2 V. This internal reference voltage can be configured in software to be available on pin 6 of header J4 as VREF, and allows you to convert analog input voltages that are negative with respect to analog ground.

NOTE This software configuration option for VREF and differential measurements are not supported at this time.
NOTE The amplifier inside the A/D converter's internal voltage reference circuit has a very limited output-current capability. The internal buffer can source up to 20 mA and sink only up to 20 µA. Use a separate buffer amplifier if you need to supply any load current.

4.4.3 Other Pin Features

There are two other features brought out on the auxiliary I/O header J4.

4.5 Other Hardware

4.5.1 Clock Doubler

The clock doubler on the RCM4510W is disabled by default.

4.5.2 Spectrum Spreader

The Rabbit 4000 features a spectrum spreader, which helps to mitigate EMI problems. The spectrum spreader is on by default, but it may also be turned off or set to a stronger setting. The means for doing so is 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 used in a real application.

  1. Click OK to save the macro. The spectrum spreader will be set according to the macro value whenever a program is compiled using this project file.


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

4.6 Memory

4.6.1 SRAM

All RCM4510W modules have 512K of battery-backed data SRAM installed at U4.

4.6.2 Flash EPROM

All RCM4510W modules also have 512K of flash EPROM installed at U3.

NOTE Rabbit 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 discouraged. Instead, define a "user block" area to store persistent data. The functions writeUserBlock and readUserBlock are provided for this. Refer to the Rabbit 4000 Microprocessor Designer's Handbook for additional information.


Rabbit—A Digi International Brand
www.rabbit.com
PREV INDEX NEXT