101-0910 Rabbit Semiconductor, 101-0910 Datasheet
![no-image](/images/no-image-200.jpg)
101-0910
Specifications of 101-0910
101-910
Related parts for 101-0910
101-0910 Summary of contents
Page 1
... RabbitCore RCM3700 C-Programmable Core Module with Ethernet, Serial Flash, and Enhanced Software User’s Manual 019–0136_L ...
Page 2
... Rabbit, RabbitCore, and Dynamic C are registered trademarks of Digi International Inc. Rabbit 3000 is a trademark of Digi International Inc. The latest revision of this manual is available on the Rabbit Web site, www.rabbit.com, for free, unregistered download. Rabbit Semiconductor Inc. Trademarks www.rabbit.com RabbitCore RCM3700 ...
Page 3
... Chapter 1. Introduction 1.1 RCM3700 Features ...............................................................................................................................4 1.2 Advantages of the RCM3700 ...............................................................................................................6 1.3 Development and Evaluation Tools......................................................................................................7 1.3.1 Development Kit ...........................................................................................................................7 1.3.2 Software ........................................................................................................................................8 1.3.3 Application Kits ............................................................................................................................8 1.3.4 Online Documentation ..................................................................................................................8 Chapter 2. Getting Started 2.1 Step 1 — Install Dynamic C .................................................................................................................9 2.2 Hardware Connections........................................................................................................................10 2.2.1 Step 1 — Attach Module to Prototyping Board..........................................................................10 2.2.2 Step 2 — ...
Page 4
... B.1.2 Mechanical Dimensions and Layout ..........................................................................................94 B.1.3 Power Supply .............................................................................................................................95 B.1.4 Using the RCM3700 Prototyping Board ....................................................................................96 B.1.4.1 Adding Other Components................................................................................................ 97 B.1.5 Analog Features..........................................................................................................................98 B.1.5.1 A/D Converter Inputs ........................................................................................................ 98 B.1.5.2 Thermistor Input .............................................................................................................. 100 B.1.5.3 Other A/D Converter Features......................................................................................... 101 B.1.5.4 A/D Converter Calibration .............................................................................................. 102 RabbitCore RCM3700 User’s Manual ...
Page 5
B.1.6 Serial Communication..............................................................................................................103 B.1.6.1 RS-232 ............................................................................................................................. 104 B.1.6.2 RS-485 ............................................................................................................................. 105 B.1.7 Other Prototyping Board Modules ...........................................................................................107 B.1.8 Jumper Configurations .............................................................................................................108 B.1.9 Use of Rabbit 3000 Parallel Ports ............................................................................................110 B.2 RCM3720 Prototyping Board ..........................................................................................................112 B.2.1 Features ....................................................................................................................................113 B.2.2 Mechanical Dimensions ...
Page 6
... The Development Kit and the Ethernet Connection Kit have what you need to design your own microprocessor-based system: a complete Dynamic C software development system with optional modules and a Prototyping Board that acts as a motherboard to allow you to evaluate the RCM3700 and to prototype circuits that interface to the RCM3700 module. ...
Page 7
Mbyte serial flash memory, which is required to run the optional Dynamic C FAT file system • Real-time clock • Watchdog supervisor • Provision for customer-supplied backup battery via connections on header J1 • 10-bit free-running PWM counter ...
Page 8
... Generous memory size allows large programs with tens of thousands of lines of code, and substantial data storage. • Integrated Ethernet port for network connectivity, with royalty-free TCP/IP software. • Ideal for network-enabling security and access systems, home automation, HVAC systems, and industrial controls RabbitCore RCM3700 User’ ...
Page 9
... Development and Evaluation Tools 1.3.1 Development Kit The Development Kit contains the hardware and software needed to use the RCM3700. • RCM3700 module. • RCM3700 Prototyping Board. • Universal AC adapter DC (includes Canada/Japan/U.S., Australia/N.Z., U.K., and European style plugs). • Programming cable with 10-pin header and DE9 connections, and integrated level- matching circuitry. • ...
Page 10
... Web browser interfaces for embedded system control. Appendix E provides additional information about the Secure Embedded Web Application Kit. • Ethernet Connection Kit (Rabbit Part No. 101-0964)—comes with one CD-ROM that includes Dynamic C 9. later version, an RCM3720 module, and an RCM3720 Prototyping Board. This kit is intended to demonstrate and help you develop Ethernet- based applications ...
Page 11
... Once your installation is complete, you will have up to three icons on your PC desktop. One icon is for Dynamic C, one opens the documentation menu, and the third is for the Rabbit Field Utility, a tool used to download precompiled software to a target system. If you have purchased any of the optional Dynamic C modules, install them after installing Dynamic C ...
Page 12
Hardware Connections There are three steps to connecting the Prototyping Board for use with Dynamic C and the sample programs: 1. Attach the RCM3700 module to the Prototyping Board. 2. Connect the programming cable between the RCM3700 and the ...
Page 13
... NOTE: Never disconnect the programming cable by pulling on the ribbon cable. Carefully pull on the connector to remove it from the header. 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 ...
Page 14
Step 3 — Connect Power When all other connections have been made, you can connect power to the Prototyping Board. First, prepare the AC adapter for the country where it will be used by selecting the plug. The RCM3700 ...
Page 15
Starting Dynamic C Once the RCM3700 is connected as described in the preceding pages, start Dynamic C by double-clicking on the Dynamic C icon on your desktop or in your If you are using a USB port to connect ...
Page 16
... The source code for the sample programs is provided to allow you to modify them for your own use. The RCM3700 User’s Manual also provi des complete hardware reference information and describes the software function calls for the RCM3700, the Prototyping Board, and the optional LCD/keypad module. ...
Page 17
R To develop and debug programs for the RCM3700 (and for all other Rabbit hardware), you must install and use Dynamic C. 3.1 Introduction To help familiarize you with the RCM3700 modules, Dynamic C includes several sample programs. Loading, ...
Page 18
The default I/O configuration in the sample programs is based on the RabbitCore module detected during compile time: • Any RCM3700 RabbitCore module (except the RCM3720) will have its I/O ports con- figured for an RCM3700 Prototyping Board. • An ...
Page 19
Sample Programs Of the many sample programs included with Dynamic C, several are specific to the RCM3700. Sample programs illustrating the general operation of the RCM3700, serial communication, and the A/D converter on the Prototyping Board are provided in ...
Page 20
LEDs • CONTROLLED.c on the Prototyping Board on or off from the Once you compile and run Dynamic C STDIO window. Press “1” or “2” on your keyboard to ...
Page 21
Use of Serial Flash The following sample programs can be found in the and the SAMPLES\RCM3720\SerialFlash —This program runs a simple Web server and stores a log of • SERIAL_FLASHLOG.C hits on the home page of the serial flash ...
Page 22
PARITY.C repeatedly sending byte values 0–127 from Serial Port D to Serial Port C. The program will switch between generating parity or not on Serial Port D. Serial Port C ...
Page 23
NOTE: The following two sample programs illustrating RS-485 serial communication will only work with the RCM3700 Prototyping Board. —This program demonstrates a simple RS-485 transmission of • SIMPLE485MASTER.C lower case letters to a slave RCM3700. The slave will send back ...
Page 24
A/D Converter Inputs The following sample programs are found in the —Demonstrates how to recalibrate one differential analog input • AD_CALDIFF_CH.C channel using two known voltages to generate the calibration constants for that channel. Constants will be rewritten into ...
Page 25
AD_SAMPLE.C The program will continuously display the voltage (average of 10 samples) that is pres- ent on the A/D channels. Before running this program, make sure that pins 3–5 ...
Page 26
DNLOADCALIB.C back to simulated EEPROM in flash with using a serial utility such as Tera Term. —Demonstrates how to read calibrations constants from the user • UPLOADCALIB.C block in ...
Page 27
Chapter 4 describes the hardware components and principal hardware subsystems of the RCM3700. Appendix A, “RCM3700 Specifica- tions,” provides complete physical and electrical specifications. Figure 4 shows the Rabbit-based subsystems designed into the RCM3700. Figure 4. RCM3700 Subsystems RabbitCore RCM3700 ...
Page 28
RCM3700 Digital Inputs and Outputs Figure 5 shows the RCM3700 pinouts for header J1. standard IDC header with a nominal 0.1" pitch. Header RabbitCore RCM3700 User’s Manual Figure 5. RCM3700 Pinouts 26 ...
Page 29
Figure 6 shows the use of the Rabbit 3000 microprocessor ports in the RCM3700 modules. Figure 6. Use of Rabbit 3000 Ports The ports on the Rabbit 3000 microprocessor used in the RCM3700 are configurable, and so the factory defaults ...
Page 30
Table 2. RCM3700 Pinout Configurations Pin Pin Name 1–8 PA[7:0] Parallel I/O 9 PF1 Input/Output 10 PF0 Input/Output 11 PB0 Input/Output 12 PB2 Input/Output 13 PB3 Input/Output 14 PB4 Input/Output 15 PB5 Input/Output 16 PB7 Input/Output 17 PF4 Input/Output 18 ...
Page 31
Table 2. RCM3700 Pinout Configurations (continued) Pin Pin Name 26 PE5 Input/Output 27 PE4 Input/Output 28 PE1 Input/Output 29 PE0 Input/Output 30 PG7 Input/Output 31 PG6 Input/Output 32 /IOWR Output 33 /IORD Output 34 PD4 Input/Output 35 PD5 Input/Output 36 ...
Page 32
Memory I/O Interface The Rabbit 3000 address lines (A0–A18) and all the data lines (D0–D7) are routed inter- nally to the onboard flash memory and SRAM chips. I/0 write (/IOWR) and I/0 read (/IORD) are available for interfacing to ...
Page 33
Serial Communication The RCM3700 board does not have any serial transceivers directly on the board. How- ever, a serial interface may be incorporated on the board the RCM3700 is mounted on. For example, the Prototyping Board has RS-232, RS-485 ...
Page 34
Ethernet Port Figure 8 shows the pinout for the RJ-45 Ethernet port (J3). Note that some Ethernet con- nectors are numbered in reverse to the order used here. Figure 8. RJ-45 Ethernet Port Pinout Two LEDs are placed next ...
Page 35
Serial Programming Port The RCM3700 programming port is accessed through header J2 or over an Ethernet con- nection via the RabbitLink EG2110. The programming port uses the Rabbit 3000’s Serial Port A for communication. Dynamic C uses the programming ...
Page 36
Serial Programming Cable The programming cable is used to connect the programming port of the RCM3700 serial COM port. The programming cable converts the RS-232 voltage levels used by the PC serial port to the CMOS ...
Page 37
A program “runs” in either mode, but can only be downloaded and debugged when the RCM3700 is in the Program Mode. Refer to the Rabbit 3000 Microprocessor User’s Manual gramming port and the programming cable. 4.3.2 Standalone Operation of the ...
Page 38
Other Hardware 4.4.1 Clock Doubler The RCM3700 takes advantage of the Rabbit 3000 microprocessor’s internal clock doubler. A built-in clock doubler allows half-frequency crystals to be used to reduce radiated emis- sions. The 22.1 MHz frequency specified for the ...
Page 39
Memory 4.5.1 SRAM RCM3700 series boards have 256K–512K of SRAM. 4.5.2 Flash EPROM RCM3700 series boards also have 256K–512K of flash EPROM. NOTE: Rabbit recommends that any customer applications should not be constrained by the sector size of the ...
Page 40
... 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 RCM3700. The flash memory and SRAM options are selected with the Options > ...
Page 41
Dynamic C has a number of standard features. Some of these standard features are listed below. • Full-feature source and assembly-level debugger, no in-circuit emulator required. • Royalty-free TCP/IP stack with source code and most common protocols. • Hundreds of ...
Page 42
Dynamic C Functions The functions described in this section are for use with the Prototyping Board features. The source code is in the RCM37xx.LIB the folder, depending on which Prototyping Board you will be using, SAMPLES\RCM3720 if you need ...
Page 43
Board Initialization void brdInit (void); Call this function at the beginning of your program. This function initializes Parallel Ports A through G for use with the RCM3700 Prototyping Board or the RCM3720 Prototyping Board. The brdInit function is set ...
Page 44
Analog Inputs NOTE: The function calls for the A/D converter in this section will work only with the RCM3700 Prototyping Board. unsigned int anaInConfig(unsigned int instructionbyte, unsigned int cmd, long baud); Use this function to configure the ADS7870 A/D ...
Page 45
PARAMETERS instructionbyte is the instruction byte that will initiate a read or write operation bits on the designated register address. For example, checkid = anaInConfig(0x5F, 0, 9600); cmd refers to the command data that configure the ...
Page 46
Reads the voltage of an analog input channel by serial-clocking an 8-bit command to the ADS7870 A/D converter by the Direct Mode method. This function assumes that Mode1 (most significant byte first) ...
Page 47
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 RabbitCore RCM3700 User’s Manual ...
Page 48
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 ...
Page 49
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 ...
Page 50
Calibrates the response of the desired A/D converter channel as a linear function using the two conver- sion points provided. Four values are calculated and ...
Page 51
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 ...
Page 52
Reads the state of a single-ended analog input channel and uses the calibration constants previously set using anaInCalib to convert it to volts. PARAMETERS channel is the channel number (0–7) Channel Code 0 ...
Page 53
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 ( ...
Page 54
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 ...
Page 55
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 ...
Page 56
The gaincode parameter is ignored when channel is ALLCHAN. RETURN VALUE 0 if successful address is invalid or out of range there is no valid ID block. ...
Page 57
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 ...
Page 58
The gaincode parameter is ignored when channel is ALLCHAN. RETURN VALUE 0 if successful -1 if address is invalid or out of range there is no valid ID block. ...
Page 59
Writes a state to a digital output channel on header JP4 of the RCM3700 Prototyping Board. The PIO0 to PIO3 channels on the A/D converter chip are accessed via header JP4 on the RCM3700 Prototyping ...
Page 60
Digital I/O The RCM3700 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 61
... For more information, see the Dynamic C Function Reference Manual and Technical Note TN213, Rabbit Serial Port Software. 5.2.5 Serial Flash The serial flash drivers are located in the tion on these function calls is provided in the Dynamic C Function Reference Manual ...
Page 62
Upgrading Dynamic C Dynamic C patches that focus on bug fixes are available from time to time. Check the Web site www.rabbit.com/support/ The default installation of a patch or bug fix is to install the file in a directory ...
Page 63
U 6.1 TCP/IP Connections Programming and development can be done with the RCM3700 modules without connect- ing the Ethernet port to a network. However, if you will be running the sample programs that use the Ethernet capability or will ...
Page 64
The following options require more care in address selection and testing actions, as conflicts with other users, servers and systems can occur: Connect the RCM3700 module’s Ethernet port to an existing LAN, preferably • LAN — one to which the ...
Page 65
TCP/IP Primer on IP Addresses Obtaining IP addresses to interact over an existing, operating, network can involve a num- ber of complications, and must usually be done with cooperation from your ISP and/or network systems administrator. For this reason, ...
Page 66
T1 in Adapter Ethernet Typical Corporate Network If your system administrator can give you an Ethernet cable along with its IP address, the netmask and the gateway address, then you may be able to run the sample programs with- out ...
Page 67
IP Addresses Explained IP (Internet Protocol) addresses are expressed as 4 decimal numbers separated by periods, for example: 216.103.126.155 10.1.1.6 Each decimal number must be between 0 and 255. The total IP address is a 32-bit number consisting of ...
Page 68
How IP Addresses are Used The actual hardware connection via an Ethernet uses Ethernet adapter addresses (also called MAC addresses). These are 48-bit addresses and are unique for every Ethernet adapter manufactured. In order to send a packet to ...
Page 69
Dynamically Assigned Internet Addresses In many instances, devices on a network do not have fixed IP addresses. This is the case when, for example, you are assigned an IP address dynamically by your dial-up Internet service provider (ISP) or ...
Page 70
Placing Your Device on the Network In many corporate settings, users are isolated from the Internet by a firewall and/or a proxy server. These devices attempt to secure the company from unauthorized network traffic, and usually work by disallowing ...
Page 71
Running TCP/IP Sample Programs We have provided a number of sample programs demonstrating various uses of TCP/IP for networking embedded systems. These programs require you to connect your PC and the RCM3700 board together on the same network. This ...
Page 72
How to Set IP Addresses in the Sample Programs With the introduction of Dynamic C 7.30 we have taken steps to make it easier to run many of our sample programs. You will see a Dynamic C to select ...
Page 73
... Half-Duplex” “Auto-Negotiation” connection on the “Advanced” tab. NOTE: Your network interface card will likely have a different name. 3. Now select the IP Address click on “Properties” to assign an IP address to your computer (this will disable “obtain an IP address automatically”): IP Address : 10.10.6.101 Netmask : 255.255.255.0 Default gateway : 10.10.6.1 4. Click <OK> or < ...
Page 74
Run the PINGME.C Sample Program Connect the crossover cable from your computer’s Ethernet port to the RCM3700 board’s RJ-45 Ethernet connector. Open this sample program from the folder, compile the program, and start it running under Dynamic C. When ...
Page 75
The sample program SMTP.C ing Board is pressed. Follow the instructions included with the sample program. LED DS1 on the Prototyping Board will light up when sending e-mail. Note that pin PB7 is con- nected to both switch S2 and ...
Page 76
Secure Sockets Layer (SSL) Sample Programs You will need to have the Dynamic C SSL module installed before you run the sample programs described in this section. The sample programs can be found in the folder. RCM3700\TCPIP\SSL Before running ...
Page 77
Before you run the INTEGRATION.C partition the serial flash. Find the folder. Open this sample program with the SAMPLES\FileSystem then compile and run it by pressing with the FAT file system. If the serial flash is already formatted, you the ...
Page 78
HUMIDITY_MONITOR.ZHTML . Upload When you refresh the page in your browser, you will see that the page has been restored. ...
Page 79
A A. RCM3700 S PPENDIX Appendix A provides the specifications for the RCM3700, and describes the conformal coating. RabbitCore RCM3700 User’s Manual PECIFICATIONS 77 ...
Page 80
A.1 Electrical and Mechanical Characteristics Figure A-1 shows the mechanical dimensions for the RCM3700. Figure A-1. RCM3700 Dimensions NOTE: All measurements are in inches followed by millimeters enclosed in parentheses. All dimensions have a manufacturing tolerance of ±0.01" (0.2 mm). ...
Page 81
It is recommended that you allow for an “exclusion zone” of 0.04" (1 mm) around the RCM3700 in all directions when the RCM3700 is incorporated into an assembly that includes other printed circuit boards. An “exclusion zone” of 0.16" (4 ...
Page 82
Table A-1 lists the electrical, mechanical, and environmental specifications for the RCM3700. Table A-1. RabbitCore RCM3700 Specifications Parameter Microprocessor Ethernet Port Flash Memory SRAM Serial Flash Memory Backup Battery General-Purpose I/O Additional I/O External I/O Bus Four 3.3 V CMOS-compatible ...
Page 83
A.1.1 Headers The RCM3700 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 RCM3700 to ...
Page 84
A.2 Bus Loading You must pay careful attention to bus loading when designing an interface to the RCM3700. This section provides bus loading information for external devices. Table A-2 lists the capacitance for the various RCM3700 I/O ports. Table A-2. ...
Page 85
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 ...
Page 86
Table A-4 lists the delays in gross memory access time. Table A-4. Data and Clock Delays VIN ±10%, Temp, -40°C–+85°C (maximum) Clock to Address Output Delay (ns) VIN 3 The measurements are taken ...
Page 87
A.3 Rabbit 3000 DC Characteristics Table A-5. Rabbit 3000 Absolute Maximum Ratings Symbol T Operating Temperature A T Storage Temperature S Maximum Input Voltage: • Oscillator Buffer Input • 5-V-tolerant I/O V Maximum Operating Voltage DD Stresses beyond those listed ...
Page 88
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 89
A.5 Conformal Coating The areas around the 32 kHz real-time clock crystal oscillator on RCM3700 RabbitCore modules without mounting holes have had the Dow Corning silicone-based 1-2620 con- formal coating applied. The conformally coated area is shown in Figure A-5. ...
Page 90
A.6 Jumper Configurations Figure A-6 shows the header locations used to configure the various RCM3700 options via jumpers. Figure A-6. Location of RCM3700 Configurable Positions RabbitCore RCM3700 User’s Manual 88 ...
Page 91
Table A-8 lists the configuration options. Table A-8. RCM3700 Jumper Configurations Header Description JP1 Flash Memory Bank Select JP2 SRAM Size JP3 Flash Memory Size NOTE: The jumper connections are made using 0 surface-mounted resistors. RabbitCore RCM3700 User’s Manual ...
Page 92
A PPENDIX Two different Prototyping Boards are available for the RCM3700 series of RabbitCore modules. The RCM3700 Proto- typing Board has power-supply connections and also provides some basic I/O peripherals (RS-232, RS-485, A/D converter, IrDA transceiver, LEDs, and switches), as ...
Page 93
B.1 RCM3700 Prototyping Board The RCM3700 Prototyping Board included in the RCM3700 Development Kit makes it easy to connect an RCM3700 module to a power supply and a PC workstation for devel- opment. It also provides some basic I/O peripherals ...
Page 94
B.1.1 Features Power Connection —A 3-pin header is provided for connection to the power supply. • Note that the 3-pin header is symmetrical, with both outer pins connected to ground and the center pin connected to the raw DCIN input. ...
Page 95
RS-232 —Three 3-wire serial ports or one 5-wire RS-232 serial port and one 3-wire • serial port are available on the Prototyping Board at header J2. A jumper on header JP2 is used to select the drivers for Serial Port ...
Page 96
B.1.2 Mechanical Dimensions and Layout Figure B-2 shows the mechanical dimensions and layout for the RCM3700 Prototyping Board. Figure B-2. RCM3700 Prototyping Board Dimensions RabbitCore RCM3700 User’s Manual 94 ...
Page 97
Table B-1 lists the electrical, mechanical, and environmental specifications for the RCM3700 Prototyping Board. Table B-1. RCM3700 Prototyping Board Specifications Parameter Board Size 4.50" × 6.50" × 0.75" (114 mm × 165 mm × 19 mm) Operating Temperature –20°C to ...
Page 98
B.1.4 Using the RCM3700 Prototyping Board The RCM3700 Prototyping Board is actually both a demonstration board and a prototyp- ing board demonstration board, it can be used to demonstrate the functionality of the RCM3700 right out of the ...
Page 99
The RCM3700 Prototyping Board comes with the basic components necessary to demon- strate the operation of the RCM3700. Two LEDs (DS1 and DS2) are connected to PF6 and PF7, and two switches (S1 and S2) are connected to PF4 and ...
Page 100
... 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. RabbitCore RCM3700 User’s Manual W W parameter in the software function call. Adjacent 98 ...
Page 101
... VREF, the reference voltage generated and buffered by the A/D converter. Adjacent input channels are paired so that moving a particular jumper changes both of the paired channels. At the present time Rabbit does not offer the software drivers to work with single-ended negative voltages, but the differential mode described below may be used to measure negative voltages ...
Page 102
Table B-3. Differential Voltage Ranges Min. Differential Max. Differential Voltage Voltage (V) 0 ±20.0 0 ±10 ±1.25 0 The A/D converter inputs can also be used with 4–20 mA current sources by measuring the resulting ...
Page 103
... Figure B-7 shows the timing of a conversion start. The double falling arrow on CCLK indicates the actual start of the conversion cycle. Figure B-7. Timing Diagram for Conversion Start Using CONVERT Pin RabbitCore RCM3700 User’s Manual macro in the Dynamic C RCM37xx.LIB 101 ...
Page 104
... Figure B-5 calibration is performed and the jumper is subsequently moved, the corresponding input(s) must be recalibrated. The calibration table in software only holds calibration constants based on mode, channel, and gain. Other factors affecting the calibration must be taken into account by calibrating using the same mode and gain setup as in the intended use ...
Page 105
... J1, J2 Serial Port E is configured in hardware for RS-232 or RS-485 via jumpers on header JP2 as shown in Section B.1.8. Serial Port F is configured in software for the IrDA transceiver in lieu of Serial Ports C and D. RabbitCore RCM3700 User’s Manual Configured via Default Use Header JP2 RS-232 ...
Page 106
... V and output as +10 V. The RS-232 transceiver also provides the proper line loading for reliable communication. RS-232 can be used effectively at the RCM3700 module’s maximum baud rate for distances RS-232 flow control on an RS-232 port is initiated in software using the function call from trolOn RS232.LIB of the flow control lines are specified using a set of five macros. SERX_RTS_PORT— ...
Page 107
... PF5 on the Rabbit 3000 to control the transmit enable on the communication line. Using this scheme a strict master/slave relationship must exist between devices to insure that no two devices attempt to drive the bus simultaneously. Serial Port E is configured in software for RS-485 as follows. #define ser485open serEopen #define ser485close serEclose ...
Page 108
The RCM3700 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- Figure B-9. ...
Page 109
B.1.7 Other Prototyping Board Modules An optional LCD/keypad module is available that can be mounted on the RCM3700 Prototyping Board. The signals on headers LCD1JB and LCD1JC will be available only if the LCD/keypad module is installed. Refer to Appendix ...
Page 110
B.1.8 Jumper Configurations Figure B-10 shows the header locations used to configure the various RCM3700 Prototyp- ing Board options via jumpers. Figure B-10. Location of RCM3700 Prototyping Board Configurable Positions RabbitCore RCM3700 User’s Manual 108 ...
Page 111
Table B-5 lists the configuration options using jumpers. Table B-5. RCM3700 Prototyping Board Jumper Configurations Header Description RS-485 Bias and Termination JP1 Resistors JP2 RS-232/RS-485 on Serial Port E JP4 A/D Converter Outputs JP5 ADC_IN4–ADC_IN5 JP6 ADC_IN2–ADC_IN3 JP7 ADC_IN0–ADC_IN1 Analog ...
Page 112
B.1.9 Use of Rabbit 3000 Parallel Ports Table B-6 lists the Rabbit 3000 parallel ports and their use for the RCM3700 Prototyping Board. Table B-6. RCM3700 Prototyping Board Use of Rabbit 3000 Parallel Ports Port I/O PA0–PA7 Output External ID0–ID7, ...
Page 113
Table B-6. RCM3700 Prototyping Board Use of Rabbit 3000 Parallel Ports Port I/O PE6 Output Serial Flash Select PE7 Output LCD/keypad module BUFEN PF0 Output A/D converter select line PF1 Input A/D converter busy PF2–PF3 Input Not used PF4 Input ...
Page 114
B.2 RCM3720 Prototyping Board The RCM3720 Prototyping Board included in the Ethernet Connection Kit makes it easy to connect an RCM3720 module to a power supply and a PC workstation for development. It also provides some basic I/O peripherals (LEDs ...
Page 115
B.2.1 Features Power Connection —A 3-pin header is provided for connection to the power supply. • Note that the 3-pin header is symmetrical, with both outer pins connected to ground and the center pin connected to the raw DCIN input. ...
Page 116
B.2.2 Mechanical Dimensions and Layout Figure B-12 shows the mechanical dimensions and layout for the RCM3720 Prototyping Board. Figure B-12. RCM3720 Prototyping Board Dimensions RabbitCore RCM3700 User’s Manual 114 ...
Page 117
Table B-1 lists the electrical, mechanical, and environmental specifications for the RCM3720 Prototyping Board. Table B-7. RCM3720 Prototyping Board Specifications Parameter Board Size 3.856" × 4.400" × 0.37" (114 mm × 165 mm × 9 mm) Operating Temperature –20°C to ...
Page 118
B.2.4 Using the RCM3720 Prototyping Board The RCM3720 Prototyping Board is actually both a demonstration board and a prototyp- ing board demonstration board, it can be used to demonstrate the functionality of the RCM3720 right out of the ...
Page 119
The RCM3720 Prototyping Board comes with the basic components necessary to demon- strate the operation of the RCM3720. Two LEDs (DS1 and DS2) are connected to PF6 and PF7, and two switches (S1 and S2) are connected to PF4 and ...
Page 120
A 2 × 4 header strip with a 0.1" pitch can be installed at J4, and jumpers across the appro- priate pins on header J4 can be used to reconnect specific demonstration hardware later if needed. Each pin is labeled ...
Page 121
B.2.5 Serial Communication RCM3720 Prototyping Boards sold before 2007 had no RS-232 chip installed, and so no RS-232 communication was possible. An optional through-hole RS-232 chip could be installed surface-mount RS-232 chip could be installed at ...
Page 122
... Table B-9. RCM3720 Prototyping Board Serial Port Locations Serial Port C D These serial ports can be configured in software as either one 5-wire or two 3-wire RS-232 channels. RS-232 flow control on an RS-232 port is initiated in software using the function call from flowcontrolOn locations of the flow control lines are specified using a set of five macros. ...
Page 123
B.2.6 Use of Rabbit 3000 Parallel Ports Table B-10 lists the Rabbit 3000 parallel ports and their use for the RCM3720 Prototyping Board. Table B-10. RCM3720 Prototyping Board Use of Rabbit 3000 Parallel Ports Port I/O PA0–PA7 Input Not used ...
Page 124
Table B-10. RCM3720 Prototyping Board Use of Rabbit 3000 Parallel Ports Port I/O PF2–PF3 Input Not used PF4 Input Switch S1 PF5 Output Not used PF6 Output LED DS1 PF7 Output LED DS2 PG0–PG1 Output Not used PG2 Input Not ...
Page 125
... PPENDIX An optional LCD/keypad is available for the RCM3700 Prototyp- ing Board. Appendix C describes the LCD/keypad and provides the software function calls to make full use of the 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 ...
Page 126
Mounting hardware and (24") extension cable are also available for the LCD/keypad module through your Rabbit sales representative or authorized distributor. Table C-1 lists the electrical, mechanical, and environmental specifications for the LCD/keypad module. Table C-1. LCD/Keypad ...
Page 127
C.2 Contrast Adjustments for All Boards Starting in 2005, LCD/keypad modules were factory-configured to optimize their contrast based on the voltage of the system they would be used in. Be sure to select a KDU3V LCD/keypad module for use with ...
Page 128
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 129
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. ...
Page 130
C.5 Install Connectors on Prototyping Board Before you can use the LCD/keypad module with the RCM3700 Prototyping Board, you will need to install connectors to attach the LCD/keypad module to the RCM3700 Proto- typing Board. These connectors are included with ...
Page 131
C.6 Mounting LCD/Keypad Module on the Prototyping Board Install the LCD/keypad module on header sockets LCD1JA, LCD1JB, and LCD1JC of the RCM3700 Prototyping Board as shown in Figure C-8. Be careful to align the pins over the headers, and do ...
Page 132
C.7 Bezel-Mount Installation This section describes and illustrates how to bezel-mount the LCD/keypad module designed for remote installation. Follow these steps for bezel-mount installation. 1. Cut mounting holes in the mounting panel in accordance with the recommended dimen- sions in ...
Page 133
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) lon- ger than the thickness of the panel. Figure ...
Page 134
C.7.1 Connect the LCD/Keypad Module to Your Prototyping Board The LCD/keypad module can be located as far as 2 ft. (60 cm) away from the RCM3700 Prototyping Board, and is connected via a ribbon cable as shown in Figure C-11. ...
Page 135
C.8 Sample Programs Sample programs illustrating the use of the LCD/keypad module with the RCM3700 Prototyping Board are provided in the These sample programs use the external I/O bus on the Rabbit 3000 chip, and so the line is already ...
Page 136
C.9 LCD/Keypad Module Function Calls When mounted on the RCM3700 Prototyping Board, the LCD/keypad module uses the external 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 ...
Page 137
C.9.3 LCD Display The functions used to control the LCD display are contained in the located in the Dynamic C LIB\DISPLAYS\GRAPHIC nates on the display screen are specified, x can range from 0 to 121, and y can range from ...
Page 138
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 139
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 ...
Page 140
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 141
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 ...
Page 142
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 143
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 ...
Page 144
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 145
Provides an interface between 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 ...
Page 146
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 147
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 ...
Page 148
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 149
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 ...
Page 150
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 151
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 ...
Page 152
Draws bitmap in the specified space. The data for the bitmap are stored in xmem. This function is like glXPutBitmap, except that it is faster. The restriction is ...
Page 153
TextBorderInit(windowFrame *wPtr, int border, char *title); This function initializes the window frame structure with the border and title information. NOTE: Execute the TextWindowFrame PARAMETERS wPtr is a pointer to the window frame descriptor. border is the border style: SINGLE_LINE ...
Page 154
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 155
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 ...
Page 156
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 157
C.9.4 Keypad The functions used to control the keypad are contained in the Dynamic C library. KEYPAD7.LIB 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 ...
Page 158
How many times to repeat after low speed repeat None. RETURN VALUE None. SEE ALSO keyProcess, keyGet, keypadDef void keyProcess(void); Scans and processes ...
Page 159
Configures the physical layout of the keypad with the desired ASCII return key codes. Keypad physical mapping 1 × ['L'] ['U'] ['–'] where 'D' represents Down Scroll 'U' represents Up Scroll 'R' represents Right ...
Page 160
A PPENDIX Appendix D provides information on the current requirements of the RCM3700, 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 RCM3700 is ...
Page 161
D.1.1 Battery Backup The RCM3700 does not have a battery, but there is provision for a customer-supplied bat- tery to back up the data SRAM and keep the internal Rabbit 3000 real-time clock running. Header J1, shown in Figure D-1, ...
Page 162
D.1.2 Battery-Backup Circuit Figure D-2 shows the battery-backup circuit. Figure D-2. RCM3700 Backup Battery Circuit The battery-backup circuit serves three purposes: • It reduces the battery voltage to the SRAM and to the real-time clock, thereby limiting the current consumed ...
Page 163
... Web browser interfaces for embedded system control. The enhanced software bundle that is provided in the Secure Embedded Web Application Kit comes on three CD-ROMs. The software modules included in the software bundle require Dynamic C 8. later version, which is included on a separate CD-ROM in the Secure Embedded Web Application Kit. Software Modules on CD-ROM 1— ...
Page 164
... Software Modules on CD-ROM 3—Dynamic C Secure Sockets Layer (SSL) module. This module provides HTTPS security for supported Rabbit-based devices to provide: • fast processing of complex encryption algorithms (up to 120 kbits/s) • support for HTTPS with SSL version 3 and Transport Layer Security (TLS) version 1 • ...
Page 165
... A A/D converter calibration ....................... 102 CONVERT pin ............... 101 function calls anaIn .............................. 46 anaInCalib ..................... 48 anaInConfig ................... 42 anaInDiff ....................... 51 anaInDriver ................... 44 anaInEERd .................... 53 anaInEEWr .................... 55 anaInmAmps ................. 52 anaInVolts ..................... 50 digConfig ...................... 56 digIn .............................. 57 digOut ........................... 57 inputs current measurements . 100 differential measurements . 99 negative voltages ........... 99 single-ended measurements 98 additional information online documentation .......... 8 analog inputs See A/D converter application kits Ethernet Connection Kit ...
Page 166
LCD/keypad module ....... 127 I/O buffer sourcing and sinking limits ............................. 86 IP addresses .......................... 65 how to set in sample programs 70 how to set PC IP address ... 71 J jumper configurations ..... 88, 89 JP3 (flash memory ...
Page 167
... IR_DEMO.C ................. 18 TOGGLESWITCH.C .... 17 how to run TCP/IP sample programs ................. 69, 70 how to set IP address ........ 70 LCD/keypad module ....... 133 KEYBASIC.C ............. 126 serial ports ............................. 31 KEYPADTOLED.C .... 133 LCDKEYFUN.C ......... 133 reconfigure keypad ...... 126 software .................................. 8 SWITCHTOLED.C .... 133 module integration ............ 74 INTEGRATION_FAT_ SETUP.C .................... 75 INTEGRATION.C ........ 75 onboard serial flash SERIAL_FLASHLOG SFLASH_INSPECT PONG.C ............................ 13 RabbitWeb module ......... 162 Secure Sockets Layer (SSL) module ...
Page 168
LCD/keypad module dimensions .................. 123 electrical ...................... 124 header footprint ........... 124 mechanical .................. 124 relative pin 1 locations 124 temperature .................. 124 Rabbit 3000 DC characteris- tics ................................. 85 Rabbit 3000 timing ...
Page 169
RCM3700 Schematic www.rabbit.com/documentation/schemat/090-0177.pdf 090-0180 RCM3600/RCM3700 Prototyping Board Schematic www.rabbit.com/documentation/schemat/090-0180.pdf 090-0199 RCM3720 Prototyping Board Schematic www.rabbit.com/documentation/schemat/090-0199.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 090-0185 Programming Cable with Adapter Board Schematic www.rabbit.com/documentation/schemat/090-0185.pdf You may use the URL information ...