101-1226 Rabbit Semiconductor, 101-1226 Datasheet

RCM3900 DEV KIT UNIVERSAL

101-1226

Manufacturer Part Number
101-1226
Description
RCM3900 DEV KIT UNIVERSAL
Manufacturer
Rabbit Semiconductor
Series
RabbitCore 3900r
Type
MPU Moduler
Datasheet

Specifications of 101-1226

Contents
RabbitCore Module, Dev. Board, AC Adapter, Cable and Dynamic C® CD-Rom
For Use With/related Products
RCM3900
Lead Free Status / RoHS Status
Lead free / RoHS Compliant
Other names
316-1137
RabbitCore RCM3900
C-Programmable Core Module
with microSD™ Card Storage and Ethernet
User’s Manual
019–0164_E

Related parts for 101-1226

101-1226 Summary of contents

Page 1

RabbitCore RCM3900 C-Programmable Core Module with microSD™ Card Storage and Ethernet User’s Manual 019–0164_E ...

Page 2

... Rabbit and Dynamic C are registered trademarks of Digi International Inc. Rabbit 3000 and RabbitCore are trademarks of Digi International Inc. SD and microSD are trademarks of the SD Card Association. 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 ...

Page 3

Chapter 1. Introduction 1.1 RCM3900 Features ...............................................................................................................................7 1.2 Comparing the RCM3365/RCM3375 and the RCM3900/RCM3910 ..................................................9 1.3 Advantages of the RCM3900 .............................................................................................................10 1.4 Development and Evaluation Tools....................................................................................................11 1.4.1 Development Kit .........................................................................................................................11 1.4.2 Software ......................................................................................................................................12 1.4.3 Connectivity Interface Kits .........................................................................................................12 1.4.4 Online ...

Page 4

Memory...............................................................................................................................................38 4.4.1 SRAM .........................................................................................................................................38 4.4.2 Flash EPROM .............................................................................................................................38 4.4.3 NAND Flash (RCM3900 only)...................................................................................................38 4.4.4 microSD™ Cards ........................................................................................................................39 4.5 Other Hardware...................................................................................................................................42 4.5.1 Clock Doubler .............................................................................................................................42 4.5.2 Spectrum Spreader ......................................................................................................................42 Chapter 5. Software Reference 5.1 More About Dynamic C .....................................................................................................................43 5.1.1 ...

Page 5

B.4.1 Adding Other Components.........................................................................................................93 B.4.2 Digital I/O...................................................................................................................................94 B.4.2.1 Digital Inputs ..................................................................................................................... 94 B.4.3 CMOS Digital Outputs...............................................................................................................95 B.4.4 Sinking Digital Outputs..............................................................................................................95 B.4.5 Relay Outputs .............................................................................................................................95 B.4.6 Serial Communication................................................................................................................96 B.4.6.1 RS-232 ............................................................................................................................... 97 B.4.6.2 RS-485 ............................................................................................................................... 98 B.4.7 RabbitNet Port ............................................................................................................................99 B.4.8 ...

Page 6

The RCM3900 RabbitCore modules feature a compact module that incorporates the latest revision of the powerful Rabbit processor, flash memory, onboard mass storage (NAND flash), static RAM, digital I/O ports, and removable (“hot-swappable”) memory cards. The RCM3900 RabbitCore modules both ...

Page 7

RCM3900 Features • Small size: 1.85" x 2.73" x 0.86" ( mm) • Microprocessor: latest revision of Rabbit 3000 running at 44.2 MHz • 10/100Base-T auto MDI/MDIX Ethernet port chooses Ethernet interface automatically ...

Page 8

There are two RCM3900 production models. Table 1 below summarizes their main features. Feature Microprocessor SRAM Flash Memory (program) 32MB (fixed NAND flash) Mass Data + 128MB–1GB microSD™ Storage 6 shared high-speed, 3.3 V CMOS-compatible ports: • all 6 are ...

Page 9

Comparing the RCM3365/RCM3375 and the RCM3900/RCM3910 Temperature Specifications • RCM3365/RCM3375 RabbitCore modules that support the -40°C to +70°C temperature range. RCM3365/RCM3375 RabbitCore modules manufactured after May, 2008, are specified to operate at 0°C to +70°C. The RCM3900/RCM3910, rated for ...

Page 10

Advantages of the RCM3900 • Fast time to market using a fully engineered, “ready-to-run/ready-to-program” micro- processor core. • Competitive pricing when compared with the alternative of purchasing and assembling individual components. • Easy C-language program development and debugging • ...

