RabbitCore RCM2100 C-Programmable Module with Ethernet User’s Manual 019–0091 • 070831–K
RabbitCore RCM2100 User’s Manual Part Number 019-0091 • 070831–K • Printed in U.S.A. ©2001–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. Permission is granted to make one or more copies as long as the copyright page contained therein is included.
TABLE OF CONTENTS Chapter 1. Introduction 1 1.1 RCM2100 Features ...............................................................................................................................2 1.2 Advantages of the RCM2100 ...............................................................................................................3 1.3 Development and Evaluation Tools......................................................................................................4 1.3.1 Development Software.......
.5 Other Hardware .................................................................................................................................. 35 4.5.1 Clock Doubler ............................................................................................................................ 35 4.5.2 Spectrum Spreader...................................................................................................................... 36 Chapter 5. Software Reference 37 5.1 More About Dynamic C .....
Appendix C. Power Supply 81 C.1 Power Supplies...................................................................................................................................81 C.1.1 Batteries and External Battery Connections...............................................................................81 C.1.2 Power to VRAM Switch.............................................................................................................83 C.1.3 Reset Generator ........................................
RabbitCore RCM2100
1. INTRODUCTION The RabbitCore RCM2100 series is a family of microprocessor modules designed to be the heart of embedded control systems. In addition to the array of I/O and addressing available on other Rabbit Semiconductor products, the RCM2100 series offers an optional integrated Ethernet port. These modules permit LAN and Internet-enabled systems to be built as easily as serial communications-only systems.
1.1 RCM2100 Features • Small size: 2.0" × 3.5" × 0.80" (51 mm × 89 mm × 20 mm) • Microprocessor: Rabbit 2000 running at 22.
1.2 Advantages of the RCM2100 • Fast time to market using a fully engineered, “ready to run” microprocessor core. • Competitive pricing when compared with the alternative of purchasing and assembling individual components. • Easy C-language program development and debugging, including rapid production loading of programs. • Generous memory size allows large programs with tens of thousands of lines of code, and substantial data storage.
1.3 Development and Evaluation Tools A complete Development Kit, including a Prototyping Board, accessory components and Dynamic C development software, is available to accompany the RCM2100 module. The Development Kit puts together the essentials you need to design an embedded microprocessor-based system rapidly and efficiently. 1.3.1 Development Software The RCM2100 modules use the Dynamic C development environment for rapid creation and debugging of runtime applications.
1.4 How to Use This Manual This user’s manual is intended to give users detailed information on the RCM2100 modules. It does not contain detailed information on the Dynamic C development environment or the TCP/IP software support for the integrated Ethernet port. Most users will want more detailed information on some or all of these topics in order to put the RCM2100 module to effective use. 1.4.
Providing this documentation in electronic form saves an enormous amount of paper by not printing copies of manuals that users don’t need. It reduces the number of outdated manuals we have to discard from stock as well, and it makes providing a complete library of manuals an almost cost-free option.
2. GETTING STARTED This chapter describes the RCM2100 hardware in more detail, and explains how to set up and use the accompanying prototyping and development board. NOTE: This chapter (and this manual) assume that you have the RabbitCore RCM2100 Development Kit. If you purchased an RCM2100 module by itself, you will have to adapt the information in this chapter and elsewhere to your test and development setup. 2.
2.1.1 Attach Module to Prototyping Board Turn the RCM2100 module so that the Ethernet connector is on the left, as shown in Figure 1 below. Align the module headers J1 and J2 on the bottom side of the RCM2100 into header sockets J1 and J3 on the Prototyping Board. Figure 1. Installing the RCM2100 Module on the Prototyping Board. Note the orientation of the module.
2.1.2 Connect Programming Cable The programming cable connects the RCM2100 module to the PC running Dynamic C, to download programs and to monitor the RCM2100 for debugging. Connect the 10-pin connector of the programming cable labeled PROG to header J5 on the RCM2100 module as shown in Figure 3 below. Be sure to orient the red edge of the cable towards pin 1 of the connector. (Do not use the DIAG connector, which is used for a normal serial connection.) Note Pin 1 Indicator Figure 3.
2.1.3 Connect Power When all other connections have been made, you can connect power to the RCM2100 Prototyping Board. Hook the connector from the wall transformer to header J5 on the Prototyping Board as shown in Figure 4 below. The connector may be attached either way as long as it is not offset to one side. Figure 4. Power Supply Connections to Prototyping Board Plug in the wall transformer. The power LED on the Prototyping Board should light up.
2.2 Run a Sample Program Once the RCM2100 is connected as described in the preceding pages, start Dynamic C by double-clicking on the Dynamic C icon or by double-clicking on dcrab_XXXX.exe in the Dynamic C root directory, where XXXX are version-specific characters. Dynamic C uses the serial port specified during installation. If you are using a USB port to connect your computer to the RCM2100 module, choose Options > Project Options and select “Use USB to Serial Converter” under the Communications tab.
2.3 Where Do I Go From Here? If everything appears to be working, we recommend the following sequence of action: 1. Run all of the sample programs described in Chapter 4 to get a basic familiarity with Dynamic C and the RabbitCore module’s capabilities. 2. For further development, refer to the RabbitCore RCM2100 User’s Manual for details of the module’s hardware and software components.
3. RUNNING SAMPLE PROGRAMS To develop and debug programs for the RCM2100 (and for all other Rabbit Semiconductor hardware), you must install and use Dynamic C. Dynamic C is an integrated development system for writing embedded software. It runs on an IBM-compatible PC and is designed for use with Rabbit Semiconductor single-board computers and other single-board computers based on the Rabbit microprocessor.
3.1.1 Getting to Know the RCM2100 The following sample programs can be found in the SAMPLES\RCM2100 folder. • EXTSRAM.C—demonstrates the setup and simple addressing to an external SRAM. This program first maps the external SRAM to the I/O Bank 7 register with a maximum of 15 wait states, chip select strobe (PE7), and allows writes. The first 256 bytes of SRAM are cleared and read back. Values are then written to the same area and are read back.
• FLASHLEDS.C—demonstrates the use of coding with assembly instructions, cofunctions, and costatements to flash LEDs DS2 and DS3 on the Prototyping Board on and off. LEDs DS2 and DS3 are controlled by Parallel Port A bit 0 (PA0) and Parallel Port A bit 1 (PA1).Once you have compile this program and it is running, LEDs DS2 and DS3 will flash on/off at different rates. • FLASHLEDS2.C—demonstrates the use of cofunctions and costatements to flash LEDs DS2 and DS3 on the Prototyping Board on and off.
• LCD_DEMO.C—demonstrates a simple setup for an LCD that uses the HD44780 controller or an equivalent. Connect the LCD to the RCM2100 address and data lines on the Prototyping Board.
3.1.2 Serial Communication The following sample programs can be found in the SAMPLES\RCM2100 folder. Two sample programs, CORE_FLOWCONTROL.C and CORE_PARITY.C, are available to illustrate RS-232 communication. To run these sample programs, you will have to add an RS-232 transceiver such as the MAX232 at location U2 and four 100 nF capacitors at C3–C6 on the Prototyping Board. Also install the 2 × 5 IDC header included with the Prototyping Board accessory parts at J6 to interface the RS-232 signals.
Two sample programs, MASTER2.C and SLAVE2.C, are available to illustrate RS-485 master/slave communication. To run these sample programs, you will need a second Rabbit-based system with RS-485, and you will also have to add an RS-485 transceiver such as the SP483E and bias resistors to the Prototyping Board. PC0 PC1 PD0 47 kW Vcc 485+ Vcc bias 681 W RO termination 220 W /RE bias 681 W DI A RS-485 DE CHIP B 485 The diagram shows the connections.
3.1.4 Sample Program Descriptions 3.1.4.1 FLASHLED.C This program is about as simple as a Dynamic C application can get—the equivalent of the traditional “Hello, world!” program found in most basic programming tutorials. If you are familiar with ANSI C, you should have no trouble reading through the source code and understanding it. The only new element in this sample application should be Dynamic C’s handling of the Rabbit microprocessor’s parallel ports. The program: 4.
3.1.4.2 FLASHLEDS.C In addition to Dynamic C’s implementation of C-language programming for embedded systems, it supports assembly-language programming for very efficient processor-level control of the module hardware and program flow. This application is similar to FLASHLED.C and TOGGLELEDS.C, but uses assembly language for the low-level port control within cofunctions, another powerful multitasking tool. Dynamic C permits the use of assembly language statements within C code.
tion of how Dynamic C handles multitasking with costatements and cofunctions, see Chapter 5, “Multitasking with Dynamic C,” and Chapter 6, “The Virtual Driver,” in the Dynamic C User’s Manual. 3.1.4.3 TOGGLELED.C One of Dynamic C’s unique and powerful aspects is its ability to efficiently multitask using cofunctions and costatements. This simple application demonstrates how these program elements work. This sample program uses two costatements to set up and manage the two tasks.
22 RabbitCore RCM2100
4. HARDWARE REFERENCE Chapter 3 describes the hardware components and principal hardware subsystems of the RabbitCore RCM2100. Appendix A, “RabbitCore RCM2100 Specifications,” provides complete physical and electrical specifications. 4.1 RCM2100 Digital Inputs and Outputs Figure 5 shows the subsystems designed into the RCM2100 modules.
The RCM2100 has 40 parallel I/O lines grouped in five 8-bit ports available on headers J1 and J2. The 24 bidirectional I/O lines are located on pins PA0–PA7, PD0–PD7, and PE0– PE7. The pinouts for headers J1 and J2 are shown in Figure 6.
Header J1 Table 2.
Table 2.
Table 2.
4.1.1 Dedicated Inputs PB0 and PB1 are designated as inputs because the Rabbit 2000 is operating in an asynchronous mode. Four of the input-only pins are located on PB2–PB5. These pins are used for the slave port. PB2 and PB3 are slave write and slave read strobes, while PB4 and PB5 serve as slave address lines SA0 and SA1, and are used to access the slave registers (SD0– SD7), which is the alternate assignment for parallel port A.
4.2 Serial Communication The RCM2100 board does not have an RS-232 or an RS-485 transceiver directly on the board. However, an RS-232 or RS-485 interface may be incorporated on the board the RCM2100 is mounted on. For example, the Prototyping Board supports a standard RS-232 transceiver chip. 4.2.1 Serial Ports There are four serial ports designated as Serial Ports A, B, C, and D. All four serial ports can operate in an asynchronous mode up to the baud rate of the system clock divided by 32.
Once you have removed the 0 Ω resistor “jumper,” R5, use a screw in the position indicated in Figure 9 to attach the RCM2100 board to the chassis ground, thereby grounding the transformer/connector assembly. Insert screw with ring terminal and ground other end of wire to chassis Resistor R5 Figure 9.
Alternate Uses of the Serial Programming Port All three clocked Serial Port A signals are available as • a synchronous serial port • an asynchronous serial port, with the clock line usable as a general CMOS input The serial programming port may also be used as a serial port via the DIAG connector on the serial programming cable. In addition to Serial Port A, the Rabbit 2000 startup-mode (SMODE0, SMODE1), status, and reset pins are available on the serial programming port.
4.3 Serial Programming Cable The programming cable is used to connect the RCM2100’s programming port to a PC serial COM port. The programming cable converts the RS-232 voltage levels used by the PC serial port to the TTL voltage levels used by the Rabbit 2000. When the PROG connector on the programming cable is connected to the RCM2100’s programming header, programs can be downloaded and debugged over the serial interface.
4.3.2 Standalone Operation of the RCM2100 The RCM2100 must be programmed via the RCM2100 Prototyping Board or via a similar arrangement on a customer-supplied board. Once the RCM2100 has been programmed successfully, remove the programming cable from the programming connector and reset the RCM2100. The RCM2100 may be reset by cycling the power off/on or by pressing the RESET button on the Prototyping Board. The RCM2100 module may now be removed from the Prototyping Board for end-use installation.
4.4 Memory 4.4.1 SRAM The RCM2100 is designed to accept 32K to 512K of SRAM packaged in an SOIC case. 4.4.2 Flash Memory The RCM2100 is also designed to accept 128K to 512K of flash memory packaged in a TSOP case. NOTE: Rabbit Semiconductor recommends that any customer applications should not be constrained by the sector size of the flash EPROM since it may be necessary to change the sector size in the future. Writing to arbitrary flash memory addresses at run time is also discouraged.
4.5 Other Hardware 4.5.1 Clock Doubler The RCM2100 takes advantage of the Rabbit 2000 microprocessor’s internal clock doubler. A built-in clock doubler allows half-frequency crystals to be used to reduce radiated emissions. The 22.1 MHz frequency is generated using an 11.05 MHz crystal. The clock doubler is disabled automatically in the BIOS for crystals with a frequency above 12.9 MHz. The clock doubler may be disabled if 22.1 MHz clock speeds are not required.
4.5.2 Spectrum Spreader RCM2100 modules that have a Rabbit 2000 microprocessor labeled IQ4T (or higher) are equipped with a Rabbit 2000 microprocessor that has a spectrum spreader, which helps to mitigate EMI problems. By default, the spectrum spreader is on automatically for RCM2100 modules that carry the IQ4T (or higher) marking when used with Dynamic C 7.30 or later versions, but the spectrum spreader may also be turned off or set to a stronger setting.
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 Rabbit Semiconductor single-board computers and other single-board computers based on the Rabbit microprocessor. Chapter 4 provides the libraries and function calls related to the RCM2100. 5.1 More About Dynamic C Dynamic C has been in use worldwide since 1989.
5.1.1 Using Dynamic C You have a choice of doing your software development in the flash memory or in the SRAM included on the RCM2100. There are 512K or 256K bytes of flash memory and 512K or 128K bytes of SRAM. The flash memory and SRAM options are selected with the Options > Project Options > Compiler menu. The advantage of working in RAM is to save wear on the flash memory, which is limited to about 100,000 write cycles. The disadvantage is that the code and data might not both fit in RAM.
• Standard debugging features: X Breakpoints—Set breakpoints that can disable interrupts. X Single-stepping—Step into or over functions at a source or machine code level, µC/OS-II aware. X 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.
5.2 I/O The RCM2100 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 your specific needs. For example, use WrPortI(PEDDR, &PEDDRShadow, 0x00); to set all the port E bits as inputs, or use WrPortI(PEDDR, &PEDDRShadow, 0xFF); to set all the port E bits as outputs. The sample programs in the Dynamic C SAMPLES/RCM2100 directory provide further examples. 5.2.
5.3 Serial Communication Drivers Library files included with Dynamic C provide a full range of serial communications support. The RS232.LIB library provides a set of circular-buffer-based serial functions. The PACKET.LIB library provides packet-based serial functions where packets can be delimited by the 9th bit, by transmission gaps, or with user-defined special characters.
5.5 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/ for the latest patches, workarounds, and bug fixes. The default installation of a patch or bug fix is to install the file in a directory (folder) different from that of the original Dynamic C installation.
6. USING THE TCP/IP FEATURES 6.1 TCP/IP Connections Programming and development can be done with the RCM2100 RabbitCore modules without connecting the Ethernet port to a network. However, if you will be running the sample programs that use the Ethernet capability or will be doing Ethernet-enabled development, you should connect the RCM2100 module’s Ethernet port at this time. Before proceeding you will need to have the following items.
The following options require more care in address selection and testing actions, as conflicts with other users, servers and systems can occur: • LAN — Connect the RCM2100’s Ethernet port to an existing LAN, preferably one to which the development PC is already connected. You will need to obtain IP addressing information from your network administrator.
6.2 TCP/IP Primer on IP Addresses Obtaining IP addresses to interact over an existing, operating, network can involve a number of complications, and must usually be done with cooperation from your ISP and/or network systems administrator. For this reason, it is suggested that the user begin instead by using a direct connection between a PC and the RCM2100 board using an Ethernet crossover cable or a simple arrangement with a hub.
Hub(s) Internet Adapter Ethernet Firewall Proxy Server Network of Workstations Ethernet Typical Corporate Network RCM2100 Board 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 without having to set up a direct connection between your computer and the RCM2100 board.
6.3 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 the 4 bytes expressed as shown above. A local network uses a group of adjacent IP addresses. There are always 2N IP addresses in a local network. The netmask (also called subnet mask) determines how many IP addresses belong to the local network.
6.4 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 another computer, given the IP address of the other computer, it is first determined if the packet needs to be sent directly to the other computer or to the gateway. In either case, there is an IP address on the local network to which the packet must be sent.
6.5 Dynamically Assigned Internet Addresses In many instances, there are no 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 when you have a device that provides your IP addresses using the Dynamic Host Configuration Protocol (DHCP).
6.6 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 traffic that did not originate from inside the network. If you want users on the Internet to communicate with your RCM2100, you have several options.
6.7 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 RCM2100 board together on the same network. This network can be a local private network (preferred for initial experimentation and debugging), or a connection via the Internet.
6.8 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. Instead of the MY_IP_ADDRESS and other macros, you will see a TCPCONFIG macro. This macro tells Dynamic C to select your configuration from a list of default configurations. You will have three choices when you encounter a sample program with the TCPCONFIG macro. 1.
6.8.1 How to Set Up your Computer for Direct Connect Follow these instructions to set up your PC or notebook. Check with your administrator if you are unable to change the settings as described here since you may need administrator privileges. The instructions are specifically for Windows 2000, but the interface is similar for other versions of Windows. TIP: If you are using a PC that is already on a network, you will disconnect the PC from that network to run these sample programs.
6.9 Run the PINGME.C Sample Program Connect the crossover cable from your computer’s Ethernet port to the RCM2100 board’s RJ-45 Ethernet connector. Open this sample program from the SAMPLES\TCPIP\ICMP folder, compile the program, and start it running under Dynamic C. When the program starts running, the green LNK light on the RCM2100 board should be on to indicate an Ethernet connection is made.
Program Description For operation, network addresses must be correctly defined at the start of this program. The TCPCONFIG 1 macro in the sample program provides default settings for MY_IP_ADDRESS, which is the address of the RCM2100 module, MY_NETMASK, and MY_GATEWAY (which needs to be defined if you wish to ping systems outside the local network). If you wish to ping systems using domain names instead of IP addresses, a valid DNS server address must be defined for MY_NAMESERVER.
6.10.2 Sample Program: ETHCORE1.C The RCM2100 modules with Ethernet ports can act as micro Web page servers, with dynamic interaction between the controller and the web pages. This sample program demonstrates how a Web page can be used to both monitor and control an RCM2100 module. Compile & Run Program Open the sample program ETHCORE1.C. Press F9 to compile and run the program. TIP: This program will be more interesting to observe if LEDs DS4 and DS5 are installed on the Prototyping Board.
Generally, the other defined values may be left at their default settings. If you are operating the system behind a firewall or proxy and need to specify a host port for redirection, you should comment out the line reading: #define REDIRECTHOST MY_IP_ADDRESS Then uncomment the next line, which defines a specific redirection host and port: #define REDIRECTHOST "my host.com:8080" Be sure to enter the host port where indicated by "my host.com:8080". This application creates dynamic HTML web pages on the fly.
6.11 Where Do I Go From Here? NOTE: If you purchased your RCM2100 through a distributor or through a Rabbit Semiconductor partner, contact the distributor or partner first for technical support. If there are any problems at this point: • Use the Dynamic C Help menu to get further assistance with Dynamic C. • Check the Rabbit Semiconductor Technical Bulletin Board at www.rabbit.com/support/bb/. • Use the Technical Support e-mail form at www.rabbit.com/support/.
APPENDIX A. RABBITCORE RCM2100 SPECIFICATIONS Appendix A provides the specifications for the RCM2100, and describes the conformal coating.
A.1 Electrical and Mechanical Characteristics Figure A-1 shows the mechanical dimensions for the RCM2100. 3.50 (89) 2.10 0.14 (3.5) 0.475 (53) 0.120 dia (12) (3) 0.625 (51) (44) 1.73 2.00 (15.7) 1.26 (17) 0.655 (68) 0.166 dia (22) 0.86 (6.2) 0.245 0.245 (2.2) 0.087 0.087 (22) (6.2) (51) (2.2) 2.00 (1.6) Please refer to the RCM2100 footprint diagram later in this appendix for precise header locations. 0.86 (14) 0.55 (89) (1.6) J1 3.50 0.062 J2 0.062 (14) 0.
It is recommended that you allow for an “exclusion zone” of 0.04" (1 mm) around the RCM2100 in all directions when the RCM2100 is incorporated into an assembly that includes other components. An “exclusion zone” of 0.16" (4 mm) is recommended below the RCM2100 when the RCM2100 is plugged into another assembly using the shortest connectors for headers J1 and J2 on the RCM2100. Figure A-2 shows this “exclusion zone.” 3.58 (4) 0.16 (15) 0.60 (91) J2 J1 3.50 (89) 2.08 Exclusion Zone (4) 0.
Table A-1 lists the electrical, mechanical, and environmental specifications for the RCM2100. Table A-1. RCM2100 Specifications Parameter RCM2100 RCM2110 RCM2120 RCM2130 Rabbit® 2000 at 22.
A.1.1 Headers The RCM2100 uses headers at J1, J2, and J3 for physical connection to other boards. J1 and J2 are 2 × 20 SMT headers with a 2 mm pin spacing. J3 is a 2 × 4 header with a 2 mm pin spacing. Figure A-3 shows the layout of another board for the RCM2100 to be plugged in to. These reference design values are relative to the mounting hole or to the header connectors. J2 2.375 (60.33) 1.134 J1 (28.28) 0.020 sq typ (0.5) J3 0.120 dia (3.05) 0.869 (22.07) J3 is not normally installed 0.
A.2 Bus Loading You must pay careful attention to bus loading when designing an interface to the RabbitCore RCM2100. This section provides bus loading information for external devices. Table A-2 lists the capacitance for the various RCM2100 I/O ports. Table A-2. Capacitance of RCM2100 I/O Ports Input Capacitance Output Capacitance I/O Ports Typ. Max. Typ. Max.
Figure A-4 shows a typical timing diagram for the Rabbit 2000 microprocessor external I/O read and write cycles. External I/O Read (no extra wait states) T1 Tw T2 CLK A[15:0] valid Tadr /CSx /IOCSx TCSx TCSx TIOCSx TIOCSx /IORD TIORD TIORD /BUFEN TBUFEN Tsetup TBUFEN D[7:0] valid Thold External I/O Write (no extra wait states) T1 Tw T2 CLK A[15:0] valid Tadr /CSx /IOCSx /IOWR /BUFEN D[7:0] TCSx TCSx TIOCSx TIOCSx TIOWR TIOWR TBUFEN TBUFEN valid TDHZV TDVHZ Figure A-4.
A.3 Rabbit 2000 DC Characteristics Table A-4 outlines the DC characteristics for the Rabbit 2000 at 5.0 V over the recommended operating temperature range from Ta = –40°C to +85°C, VDD = 4.5 V to 5.5 V. Table A-4. 5.0 Volt DC Characteristics Symbol Parameter Test Conditions Min IIH Input Leakage High VIN = VDD, VDD = 5.5 V IIL Input Leakage Low (no pull-up) VIN = VSS, VDD = 5.5 V -10 IOZ Output Leakage (no pull-up) VIN = VDD or VSS, VDD = 5.
A.4 I/O Buffer Sourcing and Sinking Limit Unless otherwise specified, the Rabbit I/O buffers are capable of sourcing and sinking 8 mA of current per pin at full AC switching speed. Full AC switching assumes a 22.1 MHz CPU clock and capacitive loading on address and data lines of less than 100 pF per pin. Pins A0–A12 and D0–D7 are each rated at 8 mA. The absolute maximum operating voltage on all I/O is VDD + 0.5 V, or 5.5 V.
A.5 Jumper Configurations Figure A-5 shows the header locations used to configure the various RCM2100 options via jumpers. JP4 Top Side J1 J2 JP2 JP1 Flash EPROM Flash EPROM SRAM JP3 Bottom Side Figure A-5.
Table A-6 lists the configuration options. Table A-6. RCM2100 Jumper Configurations Header JP1 JP2 JP3 JP4 Description Pins Connected Factory Default × 1–2 128K/256K 2–3 512K 1–2 128K/256K 2–3 512K — n.c.
A.6 Conformal Coating The areas around the crystal oscillator has had the Dow Corning silicone-based 1-2620 conformal coating applied. The conformally coated area is shown in Figure A-6. The conformal coating protects these high-impedance circuits from the effects of moisture and contaminants over time. Figure A-6. RCM2100 Areas Receiving Conformal Coating Any components in the conformally coated area may be replaced using standard soldering procedures for surface-mounted components.
APPENDIX B. PROTOTYPING BOARD Appendix B describes the features and accessories of the Prototyping Board, and explains the use of the Prototyping Board to demonstrate the RCM2100 and to build prototypes of your own circuits.
B.1 Overview of the Prototyping Board The Prototyping Board included in the Development Kit makes it easy to connect an RCM2100 module to a power supply and a PC workstation for development. It also provides an array of basic I/O peripherals (switches and LEDs), as well as a prototyping area for more advanced hardware development. For the most basic level of evaluation and development, the Prototyping Board can be used without modification.
B.1.1 Prototyping Board Features Power Connection. A 3-pin header is provided for connection of a power supply. Note that it is symmetrical, with both outer pins connected to ground and the center pin connected to the raw V+ input. The cable of the wall transformer provided with the North American version of the Development Kit ends in a connector that is correctly connected in either orientation. Users providing their own power supply should ensure that it delivers 9–24 V DC at not less than 500 mA.
B.1.2 Prototyping Board Expansion The Prototyping Board comes with several unpopulated areas, which may be filled with components to suit the user’s development needs. After you have experimented with the sample programs in Chapter 4, you may wish to expand the board’s capabilities for further experimentation and development. Refer to the Prototyping Board schematic (090–0116) for details as necessary. Module Extension Headers The complete pin set of the RCM2100 module is duplicated at these two headers.
B.2 Mechanical Dimensions and Layout 4.25 (108) Figure B-2 shows the mechanical dimensions and layout for the RCM2100 Prototyping Board. 5.25 (133) Figure B-2. RCM2100 Prototyping Board Dimensions Table B-1 lists the electrical, mechanical, and environmental specifications for the Prototyping Board. Table B-1. Prototyping Board Specifications Parameter Specification Board Size 4.25" × 5.25" × 1.
B.3 Power Supply The RCM2100 requires a regulated 5 V ± 0.25 V DC power source to operate. Depending on the amount of current required by the application, different regulators can be used to supply this voltage. The Prototyping Board has an onboard LM340-T5 or equivalent. The LM340-T5 is an inexpensive linear regulator that is easy to use. Its major drawback is its inefficiency, which is directly proportional to the voltage drop across it. The voltage drop creates heat and wastes power.
To maximize the availability of RCM2100 resources, the demonstration hardware (LEDs and switches) on the Prototyping Board may be disconnected. This is done by cutting the traces below the silk-screen outline of header JP1 on the bottom side of the Prototyping Board. Figure B-4 shows the four places where cuts should be made. An exacto knife would work nicely to cut the traces. Alternatively, a small standard screwdriver may be carefully and forcefully used to wipe through the PCB traces.
and 40-pin headers or sockets may be installed at J2 and J4. The pinouts for locations J1 and J3, which correspond to J2 and J4, are shown in Figure B-5.
B.4.1 Adding Other Components There is room on the Prototyping Board for a user-supplied RS-232 transceiver chip at location U2 and a 10-pin header for serial interfacing to external devices at location J6. A Maxim MAX232 transceiver is recommended. When adding the MAX232 transceiver at position U2, you must also add 100 nF charge storage capacitors at positions C3–C6 as shown in Figure B-7. 2 23 X A M 100 nF storage capacitors Figure B-7.
80 RabbitCore RCM2100
APPENDIX C. POWER SUPPLY Appendix C provides information on the current and power supply requirements of the RCM2100, and some background on the chip select and battery-backup circuits used in power mangement. C.1 Power Supplies The RCM2100 requires a regulated 5 V ± 0.25 V DC power source. The RCM2100 design presumes that the voltage regulator is on the user board, and that the power is made available to the RCM2100 board through headers J1 and J2. An RCM2100 with no loading at the outputs operating at 22.
A lithium battery with a nominal voltage of 3 V 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 the battery by the RCM2100 is typically 16 µA when no other power is supplied. If a 950 mA·h battery is used, the battery can last more than 6 years: 950 mA·h ------------------------ = 6.8 years.
VRAM is also available on pin 29 of header J2 to facilitate battery backup of the external circuit. Note that the recommended maximum external current draw from VRAM is 100 µA, and new battery-life calculations should be done to take external loading into account. C.1.2 Power to VRAM Switch The VRAM switch, shown in Figure C-3, allows a customer-supplied external battery to provide power when the external power goes off. The switch provides an isolation between Vcc and the battery when Vcc goes low.
C.2 Chip Select Circuit The RCM2100 has provision for battery backup, which kicks in to keep VRAM from dropping below 2 V. The current drain on the battery in a battery-backed circuit must be kept to a minimum. When the RCM2100 is not powered, the battery keeps the SRAM memory contents and the real-time clock (RTC) going. The SRAM has a powerdown mode that greatly reduces power consumption. This powerdown mode is activated by raising the chip select (CS) signal line.
APPENDIX D. SAMPLE CIRCUITS This appendix details several basic sample circuits that can be used with the RCM2100 modules.
D.1 RS-232/RS-485 Serial Communication RS-232 1 RabbitCore RCM2100 V+ V C1+ 100 nF J1 3 C1 4 C2+ 5 C2 VCC 100 nF 2 6 100 nF 100 nF 29 PC4 11 T1IN T1OUT 14 TXB 27 PC2 10 T2IN T2OUT 7 TXC 30 PC5 12 R1OUT R1IN 13 RXB 28 PC3 9 R2OUT R2IN 8 RXC 25 PC0 4 D 26 PC1 1 R RabbitCore RCM2100 J1 33 PD0 47 kW 3 2 RS-485 VCC 680 W A 6 B 7 DE 485+ 220 W 485 680 W RE SP483EN Figure D-1. Sample RS-232 and RS-485 Circuits Sample Program: PUTS.
D.2 Keypad and LCD Connections RabbitCore RCM2100 J2 VCC 10 kW resistors PB0 PB2 PB3 PB4 PB5 1 3 4 5 6 J1 Keypad Row 0 Row 2 Row 3 Row 4 Row 5 PC1 PD1 PD2 26 34 35 Row 1 Col 0 Col 1 NC NC Figure D-2. Sample Keypad Connections Sample Program: KEYLCD2.C in SAMPLES\RCM2100. RabbitCore RCM2100 10 9 8 7 6 5 4 PA1 PA2 PA3 PA4 PA5 PA6 PA7 100 nF 680 W 3 470 W 1 kW 2.2 kW 4.
D.3 External Memory The sample circuit can be used with an external 64K memory device. Larger SRAMs can be written to using this scheme by using other available Rabbit 2000 ports (parallel ports A to E) as address lines. 8K × 8 SRAM RabbitCore RCM2100 BA0BA12 A0A12 D0D7 BD0BD7 /IOW /IOR PE7 /WE /OE /CE 10 kW Vcc Figure D-4. Sample External Memory Connections Sample Program: EXTSRAM2.C in SAMPLES\RCM2100.
D.4 D/A Converter The output will initially be 0 V to -10.05 V after the first inverting op-amp, and 0 V to +10.05 V after the second inverting op-amp. All lows produce 0 V out, FF produces 10 V out. The output can be scaled by changing the feedback resistors on the op-amps. For example, changing 5.11 kΩ to 2.5 kΩ will produce an output from 0 V to -5 V. Op-amps with a very low input offset voltage are recommended. HC374 649 kW 324 kW 162 kW CT0CT7 PA0PA7 20 kW E 10 kW 10 kW + 1.
90 RabbitCore RCM2100
INDEX A E J additional information ............ 5 jumper configurations ..... 68, 69 JP1 (flash memory size) .... 69 JP2 (flash memory size) .... 69 JP3 (SRAM size) .............. 69 JP4 (flash memory bank select) ...................... 34, 69 jumper locations ................ 68 clock doubler ........................ 35 conformal coating ................. 70 EMI spectrum spreader feature . 36 Ethernet cables ...................... 43 Ethernet connections ....... 43, 45 10Base-T ......................
Prototyping Board .................72 features ..................72, 73, 74 mounting RCM2100 ............8 R Rabbit subsystems .................23 RCM2100 mounting on Prototyping Board ...............................8 reset .......................................10 Run Mode ..............................32 switching modes ................32 S sample circuits .......................85 serial communication ........86 sample programs getting to know the RCM2100 EXTSRAM.C ................14 FLASHLED.C .......
SCHEMATICS 090-0114 RCM2100 Schematic www.rabbit.com/documentation/schemat/090-0114.pdf 090-0116 RCM2100 Prototyping Board Schematic www.rabbit.com/documentation/schemat/090-0116.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.