20-101-0672 Rabbit Semiconductor, 20-101-0672 Datasheet

MODULE RABBITCORE RCM3600

20-101-0672

Manufacturer Part Number
20-101-0672
Description
MODULE RABBITCORE RCM3600
Manufacturer
Rabbit Semiconductor
Datasheet

Specifications of 20-101-0672

Module/board Type
MPU Core Module
Product
Microcontroller Modules
Core Processor
Rabbit 3000
Clock Speed
22.1 MHz
Interface Type
Serial
Flash
512 KB
Timers
10 x 8 bit, 1 x 10 bit
Operating Supply Voltage
3 V to 3.6 V
Board Size
31 mm x 54 mm x 16 mm
Core
RCM3600
Processor Series
RCM3600
For Use With/related Products
RCM3600
Lead Free Status / RoHS Status
Lead free / RoHS Compliant
Other names
316-1102
RabbitCore RCM3600
C-Programmable Core Module
User’s Manual
019–0135 • 070831–E

Related parts for 20-101-0672

20-101-0672 Summary of contents

Page 1

... RabbitCore RCM3600 C-Programmable Core Module User’s Manual 019–0135 • 070831–E ...

Page 2

... RabbitCore RCM3600 User’s Manual Part Number 019-0135 • 070831–E • Printed in U.S.A. ©2003–2007 Rabbit Semiconductor Inc. • All rights reserved. No part of the contents of this manual may be reproduced or transmitted in any form or by any means without the express written permission of Rabbit Semiconductor. ...

Page 3

... Serial Programming Cable..................................................................................................................29 4.3.1 Changing Between Program Mode and Run Mode ....................................................................29 4.3.2 Standalone Operation of the RCM3600......................................................................................30 4.4 Other Hardware...................................................................................................................................31 4.4.1 Clock Doubler .............................................................................................................................31 4.4.2 Spectrum Spreader ......................................................................................................................31 4.5 Memory...............................................................................................................................................32 4.5.1 SRAM .........................................................................................................................................32 4.5.2 Flash EPROM .............................................................................................................................32 4.5.3 Dynamic C BIOS Source Files ...................................................................................................32 User’s Manual T C ABLE OF ONTENTS ...

Page 4

Chapter 5. Software Reference 5.1 More About Dynamic C ..................................................................................................................... 33 5.2 Dynamic C Functions......................................................................................................................... 35 5.2.1 Board Initialization ..................................................................................................................... 35 5.2.2 Analog Inputs ............................................................................................................................. 36 5.2.3 Digital I/O................................................................................................................................... 52 5.2.4 Serial Communication Drivers ................................................................................................... 53 5.3 Upgrading Dynamic C ...

Page 5

... Appendix D. Power Supply D.1 Power Supplies.................................................................................................................................123 D.1.1 Battery-Backup Circuits...........................................................................................................123 D.1.2 Reset Generator ........................................................................................................................124 Index Schematics User’s Manual 123 125 129 ...

Page 6

RabbitCore RCM3600 ...

Page 7

... V tolerant I/O lines: 31 configurable for I/O, 2 fixed outputs • External reset I/O • Alternate I/O bus can be configured for 8 data lines and 5 address lines (shared with parallel I/O lines), I/O read/write • Ten 8-bit timers (six cascadable) and one 10-bit timer with two match registers • ...

Page 8

... Connections via header J1 for customer-supplied backup battery • 10-bit free-running PWM counter and four pulse-width registers • Two-channel Input Capture can be used to time input signals from various port pins • Two-channel Quadrature Decoder accepts inputs from external incremental encoder modules • ...

Page 9

... 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. • Generous memory size allows large programs with tens of thousands of lines of code, and substantial data storage. User’s Manual ...

Page 10

... The RCM3600 Development Kit contains the following items: • RCM3600 module. • Prototyping Board. • AC adapter DC, 500 mA (included only with Development Kits sold for the North American market). A header plug leading to bare leads is provided to allow overseas users to connect their own power supply with a DC output of 7.5–30 V. ...

Page 11

... Online Documentation The online documentation is installed along with Dynamic C, and an icon for the docu- mentation menu is placed on the workstation’s desktop. Double-click this icon to reach the menu. If the icon is missing, use your browser to find and load folder, found in the Dynamic C installation folder. ...

Page 12

RabbitCore RCM3600 ...

Page 13

... The installation allows you to choose the COM port that will be used. The default selection is COM1. You may select any available port for Dynamic C’s use. If you are not certain which port is available, select COM1. This selection can be changed later within Dynamic C ...