Page 11

Development and Evaluation Tools 1.4.1 Development Kit The Development Kit contains the hardware and software needed to use the RCM3900. • RCM3900 module. • Prototyping Board. • microSD™ Card with SD Card adapter. • Universal AC adapter, ...

Page 12

Software The RCM3900 is programmed using version 9.62 of Dynamic C. A compatible version is included on the Development Kit ular µC/OS-II real-time operating system, point-to-point protocol (PPP), FAT file system, RabbitWeb, and other select libraries Rabbit also offers ...

Page 13

This chapter describes the RCM3900 hardware in more detail, and explains how to set up and use the accompanying Prototyping Board. NOTE assumed that you have the RCM3900 Development Kit. If you purchased an RCM3900 module by itself, ...

Page 14

Hardware Connections There are three steps to setting up the Prototyping Board: 1. Attach the RCM3900 module to the Prototyping Board. 2. Connect the serial programming cable between the RCM3900 and the workstation PC. 3. Connect the power supply ...

Page 15

Step 2 — Connect Programming Cable The programming cable connects the RCM3900 to the PC running Dynamic C to down- load programs and to monitor the RCM3900 module during debugging. Connect the 10-pin connector of the programming cable labeled ...

Page 16

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 RCM3900 Development Kit presently ...

Page 17

Starting Dynamic C Once the RCM3900 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 uses the serial port specified during installation. Select on ...

Page 18

If Dynamic C appears to compile the BIOS successfully, but you then receive a communi- cation error message when you compile and load a sample program possible that your PC cannot handle the higher program-loading baud rate. Try ...

Page 19

R To develop and debug programs for the RCM3900 (and for all other Rabbit hardware), you must install and use Dynamic C. 3.1 Introduction To help familiarize you with the RCM3900 modules, Dynamic C includes several sample programs. Loading, ...

Page 20

Sample Programs Of the many sample programs included with Dynamic C, several are specific to the RCM3900. Sample programs illustrating the general operation of the RCM3900, serial communication, and the NAND flash are provided in the sample program has ...

Page 21

Use of NAND Flash (RCM3900 only) The following sample programs can be found in the SAMPLES\RCM3900\NANDFlash folder. NOTE: These sample programs cannot be run on the RCM3910, which does not have NAND flash installed. —This program is a utility ...

Page 22

... Now select the IP Address and 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 <Close> to exit the various dialog boxes. As long as you have not modified the enter the following server address in your Web browser to bring up the Web page served by the sample program ...

Page 23

Use of microSD™ Cards The following sample program can be found in the SAMPLES\RCM3900\SD_Flash folder. —This program is a utility for inspecting the contents of a • SDFLASH_INSPECT.C microSD™ Card. When the sample program starts running, it attempts to ...

Page 24

PARITY.C byte values 0–127 from Serial Port E to Serial Port F. The program will switch between generating parity or not on Serial Port E. Serial Port F ...

Page 25

Two sample programs, SIMPLE485MASTER.C to illustrate RS-485 master/slave communication. To run these sample programs, you will need a second Rabbit-based system with RS-485—the second system may be another RCM3900 may be any Rabbit single-board computer or RabbitCore module ...

Page 26

Chapter 4 describes the hardware components and principal hardware subsystems of the RCM3900 modules. Appendix A, “RCM3900 Speci- fications,” provides complete physical and electrical specifications. Figure 4 shows the Rabbit-based subsystems designed into the RCM3900. 32 kHz Ethernet osc Fast ...

Page 27

RCM3900 Inputs and Outputs Figure 5 shows the RCM3900 pinouts for headers J61 and J62. The pinouts for the RCM3000, RCM3100, RCM3200, RCM3319, RCM3360/RCM3370, ble, except signals PB0, PC4, and PC5. are used for the SPI interface to the ...

Page 28

Figure 6 shows the use of the Rabbit 3000 microprocessor ports in the RCM3900 modules. Figure 6. Use of Rabbit 3000 Ports The ports on the Rabbit 3000 microprocessor used in the RCM3900 are configurable, and so the factory defaults ...

Page 29

Table 2. RCM3900 Pinout Configurations Pin Pin Name Default Use 1 GND 2 STATUS Output (Status) 3–10 PA[7:0] Parallel I/O 11 PF3 Input/Output 12 PF2 Input/Output 13 PF1 Input/Output 14 PF0 Input/Output 15 PC0 Output 16 PC1 Input 17 PC2 ...

