RabbitCore RCM3400C-Programmable Analog Core Modulewith 10/100Base-T Reference DesignUser’s Manual019–0122_N
4 RabbitCore RCM34001.3 Development and Evaluation Tools1.3.1 RCM3400 Development KitThe RCM3400 Development Kit contains the hardware essentials yo
94 RabbitCore RCM3400The following options require more care in address selection and testing actions, as conflicts with other users, servers and syst
User’s Manual 95C.2 TCP/IP Primer on IP AddressesObtaining IP addresses to interact over an existing, operating, network can involve a num-ber of com
96 RabbitCore RCM3400If your system administrator can give you an Ethernet cable along with its IP address, the netmask and the gateway address, then
User’s Manual 97C.2.1 IP Addresses ExplainedIP (Internet Protocol) addresses are expressed as 4 decimal numbers separated by periods, for example:216
98 RabbitCore RCM3400C.2.2 How IP Addresses are UsedThe actual hardware connection via an Ethernet uses Ethernet adapter addresses (also called MAC
User’s Manual 99C.2.3 Dynamically Assigned Internet AddressesIn many instances, there are no fixed IP addresses. This is the case when, for example,
100 RabbitCore RCM3400C.3 Placing Your Device on the NetworkIn many corporate settings, users are isolated from the Internet by a firewall and/or a p
User’s Manual 101C.4 Running TCP/IP Sample ProgramsWe have provided a number of sample programs demonstrating various uses of TCP/IP for networking e
102 RabbitCore RCM3400C.4.1 How to Set IP Addresses in the Sample ProgramsWith the introduction of Dynamic C 7.30 we have taken steps to make it easi
User’s Manual 103C.4.2 How to Set Up your Computer’s IP Address for Direct ConnectWhen your computer is connected directly to the RCM3400 Prototyping
User’s Manual 51.3.2 SoftwareThe RCM3400 is programmed using version 7.32 or later of Dynamic C. A compatible version is included on the Development
104 RabbitCore RCM3400C.5 Run the PINGME.C Sample ProgramConnect the crossover cable from your computer’s Ethernet port to the RJ-45 Ethernet connect
User’s Manual 105C.7 Where Do I Go From Here?NOTE: If you purchased your RCM3400 through a distributor or through a Rabbit Semi-conductor partner, co
106 RabbitCore RCM3400
User’s Manual 107APPENDIX D. LCD/KEYPAD MODULEAn optional LCD/keypad is available for the Prototyping Board.Appendix D describes the LCD/keypad and p
108 RabbitCore RCM3400Mounting hardware and a 60 cm (24") extension cable are also available for the LCD/keypad module through your sales represe
User’s Manual 109D.2 Contrast Adjustments for All BoardsStarting in 2005, LCD/keypad modules were factory-configured to optimize their contrast based
110 RabbitCore RCM3400D.3 Keypad LabelingThe keypad may be labeled according to your needs. A template is provided in Figure D-4 to allow you to desi
User’s Manual 111D.4 Header PinoutsFigure D-6 shows the pinouts for the LCD/keypad module.Figure D-6. LCD/Keypad Module Pinouts D.4.1 I/O Address A
112 RabbitCore RCM3400D.5 Mounting LCD/Keypad Module on the Prototyping BoardInstall the LCD/keypad module on header sockets LCD1JA, LCD1JB, and LCD1
User’s Manual 113D.6 Bezel-Mount InstallationThis section describes and illustrates how to bezel-mount the LCD/keypad module designed for remote inst
6 RabbitCore RCM3400
114 RabbitCore RCM34003. 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
User’s Manual 115D.6.1 Connect the LCD/Keypad Module to Your Prototyping BoardThe LCD/keypad module can be located as far as 2 ft. (60 cm) away from
116 RabbitCore RCM3400D.7 Sample ProgramsSample programs illustrating the use of the LCD/keypad module with the Prototyping Board are provided in the
User’s Manual 117D.8 LCD/Keypad Module Function CallsWhen mounted on the Prototyping Board, the LCD/keypad module uses the auxiliary I/O bus on the
118 RabbitCore RCM3400D.8.3 LCD DisplayThe functions used to control the LCD display are contained in the GRAPHIC.LIB library located in the Dynamic
User’s Manual 119Sets display contrast.NOTE: This function is not used with the LCD/keypad module since the support circuits are not available on the
120 RabbitCore RCM3400Fills a rectangular block in the LCD buffer with the pattern specified. The block left and width parame-ters must be byte-aligne
User’s Manual 121Draws 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 L
122 RabbitCore RCM3400Plots 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
User’s Manual 123Fills 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 d
User’s Manual 72. GETTING STARTEDThis chapter describes the RCM3400 hardware in more detail, andexplains how to set up and use the accompanying Proto
124 RabbitCore RCM3400Initializes the font descriptor structure, where the font is stored in xmem. Each font character's bitmap is column major a
User’s Manual 125Puts 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 c
126 RabbitCore RCM3400Provides an interface between the STDIO string-handling functions and the graphic library. The STDIO string-formatting function
User’s Manual 127Increments LCD screen locking counter. Graphic calls are recorded in the LCD memory buffer and are not transferred to the LCD if the
128 RabbitCore RCM3400Gets the current method (or color) of pixels drawn by subsequent graphic calls. RETURN VALUEThe current brush type.SEE ALSOglSet
User’s Manual 129Draws 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
130 RabbitCore RCM3400Scrolls byte-aligned window right one pixel, left column is filled by current pixel type (color).PARAMETERSleft is the top left
User’s Manual 131Scrolls right or left, within the defined window by x number of pixels. The opposite edge of the scrolled window will be filled in wi
132 RabbitCore RCM3400Scrolls up or down, within the defined window by x number of pixels. The opposite edge of the scrolled window will be filled in
User’s Manual 133Draws bitmap in the specified space. The data for the bitmap are stored in xmem. This function is like glXPutBitmap, except that it i
8 RabbitCore RCM34002.2 Hardware Connections2.2.1 Attach Module to Prototyping BoardTurn the RCM3400 module so that the Rabbit 3000 chip is facing u
134 RabbitCore RCM3400This function initializes the window frame structure with the border and title information.NOTE: Execute the TextWindowFrame fun
User’s Manual 135Sets the cursor location to display the next character. The display location is based on the height and width of the character to be
136 RabbitCore RCM3400Displays a character on the display where the cursor is currently pointing. Once a character is displayed, the cursor will be in
User’s Manual 137This function returns the maximum number of characters that can be displayed within the text window.NOTE: Execute the TextWindowFrame
138 RabbitCore RCM3400D.8.4 KeypadThe functions used to control the keypad are contained in the Dynamic C LIB\KEY-PADS\KEYPAD7.LIB library.Initialize
User’s Manual 139cSpdHi is a high-speed repeat tick, which is approximately one debounce period or 5 µs.How many times to repeat after low speed repea
140 RabbitCore RCM3400Configures the physical layout of the keypad with the desired ASCII return key codes.Keypad physical mapping 1 × 7where'L&a
User’s Manual 141APPENDIX E. POWER SUPPLYAppendix D provides information on the current requirementsof the RCM3400, and includes some background on t
142 RabbitCore RCM3400The drain on the battery by the RCM3400 is typically 7.5 µA when no other power is sup-plied. If a 165 mA·h battery is used, the
User’s Manual 143INDEXAA/D convertercalibration ... 33, 83function callsanaIn ... 45anaInCalib ...
User’s Manual 92.2.2 Connect Programming CableThe programming cable connects the RCM3400 to the PC running Dynamic C to download programs and to moni
144 RabbitCore RCM3400JP3 (RS-485 bias and termi-nation resistors) ...87, 91JP4 (PG7 RS-232/RS-485 select) ...91JP5 (analog v
User’s Manual 145switching modes ...29Ssample programs ... 14A/D converter inputsAD_CAL_ALL.C ... 17, 83AD_CAL_CHAN.C ...
146 RabbitCore RCM3400
10 RabbitCore RCM34002.2.3 Connect PowerWhen all other connections have been made, you can connect power to the Prototyping Board. Connect the wall t
User’s Manual 112.3 Run a Sample ProgramIf you already have Dynamic C installed, you are now ready to test your programming connections by running a
12 RabbitCore RCM34002.4 Where Do I Go From Here?If the sample program ran fine, you are now ready to go on to the sample programs in the RCM3400 Use
User’s Manual 133. RUNNING SAMPLE PROGRAMSTo develop and debug programs for the RCM3400 (and for allother Digi hardware), you must install and use Dy
RabbitCore RCM3400RabbitCore RCM3400 User’s Manual©2011 Digi International® Inc. All rights reserved. Rabbit, Dynamic C, Rabbit 4000, Digi, Digi Inter
14 RabbitCore RCM34003.2 Sample ProgramsOf the many sample programs included with Dynamic C, several are specific to the RCM3400. These programs will
User’s Manual 15• FLASHLED1.c—demonstrates the use of assembly language to flash LEDs DS1 and DS2 on the Prototyping Board at different rates. Once yo
16 RabbitCore RCM3400• PARITY.C—This program demonstrates the use of parity modes by repeatedly sending byte values 0–127 from Serial Port D to Serial
User’s Manual 17The RS-485 connections between the slave and master devices are as follows.• RS485+ to RS485+• RS485– to RS485–• GND to GND• SIMPLE485
18 RabbitCore RCM3400• THERMISTOR.C—Demonstrates how to use analog input THERM_IN7 to calculate temperature for display to the STDIO window. This samp
User’s Manual 194. HARDWARE REFERENCEChapter 4 describes the hardware components and principal hardwaresubsystems of the RCM3400. Appendix A, “RCM340
20 RabbitCore RCM34004.1 RCM3400 Digital Inputs and OutputsFigure 5 shows the RCM3400 pinouts for headers J1 and J2.Figure 5. RCM3400 PinoutsHeaders
User’s Manual 21Figure 6 shows the use of the Rabbit 3000 microprocessor ports in the RCM3400 modules.Figure 6. Use of Rabbit 3000 PortsThe ports on
22 RabbitCore RCM3400Table 2. RCM3400 Pinout ConfigurationsPin Pin Name Default Use Alternate Use NotesHeader J11 LN3 Analog InputA/D converter2 LN7
User’s Manual 23Header J123 GND24 +3.3 V_IN25 PG7 Input/Output RXESerial Port E26 PG6 Input/Output TXE27 PG5 Input/Output RCLKE Serial Clock E input28
User’s ManualTABLE OF CONTENTSChapter 1. Introduction 11.1 RCM3400 Features...
24 RabbitCore RCM3400Header J21GND2 PF1 Input/OutputQD1ACLKC3 PB6 Input/Output IA4 External Address 44 PF0 Input/OutputQD1BCLKD5 PB5 Input/OutputIA3SA
User’s Manual 25Header J231 PD6 Input/Output ATXA32 /RESET_IN Input Input to Reset Generator33 PD7 Input/Output ARXA34 VBAT_EXTTable 2. RCM3400 Pinou
26 RabbitCore RCM34004.1.1 Memory I/O InterfaceThe Rabbit 3000 address lines (A0–A19) and all the data lines (D0–D7) are routed inter-nally to the on
User’s Manual 274.2 Serial CommunicationThe RCM3400 board does not have any serial transceivers directly on the board. How-ever, an Ethernet or other
28 RabbitCore RCM3400Alternate Uses of the Programming PortAll three clocked Serial Port A signals are available as• a synchronous serial port• an asy
User’s Manual 294.3 Serial Programming CableThe programming cable is used to connect the serial programming port of the RCM3400 to a PC serial COM po
30 RabbitCore RCM3400A program “runs” in either mode, but can only be downloaded and debugged when the RCM3400 is in the program mode.Refer to the Rab
User’s Manual 314.4 A/D ConverterThe RCM3400 has an onboard ADS7870 A/D converter whose scaling and filtering are done via the motherboard on which t
32 RabbitCore RCM3400If a device such as a battery is connected across two channels for a differential measurement, and it is not referenced to analog
User’s Manual 334.4.1 A/D Converter CalibrationAll single-ended inputs are factory-calibrated with actual voltages at a gain code of 0. Typical value
RabbitCore RCM34004.4 A/D Converter...
34 RabbitCore RCM34004.5 Other Hardware4.5.1 Clock DoublerThe RCM3400 takes advantage of the Rabbit 3000 microprocessor’s internal clock dou-bler. A
User’s Manual 354.6 Memory4.6.1 SRAMRCM3400 boards have 256K–512K of SRAM installed at U6.4.6.2 Flash EPROMRCM3400 boards also have 256K–512K of fl
36 RabbitCore RCM3400
User’s Manual 375. SOFTWARE REFERENCEDynamic C is an integrated development system for writingembedded software. It runs on an IBM-compatible PC and
38 RabbitCore RCM3400Dynamic C has a number of standard features:• Full-feature source and/or assembly-level debugger, no in-circuit emulator required
User’s Manual 395.2 Dynamic C Function Calls5.2.1 Digital I/OThe RCM3400 was designed to interface with other systems, and so there are no drivers w
40 RabbitCore RCM34005.2.4 Prototyping Board Function CallsThe functions described in this section are for use with the Prototyping Board features. T
User’s Manual 415.2.6 Analog InputsUse this function to configure the A/D converter. This function will address the A/D converter in Register Mode on
42 RabbitCore RCM3400PARAMETERSinstructionbyte is the instruction byte that will initiate a read or write operation at 8 or 16 bits on the designated
User’s Manual 43Reads the voltage of an analog input channel by serial-clocking an 8-bit command to the A/D converter by its Direct Mode method. This
User’s ManualC.3 Placing Your Device on the Network ...100
44 RabbitCore RCM3400RETURN VALUEA value corresponding to the voltage on the analog input channel:0–2047 for 11-bit conversions (bit 12 for sign)-1 ov
User’s Manual 45Reads the value of an analog input channel using the direct method of addressing the A/D converter. Note that it takes about 1 second
46 RabbitCore RCM3400Calibrates the response of the desired A/D converter channel as a linear function using the two conver-sion points provided. Four
User’s Manual 47value1 is the first A/D converter channel raw count valuevolts1 is the voltage or current corresponding to the first A/D converter cha
48 RabbitCore RCM3400Reads the state of a single-ended analog input channel and uses the previously set calibration constants to convert it to volts.P
User’s Manual 49Reads the state of differential analog input channels and uses the previously set calibration constants to convert it to volts.PARAMET
50 RabbitCore RCM3400Reads the state of an analog input channel and uses the previously set calibration constants to convert it to current.PARAMETERSc
User’s Manual 51Reads the calibration constants, gain, and offset for an input based on their designated position in the simulated EEPROM area of the
52 RabbitCore RCM3400gaincode is the gain code of 0 to 7. The gaincode parameter is ignored when channel is ALLCHAN.RETURN VALUE0 if successful.-1 if
User’s Manual 53Writes the calibration constants, gain, and offset for an input based from global tables _adcCalibS, _adcCalibD, and _adcCalibM to des
RabbitCore RCM3400
54 RabbitCore RCM3400gaincode is the gain code of 0 to 7. The gaincode parameter is ignored when channel is ALLCHAN.RETURN VALUE0 if successful-1 if a
User’s Manual 555.3 Upgrading Dynamic CDynamic C patches that focus on bug fixes are available from time to time. Check the Web site http://www.digi.
56 RabbitCore RCM3400
User’s Manual 57APPENDIX A. RCM3400 SPECIFICATIONSAppendix A provides the specifications for the RCM3400, anddescribes the conformal coating.
58 RabbitCore RCM3400A.1 Electrical and Mechanical CharacteristicsFigure A-1 shows the mechanical dimensions for the RCM3400.Figure A-1. RCM3400 Dim
User’s Manual 59It is recommended that you allow for an “exclusion zone” of 0.04" (1 mm) around the RCM3400 in all directions when the RCM3400 is
60 RabbitCore RCM3400Table A-1 lists the electrical, mechanical, and environmental specifications for the RCM3400.Table A-1. RabbitCore RCM3400 Speci
User’s Manual 61Watchdog/Supervisor YesPulse-Width Modulators 10-bit free-running counter and four pulse-width registers Input Capture2-channel input
62 RabbitCore RCM3400A.1.1 HeadersThe RCM3400 uses headers at J1 and J2 for physical connection to other boards. J1 and J2 are 2 × 17 SMT headers wit
User’s Manual 63A.2 Bus LoadingYou must pay careful attention to bus loading when designing an interface to the RCM3400. This section provides bus lo
User’s Manual 11. INTRODUCTIONThe RCM3400 is a compact module that incorporates the pow-erful Rabbit® 3000 microprocessor, flash memory, static RAM,d
64 RabbitCore RCM3400Figure A-4 shows a typical timing diagram for the Rabbit 3000 microprocessor external I/O read and write cycles.Figure A-4. Exte
User’s Manual 65Table A-5 lists the delays in gross memory access time for several values of VDD.The measurements are taken at the 50% points under th
66 RabbitCore RCM3400A.3 Rabbit 3000 DC CharacteristicsStresses beyond those listed in Table A-6 may cause permanent damage. The ratings are stress r
User’s Manual 67A.4 I/O Buffer Sourcing and Sinking LimitUnless otherwise specified, the Rabbit I/O buffers are capable of sourcing and sinking 6.8 m
68 RabbitCore RCM3400A.5 Conformal CoatingThe areas around the 32 kHz real-time clock crystal oscillator have had the Dow Corning silicone-based 1-26
User’s Manual 69A.6 Jumper ConfigurationsFigure A-6 shows the header locations used to configure the various RCM3400 options via jumpers. Figure A-6.
70 RabbitCore RCM3400
User’s Manual 71APPENDIX B. PROTOTYPING BOARDAppendix B describes the features and accessories of the Proto-typing Board, and explains the use of the
72 RabbitCore RCM3400B.1 IntroductionThe Prototyping Board included in the Development Kit makes it easy to connect an RCM3400 module to a power supp
User’s Manual 73B.1.1 Prototyping Board Features• Power Connection—A power-supply jack and a 3-pin header are provided for con-nection to the power s
2 RabbitCore RCM3400• One additional analog input (CONVERT)• External reset input• Alternate I/O bus can be configured for 8 data lines and 6 address
74 RabbitCore RCM3400• RS-232—Two 3-wire or one 5-wire RS-232 serial ports are available on the Prototyp-ing Board at header J5 and another two 3-wire
User’s Manual 75B.2 Mechanical Dimensions and LayoutFigure B-2 shows the mechanical dimensions and layout for the RCM3400 Prototyping Board.Figure B-
76 RabbitCore RCM3400Table B-1 lists the electrical, mechanical, and environmental specifications for the Proto-typing Board.B.3 Power SupplyThe RCM3
User’s Manual 77B.4 Using the Prototyping BoardThe Prototyping Board is actually both a demonstration board and a prototyping board. As a demonstrat
78 RabbitCore RCM3400Selected signals from the Rabbit 3000 microprocessor are available on header J1 of the Prototyping Board. The remaining ports on
User’s Manual 79There is a 2" × 4" through-hole prototyping space available on the Prototyping Board. The holes in the prototyping area are
80 RabbitCore RCM3400B.4.3 Analog FeaturesThe Prototyping Board has typical support circuitry installed to complement the ADS7870 A/D converter on th
User’s Manual 81Many other possible ranges are possible by physically changing the resistor values that make up the attenuator circuit.It is also poss
82 RabbitCore RCM3400B.4.3.2 Thermistor InputAnalog input THERM_IN7 on the Prototyping Board was designed specifically for use with a thermistor in c
User’s Manual 83B.4.3.3 A/D Converter CalibrationAll single-ended inputs are factory-calibrated with actual voltages at a gain code of 0. Typical val
User’s Manual 31.2 Advantages of the RCM3400• Fast time to market using a fully engineered, “ready-to-run/ready-to-program” micro-processor core.• Co
84 RabbitCore RCM3400B.4.4 Serial CommunicationThe RCM3400 Prototyping Board allows you to access five of the serial ports from the RCM3400 module. T
User’s Manual 85B.4.4.1 RS-232RS-232 serial communication on header J5 on both Prototyping Boards is supported by an RS-232 transceiver installed at
86 RabbitCore RCM3400B.4.4.2 RS-485The RCM3400 Prototyping Board has one RS-485 serial channel, which is connected to the Rabbit 3000 Serial Port E t
User’s Manual 87The RCM3400 Prototyping Board comes with a 220 termination resistor and two 681 bias resistors installed and enabled with jumpers
88 RabbitCore RCM3400B.4.4.3 Ethernet PortFigure B-10 shows the pinout for the Ethernet port (header J7). Note that there are two stan-dards for numb
User’s Manual 89B.4.5 Other Prototyping Board ModulesAn optional LCD/keypad module is available that can be mounted on the RCM3400 Prototyping Board.
90 RabbitCore RCM3400B.5 RCM3400 Prototyping Board Jumper ConfigurationsFigure B-12 shows the header locations used to configure the various RCM3400
User’s Manual 91JP5Analog Voltage/4–20 mA Options1–2 Connect for 4–20 mA option on ADC_IN3 n.c.3–4 Connect for 4–20 mA option on ADC_IN4 n.c.5–6 Conne
92 RabbitCore RCM3400
User’s Manual 93APPENDIX C. USING THE TCP/IPFEATURESC.1 TCP/IP ConnectionsProgramming and development can be done with the RCM3400 modules without c
Comments to this Manuals