Table of Contents

Advertisement

Quick Links

RabbitCore RCM3600
C-Programmable Core Module
User's Manual
019–0135 • 050630–C

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the RabbitCore and is the answer not in the manual?

Questions and answers

Subscribe to Our Youtube Channel

Summary of Contents for Z-World RabbitCore

  • Page 1 RabbitCore RCM3600 C-Programmable Core Module User’s Manual 019–0135 • 050630–C...
  • Page 2 Trademarks Rabbit is a registered trademark of Rabbit Semiconductor. RabbitCore and Rabbit 3000 are trademarks of Rabbit Semiconductor. Z-World is a registered trademark of Z-World Inc. Dynamic C is a registered trademark of Z-World Inc.
  • Page 3: Table Of Contents

    ABLE OF ONTENTS Chapter 1. Introduction 1.1 RCM3600 Features ..........................1 1.2 Advantages of the RCM3600 .......................3 1.3 Development and Evaluation Tools......................4 1.3.1 Development Kit ...........................4 1.3.2 Software ............................5 1.3.3 Connectivity Interface Kits ......................5 1.3.4 Online Documentation ........................5 Chapter 2. Getting Started 2.1 Install Dynamic C ..........................7 2.2 Hardware Connections..........................8 2.2.1 Attach Module to Prototyping Board....................8...
  • Page 4 C.7.1 Connect the LCD/Keypad Module to Your Prototyping Board ..........96 C.8 Sample Programs..........................97 C.9 LCD/Keypad Module Function Calls....................98 C.9.1 LCD/Keypad Module Initialization ................... 98 C.9.2 LEDs ............................98 C.9.3 LCD Display ..........................99 C.9.4 Keypad ............................. 119 RabbitCore RCM3600...
  • Page 5 Appendix D. Power Supply D.1 Power Supplies..........................123 D.1.1 Battery-Backup Circuits......................123 D.1.2 Reset Generator ........................124 Notice to Users Index Schematics User’s Manual...
  • Page 6 RabbitCore RCM3600...
  • Page 7: Chapter 1. Introduction

    1. I NTRODUCTION The RCM3600 is a compact module that incorporates the pow- erful Rabbit ® 3000 microprocessor, flash memory, static RAM, and digital I/O ports. The Development Kit has what you need to design your own microprocessor-based system: a complete Dynamic C software development system and a Prototyping Board that acts as a motherboard to allow you to evaluate the RCM3600 and to pro- totype circuits that interface to the RCM3600 module.
  • Page 8 There are two RCM3600 production models. If the standard models do not serve your needs, variations can be specified and ordered in production quantities. Contact your Z-World or Rabbit Semiconductor sales representative for details. Table 1 below summarizes the main features of the RCM3600.
  • Page 9: Advantages Of The Rcm3600

    1.2 Advantages of the RCM3600 • Fast time to market using a fully engineered, “ready-to-run/ready-to-program” micro- processor core. • Competitive pricing when compared with the alternative of purchasing and assembling individual components. • Easy C-language program development and debugging • Rabbit Field Utility to download compiled Dynamic C .bin files, and cloning board options for rapid production loading of programs.
  • Page 10: Development And Evaluation Tools

    DCIN TCM_SMT_SOCKET LCD1JA /RES PC1/PG2 PC3/ PC0_TXD R18 R19 PG7_RXE VBAT LCD1JB LCD1JC R31 R32 R33 R34 R35 R36 THERMISTOR CONVERT R39 R40 R41 R42 CX11 CX10 RESET Getting Started Prototyping Board Instructions Figure 1. RCM3600 Development Kit RabbitCore RCM3600...
  • Page 11: Software

    1.3.3 Connectivity Interface Kits Z-World has available an interface kit to allow you to provide a wireless interface to the RCM3600. • 802.11b Wi-Fi Add-On Kit (Z-World Part No. 101-0999)—The Wi-Fi Add-On Kit for...
  • Page 12 RabbitCore RCM3600...
  • Page 13: Chapter 2. Getting Started

    2.1 Install Dynamic C To develop and debug programs for the RCM3600 (and for all other Z-World and Rabbit Semiconductor hardware), you must install and use Dynamic C. If you have not yet installed Dynamic C version 8.11 (or a later version), do so now by inserting the Dynamic C CD from the RCM3600 Development Kit in your PC’s CD-ROM...
  • Page 14: Hardware Connections

    Board. The header pins may become bent or damaged if the pin alignment is off- set, and the module will not work. Permanent electrical damage to the module may also result if a misaligned module is powered up. Press the module’s pins firmly into the Prototyping Board headers. RabbitCore RCM3600...
  • Page 15: Connect Programming Cable

    NOTE: Be sure to use the programming cable (part number 101-0542) supplied with this Development Kit—the programming cable has blue shrink wrap around the RS-232 con- verter section located in the middle of the cable. Programming cables from other Z-World or Rabbit Semiconductor kits were not designed to work with RCM3600 modules.
  • Page 16: Connect Power

    The red and black wires from the connec- tor can then be connected to the positive and negative connections on your power supply. The power supply should deliver 7.5 V–30 V DC at 500 mA. RabbitCore RCM3600...
  • Page 17: Starting Dynamic C

    2.3 Starting Dynamic C Once the RCM3600 is connected as described in the preceding pages, start Dynamic C by double-clicking on the Dynamic C icon or by double-clicking on dcrabXXXX.exe in the Dynamic C root directory, where XXXX are version-specific characters. Dynamic C uses the serial COM port on your PC that you specified during installation.
  • Page 18: Where Do I Go From Here

    2.5.1 Technical Support NOTE: If you purchased your RCM3600 through a distributor or through a Z-World or Rabbit Semiconductor partner, contact the distributor or partner first for technical support. If there are any problems at this point: •...
  • Page 19: Chapter 3. Running Sample Programs

    AMPLE ROGRAMS To develop and debug programs for the RCM3600 (and for all other Z-World and Rabbit Semiconductor hardware), you must install and use Dynamic C. 3.1 Introduction To help familiarize you with the RCM3600 modules, Dynamic C includes several sample programs.
  • Page 20: Sample Programs

    —Demonstrates the use of assembly language to flash LEDs DS1 and • FLASHLED.c DS2 on the Prototyping Board at different rates. Once you have compiled and run this program, LEDs DS1 and DS2 will flash on/off at different rates. RabbitCore RCM3600...
  • Page 21 IR_DEMO.c Board assemblies via the IrDA transceivers with the IrDA transceivers facing each other. Note that this sample program requires a second Prototyping Board or Z-World single- board computer that has an IrDA chip and is running the sample program IR_DEMO.C...
  • Page 22: Serial Communication

    To set up the Prototyping Board, you will need to tie TxD and RxC together on the RS-232 header at J2 using the 0.1" jumpers supplied in the Development Kit as shown in the diagram. The Dynamic C window will display the error sequence. STDIO RabbitCore RCM3600...
  • Page 23 —This program demonstrates basic RS-232 serial • SIMPLE3WIRE.C communication. Lower case characters are sent by TxC, and are RXC TXC received by RxD. The characters are converted to upper case and are sent out by TxD, are received by RxC, and are displayed in the Dynamic C window.
  • Page 24: A/D Converter Inputs

    —Demonstrates how to read all single-ended A/D input channels • AD_RDSE_ALL.C using previously defined calibration constants. Before running this program, make sure that pins 3–5 are connected on headers JP5, JP6, and JP7 on the Prototyping Board. No pins are connected on header JP8. RabbitCore RCM3600...
  • Page 25 —Demonstrates how to use a low-level driver on single-ended inputs. • AD_SAMPLE.C The program will continuously display the voltage (average of 10 samples) that is present on the A/D channels. Before running this program, make sure that pins 3–5 are connected on headers JP5, JP6, and JP7 on the Prototyping Board.
  • Page 26 —Demonstrates how to read calibrations constants from the user • UPLOADCALIB.C block in flash memory and then transmit the file using a serial port and a PC serial utility such as Tera Term. Use to download the calibration constants DNLOADCALIB.C created by this program. RabbitCore RCM3600...
  • Page 27: Chapter 4. Hardware Reference

    4. H ARDWARE EFERENCE Chapter 4 describes the hardware components and principal hardware subsystems of the RCM3600. Appendix A, “RCM3600 Specifica- tions,” provides complete physical and electrical specifications. Figure 4 shows the Rabbit-based subsystems designed into the RCM3600. 11 MHz 32 kHz Customer-specific applications...
  • Page 28: Rcm3600 Digital Inputs And Outputs

    Figure 5 shows the RCM3600 pinouts for header J1. PC1/PG2 PC3/PG3 /IOWR /IORD /RES VBAT_EXT These pinouts are as seen on of the module. Figure 5. RCM3600 Pinouts standard 2 x 20 IDC header with a nominal 0.1" pitch. Header J1 is a RabbitCore RCM3600...
  • Page 29 Figure 6 shows the use of the Rabbit 3000 microprocessor ports in the RCM3600 modules. PB0, PB7, PA0–PA7 PD4–PD5 PB2–PB5 Port D Port A Port B (+Ethernet Port) PE0–PE1, Port E PC0, PC2 Port C PE4–PE5, (Serial Ports C & D) PC1, PC3 Port F PF4–PF7...
  • Page 30 AQD2A Input/Output PWM3 Output Serial Port D Serial Port D PC1/PG2 Input/Output RXD/TXF Serial Port F Output Serial Port C Serial Port C PC3/PG3 Input/Output RXC/RXF Serial Port F External Address 7 Input/Output Slave Port Chip Select /SCS RabbitCore RCM3600...
  • Page 31 Table 2. RCM3600 Pinout Configurations (continued) Pin Name Default Use Alternate Use Notes Input/Output INT1B Input/Output INT0B I/O Strobe 1 Input/Output INT1A Interrupt 1A I/O Strobe 0 Input/Output INT0A Interrupt 0A Input/Output Serial Port E Input/Output /IOWR Output External write strobe /IORD Input External read strobe...
  • Page 32: Memory I/O Interface

    // required to enable auxiliary I/O bus 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. RabbitCore RCM3600...
  • Page 33: Serial Communication

    4.2 Serial Communication The RCM3600 board does not have any serial transceivers directly on the board. How- ever, a serial interface may be incorporated on the board the RCM3600 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.
  • Page 34: Programming Port

    CMOS output.. The reset pin is an external input that is used to reset the Rabbit 3000.. Refer to the for more information. Rabbit 3000 Microprocessor User’s Manual RabbitCore RCM3600...
  • Page 35: Programming Cable

    4.4 Programming Cable The programming cable is used to connect the programming port of the RCM3600 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 connector on the programming cable is connected to the RCM3600 pro- PROG...
  • Page 36: Standalone Operation Of The Rcm3600

    RCM3600 module to protect against inadvertent shorts across the pins or damage to the RCM3600 if the pins are not plugged in cor- rectly. Do not reapply power until you have verified that the RCM3600 module is plugged in correctly. RabbitCore RCM3600...
  • Page 37: Other Hardware

    4.5 Other Hardware 4.5.1 Clock Doubler The RCM3600 takes advantage of the Rabbit 3000 microprocessor’s internal clock dou- bler. A built-in clock doubler allows half-frequency crystals to be used to reduce radiated emissions. The 22.1 MHz frequency specified for the RCM3600 is generated using a 11.06 MHz resonator.
  • Page 38: Memory

    4.6.2 Flash EPROM RCM3600 series boards also have 256K–512K of flash EPROM. 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.
  • Page 39: Chapter 5. Software Reference

    Dynamic C is an integrated development system for writing embedded software. It runs on an IBM-compatible PC and is designed for use with Z-World single-board computers and other single-board computers based on the Rabbit microprocessor. Chapter 5 describes the libraries and function calls related to the RCM3600.
  • Page 40 Hex memory dump—displays the contents of memory at any address. STDIO window— outputs to this window and keyboard input on the host PC can be printf detected for debugging purposes. output may also be sent to a serial port or file. printf RabbitCore RCM3600...
  • Page 41: Dynamic C Functions

    5.2 Dynamic C Functions The functions described in this section are for use with the Prototyping Board features. The source code is in the library in the Dynamic C RCM36xx.LIB SAMPLES\RCM3600 folder if you need to modify it for your own board design. Other generic functions applicable to all devices based on Rabbit microprocessors are described in the Dynamic C Function Reference Manual.
  • Page 42: Analog Inputs

    PD4; 3-wire mode for serial data input Output PD5; serial data output /CS driven Input PD2 pulled up; active-low enables serial interface BUFIN Input Driven by VREF; reference buffer amplifier VREF Output Connected to BUFIN BUFOUT Output VREF output RabbitCore RCM3600...
  • Page 43 PARAMETERS instructionbyte is the instruction byte that will initiate a read or write operation at 8 or 16 bits on the designated register address. For example, checkid = anaInConfig(0x5F, 0, 9600); // read ID and set baud rate cmd refers to the command data that configure the registers addressed by the instruction byte. Enter 0 if you are performing a read operation.
  • Page 44 -AIN0 +AIN1 AIN4 AIN4 -AIN2 +AIN3 AIN5 AIN5 -AIN4 +AIN5 AIN6 AIN6 -AIN6 +AIN7 AIN7 AIN7* * Negative input is ground. † Not accessible on RCM3600 Prototyping Board len, the output bit length, is always 12 for 11-bit conversions RabbitCore RCM3600...
  • Page 45 RETURN VALUE A value corresponding to the voltage on the analog input channel: 0–2047 for 11-bit conversions (bit 12 for sign) -1 overflow or out of range -2 conversion incomplete, busy bit timeout SEE ALSO anaInConfig, anaIn, brdInit User’s Manual...
  • Page 46 +AIN7 -AIN6* +AIN7* * Not accessible on RCM3600 Prototyping Board. gaincode is the gain code of 0 to 7 Voltage Range Gain Code Multiplier 0–20 0–10 0–5 0–4 0–2.5 0–2 0–1.25 0–1 * Applies to RCM3600 Prototyping Board. RabbitCore RCM3600...
  • Page 47 RETURN VALUE A value corresponding to the voltage on the analog input channel: 0–2047 for 11-bit A/D conversions (signed 12th bit) ADOVERFLOW (defined macro = -4096) if overflow or out of range -4095 if conversion is incomplete or busy-bit timeout SEE ALSO anaIn, anaInConfig, anaInDriver User’s Manual...
  • Page 48 +AIN7 +AIN7 -AIN6* +AIN7* * Not accessible on Prototyping Board. gaincode is the gain code of 0 to 7 Voltage Range Gain Code Multiplier 0–20 0–10 0–5 0–4 0–2.5 0–2 0–1.25 0–1 * Applies to RCM3600 Prototyping Board. RabbitCore RCM3600...
  • Page 49 value1 is the first A/D converter channel value (0–2047) volts1 is the voltage or current corresponding to the first A/D converter channel value (0 to +20 V or 4 to 20 mA) value2 is the second A/D converter channel value (0–2047) volts2 is the voltage or current corresponding to the first A/D converter channel value (0 to +20 V or 4 to 20 mA) RETURN VALUE...
  • Page 50 0–1 * Applies to RCM3600 Prototyping Board. RETURN VALUE A voltage value corresponding to the voltage on the analog input channel. ADOVERFLOW (defined macro = -4096) if overflow or out of range. SEE ALSO anaInCalib, anaIn, anaInmAmps, brdInit RabbitCore RCM3600...
  • Page 51 float anaInDiff(unsigned int channel, unsigned int gaincode); Reads the state of differential analog input channels and uses the calibration constants previously set using anaInCalib to convert it to volts. PARAMETERS channel is the analog input channel number (0 to 7) corresponding to ADC_IN0 to ADC_IN7 Voltage Range channel DIFF...
  • Page 52 † Applies to RCM3600 Prototyp- ing Board. RETURN VALUE A current value between 4.00 and 20.00 mA corresponding to the current on the analog input channel. ADOVERFLOW (defined macro = -4096) if overflow or out of range. SEE ALSO anaInCalib, anaIn, anaInVolts RabbitCore RCM3600...
  • Page 53 root int anaInEERd(unsigned int channel, unsigned int opmode, unsigned int gaincode); Reads the calibration constants, gain, and offset for an input based on their designated position in the simulated EEPROM area of the flash memory, and places them into global tables for analog inputs. The constants are stored in the top 2K of the reserved user block memory area 0x1C00–0x1FFF.
  • Page 54 0–5 0–4 0–2.5 0–2 0–1.25 0–1 * Applies to RCM3600 Prototyping Board. RETURN VALUE 0 if successful. -1 if address is invalid or out of range. -2 if there is no valid ID block. SEE ALSO anaInEEWr, anaInCalib RabbitCore RCM3600...
  • Page 55 int anaInEEWr(unsigned int channel, unsigned int opmode, unsigned int gaincode); Writes the calibration constants, gain, and offset for an input based from global tables to designated posi- tions in the simulated EEPROM area of the flash memory. The constants are stored in the top 2K of the reserved user block memory area 0x1C00–0x1FFF.
  • Page 56 JP4 channels 1 to 4. Use logic 0 for inputs and logic 1 for outputs in these bit positions: bits 7–5—0 bit 4—JP4:4 bit 3—JP4:3 bit 2—JP4:2 bit 1—JP4:1 bit 0—0 RETURN VALUE None. SEE ALSO digOut, digIn RabbitCore RCM3600...
  • Page 57 void digOut(int channel, int state); Writes a state to a digital output channel on header JP4 of the RCM3600 Prototyping Board. The PIO0 to PIO3 channels on the A/D converter chip are accessed via header JP4 on the RCM3600 Prototyping Board.
  • Page 58: Digital I/O

    (0 or 1) to receive timeout is the length of the timeout in seconds if an input value is not received on the specified chan- nel; enter 0 for no timeout RETURN VALUE None. RabbitCore RCM3600...
  • Page 59: Serial Communication Drivers

    5.2.4 Serial Communication Drivers Library files included with Dynamic C provide a full range of serial communications sup- port. The library provides a set of circular-buffer-based serial functions. The RS232.LIB library provides packet-based serial functions where packets can be delimited PACKET.LIB by the 9th bit, by transmission gaps, or with user-defined special characters.
  • Page 60: Upgrading Dynamic C

    Dynamic C installations are designed for use with the board they are included with, and are included at no charge as part of our low-cost kits. Z-World offers add-on Dynamic C modules including the popular µC/OS-II real-time operating system, as well as PPP, Advanced Encryption Standard (AES), and other select libraries.
  • Page 61: Appendix A. Rcm3600 Specifications

    A. RCM3600 S PPENDIX PECIFICATIONS Appendix A provides the specifications for the RCM3600, and describes the conformal coating. User’s Manual...
  • Page 62: Electrical And Mechanical Characteristics

    Figure A-1 shows the mechanical dimensions for the RCM3600. 2.110 (53.6) 2.110 (53.6) 1.230 (31.2) Figure A-1. RCM3600 Dimensions NOTE: All measurements are in inches followed by millimeters enclosed in parentheses. All dimensions have a manufacturing tolerance of ±0.01" (0.25 mm). RabbitCore RCM3600...
  • Page 63 It is recommended that you allow for an “exclusion zone” of 0.04" (1 mm) around the RCM3600 in all directions when the RCM3600 is incorporated into an assembly that includes other printed circuit boards. This “exclusion zone” that you keep free of other components and boards will allow for sufficient air flow, and will help to minimize any electrical or electromagnetic interference between adjacent boards.
  • Page 64 Table A-1 lists the electrical, mechanical, and environmental specifications for the RCM3600. Table A-1. RabbitCore RCM3600 Specifications Parameter RCM3600 RCM3610 ® Microprocessor Low-EMI Rabbit 3000 at 22.1 MHz Flash Memory 512K 256K SRAM 512K 128K Connection for user-supplied backup battery...
  • Page 65: Headers

    A.1.1 Headers The RCM3600 uses one header at J1 for physical connection to other boards. J1 is a 2 × 20 SMT header with a 0.1" pin spacing. Figure A-3 shows the layout of another board for the RCM3600 to be plugged into. These values are relative to the designated fiducial (reference point).
  • Page 66: Bus Loading

    Be sure to add the loads for the devices you are using in your custom system and verify that they do not exceed the values in Table A-3. Table A-3. External Capacitive Bus Loading -40°C to +85°C Clock Speed Maximum External Output Port (MHz) Capacitive Loading (pF) All I/O lines with clock 22.1 doubler enabled RabbitCore RCM3600...
  • Page 67 Figure A-4 shows a typical timing diagram for the Rabbit 3000 microprocessor external I/O read and write cycles. A[15:0] valid T adr /CSx T CSx T CSx /IOCSx T IOCSx T IOCSx /IORD T IORD T IORD /BUFEN T BUFEN T BUFEN T setup D[7:0]...
  • Page 68 The maximum shortening for a pair of clocks combined is shown in Table A-4. Technical Note TN227, Interfacing External I/O with Rabbit 2000/3000 Designs, con- tains suggestions for interfacing I/O devices to the Rabbit 3000 microprocessors. RabbitCore RCM3600...
  • Page 69: Rabbit 3000 Dc Characteristics

    A.3 Rabbit 3000 DC Characteristics Table A-5. Rabbit 3000 Absolute Maximum Ratings Symbol Parameter Maximum Rating Operating Temperature -55° to +85°C Storage Temperature -65° to +150°C Maximum Input Voltage: • + 0.5 V Oscillator Buffer Input • 5.5 V 5-V-tolerant I/O Maximum Operating Voltage 3.6 V Stresses beyond those listed in Table A-5 may cause permanent damage.
  • Page 70: I/O Buffer Sourcing And Sinking Limit

    Table A-7 shows the AC and DC output drive limits of the parallel I/O buffers when the Rabbit 3000 is used in the RCM3600. Table A-7. I/O Buffer Sourcing and Sinking Capability Output Drive (Full AC Switching) Sourcing/Sinking Limits Pin Name (mA) Sourcing Sinking All data, address, and I/O lines with clock doubler enabled RabbitCore RCM3600...
  • Page 71: Conformal Coating

    A.5 Conformal Coating The areas around the 32 kHz real-time clock crystal oscillator have had the Dow Corning silicone-based 1-2620 conformal coating applied. The conformally coated area is shown in Figure A-5. The conformal coating protects these high-impedance circuits from the effects of moisture and contaminants over time.
  • Page 72: Jumper Configurations

    1–2 Normal Mode Flash Memory Bank Select 2–3 Bank Mode 1–2 128K–256K RCM3610 SRAM Size 2–3 512K RCM3600 1–2 256K RCM3610 Flash Memory Size 2–3 512K RCM3600 NOTE: The jumper connections are made using 0 Ω surface-mounted resistors. RabbitCore RCM3600...
  • Page 73: Appendix B. Prototyping Board

    B. P PPENDIX ROTOTYPING OARD Appendix B describes the features and accessories of the Proto- typing Board. User’s Manual...
  • Page 74: Introduction

    SMT Prototyping Area R31 R32 R33 R34 R35 R36 THERMISTOR CONVERT R39 R40 R41 R42 CX11 CX10 RESET Power Analog Reference User Analog LCD/Keypad Convert LEDs Inputs Module User Reset Ground Connections Switches Switch Figure B-1. Prototyping Board RabbitCore RCM3600...
  • Page 75: Prototyping Board Features

    SMT device pads on both top and bottom of the Prototyping Board.) Each SMT pad is connected to a hole designed to accept a 30 AWG solid wire. LCD/Keypad Module —Z-World’s LCD/keypad module may be plugged in directly to • headers LCD1JA, LCD1JB, and LCD1JC. The signals on headers LCD1JB and LCD1JC will be available only if the LCD/keypad module is plugged in to header LCD1JA.
  • Page 76 —An infrared transceiver is included on the Prototyping Board, and is capable of IrDA • handling link distances up to 1.5 m. The IrDA uses Serial Port F—Serial Ports C and D are unavailable while Serial Port F is in use. RabbitCore RCM3600...
  • Page 77: Mechanical Dimensions And Layout

    B.2 Mechanical Dimensions and Layout Figure B-2 shows the mechanical dimensions and layout for the RCM3600 Prototyping Board. RXC TXC RXE /IOWR /IORD GND JP2 DCIN TCM_SMT_SOCKET LCD1JA /RES PC1/PG2 PC3/ PC0_TXD R18 R19 PG7_RXE VBAT LCD1JB LCD1JC R31 R32 R33 R34 R35 R36 THERMISTOR R39 R40...
  • Page 78: Power Supply

    The Prototyping Board itself is protected against reverse polarity by a Shottky diode at D2 as shown in Figure B-3. LINEAR POWER REGULATOR SWITCHING POWER REGULATOR +3.3 V +5 V LM1117 DCIN 1N5819 10 µF 10 µF 330 µF 47 µF 330 µH LM2575 1N5819 Figure B-3. Prototyping Board Power Supply RabbitCore RCM3600...
  • Page 79: Using The Prototyping Board

    B.4 Using the Prototyping Board The Prototyping Board is actually both a demonstration board and a prototyping board. As a demonstration board, it can be used to demonstrate the functionality of the RCM3600 right out of the box without any modifications. The Prototyping Board pinouts are shown in Figure B-4.
  • Page 80: Adding Other Components

    30 AWG wire can be sol- dered (standard wire wrap wire can be soldered in for point-to-point wiring on the Prototyping Board). Because the traces are very thin, carefully determine which set of holes is connected to which surface-mount pad. RabbitCore RCM3600...
  • Page 81: Analog Features

    B.4.2 Analog Features The RCM3600 Prototyping Board has an onboard ADS7870 A/D converter to demon- strate the interface capabilities of the Rabbit 3000. The A/D converter multiplexes con- verted signals from eight single-ended or three differential inputs to alternate Serial Port B on the Rabbit 3000 (Parallel Port pins PD4 and PD5).
  • Page 82 A/D converter. Adjacent input channels are paired so that moving a particular jumper changes both of the paired channels. At the present time Z-World does not offer the soft- ware drivers to work with single-ended negative voltages, but the differential mode described below may be used to measure negative voltages.
  • Page 83: Thermistor Input

    Table B-3. Differential Voltage Ranges Min. Differential Max. Differential Amplifier Voltage Voltage mV per Count Gain ±20.0 ±10.0 ±5.0 ±4.0 ±2.5 1.25 ±2.0 1.00 ±1.25 0.625 ±1.0 0.500 The A/D converter inputs can also be used with 4–20 mA current sources by measuring the resulting analog voltage drop across 249 Ω...
  • Page 84: Other A/D Converter Features

    Figure B-7 shows the timing of a conversion start. The double falling arrow on CCLK indicates the actual start of the conversion cycle. Conversion starts CCLK BUSY CONV Figure B-7. Timing Diagram for Conversion Start Using CONVERT Pin RabbitCore RCM3600...
  • Page 85: A/D Converter Calibration

    B.4.2.4 A/D Converter Calibration To get the best results from the A/D converter, it is necessary to calibrate each mode (sin- gle-ended, differential, and current) for each of its gains. It is imperative that you calibrate each of the A/D converter inputs in the same manner as they are to be used in the applica- tion.
  • Page 86: Serial Communication

    Serial Port E is configured in hardware for RS-232 or RS-485 via jumpers on header JP2 as shown in Section B.5. Serial Port F is configured in software for the IrDA transceiver in lieu of Serial Ports C and D. RabbitCore RCM3600...
  • Page 87: B.4.3.1 Rs-232

    B.4.3.1 RS-232 RS-232 serial communication on the RCM3600 Prototyping Board is supported by an RS-232 transceiver installed at U4. This transceiver provides the voltage output, slew rate, and input voltage immunity required to meet the RS-232 serial communication protocol. Basically, the chip translates the Rabbit 3000’s signals to RS-232 signal levels. Note that the polarity is reversed in an RS-232 circuit so that a +5 V output becomes approximately -10 V and 0 V is output as +10 V.
  • Page 88: B.4.3.2 Rs-485

    RS-485 multidrop network spanning up to 1200 m (4000 ft), and there can be as many as 32 attached devices. Connect the 485+ to 485+ and 485– to 485– using single twisted-pair wires as shown in Figure B-8. Note that a common ground is recommended. Figure B-8. RCM3600 Multidrop Network RabbitCore RCM3600...
  • Page 89: Other Prototyping Board Modules

    The RCM3600 Prototyping Board comes with a 220 Ω termination resistor and two 681 Ω bias resistors installed and enabled with jumpers across pins 1–2 and 5–6 on header JP1, as shown in Figure B-9. RXC TXC RXE /IOWR /IORD DCIN GND JP2 TCM_SMT_SOCKET...
  • Page 90: Rcm3600 Prototyping Board Jumper Configurations

    B.5 RCM3600 Prototyping Board Jumper Configurations Figure B-10 shows the header locations used to configure the various RCM3600 Prototyp- ing Board options via jumpers. Battery JP5 JP6 JP7 Figure B-10. Location of RCM3600 Configurable Positions RabbitCore RCM3600...
  • Page 91 Table B-5 lists the configuration options using jumpers. Table B-5. RCM3600 Jumper Configurations Factory Header Description Pins Connected Default 1–2 Bias and termination resistors × 5–6 connected RS-485 Bias and Termination Bias and termination resistors not Resistors 1–3 connected (parking position for 4–6 jumpers) 1–3...
  • Page 92 RabbitCore RCM3600...
  • Page 93: Appendix C. Lcd/Keypad Module

    Both versions can mount directly on the Prototyping Board, and the version with a bezel can be installed at a remote location up to 60 cm (24") away. Contact your Z-World sales representative or your authorized Z-World distributor for further assistance in purchasing an LCD/keypad module.
  • Page 94 NOTE: All measurements are in inches followed by millimeters enclosed in parentheses. All dimen- sions have a manufacturing toler- ance of ±0.01" (0.25 mm). 0.200 0.500 (5.1) (12.7) 1.450 (36.8) 2.200 (55.9) Figure C-2. User Board Footprint for LCD/Keypad Module RabbitCore RCM3600...
  • Page 95: Contrast Adjustments For All Boards

    C.2 Contrast Adjustments for All Boards Depending on when you acquired your LCD/keypad module, you will be able to set the contrast on the LCD display by adjusting the potentiometer at R2 or by setting the voltage for 3.3 V by setting the jumper across pins 3–4 on header J5 as shown in Figure C-3. Only one of these two options is available on a given LCD/keypad module.
  • Page 96: Keypad Labeling

    Figure C-5. Keypad label is located under the blue keypad matte. Figure C-5. Removing and Inserting Keypad Label The sample program in the folder in KEYBASIC.C 122x32_1x7 SAMPLES\LCD_KEYPAD shows how to reconfigure the keypad for different applications. RabbitCore RCM3600...
  • Page 97: Header Pinouts

    C.4 Header Pinouts Figure C-6 shows the pinouts for the LCD/keypad module. Figure C-6. LCD/Keypad Module Pinouts C.4.1 I/O Address Assignments The LCD and keypad on the LCD/keypad module are addressed by the /CS strobe as explained in Table C-2. Table C-2.
  • Page 98: Install Connectors On Prototyping Board

    LCD1JA TCM_SMT_SOCKET LCD1JA /RES PC1/PG2 PC3/ PC0_TXD R18 R19 PG7_RXE VBAT LCD1JB LCD1JC LCD1JB LCD1JC R31 R32 R33 R34 R35 R36 THERMISTOR R39 R40 R41 R42 CONVERT CX11 CX10 RESET Figure C-7. Solder Connectors to RCM3600 Prototyping Board RabbitCore RCM3600...
  • Page 99: Mounting Lcd/Keypad Module On The Prototyping Board

    C.6 Mounting LCD/Keypad Module on the Prototyping Board Install the LCD/keypad module on header sockets LCD1JA, LCD1JB, and LCD1JC of the Prototyping Board as shown in Figure C-8. Be careful to align the pins over the headers, and do not bend them as you press down to mate the LCD/keypad module with the Proto- typing Board.
  • Page 100: Bezel-Mount Installation

    Figure C-9, then use the bezel faceplate to mount the LCD/keypad module onto the panel. 0.125 D, 4x 0.230 (5.8) 2.870 (72.9) 3.100 (78.8) Figure C-9. Recommended Cutout Dimensions 2. Carefully “drop in” the LCD/keypad module with the bezel and gasket attached. RabbitCore RCM3600...
  • Page 101 3. Fasten the unit with the four 4-40 screws and washers included with the LCD/keypad module. If your panel is thick, use a 4-40 screw that is approximately 3/16" (5 mm) longer than the thickness of the panel. DISPLAY BOARD Figure C-10.
  • Page 102: Connect The Lcd/Keypad Module To Your Prototyping Board

    Note the locations and connections relative to pin 1 on both the RCM3600 Prototyping Board and the LCD/keypad module. Z-World offers 2 ft. (60 cm) extension cables. Contact your authorized Z-World distributor or a Z-World sales representative at +1(530)757-3737 for more information.
  • Page 103: Sample Programs

    C.8 Sample Programs Sample programs illustrating the use of the LCD/keypad module with the Prototyping Board are provided in the folder. SAMPLES\RCM3600\LCD_KEYPAD These sample programs use the auxiliary I/O bus on the Rabbit 3000 chip, and so the line is already included in the sample programs. #define PORTA_AUX_IO Each sample program has comments that describe the purpose and function of the pro- gram.
  • Page 104: Lcd/Keypad Module Function Calls

    4 = LED DS5 5 = LED DS6 6 = LED DS7 value is the value used to control whether the LED is on or off (0 or 1). 0 = off 1 = on RETURN VALUE None. RabbitCore RCM3600...
  • Page 105: Lcd Display

    C.9.3 LCD Display The functions used to control the LCD display are contained in the library GRAPHIC.LIB located in the Dynamic C library folder. When x and y coordi- LIB\DISPLAYS\GRAPHIC nates on the display screen are specified, x can range from 0 to 121, and y can range from 0 to 31.
  • Page 106 (all black if pattern is 0xFF, all white if pattern is 0x00, and vertical stripes for any other pattern). RETURN VALUE None. SEE ALSO glFillScreen, glBlankScreen, glBlock, glBlankRegion RabbitCore RCM3600...
  • Page 107 void glFastFillRegion(int left, int top, int width, int height, char pattern); Fills a rectangular block in the LCD buffer with the pattern specified. The block left and width parame- ters must be byte-aligned. Any portion of the block that is outside the LCD display area will be clipped.. PARAMETERS left is the x coordinate of the top left corner of the block.
  • Page 108 LCD display area will be clipped. If fewer than 3 vertices are specified, the function will return without doing anything. PARAMETERS n is the number of vertices. pFirstCoord is a pointer to array of vertex coordinates: x1,y1, x2,y2, x3,y3, ... RETURN VALUE None. SEE ALSO glPlotPolygon, glFillPolygon, glFillVPolygon RabbitCore RCM3600...
  • Page 109 void glPlotPolygon(int n, int y1, int x2, int y2, ...); Plots the outline of a polygon in the LCD page buffer and on the LCD if the buffer is unlocked. Any portion of the polygon that is outside the LCD display area will be clipped. If fewer than 3 vertices are specified, the function will return without doing anything.
  • Page 110 (in pixels). RETURN VALUE None. SEE ALSO glPlotCircle, glPlotPolygon, glFillPolygon RabbitCore RCM3600...
  • Page 111 void glXFontInit(fontInfo *pInfo, char pixWidth, char pixHeight, unsigned startChar, unsigned endChar, unsigned long xmemBuffer); Initializes the font descriptor structure, where the font is stored in xmem. Each font character's bitmap is column major and byte aligned. PARAMETERS pInfo is a pointer to the font descriptor to be initialized. pixWidth is the width (in pixels) of each font item.
  • Page 112 RETURN VALUE The x step is returned in the MSB, and the y step is returned in the LSB of the integer result. SEE ALSO Use glGetPfStep() to control the x and y printing step direction. RabbitCore RCM3600...
  • Page 113 void glPutChar(char ch, char *ptr, int *cnt, glPutCharInst *pInst) STDIO Provides an interface between the string-handling functions and the graphic library. The STDIO string-formatting function will call this function, one character at a time, until the entire format- ted string has been parsed. Any portion of the bitmap character that is outside the LCD display area will be clipped.
  • Page 114 PIXBLACK draws black pixels (turns pixel on). PIXWHITE draws white pixels (turns pixel off). PIXXOR draws old pixel XOR'ed with the new pixel. RETURN VALUE None. SEE ALSO glGetBrushType RabbitCore RCM3600...
  • Page 115 int glGetBrushType(void); Gets the current method (or color) of pixels drawn by subsequent graphic calls. RETURN VALUE The current brush type. SEE ALSO glSetBrushType void glXGetBitmap(int x, int y, int bmWidth, int bmHeight, unsigned long xBm); Gets a bitmap from the LCD page buffer and stores it in xmem RAM. This function automatically calls glXGetFastmap if the left edge of the bitmap is byte-aligned and the left edge and width are each evenly divisible by 8.
  • Page 116 8, otherwise truncates. rows is the number of rows in the window. RETURN VALUE None. SEE ALSO glHScroll, glRight1 RabbitCore RCM3600...
  • Page 117 void glRight1(int left, int top, int cols, int rows); Scrolls byte-aligned window right one pixel, left column is filled by current pixel type (color). PARAMETERS left is the top left corner of bitmap, must be evenly divisible by 8, otherwise truncates. top is the top left corner of the bitmap.
  • Page 118 8. rows is the number of rows in the window. nPix is the number of pixels to scroll within the defined window (a negative value will produce a scroll to the left). RETURN VALUE None. SEE ALSO glVScroll RabbitCore RCM3600...
  • Page 119 void glVScroll(int left, int top, int cols, int rows, int nPix); Scrolls up or down, within the defined window by x number of pixels. The opposite edge of the scrolled window will be filled in with white pixels. The window must be byte-aligned. Parameters will be verified for the following: 1.
  • Page 120 RETURN VALUE 0—window frame was successfully created. -1—x coordinate + width has exceeded the display boundary. -2—y coordinate + height has exceeded the display boundary. -3—Invalid winHeight and/or winWidth parameter value. RabbitCore RCM3600...
  • Page 121 void TextBorderInit(windowFrame *wPtr, int border, char *title); This function initializes the window frame structure with the border and title information. NOTE: Execute the function before using this function. TextWindowFrame PARAMETERS wPtr is a pointer to the window frame descriptor. border is the border style: SINGLE_LINE —The function will draw a single-line border around the text window.
  • Page 122 RETURN VALUE Lower word = Cursor Row location Upper word = Cursor Column location SEE ALSO TextGotoXY, TextPrintf, TextWindowFrame, TextCursorLocation RabbitCore RCM3600...
  • Page 123 void TextPutChar(struct windowFrame *window, char ch); Displays a character on the display where the cursor is currently pointing. Once a character is displayed, the cursor will be incremented to the next character position. If any portion of a bitmap character is out- side the LCD display area, the character will not be displayed.
  • Page 124 This functions clears the entire area within the specified text window. NOTE: Execute the function before using this function. TextWindowFrame PARAMETERS wPtr is a pointer to the window frame descriptor. RETURN VALUE None. SEE ALSO TextGotoXY, TextPrintf, TextWindowFrame, TextCursorLocation RabbitCore RCM3600...
  • Page 125: Keypad

    C.9.4 Keypad The functions used to control the keypad are in the library located in the KEYPAD7.LIB Dynamic C library folder. LIB\KEYPADS void keyInit(void); Initializes keypad process RETURN VALUE None. SEE ALSO brdInit void keyConfig(char cRaw, char cPress, char cRelease, char cCntHold, char cSpdLo, char cCntLo, char cSpdHi);...
  • Page 126 The next keypress, or 0 if none SEE ALSO keyConfig, keyProcess, keypadDef int keyUnget(char cKey); Pushes the value of cKey to the top of the input queue, which is 16 bytes deep. PARAMETER cKey RETURN VALUE None. SEE ALSO keyGet RabbitCore RCM3600...
  • Page 127 void keypadDef(); Configures the physical layout of the keypad with the desired ASCII return key codes. Keypad physical mapping 1 x 7 ['L'] ['U'] ['D'] ['R'] ['–'] ['+'] ['E'] where 'D' represents Down Scroll 'U' represents Up Scroll 'R' represents Right Scroll 'L' represents Left Scroll '–' represents Page Down '+' represents Page Up...
  • Page 128 RabbitCore RCM3600...
  • Page 129: D.1 Power Supplies

    D. P PPENDIX OWER UPPLY Appendix D provides information on the current requirements of the RCM3600, and includes some background on the chip select circuit used in power management. D.1 Power Supplies Power is supplied from the motherboard to which the RCM3600 is connected via header J1.
  • Page 130: D.1.2 Reset Generator

    Rabbit 3000 to allow you to reset the microprocessor externally. A resistor divider consisting of R21 and R22 attenuates the signal associated with an externally applied reset to prevent it from affecting the reset generator. RabbitCore RCM3700...
  • Page 131 Specifications are based on characterization of tested sample units rather than testing over temperature and voltage of each unit. Z-World products may qualify components to operate within a range of parameters that is different from the manufacturer’s recom- mended range.
  • Page 132 RabbitCore RCM3600...
  • Page 133: Index

    NDEX dimensions LCD/keypad module ..87 jumper configurations ... 66 A/D converter LCD/keypad template ..90 JP3 (flash memory size) ..66 calibration ......79 Prototyping Board ..... 71 JP4 (flash memory bank calibration constants ..79 RCM3600 ......56 select) ......
  • Page 134 RS-485 network .....82 Board .......8 glPlotCircle ....104 RS-485 termination and bias reset ........10 glPlotDot .....110 resistors .......83 reset generator ....124 glPlotLine ....110 serial ports ......27 use of reset pin ....124 glPlotPolygon ....103 programming port ....28 reset generator .....124 glPlotVPolygon ...102 RabbitCore RCM3600...
  • Page 135 glPrintf ......107 specifications ......55 glPutChar ....107 bus loading ......60 USB/serial port converter ..9 glPutFont ..... 106 digital I/O buffer sourcing and Dynamic C settings ... 11 glRight1 ....... 111 sinking limits ....64 glSetBrushType ... 108 dimensions ......
  • Page 136 RabbitCore RCM3600...
  • Page 137: Schematics

    CHEMATICS 090-0176 RCM3600 Schematic www.rabbitsemiconductor.com/documentation/schemat/090-0176.pdf 090-0180 Prototyping Board Schematic www.rabbitsemiconductor.com/documentation/schemat/090-0180.pdf 090-0156 LCD/Keypad Module Schematic www.rabbitsemiconductor.com/documentation/schemat/090-0156.pdf 090-0128 Programming Cable Schematic www.rabbitsemiconductor.com/documentation/schemat/090-0128.pdf The schematics included with the printed manual were the latest revisions available at the time the manual was last revised. The online versions of the manual contain links to the latest revised schematic on the Web site.

This manual is also suitable for:

Rcm3600

Table of Contents