Page 30

Table 2. RCM3900 Pinout Configurations (continued) Pin Pin Name Default Use 1 /RES Reset output 2 PB0 Input/Output 3 PB2 Input/Output 4 PB3 Input/Output 5 PB4 Input/Output 6 PB5 Input/Output 7 PB6 Input/Output 8 PB7 Input/Output 9 PF4 Input/Output 10 ...

Page 31

Table 2. RCM3900 Pinout Configurations (continued) Pin Pin Name Default Use 20 PG7 Input/Output 21 PG6 Input/Output 22 PG5 Input/Output 23 PG4 Input/Output 24 /IOWR Output 25 /IORD Output (0,0)—start executing at address zero (0,1)—cold boot from slave port (1,0)—cold ...

Page 32

Memory I/O Interface The Rabbit 3000 address lines (A0–A18) and all the data lines (D0–D7) are routed internally to the onboard flash memory and SRAM chips. I/O write (/IOWR) and I/O read (/IORD) are available for interfacing to external ...

Page 33

Serial Communication The RCM3900 does not have any serial protocol-level transceivers directly on the board. However, a serial interface may be incorporated into the board the RCM3900 is mounted on. For example, the Prototyping Board has RS-232 and RS-485 ...

Page 34

Ethernet Port Figure 7 shows the pinout for the RJ-45 Ethernet port (J3). Note that some Ethernet connectors are numbered in reverse to the order used here. Figure 7. RJ-45 Ethernet Port Pinout Three LEDs are placed next to ...

Page 35

Serial Programming Port The RCM3900 is programmed either through the serial programming port, which is accessed using header J1, or through the Ethernet jack. The RabbitLink may be used to provide a serial connection via the RabbitLink’s Ethernet jack. ...

Page 36

Serial Programming Cable The programming cable is used to connect the serial programming port of the RCM3900 USB COM port. The programming cable converts the voltage levels used by the PC USB port to the CMOS ...

Page 37

A program “runs” in either mode, but can only be downloaded and debugged when the RCM3900 is in the Program Mode. Refer to the Rabbit 3000 Microprocessor User’s Manual gramming port. 4.3.2 Standalone Operation of the RCM3900 The RCM3900 must ...

Page 38

Memory 4.4.1 SRAM RCM3900 boards have 512K of program-execution fast SRAM at U66. The program- execution SRAM is not battery-backed. There are 512K of battery-backed data SRAM installed at U9. 4.4.2 Flash EPROM RCM3900 boards also have 512K of ...

Page 39

Cards The RCM3900 supports a removable microSD™ Card up to 1GB to store data and Web pages. The microSD™ Card is particularly suitable for mass-storage applications, but is generally unsuitable for direct program execution. Unlike other flash devices, ...

Page 40

It is possible to hot-swap microSD™ Cards without removing power from the RCM3900 modules. The file system partition must be unmounted before the cards can be safely hot- swapped. The chip selects associated with the card must be set to ...

Page 41

Sample programs in the SAMPLES\RCM3900\SD_Flash microSD™ Cards. These sample programs are described in Section 3.2.2, “Use of microSD™ Cards.” RabbitCore RCM3900 User’s Manual folder illustrate the use of the 41 ...

Page 42

Other Hardware 4.5.1 Clock Doubler The RCM3900 takes advantage of the Rabbit 3000 microprocessor’s internal clock dou- bler. A built-in clock doubler allows half-frequency crystals to be used to reduce radiated emissions. The 44.2 MHz frequency specified for the ...

Page 43

Dynamic integrated development system for writing embedded software. It runs on an IBM-compatible PC and is designed for use with Rabbit controllers and other controllers based on the Rabbit microprocessor. Chapter 5 describes the libraries and function ...

Page 44

Dynamic C has a number of standard features. • Full-feature source and/or assembly-level debugger, no in-circuit emulator required. • Royalty-free TCP/IP stack with source code and most common protocols. • Hundreds of functions in source-code libraries and sample programs:  ...

Page 45

Developing Programs Remotely with Dynamic C Dynamic integrated development environment that allows you to edit, compile, and debug your programs. Dynamic C has the ability to allow programming over the Internet or local Ethernet. This is ...

Page 46

Dynamic C Functions 5.2.1 Digital I/O The RCM3900 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 ...

Page 47