Page 14

... Attach Module to Prototyping Board Turn the RCM3600 module so that the Rabbit 3000 chip is facing up as shown in Figure 2 below. Insert the pins from the module’s J1 header on the bottom side of the RCM3600 into the TCM_SMT_SOCKET socket on the Prototyping Board. The shaded corner notch at the bottom right corner of the RCM3600 module should face the same direction as the corresponding notch below it on the Prototyping Board ...

Page 15

... Figure 3. Connect Programming Cable and Power Supply NOTE: Be sure to use the programming cable (Part No. 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 Rabbit Semiconductor kits are not designed to work with RCM3600 modules ...

Page 16

... J4 on the Prototyping Board. The connector may be attached either way as long not offset to one side. 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– 500 mA. 10 button on the Prototyping Board ...

Page 17

... Check to make sure you are using the programming cable. • Check both ends of the programming cable to ensure that they are firmly plugged into the PC and the programming port on the RCM3600. • Ensure that the RCM3600 module is firmly and correctly installed in its connectors on the Prototyping Board. • ...

Page 18

... RCM3600, the Prototyping Board, and the optional LCD/keypad module. For advanced development topics, refer to the Dynamic C User’s Manual, which is avail- able in the online documentation set. 2.5.1 Technical Support NOTE: If you purchased your RCM3600 through a distributor or through a Rabbit Semi- conductor partner, contact the distributor or partner first for technical support ...

Page 19

... To help familiarize you with the RCM3600 modules, Dynamic C includes several sample programs. Loading, executing and studying these programs will give you a solid hands-on overview of the RCM3600’s capabilities, as well as a quick start with Dynamic application development tool. NOTE: The sample programs assume that you have at least an elementary grasp of the C programming language. If you do not, see the introductory pages of the Dynamic C User’ ...

Page 20

... Prototyping Board on or off from the Once you compile and run Dynamic C window. STDIO Press “1” or “2” on your keyboard to select LED DS1 or DS2 on the Prototyping Board. Then follow the prompt in the Dynamic off. —Demonstrates the use of assembly language to flash LEDs DS1 and • ...

Page 21

... Board by configuring two lines to outputs and two lines as inputs on Prototyping Board header JP4. Install a 2 × 2 header at JP4 on the Prototyping Board and connect pins 1–3 and pins 2–4 on header JP4 before running this sample program. Once the sample program is compiled and running, it will prompt you in the window to select either pin 1 of header JP4 or pin 2 of header JP4 for the output ...

Page 22

... Serial Port C for • FLOWCONTROL.C CTS/RTS with serial data coming from Serial Port D (TxD) at 115,200 bps. The serial data received are displayed in the To set up the Prototyping Board, you will need to tie TxD and RxD together on the RS-232 header at J2, and you will also tie TxC and RxC together using the jumpers supplied in the Development Kit as shown in the diagram ...

Page 23

... RCM3600 and display them in the to program the master RCM3600, and check to make sure that SIMPLE485MASTER.C Serial Port E is set RS-485 serial port—pins 3–5 and pins 4–6 on header JP2 must be jumpered together using the 2 mm jumpers supplied in the Development Kit. Getting Started window, and will display again once TxC is connected window ...

Page 24

... Before running this program, make sure that pins 3–5 are connected on headers JP5, JP6, and JP7 on the Prototyping Board. Connect pins 1–2, 3–4, 5–6, 7–8 on header JP8. —Demonstrates how to recalibrate all single-ended analog input • ...

Page 25

... Now start Tera Term on your PC. Once Tera Term is running, configure the serial parame- ters as follows: • Baud rate 19200, 8 bits, no parity, and 1 stop bit. • Enable the "Local Echo" option. • Set the line feed options to Receive = CR and Transmit = CR + LF. Now press to compile and run this program. Verify that the message "Waiting, F9 Please Send Data file" ...

Page 26

... 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 created by this program download the calibration constants DNLOADCALIB.C RabbitCore RCM3600 ...

Page 27

... 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. User’s Manual 4. H ARDWARE Figure 4. RCM3600 Subsystems R EFERENCE 21 ...

Page 28

... RCM3600 Digital Inputs and Outputs Figure 5 shows the RCM3600 pinouts for header J1. standard IDC header with a nominal 0.1" pitch. Header Figure 5. RCM3600 Pinouts RabbitCore RCM3600 ...

Page 29

... Figure 6 shows the use of the Rabbit 3000 microprocessor ports in the RCM3600 modules. Figure 6. Use of Rabbit 3000 Ports The ports on the Rabbit 3000 microprocessor used in the RCM3600 are configurable, and so the factory defaults can be reconfigured. Table 2 lists the Rabbit 3000 factory defaults and the alternate configurations. User’s Manual 23 ...

Page 30

... PC1/PG2 Input/Output 23 PC2 Output 24 PC3/PG3 Input/Output 25 PE7 Input/Output 24 Default Use Alternate Use External data bus (ID0–ID7) Slave port data bus (SD0–SD7) QD1A CLKC QD1B CLKD CLKB IA0 /SWR IA1 /SRD IA2 SA0 IA3 SA1 IA5 /SLAVEATTN AQD1B PWM0 AQD1A ...

Page 31

... Output 33 /IORD Input 34 PD4 Input/Output 35 PD5 Input/Output 36 /RES Reset output 37 VBAT 38 GND GND User’s Manual Default Use Alternate Use I5 INT1B I4 INT0B I1 INT1A I0 INT0A RXE TXE ATXB ARXB Reset input Notes I/O Strobe 5 Interrupt 1B I/O Strobe 4 Interrupt 0B I/O Strobe 1 Interrupt 1A ...

Page 32

... 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 begin- ning of your program ...

Page 33

... Figure 7. RCM3600 Serial Ports C, D, and F The serial ports used are selected with the port ( F). Remember that the RxC and RxD on Serial Ports C and D cannot be used if Serial Port F is being used User’s Manual function call, where X is the serial serXOpen 27 ...

Page 34

... 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 the serial programming cable. ...

Page 35

... 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 the SMODE pins are pulled high, placing the Rabbit 3000 in the Program Mode. When the programming cable’ ...

Page 36

... A program “runs” in either mode, but can only be downloaded and debugged when the RCM3600 is in the program mode. Refer to the Rabbit 3000 Microprocessor User’s Manual gramming port and the programming cable. 4.3.2 Standalone Operation of the RCM3600 The RCM3600 must be programmed via the RCM3600 Prototyping Board or via a similar arrangement on a customer-supplied board ...

Page 37

... The spectrum spreader will now remain off whenever you OK 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. User’s Manual Options > ...

Page 38

... 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 function calls writeUser- Block and readUserBlock are provided for this. Refer to the for additional information. ...

Page 39

... Dynamic C has been in use worldwide since 1989 specially designed for program- ming embedded systems, and features quick compile and interactive debugging. A com- plete reference guide to Dynamic C is contained in the Dynamic C User’s Manual and in the Dynamic C Function Reference Manual. You have a choice of doing your software development in the flash memory or in the SRAM included on the RCM3600 ...

Page 40

... Standard debugging features: Breakpoints—Set breakpoints that can disable interrupts. Single-stepping—Step into or over functions at a source or machine code level, µC/OS-II aware. Code disassembly—The disassembly window displays addresses, opcodes, mnemonics, and machine cycle times. Switch between debugging at machine-code level and source-code level by simply opening or closing the disassembly window. Watch expressions— ...

Page 41

... CAUTION: Pins PC1 and PG2 are tied together, and pins PC3 and PG3 are tied together. Both pairs of pins are connected to the IrDA transceiver and to the RS-232 transceiver via serial ports on the Prototyping Board. Do not enable both transceivers on the Prototyping Board at the same time. RETURN VALUE None. User’s Manual library in the Dynamic C SAMPLES\RCM3600 35 ...

Page 42

Analog Inputs unsigned int anaInConfig(unsigned int instructionbyte, unsigned int cmd, long baud); Use this function to configure the ADS7870 A/D converter. This function will address the ADS7870 in Register Mode only, and will return error if you try the ...

Page 43

... Enter 0 for this parameter thereafter, for example, anaInConfig(0x00, 0x00, 9600); RETURN VALUE 0 on write operations, data value on read operations SEE ALSO anaInDriver, anaIn, brdInit User’s Manual // read ID and set baud rate // write ref/osc reg and enable // resets device and sets baud 37 ...

Page 44

... Negative input is ground. † Not accessible on RCM3600 Prototyping Board len, the output bit length, is always 12 for 11-bit conversions 38 Gain Code Multiplier x10 6 x16 ...

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 39 ...

Page 46

... Reads the value of an analog input channel using the direct method of addressing the ADS7870 A/D converter. The A/D converter is enabled the first time this function is called—this will take approxi- mately 1 second to ensure that the A/D converter capacitor is fully charged. ...

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 41 ...

Page 48

... Four values are calculated and placed into global tables to be later stored into sim- ulated EEPROM using the function anaInEEWr(). Each channel will have a linear constant and a voltage offset. PARAMETERS channel is the analog input channel number ( corresponding to ADC_IN0 to ADC_IN7 opmode is the mode of operation: SINGLE—single-ended input DIFF—differential input mAMP—milliamp input channel ...

Page 49

... A/D converter channel value (0–2047) volts1 is the voltage or current corresponding to the first A/D converter channel value ( 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 ( mA) RETURN VALUE 0 if successful. ...

Page 50

... PARAMETERS channel is the channel number (0–7) Channel Code Negative input is ground. † Applies to RCM3600 Prototyping Board. ‡ Used for thermistor in sample program. gaincode is the gain code Gain Code Applies to RCM3600 Prototyping Board. RETURN VALUE A voltage value corresponding to the voltage on the analog input channel. ...

Page 51

... ADOVERFLOW (defined macro = -4096) if overflow or out of range. SEE ALSO anaInCalib, anaIn, anaInmAmps, brdInit User’s Manual Voltage Range DIFF (V) +AIN0 -AIN1 -20 to +20 +AIN1 -AIN0 — +AIN2 -AIN3 -20 to +20* +AIN3 -AIN2 — +AIN4 -AIN5 -20 to +20* +AIN5 -AIN4 — +AIN6 -AIN7 — +AIN7 -AIN6 — Voltage Range ...

Page 52

... Reads the state of an analog input channel and uses the calibration constants previously set using anaInCalib to convert it to current. PARAMETERS channel is the channel number (0–7) 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 46 4– ...

Page 53

... 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. Depending on the flash size, the following macros can be used to identify the starting address for these locations. ...

Page 54

... RETURN VALUE 0 if successful address is invalid or out of range there is no valid ID block. SEE ALSO anaInEEWr, anaInCalib 48 Voltage Range Gain Code (V) 0 0–20 1 0–10 2 0–5 3 0–4 4 0–2.5 5 0–2 6 0–1.25 7 0–1 * Applies to RCM3600 Prototyping Board. * RabbitCore RCM3600 ...

Page 55

... 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. Depending on the flash size, the following macros can be used to identify the starting address for these locations. ...

Page 56

... JP4 channels 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 50 Voltage Range Gain Code ...

Page 57

... A runtime error will occur if the brdInit function was not executed before calling this function or if the channel is out of range. PARAMETERS channel is channel for JP4:1 to JP4:4 state is a logic state RETURN VALUE The logic state of the input (0 or 1). SEE ALSO brdInit, digOut User’s Manual 51 ...

Page 58

Digital I/O The RCM3600 was designed to interface with other systems, and so there are no drivers written specifically for the I/O. The general Dynamic C read and write functions allow you to customize the parallel I/O to meet ...

Page 59

... For more information, see the Dynamic C Function Reference Manual and Technical Note TN213, Rabbit Serial Port Software. User’s Manual 53 ...

Page 60

... Add-On Modules 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. Rabbit Semiconductor 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

... A A. RCM3600 S PPENDIX Appendix A provides the specifications for the RCM3600, and describes the conformal coating. User’s Manual PECIFICATIONS 55 ...

Page 62

A.1 Electrical and Mechanical Characteristics Figure A-1 shows the mechanical dimensions for the RCM3600. 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). ...

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. An “ ...

Page 64

... PWM channels 5 V ±0. 22.1 MHz 11.06 MHz –40°C to +85° 95%, noncondensing One 2 x 20, 0.1" pitch 1.23" × 2.11" × 0.62" (31 mm × × 16 mm) RCM3610 ® at 22.1 MHz 256K ...

Page 65

... A.1.1 Headers The RCM3600 uses one header at J1 for physical connection to other boards × 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

A.2 Bus Loading Pay careful attention to bus loading when designing an interface to the RCM3600. This section provides bus loading information for external devices. Table A-2 lists the capacitance for the various RCM3600 I/O ports. Table A-2. Capacitance of ...

Page 67

... Figure A-4 shows a typical timing diagram for the Rabbit 3000 microprocessor external I/O read and write cycles. Figure A-4. I/O Read and Write Cycles—No Extra Wait States NOTE: /IOCSx can be programmed to be active low (default) or active high. User’s Manual ...

Page 68

... V 6 The measurements are taken at the 50% points under the following conditions. • -40°C to 85° • Internal clock to nonloaded CLK pin delay ≤ 85°C/3.0 V The clock to address output delays are similar, and apply to the following delays. • the clock to address delay adr • ...

Page 69

... Low-Level Input Current I IL (absolute worst case, all buffers) High-Impedance State I Output Current OZ (absolute worst case, all buffers) User’s Manual Parameter Maximum Rating -55° to +85°C -65° to +150° 0 5 –55°C to +85° Test Conditions I = 6.8 mA (min 6.8 mA (min ...

Page 70

A.4 I/O Buffer Sourcing and Sinking Limit Unless otherwise specified, the Rabbit I/O buffers are capable of sourcing and sinking 6 current per pin at full AC switching speed. Full AC switching assumes a 22.1 MHz CPU clock ...

Page 71

... 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

... Flash Memory Bank Select JP2 SRAM Size JP3 Flash Memory Size NOTE: The jumper connections are made using 0 Ω surface-mounted resistors. 66 Pins Connected 1–2 Normal Mode 2–3 Bank Mode 1–2 128K–256K 2–3 512K 1–2 256K 2–3 512K RabbitCore RCM3600 Factory Default × ...

Page 73

... A PPENDIX Appendix B describes the features and accessories of the Proto- typing Board. User’s Manual B. P ROTOTYPING B OARD 67 ...

Page 74

B.1 Introduction The Prototyping Board included in the Development Kit makes it easy to connect an RCM3600 module to a power supply and a PC workstation for development. It also pro- vides some basic I/O peripherals (RS-232, RS-485, an IrDA ...

Page 75

... Module Extension Headers • module is duplicated at header J3. Developers can solder wires directly into the appro- priate holes, or, for more flexible development header strip with a 0.1" pitch can be soldered into place. See Figure B-4 for the header pinouts. Analog I/O Shrouded Headers • ...

Page 76

... J1. A 3-pin shrouded header is installed at J1. A jumper on header JP2 enables the RS-485 output for Serial Port E. —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 use. 70 RabbitCore RCM3600 ...

Page 77

... B.2 Mechanical Dimensions and Layout Figure B-2 shows the mechanical dimensions and layout for the RCM3600 Prototyping Board. Figure B-2. Prototyping Board Dimensions User’s Manual 71 ...

Page 78

... ADS7870 with programmable gain configurable for 11-bit single-ended, 12-bit differential, and 4–20 mA inputs • Input impedance 6–7 MΩ • A/D conversion time (including 120 µs raw count and Dynamic C) 180 µs HSDL-3602, link distances up to 1.5 m 2.5" x 3" ( mm) throughhole, 0.1" spacing, ...

Page 79

... The Prototyping Board is actually both a demonstration board and a prototyping board 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. Figure B-4. Prototyping Board Pinout User’s Manual 73 ...

Page 80

... The Prototyping Board provides the user with RCM3600 connection points brought out con- veniently to labeled points at header J3 on the Prototyping Board. Although header J3 is unstuffed header is included in the bag of parts. RS-485 signals are available on shrouded header J1, and RS-232 signals (Serial Ports C, D, and E) are available on header J2. ...

Page 81

... The A/D converter chip can make either single-ended or differential measurements depending on the value of the A/D converter inputs can be paired to make differential measurements. The default setup on the Prototyping Board is to measure only positive voltages for the ranges listed in Table B-2. User’s Manual W W parameter in the software function call. Adjacent opmode ...

Page 82

... Table B-3 provides the differential voltage ranges for this setup. 76 Amplifier Max. Voltage (V) Gain +20.0 1 +10.0 2 +5.0 4 +4.0 5 +2.5 8 +2.0 10 +1. per Count 10 5 2.5 2.0 1.25 1.0 0.625 0.500 RabbitCore RCM3600 ...

Page 83

... The A/D converter inputs can also be used with 4–20 mA current sources by measuring the resulting analog voltage drop across 249 Ω 1% precision resistors placed between the ana- log input and analog ground for ADC_IN3 to ADC_IN6. Be sure to reconfigure the jumper positions on header JP8 as shown in Section B.5 using the slip-on jumpers included with the spare parts in the Development Kit ...

Page 84

... The internal buffer can source and sink only µA. A separate buffer amplifier at U7 supplies the load current. The A/D converter’s CONVERT pin is available on pin 2 of shrouded header J8, and can be used as a hardware means of forcing the A/D converter to start a conversion cycle. The CONVERT signal is an edge-triggered event and has a hold time of two CCLK periods for debounce ...

Page 85

... Single-Ended, one channel Single-Ended, all channels Milliamp, one channel Differential, analog ground These sample programs are found in the Dynamic C tory. See Section 3.2.2 for more information on these sample programs and how to use them. User’s Manual Read — AD_CALSE_CH.C AD_RDSE_ALL.C AD_CALSE_ALL.C AD_RDMA_CH.C AD_CALMA_CH ...

Page 86

... 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. 80 Configured via Default Use Header JP2 RS-232 JP2 RS-232 JP1, JP2 RS-485 (J1) Alternate Use — — RS-232 (J2) RabbitCore RCM3600 ...

Page 87

... SERA_RTS_SHADOW—Shadow register for the RTS line's parallel port (e.g., PCDRShadow). SERA_RTS_BIT—The bit number for the RTS line. SERA_CTS_PORT—Data register for the parallel port that the CTS line is on (e.g., PCDRShadow). SERA_CTS_BIT—The bit number for the CTS line. ...

Page 88

... The RCM3600 Prototyping Boards with RCM3600 modules installed can be used in an 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 ...

Page 89

... 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. Figure B-9. RS-485 Termination and Bias Resistors For best performance, the termination resistors in a multidrop network should be enabled only on the end nodes of the network, but not on the intervening nodes. Jumpers on boards whose termination resistors are not enabled may be stored across pins 1– ...

Page 90

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. Figure B-10. Location of RCM3600 Configurable Positions 84 RabbitCore RCM3600 ...

Page 91

... Tied to analog ground 1–2 Tied to VREF 2–3 Tied to analog ground 1–2 Tied to VREF 2–3 Tied to analog ground 1–2 Connect for 4–20 mA option on ADC_IN3 3–4 Connect for 4–20 mA option on ADC_IN4 5–6 Connect for 4–20 mA option on ADC_IN5 7–8 Connect for 4–20 mA option on ADC_IN6 Factory Default × ...

Page 92

RabbitCore RCM3600 ...

Page 93

... LCD/keypad. C.1 Specifications Two optional LCD/keypad modules—with or without a panel-mounted NEMA 4 water- resistant bezel—are available for use with the Prototyping Board. They are shown in Figure C-1. Figure C-1. LCD/Keypad Modules Versions Only the version without the bezel can mount directly on the Prototyping Board; if you have the version with a bezel, you will have to remove the bezel to be able to mount the LCD/keypad module on the Prototyping Board ...

Page 94

... Specification 2.60" x 3.00" x 0.75" ( mm) 4.50" × 3.60" × 0.30" (114 mm × × 7.6 mm) Operating Range: 0°C to +50°C Storage Range: –40°C to +85° 95%, noncondensing * 1.5 W maximum Connects to high-rise header sockets on the Prototyping Board 122 x 32 graphic display 7-key keypad Seven user-programmable LEDs Figure C-2 ...

Page 95

... You can set the contrast on the LCD display of pre-2005 LCD/keypad modules by adjust- ing the potentiometer setting the voltage for 3 connecting the jumper across pins 3–4 on header J5 as shown in Figure C-3. Only one of these two options is available on these LCD/keypad modules. NOTE: Older LCD/keypad modules that do not have a header contrast adjust- ment potentiometer at R2 are limited to operate only and will not work with the RCM3600 Prototyping Board ...

Page 96

C.3 Keypad Labeling The keypad may be labeled according to your needs. A template is provided in Figure C-4 to allow you to design your own keypad label insert. To replace the keypad legend, remove the old legend and insert ...

Page 97

... The LCD and keypad on the LCD/keypad module are addressed by the /CS strobe as explained in Table C-2. Table C-2. LCD/Keypad Module Address Assignment Address 0xE000 0xExx0–0xExx7 0xExx8 0xExx9 0xExxA 0xExxB (bits 0–6) 0xExxB (bit 7) 0xExxC–ExxF User’s Manual Function Device select base address (/CS) LCD control LED enable Not used ...

Page 98

... If you plan to bezel-mount the LCD/keypad module, continue with the bezel-mounting instructions in Section C.7, “Bezel-Mount Installation.” • If you plan to mount the LCD/keypad module directly on the RCM3600 Prototyping Board, solder two additional connectors at locations LCD1JB and LCD1JC on the RCM3600 Prototyping Board. Section C.6, “Mounting LCD/Keypad Module on the Prototyping Board,” ...

Page 99

... LCD/keypad module with the Proto- typing Board. Figure C-8. Install LCD/Keypad Module on Prototyping Board CAUTION: Pin PB7 is connected as both switch S2 and as an external I/O bus on the Prototyping Board. Do not use S2 when the LCD/keypad module is installed. User’s Manual 93 ...

Page 100

... Cut mounting holes in the mounting panel in accordance with the recommended dimen- sions in Figure C-9, then use the bezel faceplate to mount the LCD/keypad module onto the panel. Figure C-9. Recommended Cutout Dimensions 2. Carefully “drop in” the LCD/keypad module with the bezel and gasket attached. 94 RabbitCore RCM3600 ...

Page 101

... Do not tighten each screw fully before moving on to the next screw. Apply only one or two turns to each screw in sequence until all are tightened manually as far as they can be so that the gasket is compressed and the plastic bezel faceplate is touching the panel. User’s Manual 95 ...

Page 102

... Figure C-11. Connecting LCD/Keypad Module to RCM3600 Prototyping Board Note the locations and connections relative to pin 1 on both the RCM3600 Prototyping Board and the LCD/keypad module. Rabbit Semiconductor offers 2 ft. (60 cm) extension cables. Contact your authorized dis- tributor or a Rabbit Semiconductor sales representative for more information. 96 ...

Page 103

... The RCM3600 must be connected using the programming cable as F9 described in Chapter 2, “Getting Started.” Complete information on Dynamic C is provided in the Dynamic C User’s Manual. —This program demonstrates the use of the external I/O bus. The • KEYPADTOLED.C program will light up an LED on the LCD/keypad module and will display a message on the LCD when a key press is detected ...

Page 104

C.9 LCD/Keypad Module Function Calls When mounted on the Prototyping Board, the LCD/keypad module uses the auxiliary I/O bus on the Rabbit 3000 chip. Remember to add the line #define PORTA_AUX_IO to the beginning of any programs using the auxiliary ...

Page 105

... Sets the LCD screen on or off. Data will not be cleared from the screen. PARAMETER onOff turns the LCD screen on or off 1—turn the LCD screen on 0—turn the LCD screen off RETURN VALUE None. SEE ALSO glInit, glSetContrast, glBackLight User’ ...

Page 106

Sets display contrast. NOTE: This function is not used with the LCD/keypad module since the support circuits are not available on the LCD/keypad module. void glFillScreen(int pattern); Fills the LCD display screen with a pattern. PARAMETER The ...

Page 107

... RETURN VALUE None. SEE ALSO glFillScreen, glBlankScreen, glBlock User’s Manual 101 ...

Page 108

Draws a rectangular block in the page buffer and on the LCD if the buffer is unlocked. Any portion of the block that is outside the LCD display area will be ...

Page 109

... 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 glFillPolygon, glPlotPolygon, glPlotVPolygon User’s Manual 103 ...

Page 110

Fills 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 ...

Page 111

... Returns the xmem address of the character from the specified font set. PARAMETERS *pInfo is the xmem address of the bitmap font set. letter is an ASCII character. RETURN VALUE xmem address of bitmap character font, column major and byte-aligned. SEE ALSO glPutFont, glPrintf User’s Manual 105 ...

Page 112

Puts an entry from the font table to the page buffer and on the LCD if the buffer is unlocked. Each font character's bitmap is column major and byte-aligned. Any portion ...

Page 113

... EXAMPLE glprintf(0,0, &fi12x16, "Test %d\n", count); RETURN VALUE None. SEE ALSO glXFontInit User’s Manual STDIO string-handling functions and the graphic library. The STDIO string functions. STDIO string functions. 107 ...

Page 114

Increments LCD screen locking counter. Graphic calls are recorded in the LCD memory buffer and are not transferred to the LCD if the counter is non-zero. NOTE: glBuffLock() sure to balance the calls not a requirement ...

Page 115

... RAM storage address of the bitmap. RETURN VALUE None. SEE ALSO glXPutBitmap, glPrintf User’s Manual 109 ...

Page 116

Draws a single pixel in the LCD buffer, and on the LCD if the buffer is unlocked. If the coordinates are outside the LCD display area, the dot will not be plotted. PARAMETERS x is ...

Page 117

... RETURN VALUE None. SEE ALSO glVScroll, glUp1 User’s Manual 111 ...

Page 118

Scrolls right or left, 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 ...

Page 119

... RETURN VALUE None. SEE ALSO glXPutFastmap, glPrintf User’s Manual 113 ...

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. 114 function before other Text... ...

Page 121

... 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. DOUBLE_LINE —The function will draw a double-line border around the text window. title is a pointer to the title information NULL string is detected, then no title is written to the text menu ...

Page 122

TextGotoXY(windowFrame *window, int col, int row); Sets the cursor location to display the next character. The display location is based on the height and width of the character to be displayed. NOTE: Execute the TextWindowFrame PARAMETERS window is a ...

Page 123

... EXAMPLE TextPrintf(&TextWindow, "Test %d\n", count); RETURN VALUE None. SEE ALSO TextGotoXY, TextPutChar, TextWindowFrame, TextCursorLocation User’s Manual function before using this function. function before using this function. 117 ...

Page 124

TextMaxChars(windowFrame *wPtr); This function returns the maximum number of characters that can be displayed within the text window. NOTE: Execute the TextWindowFrame PARAMETERS wPtr is a pointer to the window frame descriptor. RETURN VALUE The maximum number of characters ...

Page 125

... How many times to repeat None. cCntLo is a low-speed hold tick, which is approximately one debounce period or 5 µs. How long to hold before going to high-speed repeat Slow Only. User’s Manual [2] [3] [5] [6] LIB\KEY- ...

Page 126

... Get next keypress. RETURN VALUE The next keypress 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 120 RabbitCore RCM3600 ...

Page 127

... Down Scroll 'U' represents Up Scroll 'R' represents Right Scroll 'L' represents Left Scroll '–' represents Page Down '+' represents Page Up 'E' represents the ENTER key Example: Do the following for the above physical vs. ASCII return key codes. keyConfig ( 3,'R', keyConfig ( 6,'E', keyConfig ( 2,'D', ...

Page 128

RabbitCore RCM3600 ...

Page 129

... Header J1, shown in Figure D-1, allows access to the external battery. This header makes it possible to connect an external 3 V battery. This allows the SRAM and the internal Rab- bit 3000 real-time clock to retain data with the RCM3600 powered down. User’s Manual D. P PPENDIX ...

Page 130

A lithium battery with a nominal voltage and a minimum capacity of 165 mA·h is recommended. A lithium battery is strongly recommended because of its nearly constant nominal voltage over most of its life. The drain on ...

Page 131

... See A/D converter auxiliary I/O bus ................... 26 software ............................. 98 B battery backup battery life ....................... 124 board initialization function calls ..................... 35 brdInit ............................ 35 bus loading ............................ 60 User’s Manual C clock doubler ........................ 31 effect on clock cycle ......... 62 conformal coating ................. 65 connectivity interface kits Wi-Fi Add-On Kit ............... 5 D Development Kit ................. adapter .......................... 4 DC power supply ................ 4 Getting Started instructions 4 programming cable ...

Page 132

... Prototyping Board (continued) JP7 (analog inputs refer- ence) ...........................85 JP8 (analog voltage/4–20 mA measurement options) .....................................85 K keypad template ....................90 removing and inserting la- bel ..................................90 L LCD/keypad module bezel-mount installation ....94 dimensions .........................87 function calls dispInit ...........................98 header pinout .....................91 I/O address assignments ....91 keypad function calls keyConfig .................119 keyGet ...

Page 133

... A/D converter AD_CALDIFF_CH.C 18, 79 AD_CALMA_CH.C 18, 79 AD_CALSE_ALL.C 18, 79 AD_CALSE_CH.C ....... 79 AD_CALSE_CHAN AD_RDDIFF_CH.C 18, 79 AD_RDMA_CH.C .. 18, 79 AD_RDSE_ALL.C . 18, 79 AD_SAMPLE.C ........... 19 ANAINCONFIG.C ....... 19 DNLOADCALIB.C ...... 19 THERMISTOR.C ... 19, 77 UPLOADCALIB.C ....... 20 getting to know the RCM3600 CONTROLLED.C ........ 14 DIO.C ............................ 15 FLASHLED1.C ............ 14 IR_DEMO.C ................. 15 TOGGLESWITCH.C .... 15 LCD/keypad module ......... 97 KEYBASIC.C ............... 90 KEYPADTOLED.C ...... 97 LCDKEYFUN.C ........... 97 reconfigure keypad ........ 90 SWITCHTOLED.C ....... 97 PONG.C ............................ 11 serial communication FLOWCONTROL ...

Page 134

RabbitCore RCM3600 ...

Page 135

... RCM3600 Schematic www.rabbit.com/documentation/schemat/090-0176.pdf 090-0180 Prototyping Board Schematic www.rabbit.com/documentation/schemat/090-0180.pdf 090-0156 LCD/Keypad Module Schematic www.rabbit.com/documentation/schemat/090-0156.pdf 090-0128 Programming Cable Schematic www.rabbit.com/documentation/schemat/090-0128.pdf You may use the URL information provided above to access the latest schematics directly. User’s Manual S CHEMATICS 129 ...

Page 136

...

Related keywords