Serial Communication Drivers Library files included with Dynamic C provide a full range of serial communications sup- port. The LIB\Rabbit3000\RS232.LIB serial functions. The LIB\Rabbit3000\PACKET.LIB serial functions where packets can be delimited by the 9th bit, by transmission gaps, or ...

Page 48

Card Drivers The Dynamic C LIB\SDflash\SDFLASH.LIB Card memory devices on an SPI bus. More information on these function calls is available in the Dynamic C Function Reference Manual. Application developers are cautioned against modifying the BIOS code to ...

Page 49

Prototyping Board Function Calls The functions described in this section are for use with the Prototyping Board features. The source code is in the Dynamic C need to modify it for your own board design. Other generic functions applicable ...

Page 50

Digital I/O int digIn(int channel); DESCRIPTION Reads the input state of a digital input on headers J5 and J6 on the Prototyping Board. Do not use this function call if you configure these pins for alternate use after brdI- ...

Page 51

DESCRIPTION Writes a value to an output channel on Prototyping Board header J10. Do not use this function if you have installed the stepper motor chips at U2 and U3. PARAMETERS output channel 0–7 (OUT00–OUT07). ...

Page 52

Switches, LEDs, and Relay int switchIn(int swin); DESCRIPTION Reads the state of a switch input. A runtime error will occur if brdInit() has not been called first or if the swin parameter is invalid. PARAMETERS switch input to read: ...

Page 53

DESCRIPTION Controls LEDs on the Prototyping Board and on the RCM3900. A runtime error will occur if brdInit() has not been called first. PARAMETERS the LED to control: led the value used to control the ...

Page 54

DESCRIPTION Sets the position for the relay common contact. The default position is for normally closed contacts. A runtime error will occur if brdInit() has not been called first. PARAMETERS the one relay (1) relay ...

Page 55

Serial Communication void ser485Tx(void); DESCRIPTION Enables the RS-485 transmitter. Transmitted data are echoed back into the receive data buffer. The echoed data may be used as an indicator for disabling the transmitter by using one of the following methods: ...

Page 56

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/ 5.3.1 Extras Dynamic C installations are designed for use with the board they are included with, and ...

Page 57

U 6.1 TCP/IP Connections Programming and development can be done with the RCM3900 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 58

Now you should be able to make your connections. 1. Connect the AC adapter and the programming cable as shown in Chapter 2, “Getting Started.” 2. Ethernet Connections There are four options for connecting the RCM3900 module to a network ...

Page 59

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

Page 60

T1 in Adapter Ethernet Typical Corporate Network If your system administrator can give you an Ethernet cable along with the network IP address, the netmask and the gateway address, then you may be able to run the sample programs without ...

Page 61

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 62

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 63

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 64

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 65

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 RCM3900 board together on the same network. This ...

Page 66

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 67

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

Run the PINGME.C Sample Program Connect a Cat. 5 Ethernet cable from your computer’s Ethernet port to the RCM3900 board’s RJ-45 Ethernet connector. Open this sample program from the folder, compile the program, and start it running under Dynamic ...

Page 69

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 70

Where From Here? NOTE: If you purchased your RCM3900 through a distributor or through a Rabbit part- ner, contact the distributor or partner first for technical support. If there are any problems at this point: • ...

Page 71

A A. RCM3900 S PPENDIX Appendix A provides the specifications for the RCM3900, and describes the conformal coating. RabbitCore RCM3900 User’s Manual PECIFICATIONS 71 ...

Page 72

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

It is recommended that you allow for an “exclusion zone” of 0.04" (1 mm) around the RCM3900 in all directions when the RCM3900 is incorporated into an assembly that includes other printed circuit boards. An “exclusion zone” of 0.16" (4 ...

Page 74

Table A-1 lists the electrical, mechanical, and environmental specifications for the RCM3900. Table A-1. RabbitCore RCM3900 Specifications Parameter Microprocessor EMI Reduction Ethernet Port SRAM Flash Memory (program) 32MB (fixed NAND flash) Memory + 128MB–1GB microSD™ (data storage) LED Indicators Backup ...

Page 75

Table A-1. RabbitCore RCM3900 Specifications (continued) Parameter Pulse-Width Modulators 2-channel input capture can be used to time input signals from Input Capture various port pins Quadrature 2-channel quadrature decoder accepts inputs from external Decoder incremental encoder modules Power Operating Temperature ...

Page 76

A.1.1 Headers The RCM3900 uses headers at J61 and J62 for physical connection to other boards. J61 and J62 are 2 × 17 SMT headers with pin spacing. J1, the programming port × 5 ...

Page 77

A.2 Bus Loading You must pay careful attention to bus loading when designing an interface to the RCM3900. This section provides bus loading information for external devices. Table A-2 lists the capacitance for the various RCM3900 I/O ports. Table A-2. ...

Page 78

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 79

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 80

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 81

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 82

A.5 Conformal Coating The areas around the 32 kHz real-time clock crystal oscillator have had the Dow Corning silicone-based 1-2620 conformal coating applied. The conformally coated area is shown in Figure A-5. The conformal coating protects these high-impedance circuits from ...

Page 83

A.6 Jumper Configurations Figure A-6 shows the header locations used to configure the various RCM3900 options via jumpers. Figure A-6. Location of RCM3900 Configurable Positions Table A-8 lists the configuration options. Table A-8. RCM3900 Jumper Configurations Header Description JP1 Serial ...

Page 84

Table A-8. RCM3900 Jumper Configurations Header Description PD6 or TPI– Input JP7 on J61 pin 31 PD7 or TPI+ Input JP8 on J61 pin 32 PD2 or TPO– Output JP9 on J61 pin 29 PD3 or TPO+ Output JP10 on ...

Page 85

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

Page 86

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

Page 87

B.1.1 Prototyping Board Features —A power-supply jack and a 3-pin header are provided for con- • Power Connection nection to the power supply. Note that the 3-pin header is symmetrical, with both outer pins connected to ground and the center ...

Page 88

Module Extension Headers cated at headers J8 and J9. Developers can solder wires directly into the appropriate holes, or, for more flexible development, 2 × 17 header strips with a 0.1" pitch can be soldered into place. See Figure ...

Page 89

B.2 Mechanical Dimensions and Layout Figure B-2 shows the mechanical dimensions and layout for the Prototyping Board. Figure B-2. Prototyping Board Dimensions NOTE: All measurements are in inches followed by millimeters enclosed in parentheses. RabbitCore RCM3900 User’s Manual 89 ...

Page 90

Table B-1 lists the electrical, mechanical, and environmental specifications for the Proto- typing Board. Table B-1. Prototyping Board Specifications Parameter Board Size Operating Temperature Humidity Input Voltage Maximum Current Draw (including user-added circuits) Backup Battery Digital Inputs Digital Outputs Relay ...

Page 91

B.3 Power Supply The RCM3900 requires a regulated 3. 3. 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 ...

Page 92

B.4 Using the Prototyping Board The Prototyping Board is actually both a demonstration board and a prototyping board demonstration board, it can be used with the sample programs to demonstrate the func- tionality of the RCM3900 right out ...

Page 93

The Prototyping Board comes with the basic components necessary to demonstrate the operation of the RCM3900. Four user LEDs (DS3–DS6) are connected to alternate I/O bus pins PA0–PA3 pins of the RCM3900 module via U8, and may be driven as ...

Page 94

B.4.2 Digital I/O B.4.2.1 Digital Inputs The Prototyping Board has four digital inputs, IN0–IN3, each of which is protected over a range of – +36 V. The inputs are pulled shown in Figure ...

Page 95

B.4.3 CMOS Digital Outputs If the stepper-motor option is not used, eight CMOS-level digital outputs are available at J10, and can each handle mA. B.4.4 Sinking Digital Outputs Four sinking digital outputs shared with LEDs DS3–DS6 are ...

Page 96

B.4.6 Serial Communication The Prototyping Board allows you to access up to three of the serial ports from the RCM3900/RCM3910. Table B-2 summarizes the configuration options. Table B-2. Prototyping Board Serial Port Configurations Serial Port Signal Header C J14 J7 ...

Page 97

B.4.6.1 RS-232 RS-232 serial communication on the Prototyping Board is supported by an RS-232 trans- ceiver installed at U9. This transceiver provides the voltage output, slew rate, and input voltage immunity required to meet the RS-232 serial communication protocol. Basically, ...

Page 98

B.4.6.2 RS-485 The Prototyping Board has one RS-485 serial channel, which is connected to the Rabbit 3000 Serial Port C through an RS-485 transceiver. The half-duplex communication uses an output from PD7 on the Rabbit 3000 to control the transmit ...

Page 99

The Prototyping Board comes with a 220  termination resistor and two 681  bias resis- tors installed and enabled with jumpers across pins 1–2 and 5–6 on header JP5, as shown in Figure B-9. Figure B-9. RS-485 Termination and ...

Page 100

B.4.8 Other Prototyping Board Modules An optional LCD/keypad module is available that can be mounted on the Prototyping Board. The signals on headers LCD1JB and LCD1JC will be available only if the LCD/ keypad module is installed. Refer to Appendix ...

Page 101

... Table B-3. Stepper Motor Power-Supply Options Header 1–2 9–10 JP1 3–4 7–8 1–2 9–10 JP2 3–4 7–8 RabbitCore RCM3900 User’s Manual Pins Connected Onboard power supply to U2 External power supply to U2 Onboard power supply to U3 External power supply to U3 Factory Default × × 101 ...

Page 102

B.5 Prototyping Board Jumper Configurations Figure B-12 shows the header locations used to configure the various Prototyping Board options via jumpers. Figure B-12. Location of Prototyping Board Configurable Positions RabbitCore RCM3900 User’s Manual 102 ...

Page 103

Table B-4 lists the configuration options using jumpers. Table B-4. Prototyping Board Jumper Configurations Header Description Stepper Motor Power-Supply JP1 Options (U2) Stepper Motor Power-Supply JP2 Options (U3) JP3 PF0 Option JP4 RCM3900 Power Supply RS-485 Bias and Termination JP5 ...

Page 104

B.6 Use of Rabbit 3000 Parallel Ports Table B-5 lists the Rabbit 3000 parallel ports and their use for the Prototyping Board. Table B-5. Prototyping Board Use of Rabbit 3000 Parallel Ports Port I/O PA0–PA3 Data Bus PA4 Data Bus ...

Page 105

Table B-5. Prototyping Board Use of Rabbit 3000 Parallel Ports (continued) Port I/O PE6 Output PE7 Output PF0 Input PF1–PF3 Input PF4–PF7 Output PG0 Input PG1 Input PG2 Input PG3 Input PG4 Output PG5 Output PG6 Input PG7 Input * ...

Page 106

A PPENDIX An optional LCD/keypad is available for the Prototyping Board. Appendix C describes the LCD/keypad and provides the soft- ware function calls to make full use of the LCD/keypad. C.1 Specifications Two optional LCD/keypad modules—with or without a panel-mounted ...

Page 107

Mounting hardware and (24") extension cable are also available for the LCD/ keypad module through your sales representative or authorized distributor. Table C-1 lists the electrical, mechanical, and environmental specifications for the LCD/ keypad module. Table C-1. ...

Page 108

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

Page 109

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 110

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 111

C.5 Mounting LCD/Keypad Module on the Prototyping Board Install the LCD/keypad module on header sockets LCD1JA, LCD1JB, and LCD1JC of the Prototyping Board as shown in Figure C-7. Be careful to align the pins over the headers, and do not ...

Page 112

C.6 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 113

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 114

C.6.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 Prototyping Board, and is connected via a ribbon cable as shown in Figure C-10. Figure ...

Page 115

C.7 Sample Programs Sample programs illustrating the use of the LCD/keypad module with the Prototyping Board are provided in the SAMPLES\RCM3900\LCD_KEYPAD These sample programs use the auxiliary I/O bus on the Rabbit 3000 chip, and so the line is already ...

Page 116

C.8 LCD/Keypad Module Function Calls When mounted on the 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 auxiliary ...

Page 117

C.8.2 LEDs When power is applied to the LCD/keypad module for the first time, the red LED (DS1) will come on, indicating that power is being applied to the LCD/keypad module. The red LED is turned off when the brdInit ...

Page 118

C.8.3 LCD Display The functions used to control the LCD display are contained in the library . When x and y coordinates on the display screen are spec- GRAPHIC.LIB GRAPHIC\ ified, x can range from 0 to 121, and y ...

Page 119

DESCRIPTION Sets the LCD screen on or off. Data will not be cleared from the screen. PARAMETER turns the LCD screen on or off onOff RETURN VALUE None. SEE ALSO glInit, glSetContrast, glBackLight void glSetContrast(unsigned level); DESCRIPTION ...

Page 120

DESCRIPTION Fills the LCD display screen with a pattern. PARAMETER The screen will be set to all black if pattern is 0xFF, all white if pattern is 0x00, and vertical stripes for any other pattern. RETURN VALUE ...

Page 121

DESCRIPTION Fills a rectangular block in the LCD buffer with the pattern specified. Any portion of the block that is outside the LCD display area will be clipped. PARAMETERS ...

Page 122

DESCRIPTION Fills a rectangular block in the LCD buffer with the pattern specified. The block left and width parameters must be byte-aligned. Any portion of the block that is ...

Page 123

DESCRIPTION Clears a region on the LCD display. The block left and width parameters must be byte- aligned. Any portion of the block that is outside the LCD display area will ...

Page 124

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

Page 125

DESCRIPTION Plots the outline of a polygon in the LCD page buffer and on the LCD if the buffer is unlocked. Any portion of the polygon that is outside the ...

Page 126

DESCRIPTION Fills a polygon in the LCD page buffer and on the LCD screen if the buffer is unlocked. Any portion of the polygon that is outside the LCD display area will be clipped. If ...

Page 127

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

Page 128

DESCRIPTION Draws the outline of a circle in the LCD page buffer and on the LCD if the buffer is unlocked. Any portion of the circle that is outside the LCD display area ...

Page 129

DESCRIPTION Initializes the font descriptor structure, where the font is stored in xmem. Each font character's bitmap is column major and byte aligned. PARAMETERS a pointer ...

Page 130

DESCRIPTION Returns the xmem address of the character from the specified font set. PARAMETERS pointer to the xmem address of the bitmap font set. pInfo an ASCII character. letter RETURN VALUE xmem address of ...

Page 131

DESCRIPTION Sets the glPrintf() printing step direction. The x and y step directions are indepen- dent signed values. The actual step increments depend on the height and width of the font being displayed, which are ...

Page 132

DESCRIPTION Provides an interface between the STDIO string-handling functions and the graphic li- brary. The STDIO string-formatting function will call this function, one character at a time, until the entire formatted ...

Page 133

DESCRIPTION Prints a formatted string (much like printf) on the LCD screen. Only the character codes that exist in the font set are printed, all others are skipped. For example, ...

Page 134

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

Page 135

DESCRIPTION Checks the LCD screen locking counter. The contents of the LCD buffer are transferred to the LCD if the counter is zero. RETURN VALUE None. SEE ALSO glBuffUnlock, glBuffLock, _glSwapData the LCD that you are using) void ...

Page 136

DESCRIPTION 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); DESCRIPTION Gets a ...

Page 137

DESCRIPTION Draws bitmap in the specified space. The data for the bitmap are stored in xmem. This function is similar to glXPutBitmap(), except that it's faster. The bitmap ...

Page 138

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

Page 139

DESCRIPTION Scrolls byte-aligned window left one pixel, right column is filled by current pixel type (color). PARAMETERS the top left corner of bitmap, must be evenly divisible by 8, other- left ...

Page 140

DESCRIPTION Scrolls byte-aligned window right one pixel, left column is filled by current pixel type (color). PARAMETERS the top left corner of bitmap, must be evenly divisible by 8, other- left ...

Page 141

DESCRIPTION Scrolls byte-aligned window up one pixel, bottom column is filled by current pixel type (color). PARAMETERS the top left corner of bitmap, must be evenly divisible by 8, other- left ...

Page 142

DESCRIPTION Scrolls byte-aligned window down one pixel, top column is filled by current pixel type (color). PARAMETERS the top left corner of bitmap, must be evenly divisible by 8, other- left ...

Page 143

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

Page 144

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

Page 145

DESCRIPTION Draws bitmap in the specified space. The data for the bitmap are stored in xmem. This function calls glXPutFastmap() automatically if the bitmap is byte-aligned (the left ...

Page 146

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

Page 147

TextWindowFrame(windowFrame *window, fontInfo *pFont, int x, int y, int winWidth, int winHeight); DESCRIPTION Defines a text-only display window. This function provides a way to display characters within the text window using only character row and column coordinates. The text ...

Page 148

TextBorderInit(windowFrame *wPtr, int border, char *title); DESCRIPTION This function initializes the window frame structure with the border and title information. NOTE: Execute the TextWindowFrame() PARAMETERS a pointer to the window frame descriptor. wPtr the border style: border a pointer ...

Page 149

TextBorder(windowFrame *wPtr); DESCRIPTION This function displays the border for a given window frame. This function will auto- matically adjust the text window parameters to accommodate the space taken by the text border. This adjustment will only occur once after ...

Page 150

TextCursorLocation void TextCursorLocation(windowFrame *window, int *col, int *row); DESCRIPTION Gets the current cursor location that was set by a graphic Text... function. NOTE: Execute the TextWindowFrame() PARAMETERS a pointer to a font descriptor. window a pointer to cursor column variable. ...

Page 151

TextPutChar(struct windowFrame *window, char ch); DESCRIPTION Displays a character on the display where the cursor is currently pointing. Once a char- acter is displayed, the cursor will be incremented to the next character position. If any portion of a ...

Page 152

TextPrintf(struct windowFrame *window, char *fmt, ...); DESCRIPTION Prints a formatted string (much like printf) on the LCD screen. Only printable char- acters in the font set are printed; escape sequences '\r' and '\n' are also recognized. All other escape ...

Page 153

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

Page 154

C.8.4 Keypad The functions used to control the keypad are contained in the Dynamic C library. KEYPAD7.LIB void keyInit(void); DESCRIPTION Initializes keypad process. RETURN VALUE None. SEE ALSO brdInit RabbitCore RCM3900 User’s Manual keyInit LIB\KEYPADS\ 154 ...

Page 155

DESCRIPTION Assigns each key with keypress and release codes, and hold and repeat ticks for auto repeat and debouncing. PARAMETERS a raw key code index. ...

Page 156

RETURN VALUE None. SEE ALSO keyProcess, keyGet, keypadDef RabbitCore RCM3900 User’s Manual 156 ...

Page 157

DESCRIPTION Scans and processes keypad data for key assignment, debouncing, press and release, and repeat. NOTE: This function is also able to process an 8 × 8 matrix keypad. RETURN VALUE None. SEE ALSO keyConfig, keyGet, keypadDef char ...

Page 158

DESCRIPTION Pushes the value of cKey to the top of the input queue, which is 16 bytes deep. PARAMETER cKey RETURN VALUE None. SEE ALSO keyGet RabbitCore RCM3900 User’s Manual keyUnget 158 ...

Page 159

DESCRIPTION Configures the physical layout of the keypad with the desired ASCII return key codes. 1 × 7 keypad physical mapping ['L'] ['U'] ['–'] where 'L' represents Left Scroll 'U' represents Up Scroll 'D' represents ...

Page 160

DESCRIPTION Writes "1" to each row and reads the value. The position of a keypress is indicated by a zero value in a bit position. PARAMETER a pointer to the address of the value read. pcKeys RETURN ...

Page 161

A PPENDIX Appendix D provides information on the current requirements of the RCM3900, 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 RCM3900 is ...

Page 162

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

Page 163

D.1.3 Reset Generator The RCM3900 uses a reset generator to reset the Rabbit 3000 microprocessor when the volt- age drops below the voltage necessary for reliable operation. The reset occurs between 2.85 V and 3.00 V, typically 2.93 V. The ...

Page 164

Symbols /IOWR loading .............................. 31 A additional information online documentation ........ 12 B battery backup battery life ....................... 162 circuit .............................. 162 external battery connections . 161 use of battery-backed SRAM 46 board initialization function calls ..................... 49 brdInit() ......................... ...

Page 165

... JP3 (quadrature decoder/se- rial flash) .................. 103 JP4 (RCM3900 power sup- ply) ........................... 103 JP5 (RS-485 bias and termi- nation resistors) .. 99, 103 stepper motor power supply 101 RCM3900 .......................... 83 JP1 (not stuffed) ............ 83 JP10 (PD3 or TPO+ output on J61 pin 30) ............. 84 JP11 (flash memory size JP12 (flash memory bank select) ...

Page 166

RCM3900 ......... 14 power supply ..................... 91 prototyping area ................ 93 specifications .................... 90 use of parallel ports ......... 104 R Rabbit 3000 data and clock delays ...

Page 167

U user block function calls readUserBlock() ............ 38 writeUserBlock() ........... 38 RabbitCore RCM3900 User’s Manual 167 ...

Page 168

RCM3900 Schematic www.rabbit.com/documentation/schemat/090-0253.pdf 090-0188 Prototyping Board Schematic www.rabbit.com/documentation/schemat/090-0188.pdf 090-0156 LCD/Keypad Module Schematic www.rabbit.com/documentation/schemat/090-0156.pdf 090-0252 USB Programming Cable Schematic www.rabbit.com/documentation/schemat/090-0252.pdf You may use the URL information provided above to access the latest schematics directly. RabbitCore RCM3900 User’s Manual S CHEMATICS ...

Related keywords