RabbitCore® RCM3209/29 User Manual Datasheet by Digi

View All Related Products | Download PDF Datasheet
RabbitCore RCM3209/RCM3229
C-Programmable Module with Ethernet
Users Manual
019–0165 • 080528–D
RabbitCore RCM3209/RCM3229
Rabbit Semiconductor Inc.
www.rabbit.com
RabbitCore RCM3209/RCM3229 Users Manual
Part Number 019-0165 • 080528–D • Printed in U.S.A.
©2008 Digi International Inc. • All rights reserved.
Digi International reserves the right to make changes and
improvements to its products without providing notice.
Trademarks
Rabbit and Dynamic C are registered trademarks of Digi International Inc.
Rabbit 3000 and RabbitCore are trademarks of Digi International Inc.
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 Digi International.
Permission is granted to make one or more copies as long as the copyright page contained therein is
included. These copies of the manuals may not be let or sold for any reason without the express written
permission of Digi International.
The latest revision of this manual is available on the Rabbit Web site, www.rabbit.com,
for free, unregistered download.
Users Manual
TABLE OF CONTENTS
Chapter 1. Introduction 1
1.1 RCM3209/RCM3229 Features.............................................................................................................2
1.2 Comparing the RCM3209/RCM3229 and RCM3200/RCM3220........................................................3
1.3 Advantages of the RCM3209/RCM3229 .............................................................................................4
1.4 Development and Evaluation Tools......................................................................................................5
1.4.1 RCM3209/RCM3229 Development Kit .......................................................................................5
1.4.2 Software ........................................................................................................................................6
1.4.3 Connectivity Interface Kits...........................................................................................................6
1.4.4 Online Documentation ..................................................................................................................6
Chapter 2. Hardware Setup 7
2.1 Install Dynamic C .................................................................................................................................7
2.2 Hardware Connections..........................................................................................................................8
2.2.1 Step 1 — Attach Module to Prototyping Board............................................................................9
2.2.2 Step 2 — Connect Programming Cable......................................................................................10
2.2.3 Step 3 — Connect Power............................................................................................................11
2.3 Starting Dynamic C ............................................................................................................................12
2.4 Run a Sample Program .......................................................................................................................12
2.4.1 Troubleshooting ..........................................................................................................................12
2.5 Where Do I Go From Here? ...............................................................................................................13
2.5.1 Technical Support .......................................................................................................................13
Chapter 3. Running Sample Programs 15
3.1 Introduction.........................................................................................................................................15
3.2 Sample Programs ................................................................................................................................16
3.2.1 Serial Communication.................................................................................................................17
3.2.2 Other Sample Programs ..............................................................................................................18
Chapter 4. Hardware Reference 19
4.1 RCM3209/RCM3229 Digital Inputs and Outputs..............................................................................20
4.1.1 Memory I/O Interface .................................................................................................................25
4.1.2 LEDs ...........................................................................................................................................25
4.1.3 Other Inputs and Outputs............................................................................................................25
4.1.4 5 V Tolerant Inputs .....................................................................................................................25
4.2 Serial Communication ........................................................................................................................26
4.2.1 Serial Ports..................................................................................................................................26
4.2.2 Ethernet Port (RCM3209 only)...................................................................................................27
4.2.3 Serial Programming Port.............................................................................................................28
4.3 Serial Programming Cable..................................................................................................................29
4.3.1 Changing Between Program Mode and Run Mode ....................................................................29
4.3.2 Standalone Operation of the RCM3209/RCM3229....................................................................30
4.4 Other Hardware...................................................................................................................................31
4.4.1 Clock Doubler.............................................................................................................................31
4.4.2 Spectrum Spreader ......................................................................................................................31
4.5 Memory...............................................................................................................................................32
4.5.1 SRAM .........................................................................................................................................32
4.5.2 Flash EPROM .............................................................................................................................32
4.5.3 Dynamic C BIOS Source Files ...................................................................................................32
RabbitCore RCM3209/RCM3229
Chapter 5. Software Reference 33
5.1 More About Dynamic C..................................................................................................................... 33
5.2 Dynamic C Function Calls ................................................................................................................. 35
5.2.1 Digital I/O................................................................................................................................... 35
5.2.2 SRAM Use.................................................................................................................................. 35
5.2.3 Serial Communication Drivers................................................................................................... 36
5.2.4 TCP/IP Drivers ........................................................................................................................... 36
5.2.5 Prototyping Board Function Calls.............................................................................................. 36
5.2.6 Prototyping Board Functions...................................................................................................... 37
5.2.6.1 Board Initialization............................................................................................................ 37
5.3 Upgrading Dynamic C ....................................................................................................................... 38
5.3.1 Extras.......................................................................................................................................... 38
Chapter 6. Using the TCP/IP Features 39
6.1 TCP/IP Connections........................................................................................................................... 39
6.2 TCP/IP Primer on IP Addresses......................................................................................................... 41
6.2.1 IP Addresses Explained.............................................................................................................. 43
6.2.2 How IP Addresses are Used ....................................................................................................... 44
6.2.3 Dynamically Assigned Internet Addresses................................................................................. 45
6.3 Placing Your Device on the Network ................................................................................................ 46
6.4 Running TCP/IP Sample Programs.................................................................................................... 47
6.4.1 How to Set IP Addresses in the Sample Programs..................................................................... 48
6.4.2 How to Set Up your Computer for Direct Connect.................................................................... 49
6.5 Run the PINGME.C Sample Program................................................................................................ 50
6.6 Running More Sample Programs With Direct Connect..................................................................... 50
6.7 Where Do I Go From Here?............................................................................................................... 51
Appendix A. RCM3209/RCM3229 Specifications 53
A.1 Electrical and Mechanical Characteristics ........................................................................................ 54
A.1.1 Headers...................................................................................................................................... 57
A.1.2 Physical Mounting..................................................................................................................... 57
A.2 Bus Loading ...................................................................................................................................... 59
A.3 Rabbit 3000 DC Characteristics........................................................................................................ 62
A.4 I/O Buffer Sourcing and Sinking Limit............................................................................................. 63
A.5 Jumper Configurations ...................................................................................................................... 64
A.6 Conformal Coating............................................................................................................................ 66
Appendix B. Prototyping Board 67
B.1 Introduction ....................................................................................................................................... 68
B.1.1 Prototyping Board Features ....................................................................................................... 69
B.2 Mechanical Dimensions and Layout ................................................................................................. 71
B.3 Power Supply..................................................................................................................................... 72
B.4 Using the Prototyping Board............................................................................................................. 73
B.4.1 Adding Other Components........................................................................................................ 74
B.4.2 Measuring Current Draw ........................................................................................................... 74
B.4.3 Other Prototyping Board Modules and Options ........................................................................ 75
B.5 Use of Rabbit 3000 Parallel Ports...................................................................................................... 76
Appendix C. LCD/Keypad Module 79
C.1 Specifications..................................................................................................................................... 79
C.2 Contrast Adjustments for All Boards ................................................................................................ 81
C.3 Keypad Labeling................................................................................................................................ 82
C.4 Header Pinouts................................................................................................................................... 83
C.4.1 I/O Address Assignments .......................................................................................................... 83
C.5 Mounting LCD/Keypad Module on the Prototyping Board.............................................................. 84
User’s Manual
C.6 Bezel-Mount Installation....................................................................................................................85
C.6.1 Connect the LCD/Keypad Module to Your Prototyping Board.................................................87
C.7 Sample Programs ...............................................................................................................................88
C.8 LCD/Keypad Module Function Calls ................................................................................................89
C.8.1 LCD/Keypad Module Initialization............................................................................................89
C.8.2 LEDs...........................................................................................................................................90
C.8.3 LCD Display...............................................................................................................................91
C.8.4 Keypad......................................................................................................................................127
Appendix D. Power Supply 135
D.1 Power Supplies.................................................................................................................................135
D.1.1 Battery Backup.........................................................................................................................135
D.1.2 Battery-Backup Circuit ............................................................................................................136
D.1.3 Reset Generator........................................................................................................................137
D.2 Optional +5 V Output ......................................................................................................................137
Appendix E. Motor Control Option 139
E.1 Overview ..........................................................................................................................................139
E.2 Header J6..........................................................................................................................................140
E.3 Using Parallel Port F ........................................................................................................................141
E.3.1 Parallel Port F Registers ...........................................................................................................141
E.4 PWM Outputs...................................................................................................................................144
E.5 PWM Registers.................................................................................................................................145
E.6 Quadrature Decoder .........................................................................................................................146
Index 149
Schematics 153
RabbitCore RCM3209/RCM3229
User’s Manual 1
1. INTRODUCTION
The RCM3209 and RCM3229 RabbitCore® modules are designed
to be the heart of embedded control systems. The RCM3209 fea-
tures an integrated 10/100Base-T Ethernet port and provides for
LAN and Internet-enabled systems to be built as easily as serial-
communication systems.
In addition to the features already mentioned above, the RCM3209 and RCM3229 have
two clocks (main oscillator and real-time clock), reset circuitry, and the circuitry necessary
for management of battery backup of the Rabbit 3000’s internal real-time clock and the
static RAM. Two 34-pin headers bring out the Rabbit 3000 I/O bus lines, parallel ports,
and serial ports.
The RCM3209 or RCM3229 receives +3.3 V power from the customer-supplied mother-
board on which it is mounted. The RCM3209 and RCM3229 can interface with all kinds
of CMOS-compatible digital devices through the motherboard.
The Development Kit has what you need to design your own microprocessor-based
system: a complete Dynamic C software development system and a Prototyping Board
that allows you to evaluate the RCM3209 or RCM3229, and to prototype circuits that
interface to the RCM3209 or RCM3229 module.
2RabbitCore RCM3209/RCM3229
1.1 RCM3209/RCM3229 Features
Small size: 1.85" x 2.73" x 0.86"
(47 mm x 69 mm x 22 mm)
Microprocessor: Rabbit 3000 running
at 44.2 MHz
(RCM3209 only) 10/100Base-T auto MDI/MDIX Ethernet port chooses Ethernet inter-
face automatically based on whether a crossover cable or a straight-through cable is
used in a particular setup
52 parallel 5 V tolerant I/O lines: 44 configurable for I/O, 4 fixed inputs, 4 fixed outputs
Two additional digital inputs, two additional digital outputs
External reset input
Alternate I/O bus can be configured for 8 data lines and 6 address lines (shared with
parallel I/O lines), I/O read/write
Ten 8-bit timers (six cascadable) and one 10-bit timer with two match registers
512K flash memory, 512K program execution SRAM, 256K data SRAM
Real-time clock
Watchdog supervisor
Provision for customer-supplied backup battery via connections on header J2
10-bit free-running PWM counter and four width registers
Two-channel Input Capture can be used to time input signals from various port pins
Two-channel Quadrature Decoder accepts inputs from external incremental encoder
modules
Six CMOS-compatible serial ports: maximum asynchronous baud rate of 5.5 Mbps
. Four
ports are configurable as a clocked serial port (SPI), and two ports are configurable as
SDLC/HDLC serial ports.
Supports 1.15 Mbps IrDA transceiver.
The RCM3209 and RCM3229 modules are similar in form, dimensions, and function to
the RCM3200/RCM3220, and based on the RCM3900 RabbitCore modules which were
first released in 2008. The RCM3900/RCM3910 and RCM3309/RCM3319 RabbitCore
modules are similar to the RCM3209/RCM3229, but they offer fixed NAND and/or
removable media mass-storage memories.The RCM3309 and the RCM3319 offer fixed
serial flash mass-storage options instead.
User’s Manual 3
Table 1 summarizes the main features of the RCM3209 and the RCM3229 modules.
The RCM3209 and RCM3229 are programmed over a standard PC USB serial port
through a programming cable supplied with the Development Kit, and can also be pro-
gramed directly over an Ethernet link using the RabbitLink.
Appendix A provides detailed specifications for the RCM3209/RCM3229.
1.2 Comparing the RCM3209/RCM3229 and RCM3200/RCM3220
This section compares the two lines of RabbitCore modules.
Temperature Specifications — We can no longer obtain certain components for the
RCM3200/RCM3220 RabbitCore modules that support the -40°C to +70°C temperature
range. RCM3200/RCM3220 RabbitCore modules manufactured after May, 2008, are
specified to operate at 0°C to +70°C. The RCM3209/RCM3229, rated for -40°C to
+85°C, are offered to customers requiring a larger temperature range after May, 2008.
Maximum Current — The RCM3200/RCM3220 draws 255 mA vs. the 325 mA
required by the RCM3209 (with Ethernet) or 190 mA (RCM3229 without Ethernet).
LEDs — The LNK/ACT LEDs have been combined to one LED on the RCM3209, and
the RCM3209 has an FDX/COL LED where the ACT LED was on the RCM3200. The
RCM3229, like the RCM3220, has no LEDs and no Ethernet.
Ethernet chip. A different Ethernet controller chip is used on the RCM3209. The
Ethernet chip is able to detect automatically whether a crossover cable or a straight-
through cable is being used in a particular setup, and will configure the signals on the
Ethernet jack interface. The RCM3229, like the RCM3220, has no Ethernet interface.
Dynamic C — You may run an application developed for the RCM3200/RCM3220 on
the RCM3209/RCM3229 after you recompile it using Dynamic C v. 9.60. The new
Dynamic C release incorporates many of the modules that previously had to be pur-
chased separately.
Table 1. RCM3209/RCM3229 Features
Feature RCM3209 RCM3229
Microprocessor Rabbit 3000 running at 44.2 MHz
SRAM 512K program (fast SRAM) + 256K data
Flash Memory (program) 512K
RJ-45 Ethernet Connector,
Filter Capacitors, and LEDs Yes No
Serial Ports
6 shared high-speed, CMOS-compatible ports:
6 are configurable as asynchronous serial ports;
4 are configurable as clocked serial ports (SPI);
2 are configurable as SDLC/HDLC serial ports;
1 asynchronous serial port is dedicated for programming
4RabbitCore RCM3209/RCM3229
1.3 Advantages of the RCM3209/RCM3229
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
Program Download Utility and cloning board options for rapid production loading of
programs.
Generous memory size allows large programs with tens of thousands of lines of code,
and substantial data storage.
Integrated Ethernet port for network connectivity, royalty-free TCP/IP software.
Pin-compatible with RCM3309/RCM3319 and RCM3900/RCM3910 to offer fixed
and/or removable media mass-storage memory options.
Accessory Parts for Prototyping Board “My: mmmmm Prototyping Board Figure 1. RCM3200 Development Kit User's
Users Manual 5
1.4 Development and Evaluation Tools
1.4.1 RCM3200 Development Kit
The RCM3200 Development Kit contains the hardware you need to use your RCM3209
or RCM3229 module.
RCM3209 module.
Prototyping Board.
Universal AC adapter, 12 V DC, 1 A (includes Canada/Japan/U.S., Australia/N.Z., U.K.,
and European style plugs).
USB programming cable with 10-pin header.
Dynamic C CD-ROM, with complete product documentation on disk.
Getting Started instructions.
Accessory parts for use on the Prototyping Board.
Screwdriver and Cat. 5 Ethernet cables.
Rabbit 3000 Processor Easy Reference poster.
Registration card.
Figure 1. RCM3200 Development Kit
Rabbit, Dynamic C, and Digi are registered trademarks of Digi International Inc.
RabbitCore RCM3309/RCM3319
The RCM3309/RCM3319 RabbitCore modules feature built-in Ethernet, and onboard mass storage (serial
flash). These Getting Started instructions included with the Development Kit will help you get your
RCM3309 up and running so that you can run the sample programs to explore its capabilities and develop
your own applications.
Development Kit Contents
The RCM3309/RCM3319 Development Kit contains the following items
RCM3309 module.
Prototyping Board.
Universal AC adapter, 12 V DC, 1 A (includes Canada/Japan/U.S., Australia/N.Z., U.K., and
European style plugs).
USB programming cable with 10-pin header.
Dynamic C® CD-ROM — with complete product documentation on disk.
A bag of accessory parts for use on the Prototyping Board.
Screwdriver and Cat. 5 Ethernet cables.
Getting Started instructions.
Rabbit 3000 Processor Easy Reference poster.
Registration card.
Visit our online Rabbit store at www.rabbit.com/store/ for
the latest information on peripherals and accessories that
are available for the RCM3309/RCM3319 RabbitCore
modules.
Installing Dynamic C®
Insert the CD from the Development Kit in
your PC’s CD-ROM drive. If the installation
does not auto-start, run the setup.exe pro-
gram in the root directory of the Dynamic C
CD. Install any optional Dynamic C modules
or packs after you install Dynamic C.
Getting Started
Instructions Prototyping Board
Accessory Parts for
Prototyping Board
Screwdriver
Programming
Cable Universal
AC Adapter
with Plugs
+BKLT
/CS
LED1
LED3
LED5
GND
GND
A2
A0
D1
D3
D5
D7
RABBITNET
R44
C28
C27
R43
R46
C30C29
R45
Q5
R48
R47
DS7
RELAY NO1 COM1 NC1 NO2 COM2 NC2
K1
KEYPAD DISPLAY BOARD
D8
LCD1JB LCD1JC
+V
/RES
LED0
LED2
LED4
LED6
GND
A3
A1
D0
D2
D4
D6
LCD1JA
J16
BD0
BD1
BD2
BD3
BD4
BD5
BD6
BD7
J15
BA0
BA1
BA2
BA3
LCD
/CS
RELAY RATED
0.5 A @ 30 V
J17
U12
U11
R42
R41
C20
C19
R40
R39
SERIAL FLASH/
MODEM
J7
R2
R7
R3
R4
R5
R6
R9
R8 U6
R10
C6
C1
D1
J2
J1
J4
J6
GND IN3 IN2 IN1 IN0 +5V +5V QD2A QD2B QD1A QD1B GND J5 VMB MDB1 MDB2 MDB3 MDB4 VMB+ VMA+ MDA1 MDA2 MDA3 MDA4 VMA
J3
C2
JP1
C3
JP2
GND
GND
VBT
/RES
SM0
/IOWR
PG5
PG7
PE1
PE4
PE6
PF7
PF5
PB7
PB5
PB3
PB0
J8
NC
+3.3 V
VRAM
SMODE1
/IORD
PG4
PG6
PE0
PE3
PE5
PB6
PB4
PB2
/RES_OUT
PF4 PF6 PE7
RCM3300
PROTOTYPING
BOARD
S1
RESET
J9
S2 S3
ACT
PD7
PD3
PD5
PG3
PG1
PC7
PC5
PC3
PC1
PF0
PF2
PA0
PA2
PA4
PA6
STAT
LINK
PD6
PD2
PD4
PG2
PG0
PC6
PC4
PC2
PC0
PF1
PF3
PA1
PA3
PA5
PA7
GND
JA JB
POWER
GND
+DC
GND
DS1
R1
GND +DC
D2
C8
L1
R11
JP3
R12
C9
C10
C11
C12
JP4
J10
RP1 RP2
R14 C5
BT1
C13
U5
R16 R15
R17
00 01 02 03 04 05 06 07
OUT
OUT
C4
R13
U1
U2
L293D
H-DRIVER
L293D
H-DRIVER
U8
R25 R26 R27 R28
J14 C24
U10
R38
R37
R35
C26
JP5
R36
C23
C21
U9
C22
J13
R33
R34
C17
C18
UX5
UX1
SO20W
UX2
SO20W
DX2
C25
J12
R50
Q6
R49
D4 D5 D6 D7
GND
HO4
HO3
HO2
HO1
R29
R30
R31
R32
CORE
DS2 DS3 DS4 DS5 DS6 TxE RxE GND TxF RxF 485+ GND 485
Q1 Q2 Q3 Q4
C16
R24
R23
R22
R21
CORE MODULE
GND/EGND
U4
GND
GND
+3.3 V
+5 V
+3.3 V
+5 V
U3
UX4
DX1
RX16
RX17
RX13
RX14
RX18
RX15
PF0_CLKD
PF0_QD
J11
C7
U7
R18
R19
R20
C14
C15
CX1
CX2
R55
R56
R57
R58
R63
R64
R65
R66
R59
R62
R60 R61
R52 R53
R51
R54
SOT23-6 SOT23-6
R67
R68
R69
R70
PROG
DIAG
Ethernet
Cables
6RabbitCore RCM3209/RCM3229
1.4.2 Software
The RCM3209 and the RCM3229 are programmed using version 9.60 of Rabbit’s
Dynamic C. A compatible version is included on the Development Kit CD-ROM. This
version of Dynamic C includes the popular µC/OS-II real-time operating system, point-to-
point protocol (PPP), FAT file system, RabbitWeb, and other select libraries.
Rabbit also offers for purchase the Rabbit Embedded Security Pack featuring the Secure
Sockets Layer (SSL) and a specific Advanced Encryption Standard (AES) library. In addi-
tion to the Web-based technical support included at no extra charge, a one-year telephone-
based technical support subscription is also available for purchase. Visit our Web site at
www.rabbit.com for further information and complete documentation, or contact your
Rabbit sales representative or authorized distributor.
1.4.3 Connectivity Interface Kits
Rabbit has available a Connector Adapter Board to allow you to use the the RCM3209/
RCM3229 with header sockets that have a 0.1" pitch.
Connector Adapter Board (Part No. 151-0114)—allows you to plug the RCM3209/
RCM3229 whose headers have a 2 mm pitch into header sockets with a 0.1" pitch.
Visit our Web site at www.rabbit.com or contact your Rabbit sales representative or autho-
rized distributor for further information.
1.4.4 Online Documentation
The online documentation is installed along with Dynamic C, and an icon for the docu-
mentation menu is placed on the workstation’s desktop. Double-click this icon to reach the
menu. If the icon is missing, use your browser to find and load default.htm in the docs
folder, found in the Dynamic C installation folder.
The latest versions of all documents are always available for free, unregistered download
from our Web sites as well.
User’s Manual 7
2. HARDWARE SETUP
This chapter describes how to set up and connect the RCM3209 and
the Prototyping Board included in the RCM3200 Development Kit.
NOTE: This chapter (and this manual) assume that you have a Development Kit. If you
purchased an RCM3200 series RabbitCore module by itself, you will have to adapt the
information in this chapter and elsewhere to your test and development setup.
2.1 Install Dynamic C
To develop and debug programs for an RCM3200 series RabbitCore module (and for all
other Rabbit hardware), you must install and use Dynamic C.
If you have not yet installed Dynamic C, do so now by inserting the Dynamic C CD from
the Development Kit in your PC’s CD-ROM drive. If autorun is enabled, the CD installa-
tion will begin automatically.
If autorun is disabled or the installation otherwise does not start, use the Windows
Start | Run menu or Windows Disk Explorer to launch setup.exe from the root folder
of the CD-ROM.
The installation program will guide you through the installation process. Most steps of the
process are self-explanatory.
Dynamic C uses a COM (serial) port to communicate with the target development system.
The installation allows you to choose the COM port that will be used. The default selec-
tion is COM1. Select any available USB port for Dynamic C’s use.This selection can be
changed later within Dynamic C.
NOTE: The installation utility does not check the selected COM port in any way. Speci-
fying a port in use by another device (mouse, modem, etc.) may lead to a message such
as "could not open serial port" when Dynamic C is started.
Once your installation is complete, you will have up to three icons on your PC desktop.
One icon is for Dynamic C, one opens the documentation menu, and the third is for the
Rabbit Field Utility, a tool used to download precompiled software to a target system.
If you have purchased the optional Dynamic C Rabbit Embedded Security Pack, install it
after installing Dynamic C. You must install the Rabbit Embedded Security Pack in the
same directory where Dynamic C was installed.
8RabbitCore RCM3209/RCM3229
2.2 Hardware Connections
There are three steps to connecting the Prototyping Board for use with Dynamic C and the
sample programs:
1. Attach the RCM3200 series RabbitCore module to the Prototyping Board.
2. Connect the programming cable between the RCM3200 series RabbitCore module and
the workstation PC.
3. Connect the power supply to the Prototyping Board.
Do not press down here. Figure 2. Install the RCM3209 Module on the Prototyping Board Although you can install a single module into either the MASTER or the SLAVE position on the Prototyping Board, all the Prototyping Board features (switches, LEDs, serial port drivers, etc.) are connected to the MASTER position i install a single module in the MASTER position. NOTE: It is important that you line up the pins on headers 161 and 162 of the RCM32 RCM3229 exactly with the corresponding pins of header sockets RCMZJA and RCMZJB on the Prototyping Board. The header pins may become bent or damaged the pin alignment is offset, and the module will not work. Permanent electrical dam to the module may also result if a misaligned module is powered up. Press the modules pins firmly into the Prototyping Board header socketsipress down the area above the header pins using your thumbs or fingers over the connectors as sh in Figure 2. Do not press down on the middle of the RCM3209/RCM3229 module to a flexing the module, which could damage the module or the components on the modu Should you need to remove the RCM3209/RCM3229 module, grasp it with your finge along the sides by the connectors and gently work the module up to pull the pins awa from the sockets where they are installed. Do nut remove the module by grasping it a top and bottom. User's Manual
Users Manual 9
2.2.1 Step 1 — Attach Module to Prototyping Board
Turn the RCM3209 module so that the Ethernet connector end of the module extends off
the Prototyping Board, as shown in Figure 2 below. Align the pins from headers J61 and
J62 on the bottom side of the module into header sockets RCM2JA and RCM2JB on the
Prototyping Board. The installation of the RCM3229, which does not have an Ethernet
connector, is similar.
Figure 2. Install the RCM3209 Module on the Prototyping Board
Although you can install a single module into either the MASTER or the SLAVE position
on the Prototyping Board, all the Prototyping Board features (switches, LEDs, serial port
drivers, etc.) are connected to the MASTER position — install a single module in the
MASTER position.
NOTE: It is important that you line up the pins on headers J61 and J62 of the RCM3209/
RCM3229 exactly with the corresponding pins of header sockets RCM2JA and
RCM2JB on the Prototyping Board. The header pins may become bent or damaged if
the pin alignment is offset, and the module will not work. Permanent electrical damage
to the module may also result if a misaligned module is powered up.
Press the modules pins firmly into the Prototyping Board header sockets—press down in
the area above the header pins using your thumbs or fingers over the connectors as shown
in Figure 2. Do not press down on the middle of the RCM3209/RCM3229 module to avoid
flexing the module, which could damage the module or the components on the module.
Should you need to remove the RCM3209/RCM3229 module, grasp it with your fingers
along the sides by the connectors and gently work the module up to pull the pins away
from the sockets where they are installed. Do not remove the module by grasping it at the
top and bottom.
+3.3V
+5V
+3.3V
+5V
GND GND GND
GND
+5V +5V
+3.3V
+3.3V
GND
MOTOR/ENCODER
RN5
J6
R20
JP1
CURRENT
MEASUREMENT
OPTION
+3.3V
+5V
+3.3V
POWER
D1
C13
DS3
L1
C17
C15
POWER
GND
+DC
GND
J9
2.5 MM JACK
GND +DC
GND GND
R17
RN3 RN4
J15
RN1
GND
PD0
PD6
PD2
PD4
PG2
PG0
PD5
PC4
PC2
PC0
PF1
PF3
PA1
PA3
PA5
PA7
GND
PD1
PD7
PD3
PD5
PG3
PG1
PD4
PC5
PC3
PC1
PF0
PF2
PA0
PA2
PA4
PA6
PE4
GND
GND
SM0
/IOWR
PG5
PG7
PE1
PE4
PE6
PF7
PF5
PB7
PB5
PB3
PB0
VBAT
EXT
/RES
IN
NC
+3.3V
VRAM
SM1
/IORD
PG4
PG6
PE0
PE3
PE5
PE7
PF6
PF4
PB6
PB4
PB2
/RES
RN2
J1
RCM1JA
C1
C2
R1
R3
R2
UX10
J3
RCM3000 ETHERNET CORE MODULE
SLAVE
MASTER
RCM2
RC18
UX11
RC1
RC2 UX2
C4
C5
C8
C6
C7
S3
S2
RCM2JB
R14
+5V
+5V
+3.3V
+5V
+5V
+3.3V
R16
R15 TP1
BT1
C12
C10
C11
U5
D2
DS2
DS1
PG6 PG7
U3
C9
J8 UX4
RC4 RC25
RC5
RC27
RC28
RC29
RC26
UX13
C14
U3
U6
C16
UX7
RC9
UX5
RC6 RC7
+5V
GND
BA3
BA1
BD0
BD2
BD4
BD6
+5V
BPE3
GND
GND
BA2
BA0
BD1
BD3
BD5
BD7
/RES
LCD
DISPLAY BOARD
RCM30/31/32XX SERIES
PROTOTYPING BOARD
DISPLAY BOARD
J7
J10
DISPLAY BOARD
U1
J5
RS-232
RESET
RCM2JA
RxC TxC
TxB RxB GND
R4
C3
R5
RC15
RC19
RC20
UX9
RC14
RC17
RC16
UX3
J4
PD0
PD6
PD2
PD4
PG2
PG0
PD5
PC4
PC2
PC0
PF1
PF3
PA1
PA3
PA5
PA7
GND
NC
+3.3V
VRAM
SM1
/IORD
PG4
PG6
PE0
PE3
PE5
PE7
PF6
PF4
PB6
PB4
PB2
/RES
GND
GND
SM0
/IOWR
PG5
PG7
PE1
PE4
PE6
PF7
PF5
PB7
PB5
PB3
PB0
PD1
PD7
PD3
PD5
PG3
PG1
PD4
PC5
PC3
PC1
PF0
PF2
PA0
PA2
PA4
PA6
STATU S
VBAT
EXT
/RES
IN
R21
RC12
RC10
RC11
RC13
RC21
RC22
R6
R12
R10
R8
R7
R9
R11
R13
RC23
RC24
Battery
U4
J11
RCM1JB
RCM3209
RCM2JBRCM2JA
Do not press down
here.
U1
R1
R2
R15
C1
J1
U2
C2
R4
JP1 J2
R5 JP2 JP3 JP4 JP5
R3
Y1 C5
R7
R8
C7
C6
R11
U4
R9
U3
C3
R10
R6
C4
C8
C9
U5
C10
C11
C14
C15
C19
C18
R17
JP7
JP10
JP9
JP8
L1
J3
C22
C23
C27
C33
L2
C35
C12
C16
C20
C21
C24
C13
C17
C25
U6
C28
R18
C37
C29
Y2
R12 R13 R14
C31
C30
R16
C32
C26
C34
C36
R19
U7
R20
R21
C39
C38
R23
R24
R25 R26
1
C44
2
U8
C43
C49
C50
JP12
JP11
C41
C42
JP13
R27
Y3
R22
C40
JP14
C46
U9
C45 R29
R28
R30
Q1
R33 DS1
R34
R35
DS2
DS3
SPD LNK
ACT FDX
COL
BSY
CE
DS4
R32
RCM39XX
D1
U10
Q2
C47
C48
R31
53.2w . I /'oosaoocucoocoooosaoocucoocr. oaoooncooocoDooaoooncooocooooaoo coocnoooooaucocoorooooooaucocoorc cocoL)couooucoucoeoououooucouooe comommaocooooonomsonocoooomoc 0'360000ocooooooocooooocoooooooo ooacocoanonoouooacocomonoauooacm - ococcuooooaoococoocoooosaoocucooc; Figure 3 Connect Programming Cable to RCM3209/RCM3229 Connect the other end of the programming cable to an available USB port on your PC or workstation Your PC should recognize the new USB hardware, and the LEDs in the shrinkiwrapped area of the USB programming cable will flash. HabbitCore FICM32 1O
10 RabbitCore RCM3209/RCM3229
2.2.2 Step 2 — Connect Programming Cable
The programming cable connects the RCM3209/RCM3229 to the PC running Dynamic C
to download programs and to monitor the RCM3209/RCM3229 module during debugging.
Connect the 10-pin connector of the programming cable labeled PROG to header J1 on
the RCM3209/RCM3229 module as shown in Figure 3. Be sure to orient the marked (usu-
ally 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.)
Figure 3. Connect Programming Cable to RCM3209/RCM3229
Connect the other end of the programming cable to an available USB port on your PC or
workstation. Your PC should recognize the new USB hardware, and the LEDs in the
shrink-wrapped area of the USB programming cable will flash.
+3.3V
+5V
+3.3V
+5V
GND GND GND
GND
+5V +5V
+3.3V
+3.3V
GND
MOTOR/ENCODER
RN5
J6
R20
JP1
CURRENT
MEASUREMENT
OPTION
+3.3V
+5V
+3.3V
POWER
D1
C13
DS3
L1
C17
C15
POWER
GND
+DC
GND
J9
2.5 MM JACK
GND +DC
GND GND
R17
RN3 RN4
J15
RN1
GND
PD0
PD6
PD2
PD4
PG2
PG0
PD5
PC4
PC2
PC0
PF1
PF3
PA1
PA3
PA5
PA7
GND
PD1
PD7
PD3
PD5
PG3
PG1
PD4
PC5
PC3
PC1
PF0
PF2
PA0
PA2
PA4
PA6
PE4
GND
GND
SM0
/IOWR
PG5
PG7
PE1
PE4
PE6
PF7
PF5
PB7
PB5
PB3
PB0
VBAT
EXT
/RES
IN
NC
+3.3V
VRAM
SM1
/IORD
PG4
PG6
PE0
PE3
PE5
PE7
PF6
PF4
PB6
PB4
PB2
/RES
RN2
J1
RCM1JA
C1
C2
R1
R3
R2
UX10
J3
RCM3000 ETHERNET CORE MODULE
SLAVE
MASTER
RCM2
RC18
UX11
RC1
RC2 UX2
C4
C5
C8
C6
C7
S3
S2
RCM2JB
R14
+5V
+5V
+3.3V
+5V
+5V
+3.3V
R16
R15 TP1
BT1
C12
C10
C11
U5
D2
DS2
DS1
PG6 PG7
U3
C9
J8 UX4
RC4 RC25
RC5
RC27
RC28
RC29
RC26
UX13
C14
U3
U6
C16
UX7
RC9
UX5
RC6 RC7
+5V
GND
BA3
BA1
BD0
BD2
BD4
BD6
+5V
BPE3
GND
GND
BA2
BA0
BD1
BD3
BD5
BD7
/RES
LCD
DISPLAY BOARD
RCM30/31/32XX SERIES
PROTOTYPING BOARD
DISPLAY BOARD
J7
J10
DISPLAY BOARD
U1
J5
RS-232
RESET
RCM2JA
RxC TxC
TxB RxB GND
R4
C3
R5
RC15
RC19
RC20
UX9
RC14
RC17
RC16
UX3
J4
PD0
PD6
PD2
PD4
PG2
PG0
PD5
PC4
PC2
PC0
PF1
PF3
PA1
PA3
PA5
PA7
GND
NC
+3.3V
VRAM
SM1
/IORD
PG4
PG6
PE0
PE3
PE5
PE7
PF6
PF4
PB6
PB4
PB2
/RES
GND
GND
SM0
/IOWR
PG5
PG7
PE1
PE4
PE6
PF7
PF5
PB7
PB5
PB3
PB0
PD1
PD7
PD3
PD5
PG3
PG1
PD4
PC5
PC3
PC1
PF0
PF2
PA0
PA2
PA4
PA6
STAT US
VBAT
EXT
/RES
IN
R21
RC12
RC10
RC11
RC13
RC21
RC22
R6
R12
R10
R8
R7
R9
R11
R13
RC23
RC24
Battery
U4
J11
RCM1JB
U1
R1
R2
R15
C1
J1
U2
C2
R4
JP1 J2
R5 JP2 JP3 JP4 JP5
R3
Y1 C5
R7
R8
C7
C6
R11
U4
R9
U3
C3
R10
R6
C4
C8
C9
U5
C10
C11
C14
C15
C19
C18
R17
JP7
JP10
JP9
JP8
L1
J3
C22
C23
C27
C33
L2
C35
C12
C16
C20
C21
C24
C13
C17
C25
U6
C28
R18
C37
C29
Y2
R12 R13 R14
C31
C30
R16
C32
C26
C34
C36
R19
U7
R20
R21
C39
C38
R23
R24
R25 R26
1
C44
2
U8
C43
C49
C50
JP12
JP11
C41
C42
JP13
R27
Y3
R22
C40
JP14
C46
U9
C45 R29
R28
R30
Q1
R33 DS1
R34
R35
DS2
DS3
SPD LNK
ACT FDX
COL
BSY
CE
DS4
R32
RCM39XX
D1
U10
Q2
C47
C48
R31
To
PC USB port
PROG
J1
DIAG
PROG
Colored edge
Programming Cable
3-pin power connector Figure 4. Power Supply Connec Plug in the AC adapter. The red power lamp on the Prototy J9 should light up. The RCM3209/RCM3229 and the Prot be used. NOTE: A RESET button is provided on the Prototyp without disconnecting power. User's Manual
Users Manual 11
2.2.3 Step 3 — Connect Power
When all other connections have been made, you can connect power to the Prototyping
Board.
First, prepare the AC adapter for the country where it will be used by selecting the plug.
The RCM3209/RCM3229 Development Kit presently includes Canada/Japan/U.S., Aus-
tralia/N.Z., U.K., and European style plugs. Snap in the top of the plug assembly into the
slot at the top of the AC adapter as shown in Figure 4, then press down on the spring-
loaded clip below the plug assembly to allow the plug assembly to click into place.
Connect the AC adapter to the power connector header J9 on the Prototyping Board as
shown in Figure 4 below.
Figure 4. Power Supply Connections
Plug in the AC adapter. The red power lamp on the Prototyping Board to the left of header
J9 should light up. The RCM3209/RCM3229 and the Prototyping Board are now ready to
be used.
NOTE: A RESET button is provided on the Prototyping Board to allow hardware reset
without disconnecting power.
+3.3V
+5V
+3.3V
+5V
GND GND GND
GND
+5V +5V
+3.3V
+3.3V
GND
MOTOR/ENCODER
RN5
J6
R20
JP1
CURRENT
MEASUREMENT
OPTION
+3.3V
+5V
+3.3V
POWER
D1
C13
DS3
L1
C17
C15
POWER
GND
+DC
GND
J9
2.5 MM JACK
GND +DC
GND GND
R17
RN3 RN4
J15
RN1
GND
PD0
PD6
PD2
PD4
PG2
PG0
PD5
PC4
PC2
PC0
PF1
PF3
PA1
PA3
PA5
PA7
GND
PD1
PD7
PD3
PD5
PG3
PG1
PD4
PC5
PC3
PC1
PF0
PF2
PA0
PA2
PA4
PA6
PE4
GND
GND
SM0
/IOWR
PG5
PG7
PE1
PE4
PE6
PF7
PF5
PB7
PB5
PB3
PB0
VBAT
EXT
/RES
IN
NC
+3.3V
VRAM
SM1
/IORD
PG4
PG6
PE0
PE3
PE5
PE7
PF6
PF4
PB6
PB4
PB2
/RES
RN2
J1
RCM1JA
C1
C2
R1
R3
R2
UX10
J3
RCM3000 ETHERNET CORE MODULE
SLAVE
MASTER
RCM2
RC18
UX11
RC1
RC2 UX2
C4
C5
C8
C6
C7
S3
S2
RCM2JB
R14
+5V
+5V
+3.3V
+5V
+5V
+3.3V
R16
R15 TP1
BT1
C12
C10
C11
U5
D2
DS2
DS1
PG6 PG7
U3
C9
J8 UX4
RC4 RC25
RC5
RC27
RC28
RC29
RC26
UX13
C14
U3
U6
C16
UX7
RC9
UX5
RC6 RC7
+5V
GND
BA3
BA1
BD0
BD2
BD4
BD6
+5V
BPE3
GND
GND
BA2
BA0
BD1
BD3
BD5
BD7
/RES
LCD
DISPLAY BOARD
RCM30/31/32XX SERIES
PROTOTYPING BOARD
DISPLAY BOARD
J7
J10
DISPLAY BOARD
U1
J5
RS-232
RESET
RCM2JA
RxC TxC
TxB RxB GND
R4
C3
R5
RC15
RC19
RC20
UX9
RC14
RC17
RC16
UX3
J4
PD0
PD6
PD2
PD4
PG2
PG0
PD5
PC4
PC2
PC0
PF1
PF3
PA1
PA3
PA5
PA7
GND
NC
+3.3V
VRAM
SM1
/IORD
PG4
PG6
PE0
PE3
PE5
PE7
PF6
PF4
PB6
PB4
PB2
/RES
GND
GND
SM0
/IOWR
PG5
PG7
PE1
PE4
PE6
PF7
PF5
PB7
PB5
PB3
PB0
PD1
PD7
PD3
PD5
PG3
PG1
PD4
PC5
PC3
PC1
PF0
PF2
PA0
PA2
PA4
PA6
STATUS
VBAT
EXT
/RES
IN
R21
RC12
RC10
RC11
RC13
RC21
RC22
R6
R12
R10
R8
R7
R9
R11
R13
RC23
RC24
Battery
U4
J11
RCM1JB
AC adapter
U1
R1
R2
R15
C1
J1
U2
C2
R4
JP1 J2
R5 JP2 JP3 JP4 JP5
R3
Y1 C5
R7
R8
C7
C6
R11
U4
R9
U3
C3
R10
R6
C4
C8
C9
U5
C10
C11
C14
C15
C19
C18
R17
JP7
JP10
JP9
JP8
L1
J3
C22
C23
C27
C33
L2
C35
C12
C16
C20
C21
C24
C13
C17
C25
U6
C28
R18
C37
C29
Y2
R12 R13 R14
C31
C30
R16
C32
C26
C34
C36
R19
U7
R20
R21
C39
C38
R23
R24
R25 R26
1
C44
2
U8
C43
C49
C50
JP12
JP11
C41
C42
JP13
R27
Y3
R22
C40
JP14
C46
U9
C45 R29
R28
R30
Q1
R33 DS1
R34
R35
DS2
DS3
SPD LNK
ACT FDX
COL
BSY
CE
DS4
R32
RCM39XX
D1
U10
Q2
C47
C48
R31
3-pin
power connector
RESET
Insert tab into slot
Press down on clip,
snap plug into place
2
1
Assemble
AC Adapter
12 RabbitCore RCM3209/RCM3229
2.3 Starting Dynamic C
Once the RCM3209/RCM3229 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 Start
menu. Select Code and BIOS in Flash, Run in RAM on the “Compiler” tab in the
Dynamic C Options > Project Options menu. Then click on the “Communications” tab
and verify that Use USB to Serial Converter is selected to support the USB program-
ming cable. Click OK.
2.4 Run a Sample Program
Use the File menu to open the sample program PONG.C, which is in the Dynamic C
SAMPLES folder. Press function key F9 to compile and run the program. The STDIO
window will open on your PC and will display a small square bouncing around in a box.
This program shows that the CPU is working. The sample program described in
Section 6.5, “Run the PINGME.C Sample Program,” tests the TCP/IP portion of the board.
2.4.1 Troubleshooting
If Dynamic C cannot find the target system (error message "No Rabbit Processor
Detected."):
Check that the RCM3209/RCM3229 is powered correctly — the power LED on the
Prototyping Board should be lit when the RCM3209/RCM3229 is mounted on the Prototyping
Board and the AC adapter is plugged in.
Check both ends of the programming cable to ensure that they are firmly plugged into
the PC and the PROG connector, not the DIAG connector, is plugged in to the program-
ming port on the RCM3209/RCM3229 with the marked (colored) edge of the program-
ming cable towards pin 1 of the programming header.
Ensure that the RCM3209/RCM3229 module is firmly and correctly installed in its
connectors on the Prototyping Board.
Dynamic C uses the USB port specified during installation. Select a different COM
port within Dynamic C. From the Options menu, select Project Options, then select
Communications. Select another USB COM port from the list, then click OK. Press
<Ctrl-Y> to force Dynamic C to recompile the BIOS. If Dynamic C still reports it is
unable to locate the target system, repeat the above steps until you locate the USB
COM port used by the RCM3209/RCM3229 programming cable.
If you get an error message when you plugged the programming cable into a USB port,
you will have to install USB drivers. Drivers for Windows XP are available in the
Dynamic C Drivers\Rabbit USB Programming Cable\WinXP_2K folder —
double-click DPInst.exe to install the USB drivers. Drivers for other operating sys-
tems are available online at www.ftdichip.com/Drivers/VCP.htm.
User’s Manual 13
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, it is possible that your
PC cannot handle the higher program-loading baud rate. Try changing the maximum
download rate to a slower baud rate as follows.
Locate the Serial Options dialog on the “Communications” tab in the Dynamic C
Options > Project Options menu. Select a slower Max download baud rate. Click OK
to save.
If a program compiles and loads, but then loses target communication before you can
begin debugging, it is possible that your PC cannot handle the default debugging baud
rate. Try lowering the debugging baud rate as follows.
Locate the Serial Options dialog in the Dynamic C Options > Project Options >
Communications menu. Choose a lower debug baud rate. Click OK to save.
Press <Ctrl-Y> to force Dynamic C to recompile the BIOS. The LEDs on the USB pro-
gramming cable will blink and you should receive a Bios compiled successfully
message.
2.5 Where Do I Go From Here?
If the sample program ran fine, you are now ready to go on to other sample programs and to
develop your own applications. The source code for the sample programs is provided to allow
you to modify them for your own use. The RCM3209/RCM3229 Users Manual also
provides complete hardware reference information and describes the software function calls
for the RCM3209 and the RCM3229, the Prototyping Board, and the optional LCD/keypad
module.
For advanced development topics, refer to the Dynamic C Users Manual and the
Dynamic C TCP/IP Users Manual, also in the online documentation set.
2.5.1 Technical Support
NOTE: If you purchased your RCM3209/RCM3229 through a distributor or through a
Rabbit 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 Technical Bulletin Board and forums at www.rabbit.com/support/bb/
and at www.rabbit.com/forums/.
Use the Technical Support e-mail form at www.rabbit.com/support/.
14 RabbitCore RCM3209/RCM3229
User’s Manual 15
3. RUNNING SAMPLE PROGRAMS
To develop and debug programs for the RCM3209/RCM3229 (and
for all other Rabbit hardware), you must install and use Dynamic C.
3.1 Introduction
To help familiarize you with the RCM3209/RCM3229 modules, Dynamic C includes sev-
eral sample programs. Loading, executing and studying these programs will give you a
solid hands-on overview of the RCM3209/RCM3229’s capabilities, as well as a quick
start using Dynamic C as an application development tool.
NOTE: The sample programs assume that you have at least an elementary grasp of the C
programming language. If you do not, see the introductory pages of the Dynamic C
Users Manual for a suggested reading list.
Complete information on Dynamic C is provided in the Dynamic C Users Manual.
In order to run the sample programs discussed in this chapter and elsewhere in this manual,
1. Your RCM3209/RCM3229 module must be plugged in to the Prototyping Board as
described in Chapter 2, “Hardware Setup.”
2. Dynamic C must be installed and running on your PC.
3. The RCM3209/RCM3229 module must be connected to your PC through the serial
programming cable.
4. Power must be applied to the RCM3209/RCM3229 through the Prototyping Board.
Refer to Chapter 2, “Hardware Setup,” if you need further information on these steps.
Remember to allow the compiler to run the application in the program execution SRAM
by selecting Code and BIOS in Flash, Run in RAM from the Dynamic C Options >
Project Options > Compiler menu.
To run a sample program, open it with the File menu, then press function key F9 to com-
pile and run the program.
Complete information on Dynamic C is provided in the Dynamic C Users Manual.
16 RabbitCore RCM3209/RCM3229
3.2 Sample Programs
Of the many sample programs included with Dynamic C, several are specific to the
RCM3209/RCM3229. Sample programs illustrating the general operation of the
RCM3209/RCM3229, and serial communication are provided in the SAMPLES\RCM3200
folder. Each sample program has comments that describe the purpose and function of the
program. Follow the instructions at the beginning of the sample program.
CONTROLLED.Cuses the STDIO window to demonstrate digital outputs by toggling
LEDs DS1 and DS2 on the Prototyping Board on and off.
Parallel Port G bit 6 = LED DS1
Parallel Port G bit 7 = LED DS2
Once you have compiled and run this program, you will be prompted via the Dynamic C
STDIO window to select LED DS1 or DS2. Use your PC keyboard to make your selec-
tion.
Once you have selected the LED, you will be prompted to select to turn the LED either
ON or OFF. A logic low will light up the LED you selected.
FLASHLED1.c—demonstrates the use of costatements to flash LEDs DS1 and DS2 on
the Prototyping Board at different rates. Once you have compiled and run this program,
LEDs DS1 and DS2 will flash on/off at different rates.
FLASHLED2.c—demonstrates the use of cofunctions and costatements to flash LEDs
DS1 and DS2 on the Prototyping Board at different rates. Once you have compiled and
run this program, LEDs DS1 and DS2 will flash on/off at different rates.
TOGGLESWITCH.c—demonstrates the use of costatements (cooperative multitasking)
to detect switches using the press-and-release method of debouncing. LEDs DS1 and
DS2 on the Prototyping Board are turned on and off when you press switches S2 and S3.
IR_DEMO.c—Demonstrates sending Modbus ASCII packets between two Prototyping
Board assemblies via the IrDA transceivers with the IrDA transceivers facing each other.
Note that this sample program will only work with the RCM30/31/32XX Prototyping
Board.
First, compile and run this program on one Prototyping Board assembly, then remove
the programming cable and press the RESET button on the Prototyping Board so that
the first RabbitCore module is operating in the Run mode. Then connect the program-
ming cable to the second Prototyping Board assembly with the RCM3209/RCM3229
and compile and run the same sample program. With the programming cable still con-
nected to the second Prototyping Board assembly, press switch S2 on the second Proto-
typing Board to transmit a packet. Once the first Prototyping Board assembly receives a
test packet, it will send back a response packet that will be displayed in the Dynamic C
STDIO window. The test packets and response packets have different codes.
Once you have loaded and executed these five programs and have an understanding of
how Dynamic C and the RCM3209/RCM3229 modules interact, you can move on and try
the other sample programs, or begin building your own.
C. The program will switch between generating parity or not on Serial Port B. Serial Port C will always be checking parity, so parity errors us should occur during every other sequence. To set up the Prototyping Board, you will need to tie TxB and RXC together RS232 header at 15 using the jumpers supplied in the Development Kit as sh diagram. The Dynamic C STDIO window will display the error sequence. 0 SIMPLE3WIRE . CiThis program demonstrates basic RS232 serial communication. Lower case characters are sent by TxC, and are received by RXB. The characters are converted to upper case and are sent out by TXB, are received by RXC, and are displayed in the Dynamic C STDIO window. To set up the Prototyping Board, you will need to tie TxB and RXC together o RS232 header at J5, and you will also tie RXB and TxC together using the jum supplied in the Development Kit as shown in the diagram. 0 SIMPLESWIRE . CiThis program demonstrates Siwire RS232 serial commun with flow control on Serial Port C and data flow on Serial Port B. To set up the Prototyping Board, you will need to tie TXB and RXB together on the RS232 header at J5, and you will also tie TxC and RxC together using the jumpers supplied in the Development Kit as shown in the diagram. Once you have compiled and run this program, you can test flow con, trol by disconnecting TXC from RxC while the program is running. Characters longer appear in the STDIO window, and will display again once TXC is conne back to RxC. User's Manual
Users Manual 17
3.2.1 Serial Communication
The following sample programs can be found in the SAMPLES\RCM3200\SERIAL folder.
FLOWCONTROL.C—This program demonstrates hardware flow control by configuring
Serial Port C (PC3/PC2) for CTS/RTS with serial data coming from TxB at 115,200 bps.
One character at a time is received and is displayed in the STDIO window.
To set up the Prototyping Board, you will need to tie TxB and RxB
together on the RS-232 header at J5, and you will also tie TxC and
RxC together using the jumpers supplied in the Development Kit as
shown in the diagram.
A repeating triangular pattern should print out in the STDIO window.
The program will periodically switch flow control on or off to demonstrate the effect of
no flow control.
PARITY.C—This program demonstrates the use of parity modes by
repeatedly sending byte values 0–127 from Serial Port B to Serial Port
C. The program will switch between generating parity or not on Serial
Port B. Serial Port C will always be checking parity, so parity errors
should occur during every other sequence.
To set up the Prototyping Board, you will need to tie TxB and RxC together on the
RS-232 header at J5 using the jumpers supplied in the Development Kit as shown in the
diagram.
The Dynamic C STDIO window will display the error sequence.
SIMPLE3WIRE.C—This program demonstrates basic RS-232 serial
communication. Lower case characters are sent by TxC, and are
received by RxB. The characters are converted to upper case and are
sent out by TxB, are received by RxC, and are displayed in the
Dynamic C STDIO window.
To set up the Prototyping Board, you will need to tie TxB and RxC together on the
RS-232 header at J5, and you will also tie RxB and TxC together using the jumpers
supplied in the Development Kit as shown in the diagram.
SIMPLE5WIRE.C—This program demonstrates 5-wire RS-232 serial communication
with flow control on Serial Port C and data flow on Serial Port B.
To set up the Prototyping Board, you will need to tie TxB and RxB
together on the RS-232 header at J5, and you will also tie TxC and
RxC together using the jumpers supplied in the Development Kit as
shown in the diagram.
Once you have compiled and run this program, you can test flow con-
trol by disconnecting TxC from RxC while the program is running. Characters will no
longer appear in the STDIO window, and will display again once TxC is connected
back to RxC.
J5
RxC TxC
GND
TxB RxB
J5
RxC
RxB GND
TxB
TxC
J5
RxC TxC
GND
TxB RxB
J5
RxC TxC
GND
TxB RxB
TxC together using the jumpers supplied in the Development Kit as shown in the diagram. m: ms am: Once you have compiled and run this program, press and release $2 and S3 on the Prototyping Board. The data sent between the serial ports will be dis, played in the STDIO window. Two sample programs, SIMPLE4 REMASTER . C and SIMPLEASSSLAVE . C, are available to illustrate RS485 master/slave com, munication. To nm these sample pro, grams, you will need a second Rabbit, based system with RS485, and you will also have to add an RS485 trans, ceiver such as the SP483E and bias resistors to the RCM30/3 l/32XX Prototyping Board. The diagram shows the connections. You will have to connect PCO and PCI (Serial Port D) on the RCM30/31/32XX Prototyping Board to the RS485 transceiver, and you will con, nect PD4 to the RS485 transceiver to enable or disable the RS485 transmitter. The RS485 connections between the slave and master devices are as follows. - RS485+ to R5485+ - RS4857 Io RS4857 - GND Io GND 0 SIMPLEdBSMASTERfiiThis program demonstrates a simple RS485 transmission of lower case letters to a slave RCM3209/RCM3229. The slave will send back converted upper case letters back to the master RCM3209/RCM3229 and display them in the STDIO window. Use SIMPLEASSSLAVE . C to program the slave RCM3209/RCM3229. 0 SIMPLEdBSSLAVE. CiThis program demonstrates a simple RS485 transmission of lower case letters to a master RCM3209/RCM3229. The slave will send back converted upper case letters back to the master RCM3209/RCM3229 and display them in the STDIO window. Use SIMPLEABSMASTER . C to program the master RCM3209/ RCM3229. 3.2.2 Other Sample Programs Section 6.5 describes the TCP/IP sample programs, and Appendix C.7 provides sample programs for the optional LCD/keypad module that can be installed on the Prototyping Board. 1B HabbitCore HCMBZUQ/HCMBZZQ
18 RabbitCore RCM3209/RCM3229
SWITCHCHAR.C—This program demonstrates transmitting and then receiving an
ASCII string on Serial Ports B and C. It also displays the serial data received from both
ports in the STDIO window.
To set up the Prototyping Board, you will need to tie TxB and RxC
together on the RS-232 header at J5, and you will also tie RxB and
TxC together using the jumpers supplied in the Development Kit as
shown in the diagram.
Once you have compiled and run this program, press and release S2
and S3 on the Prototyping Board. The data sent between the serial ports will be dis-
played in the STDIO window.
Two sample programs,
SIMPLE485MASTER.C and
SIMPLE485SLAVE.C, are available to
illustrate RS-485 master/slave com-
munication. To run these sample pro-
grams, you will need a second Rabbit-
based system with RS-485, and you
will also have to add an RS-485 trans-
ceiver such as the SP483E and bias
resistors to the RCM30/31/32XX
Prototyping Board.
The diagram shows the connections. You will have to connect PC0 and PC1 (Serial Port D)
on the RCM30/31/32XX Prototyping Board to the RS-485 transceiver, and you will con-
nect PD4 to the RS-485 transceiver to enable or disable the RS-485 transmitter.
The RS-485 connections between the slave and master devices are as follows.
RS485+ to RS485+
RS485 to RS485–
GND to GND
SIMPLE485MASTER.C—This program demonstrates a simple RS-485 transmission of
lower case letters to a slave RCM3209/RCM3229. The slave will send back converted
upper case letters back to the master RCM3209/RCM3229 and display them in the
STDIO window. Use SIMPLE485SLAVE.C to program the slave RCM3209/RCM3229.
SIMPLE485SLAVE.C—This program demonstrates a simple RS-485 transmission of
lower case letters to a master RCM3209/RCM3229. The slave will send back converted
upper case letters back to the master RCM3209/RCM3229 and display them in the
STDIO window. Use SIMPLE485MASTER.C to program the master RCM3209/
RCM3229.
3.2.2 Other Sample Programs
Section 6.5 describes the TCP/IP sample programs, and Appendix C.7 provides sample
programs for the optional LCD/keypad module that can be installed on the Prototyping
Board.
J5
RxC TxC
GND
TxB RxB
681 W
220 W
681 W
485+
485
A
B
termi-
nation
bias
bias
Vcc
PC0
PC1
PD4
GND
DI
RO
DE
/RE
Vcc
RS-485
CHIP
User’s Manual 19
4. HARDWARE REFERENCE
Chapter 4 describes the hardware components and principal hardware
subsystems of the RCM3209/RCM3229. Appendix A, “RCM3209/
RCM3229 Specifications,” provides complete physical and electrical
specifications.
Figure 5 shows these Rabbit-based subsystems designed into the RCM3209/RCM3229.
Figure 5. RCM3209/RCM3229 Subsystems
22.1 MHz
osc
32 kHz
osc
RabbitCore Module
RABBIT ®
3000
Program
Flash
Fast SRAM
(program)
Data
SRAM
Ethernet
Battery-Backup
Circuit
Customer-supplied
external 3 V battery
RS-232, RS-485
serial communication
drivers on motherboard
Customer-specific
applications
Level
converter
CMOS-level signals
I:- |:u |:u |:u |:u |:u |:u |:u |:u |:u |:u |:u |:u |:u |:u |:u |:u a: a: a: a: u:| a: a: a: a: a: a: a: u:| a: u:| a: a: l:- a: CD a: :u a: CD a: Cu u:| :u a: CD a: :u a: :u a: Cu u:| :u a: CD a: Cu u:| CD a: Cu u:| :u a: CD a:
20 RabbitCore RCM3209/RCM3229
4.1 RCM3209/RCM3229 Digital Inputs and Outputs
The RCM3209/RCM3229 has 52 parallel I/O lines grouped in seven 8-bit ports available
on headers J1 and J2. The 44 bidirectional I/O lines are located on pins PA0–PA7, PB0,
PB2–PB7, PD2–PD7, PE0–PE1, PE3–PE7, PF0–PF7, and PG0–PG7.
Figure 6 shows the RCM3209/RCM3229 pinouts for headers J61 and J62.
Figure 6. RCM3209/RCM3229 Pinouts
The pinouts for the RCM3000, RCM3100, RCM3209, RCM3309, and RCM3900 are compatible.
Visit the Web site for further information.
Headers J61 and J62 are standard 2 × 34 headers with a nominal 2 mm pitch. An RJ-45
Ethernet jack is also included on the RCM3209.
Pins 29–32 on header J61 are configured using 0 resistors at locations JP9, JP10, JP7,
and JP8 to enable connections to PD2, PD3, PD6, and PD7 respectively. They may also be
reconfigured to carry the Ethernet signals TPO+, TPO–, TPI+, and TPI–, but this capabil-
ity is reserved for future use.
Pins 33 and 34 on header J61 are wired via 0 surface-mount resistors at JP2 and JP3 to
carry the ACT and LINK signals that illuminate the corresponding LEDs on the RCM3209
module. These pins may be “configured” to carry PD0 and PD1, an option that is reserved
for future use.
See Appendix A.5 for more information about the locations of these headers.
Note: These pinouts are as seen on
the Bottom Side of the module.
/RES
PB2
PB4
PB6
PF4
PF6
PE7
PE5
PE3
PE0
PG6
PG4
/IORD
SMOD1
VRAM
+3.3V
n.c.
PB0
PB3
PB5
PB7
PF5
PF7
PE6
PE4
PE1
PG7
PG5
/IOWR
SMOD0
/RESET_IN
VBAT_EXT
GND
GND
J62
STATUS
PA6
PA4
PA2
PA0
PF2
PF0
PC1
PC3
PC5
PC7-RxA
PG1
PG3
PD5
PD3
PD7
n.c.
GND
PA7
PA5
PA3
PA1
PF3
PF1
PC0
PC2
PC4
PC6-TxA
PG0
PG2
PD4
PD2
PD6
n.c.
J61
n.c. = not connected
User’s Manual 21
Figure 7 shows the use of the Rabbit 3000 microprocessor ports in the RCM3209/
RCM3229 modules.
Figure 7. Use of Rabbit 3000 Ports
The ports on the Rabbit 3000 microprocessor used in the RCM3209/RCM3229 are config-
urable, and so the factory defaults can be reconfigured. Table 2 lists the Rabbit 3000
factory defaults and the alternate configurations.
R
ABBIT ®
3000
Port A Port B Port D
(+Ethernet Port)
Port E
PA0PA7 PB0,
PB2PB7
PE0PE1,
PE3PE7
PD4PD5
/RESET
/IORD
/IOWR
Watchdog
11 Timers
Clock Doubler
Slave Port
Real-Time Clock
RAM Backup Battery
Support Flash
Port C
(Serial Ports B,C & D)
Programming
Port
(Serial Port A)
Ethernet
Port
4 Ethernet signals
PB1, PC6, STATUS
PC0, PC2, PC4
PC1, PC3, PC5
Port G
(Serial Ports E & F)
PG2, PG6
PG3, PG7
Port F PF0PF7
PG0PG1,
PG4PG5
Port G
(+Serial Ports)
Misc. I/O /RES_IN
PC7, /RES,
SMODE0, SMODE1
22 RabbitCore RCM3209/RCM3229
Table 2. RCM3209/RCM3229 Pinout Configurations
Pin Pin Name Default Use Alternate Use Notes
Header J61
1GND
2 STATUS Output (Status) Output
3–10 PA[7:0] Parallel I/O
External data bus
(ID0–ID7)
Slave port data bus
(SD0–SD7)
11 PF3 Input/Output QD2A
12 PF2 Input/Output QD2B
13 PF1 Input/Output QD1A
CLKC
14 PF0 Input/Output QD1B
CLKD
15 PC0 Output TXD Serial Port D
16 PC1 Input RXD
17 PC2 Output TXC Serial Port C
18 PC3 Input RXC
19 PC4 Output TXB Serial Port B
20 PC5 Input RXB
21 PC6 Output TXA Serial Port A
(programming port)
22 PC7 Input RXA
23 PG0 Input/Output TCLKF Serial Clock F output
24 PG1 Input/Output RCLKF Serial Clock F input
25 PG2 Input/Output TXF Serial Port F
26 PG3 Input/Output RXF
27 PD4 Input/Output ATXB
28 PD5 Input/Output ARXB
29 PD2 Input/Output TPOUT– * Ethernet transmit port
30 PD3 Input/Output TPOUT+ *
31 PD6 Input/Output TPIN– * Ethernet receive port
32 PD7 Input/Output TPIN+ *
33 LNK_OUT Output Max. current draw 1 mA
(see Note 1)
34 ACT_OUT Output
* Pins 29–32 are reserved for future use.
User’s Manual 23
Header J62
1 /RES Reset output Reset input Reset output from Reset
Generator
2 PB0 Input/Output CLKB
3 PB2 Input/Output IA0
/SWR
External Address 0
Slave port write
4 PB3 Input/Output IA1
/SRD
External Address 1
Slave port read
5 PB4 Input/Output IA2
SA0
External Address 2
Slave port Address 0
6 PB5 Input/Output IA3
SA1
External Address 3
Slave port Address 1
7 PB6 Input/Output IA4 External Address 4
8 PB7 Input/Output IA5
/SLAVEATTN
External Address 5
Slave Attention
9 PF4 Input/Output AQD1B
PWM0
10 PF5 Input/Output AQD1A
PWM1
11 PF6 Input/Output AQD2B
PWM2
12 PF7 Input/Output AQD2A
PWM3
13 PE7 Input/Output I7
/SCS
14 PE6 Input/Output I6
15 PE5 Input/Output I5
INT1B
16 PE4 Input/Output I4
INT0B
17 PE3 Input/Output I3
18 PE1 Input/Output I1
INT1A
I/O Strobe 1
Interrupt 1A
19 PE0 Input/Output I0
INT0A
I/O Strobe 0
Interrupt 0A
Table 2. RCM3209/RCM3229 Pinout Configurations (continued)
Pin Pin Name Default Use Alternate Use Notes
24 RabbitCore RCM3209/RCM3229
Notes
1. When using pins 33–34 on header J61 to drive LEDs, you must use an external buffer
to drive these external LEDs. These pins are not connected on the RCM3229, which
does not have the LEDs installed.
2. The VRAM voltage is temperature-dependent. If the VRAM voltage drops below about
1.2 V to 1.5 V, the contents of the battery-backed SRAM may be lost. If VRAM drops
below 1.0 V, the 32 kHz oscillator could stop running. Pay careful attention to this volt-
age if you draw any current from this pin.
Header J62
20 PG7 Input/Output RXE Serial Port E
21 PG6 Input/Output TXE
22 PG5 Input/Output RCLKE Serial Clock E input
23 PG4 Input/Output TCLKE Serial Clock E ouput
24 /IOWR Output External write strobe
25 /IORD Input External read strobe
26–27 SMODE0,
SMODE1
(0,0)—start executing at address zero
(0,1)—cold boot from slave port
(1,0)—cold boot from clocked Serial Port A
SMODE0 =1, SMODE1 = 1
Cold boot from asynchronous Serial Port A at
2400 bps (programming cable connected)
Also connected to
programming cable
28 /RESET_IN Input Input to Reset Generator
29 VRAM Output See Notes below table
30 VBAT_EXT 3 V battery Input Minimum battery
voltage 2.85 V
31 +3.3V Input 3.15–3.45 V DC
32 GND
33 n.c. Reserved for future use
34 GND
Table 2. RCM3209/RCM3229 Pinout Configurations (continued)
Pin Pin Name Default Use Alternate Use Notes
User’s Manual 25
4.1.1 Memory I/O Interface
The Rabbit 3000 address lines (A0–A19) and all the data lines (D0–D7) are routed
internally to the onboard flash memory and SRAM chips. I/0 write (/IOWR) and I/0 read
(/IORD) are available for interfacing to external devices.
Parallel Port A can also be used as an external I/O data bus to isolate external I/O from the
main data bus. Parallel Port B pins PB2–PB7 can also be used as an auxiliary address bus.
When using the external I/O bus, you must add the following line at the beginning of your
program.
#define PORTA_AUX_IO // required to enable external I/O bus
4.1.2 LEDs
The RCM3209 has three Ethernet status LEDs located beside the RJ-45 Ethernet jack—
these are discussed in Section 4.2.
4.1.3 Other Inputs and Outputs
The status, /RESET_IN, SMODE0 and SMODE1 I/O are normally associated with the
programming port. Since the status pin is not used by the system once a program has been
downloaded and is running, the status pin can then be used as a general-purpose CMOS
output. The programming port is described in more detail in Section 4.2.3.
/RES is an output from the reset circuitry that can be used to reset external peripheral
devices.
4.1.4 5 V Tolerant Inputs
The RCM3209/RCM3229 operates over a voltage from 3.15 V to 3.45 V, but most
RCM3209/RCM3229 input pins, except /RESET_IN, VRAM, VBAT_EXT, and the
power-supply pins, are 5 V tolerant. When a 5 V signal is applied to 5 V tolerant pins, they
present a high impedance even if the Rabbit power is off. The 5 V tolerant feature allows 5
V devices that have a suitable switching threshold to be connected directly to the
RCM3209/RCM3229. This includes HCT family parts operated at 5 V that have an input
threshold between 0.8 and 2 V.
NOTE: CMOS devices operated at 5 V that have a threshold at 2.5 V are not suitable for
direct connection because the Rabbit 3000 outputs do not rise above VDD, and is often
specified as 3.3 V. Although a CMOS input with a 2.5 V threshold may switch at 3.3 V,
it will consume excessive current and switch slowly.
In order to translate between 5 V and 3.3 V, HCT family parts powered from 5 V can be
used, and are often the best solution. There is also the “LVT” family of parts that operate
from 2.0 V to 3.3 V, but that have 5 V tolerant inputs and are available from many suppli-
ers. True level-translating parts are available with separate 3.3 V and 5 V supply pins, but
these parts are not usually needed, and have design traps involving power sequencing.
26 RabbitCore RCM3209/RCM3229
4.2 Serial Communication
The RCM3209/RCM3229 boards do not have any serial protocol-level transceivers
directly on the board. However, an RS-232 or RS-485 interface may be incorporated on
the board the RCM3209/RCM3229 is mounted on. For example, the Prototyping Board
has a standard RS-232 transceiver chip.
4.2.1 Serial Ports
There are six serial ports designated as Serial Ports A, B, C, D, E, and F. All six serial
ports can operate in an asynchronous mode up to the baud rate of the system clock divided
by 8. An asynchronous port can handle 7 or 8 data bits. A 9th bit address scheme, where
an additional bit is sent to mark the first byte of a message, is also supported. Serial Ports
A, B, C, and D can also be operated in the clocked serial mode. In this mode, a clock line
synchronously clocks the data in or out. Either of the two communicating devices can sup-
ply the clock. When the Rabbit 3000 provides the clock, the baud rate can be up to 80% of
the system clock frequency divided by 128, or 276,250 bps for a 44.2 MHz clock speed.
Serial Ports E and F can also be configured as SDLC/HDLC serial ports. The IrDA proto-
col is also supported in SDLC format by these two ports.
Serial Port A is available only on the programming port.
f fl+m
User’s Manual 27
4.2.2 Ethernet Port (RCM3209 only)
Figure 8 shows the pinout for the RJ-45 Ethernet port (J4). Note that some Ethernet
connectors are numbered in reverse to the order used here.
Figure 8. RJ-45 Ethernet Port Pinout
The RJ-45 connector is shielded to minimize EMI effects to/from the Ethernet signals.
The Ethernet chip supports auto MDI/MDIX on the Ethernet port to choose the Ethernet
interface automatically based on whether a crossover cable or a straight-through cable is
used in a particular setup. The Ethernet chip may spike the current draw by up to 200 mA
while it is searching to determine the type of Ethernet cable. This search is repeated every
second if no Ethernet cable is detected. If you do not plan to connect an Ethernet cable,
use the Dynamic C pd_powerdown() function call to turn off the Ethernet chip. The
pd_powerup() function call is available to turn the Ethernet chip back on at a later time.
These function calls are described in the Dynamic C TCP/IP Users Manual, Volume 1.
Three LEDs are placed next to the RJ-45 Ethernet
jack, one to indicate an Ethernet link or Ethernet
activity (LNK/ACT), and one (FDX/COL) to indi-
cate whether the Ethernet connection is in full-
duplex mode (steady on) or that a half-duplex con-
nection is experiencing collisions (blinks).
The transformer/connector assembly ground is con-
nected to the RCM3209 printed circuit board digital
ground via a ferrite bead, L1, as shown in Figure 9. Figure 9. Ferrite Bead Isolation
ETHERNET
RJ-45 Plug
1. E_Tx+
2. E_Tx
3. E_Rx+
6. E_Rx
18
RJ-45 Jack
RJ-45 Ethernet Jack
L1
Chassis
Ground
Board
Ground
28 RabbitCore RCM3209/RCM3229
4.2.3 Serial Programming Port
The RCM3209/RCM3229 serial programming port is accessed using header J1 or over an
Ethernet connection via the RabbitLink EG2110. The programming port uses the Rabbit
3000’s Serial Port A for communication. Dynamic C uses the programming port to down-
load and debug programs.
The programming port is also used for the following operations.
Cold-boot the Rabbit 3000 on the RCM3209/RCM3229 after a reset.
Remotely download and debug a program over an Ethernet connection using the
RabbitLink EG2110.
Fast copy designated portions of flash memory from one Rabbit-based board (the
master) to another (the slave) using the Rabbit Cloning Board.
In addition to Serial Port A, the Rabbit 3000 startup-mode (SMODE0, SMODE1), status,
and reset pins are available on the programming port.
The two startup mode pins determine what happens after a reset—the Rabbit 3000 is
either cold-booted or the program begins executing at address 0x0000.
The status pin is used by Dynamic C to determine whether a Rabbit microprocessor is
present. The status output has three different programmable functions:
1. It can be driven low on the first op code fetch cycle.
2. It can be driven low during an interrupt acknowledge cycle.
3. It can also serve as a general-purpose CMOS output.
The /RESET_IN pin is an external input that is used to reset the Rabbit 3000 and the
RCM3209/RCM3229 onboard peripheral circuits. The serial programming port can be
used to force a hard reset on the RCM3209/RCM3229 by asserting the /RESET_IN signal.
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 I/O pin
The programming port may also be used as a serial port once the application is running.
The SMODE pins may then be used as inputs and the status pin may be used as an output.
Refer to the Rabbit 3000 Microprocessor User’s Manual for more information.
may 0cJuan)uocwocwocwocwoco ooacooacooacooacooacooacooacooaoo 000C000C000Cooocuoocuocouocouocoo -sousanusanusanucanucanocanocanoca yacomaoocommononoon(20001200011000: a CGoo:300:300:ocococococococococococ mooo0000Davooaoubaoubaoubaoubaoubao \oo:xoocnoocnoocnoo ocnoocnooc owoowo ~ 10:: mxr—mr—u RESET Figure 10. Switching Between Program Mode and Ru User's Manual
Users Manual 29
4.3 Serial Programming Cable
The programming cable is used to connect the serial programming port of the RCM3209/
RCM3229 to a PC serial COM port. The programming cable converts the voltage levels
used by the PC USB port to the CMOS voltage levels used by the Rabbit 3000.
When the
PROG connector on the programming cable is connected to the RCM3209/
RCM3229 serial programming port at header J1, programs can be downloaded and
debugged over the serial interface.
The DIAG connector of the programming cable may be used on header J1 of the RCM3209/
RCM3229 with the RCM3209/RCM3229 operating in the Run Mode. This allows the pro-
gramming port to be used as a regular serial port.
4.3.1 Changing Between Program Mode and Run Mode
The RCM3209/RCM3229 is automatically in Program Mode when the PROG connector
on the programming cable is attached, and is automatically in Run Mode when no pro-
gramming cable is attached. When the Rabbit 3000 is reset, the operating mode is deter-
mined by the state of the SMODE pins. When the programming cables PROG connector
is attached, the SMODE pins are pulled high, placing the Rabbit 3000 in the Program
Mode. When the programming cable’s PROG connector is not attached, the SMODE pins
are pulled low, causing the Rabbit 3000 to operate in the Run Mode.
Figure 10. Switching Between Program Mode and Run Mode
RESET
+3.3V
+5V
+3.3V
+5V
GND GND GND
GND
+5V +5V
+3.3V
+3.3V
GND
MOTOR/ENCODER
RN5
J6
R20
JP1
CURRENT
MEASUREMENT
OPTION
+3.3V
+5V
+3.3V
POWER
D1
C13
DS3
L1
C17
C15
POWER
GND
+DC
GND
J9
2.5 MM JACK
GND +DC
GND GND
R17
RN3 RN4
J15
RN1
GND
PD0
PD6
PD2
PD4
PG2
PG0
PD5
PC4
PC2
PC0
PF1
PF3
PA1
PA3
PA5
PA7
GND
PD1
PD7
PD3
PD5
PG3
PG1
PD4
PC5
PC3
PC1
PF0
PF2
PA0
PA2
PA4
PA6
PE4
GND
GND
SM0
/IOWR
PG5
PG7
PE1
PE4
PE6
PF7
PF5
PB7
PB5
PB3
PB0
VBAT
EXT
/RES
IN
NC
+3.3V
VRAM
SM1
/IORD
PG4
PG6
PE0
PE3
PE5
PE7
PF6
PF4
PB6
PB4
PB2
/RES
RN2
J1
RCM1JA
C1
C2
R1
R3
R2
UX10
J3
RCM3000 ETHERNET CORE MODULE
SLAVE
MASTER
RCM2
RC18
UX11
RC1
RC2 UX2
C4
C5
C8
C6
C7
S3
S2
RCM2JB
R14
+5V
+5V
+3.3V
+5V
+5V
+3.3V
R16
R15 TP1
BT1
C12
C10
C11
U5
D2
DS2
DS1
PG6 PG7
U3
C9
J8
UX4
RC4 RC25
RC5
RC27
RC28
RC29
RC26
UX13
C14
U3
U6
C16
UX7
RC9
UX5
RC6 RC7
+5V
GND
BA3
BA1
BD0
BD2
BD4
BD6
+5V
BPE3
GND
GND
BA2
BA0
BD1
BD3
BD5
BD7
/RES
LCD
DISPLAY BOARD
RCM30/31/32XX SERIES
PROTOTYPING BOARD
DISPLAY BOARD
J7
J10
DISPLAY BOARD
U1
J5
RS-232
RESET
RCM2JA
RxC TxC
TxB RxB GND
R4
C3
R5
RC15
RC19
RC20
UX9
RC14
RC17
RC16
UX3
J4
PD0
PD6
PD2
PD4
PG2
PG0
PD5
PC4
PC2
PC0
PF1
PF3
PA1
PA3
PA5
PA7
GND
NC
+3.3V
VRAM
SM1
/IORD
PG4
PG6
PE0
PE3
PE5
PE7
PF6
PF4
PB6
PB4
PB2
/RES
GND
GND
SM0
/IOWR
PG5
PG7
PE1
PE4
PE6
PF7
PF5
PB7
PB5
PB3
PB0
PD1
PD7
PD3
PD5
PG3
PG1
PD4
PC5
PC3
PC1
PF0
PF2
PA0
PA2
PA4
PA6
STATUS
VBAT
EXT
/RES
IN
R21
RC12
RC10
RC11
RC13
RC21
RC22
R6
R12
R10
R8
R7
R9
R11
R13
RC23
RC24
Battery
U4
J11
RCM1JB
U1
U6
R28
R38
R41
C5
C3
C9
C8
C12
C17
C23 C30
C18
C29 C35
C33
R29
R37
R39
R40
R42
Y3
C42R35
R31
R27
R25
DS1
R67
R70
J4
C79
Y4
C83
C86 GND
R75
R74
R71 DS3
DS2
R63 R64
C71
C72
C68
C64
C67
L2
U8
R49
R48
C62
R51
C61
R44
R47
C59
C49
C57
L1
R69
R72
R73
C75
C74
R58
C53
C47
C48
C45
C44
C43
JP5
C31
JP3
JP4
C28
C27
C37
C36
C32
R24
R22
C19
R23
C24
R20
C20
R19
C16
C15
R17
R18
R7
R9
R1
R8
C1
R10
R14
C4
SPD LNK ACT
J3
U5
U4
D1
Q1
C39
RP1
U1
R1
R2
R15
C1
J1
U2
C2
R4
JP1 J2
R5 JP2 JP3 JP4 JP5
R3
Y1 C5
R7
R8
C7
C6
R11
U4
R9
U3
C3
R10
R6
C4
C8
C9
U5
C10
C11
C14
C15
C19
C18
R17
JP7
JP10
JP9
JP8
L1
J3
C22
C23
C27
C33
L2
C35
C12
C16
C20
C21
C24
C13
C17
C25
U6
C28
R18
C37
C29
Y2
R12 R13 R14
C31
C30
R16
C32
C26
C34
C36
R19
U7
R20
R21
C39
C38
R23
R24
R25 R26
1
C44
2
U8
C43
C49
C50
JP12
JP11
C41
C42
JP13
R27
Y3
R22
C40
JP14
C46
U9
C45 R29
R28
R30
Q1
R33 DS1
R34
R35
DS2
DS3
SPD LNK
ACT FDX
COL
BSY
CE
DS4
R32
RCM39XX
D1
U10
Q2
C47
C48
R31
DIAG
PROG
Colored edge
Programming Cable
To
PC USB port
RESET RCM3209/RCM3229 when changing mode:
Short out pins 2832 on header J2,
OR
Press RESET button (if using Prototyping Board),
OR
Cycle power off/on
after removing or attaching programming cable.
30 RabbitCore RCM3209/RCM3229
A program “runs” in either mode, but can only be downloaded and debugged when the
RCM3209/RCM3229 is in the Program Mode.
Refer to the Rabbit 3000 Microprocessor Users Manual for more information on the pro-
gramming port.
4.3.2 Standalone Operation of the RCM3209/RCM3229
The RCM3209/RCM3229 must be programmed via the Prototyping Board or via a similar
arrangement on a customer-supplied board. Once the RCM3209/RCM3229 has been pro-
grammed successfully, remove the serial programming cable from the programming con-
nector and reset the RCM3209/RCM3229. The RCM3209/RCM3229 may be reset by
cycling the power off/on or by pressing the RESET button on the Prototyping Board. The
RCM3209/RCM3229 module may now be removed from the Prototyping Board for end-
use installation.
CAUTION: Disconnect power to the Prototyping Board or other boards when removing
or installing your RCM3209/RCM3229 module to protect against inadvertent shorts
across the pins or damage to the RCM3209/RCM3229 if the pins are not plugged in
correctly. Do not reapply power until you have verified that the RCM3209/RCM3229
module is plugged in correctly.
User’s Manual 31
4.4 Other Hardware
4.4.1 Clock Doubler
The RCM3209/RCM3229 takes advantage of the Rabbit 3000 microprocessors internal
clock doubler. A built-in clock doubler allows half-frequency crystals to be used to reduce
radiated emissions. The 44.2 MHz frequency specified for the RCM3209/RCM3229 is
generated using a 22.12 MHz resonator.
The clock doubler may be disabled if 44.2 MHz clock speeds are not required. Disabling
the Rabbit 3000 microprocessors internal clock doubler will reduce power consumption
and further reduce radiated emissions. The clock doubler is disabled with a simple config-
uration macro as shown below.
4.4.2 Spectrum Spreader
The Rabbit 3000 features a spectrum spreader, which helps to mitigate EMI problems. By
default, the spectrum spreader is on automatically, but it may also be turned off or set to a
stronger setting. The means for doing so is through a simple configuration macro as shown
below.
NOTE: Refer to the Rabbit 3000 Microprocessor User’s Manual for more information
on the spectrum-spreading setting and the maximum clock speed.
1. Select the “Defines” tab from the Dynamic C Options > Project Options menu.
2. Add the line CLOCK_DOUBLED=0 to always disable the clock doubler.
The clock doubler is enabled by default, and usually no entry is needed. If you need to
specify that the clock doubler is always enabled, add the line CLOCK_DOUBLED=1 to
always enable the clock doubler.
3. Click OK to save the macro. The clock doubler will now remain off whenever you are
in the project file where you defined the macro.
1. Select the “Defines” tab from the Dynamic C Options > Project Options menu.
2. Normal spreading is the default, and usually no entry is needed. If you need to specify
normal spreading, add the line
ENABLE_SPREADER=1
For strong spreading, add the line
ENABLE_SPREADER=2
To disable the spectrum spreader, add the line
ENABLE_SPREADER=0
NOTE: The strong spectrum-spreading setting is unnecessary for the BL2000.
3. Click OK to save the macro. The spectrum spreader will now be set to the state specified
by the macro value whenever you are in the project file where you defined the macro.
32 RabbitCore RCM3209/RCM3229
4.5 Memory
4.5.1 SRAM
The RCM3209/RCM3229 have 512K of program execution fast SRAM installed at U66.
The RCM3209/RCM3229 data SRAM installed at U9 is 256K.
4.5.2 Flash EPROM
The RCM3209/RCM3229 boards also have 512K of flash EPROM at U8.
NOTE: Rabbit 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. Instead,
define a “user block” area to store persistent data. The functions writeUserBlock()
and readUserBlock() are provided for this. Refer to the Rabbit 3000 Microprocessor
Designer’s Handbook and the Dynamic C Function Reference Manual for additional infor-
mation.
A Flash Memory Bank Select jumper configuration option based on 0 surface-mounted
resistors exists at header JP12 on the RCM3209/RCM3229 RabbitCore modules. This
option, used in conjunction with some configuration macros, allows Dynamic C to com-
pile two different co-resident programs for the upper and lower halves of a 256K flash in
such a way that both programs start at logical address 0000. This option is not relevant to
the RCM3209/RCM3229 RabbitCore modules, which use 512K flash memories.
4.5.3 Dynamic C BIOS Source Files
The Dynamic C BIOS source files handle different standard RAM and flash EPROM sizes
automatically.
User’s Manual 33
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 with controllers based on the Rabbit
microprocessor Chapter 5 provides the libraries and function
calls related to the RCM3209/RCM3229.
5.1 More About Dynamic C
Dynamic C has been in use worldwide since 1989. It is specially designed for program-
ming embedded systems, and features quick compile and interactive debugging in the real
environment. A complete reference guide to Dynamic C is contained in the Dynamic C
Users Manual.
You have a choice of doing your software development in the flash memory or in the data
SRAM included on the RCM3209/RCM3229. 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.
NOTE: An application should be run from the program execution SRAM after the pro-
gramming cable is disconnected. Your final code must always be stored in flash memory
for reliable operation. For RCM3209/RCM3229 modules running at 44.2 MHz, which
have a fast program execution SRAM that is not battery-backed, you should select
Code and BIOS in Flash, Run in RAM from the Dynamic C Options > Project
Options > Compiler menu to store the code in flash and copy it to the fast program
execution SRAM at run-time to take advantage of the faster clock speed. This option
optimizes the performance of RCM3209/RCM3229 modules running at 44.2 MHz.
NOTE: Do not depend on the flash memory sector size or type. Due to the volatility of
the flash memory market, the RCM3209/RCM3229 and Dynamic C were designed to
accommodate flash devices with various sector sizes.
Developing software with Dynamic C is simple. Users can write, compile, and test C and
assembly code without leaving the Dynamic C development environment. Debugging occurs
while the application runs on the target. Alternatively, users can compile a program to an
image file for later loading. Dynamic C runs on PCs under Windows 2000/NT and later—
see Rabbit’s Technical Note TN257, Running Dynamic C® With Windows Vista®, for
34 RabbitCore RCM3209/RCM3229
additional information if you are using a Dynamic C release prior to v. 9.60 under Windows
Vista. Programs can be downloaded at baud rates of up to 460,800 bps after the program
compiles.
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:
XExceptionally fast support for floating-point arithmetic and transcendental functions.
XRS-232 and RS-485 serial communication.
XAnalog and digital I/O drivers.
XI2C, SPI, GPS, file system.
XLCD display and keypad drivers.
Powerful language extensions for cooperative or preemptive multitasking
Loader utility program to load binary images into Rabbit targets in the absence of
Dynamic C.
Provision for customers to create their own source code libraries and augment on-line
help by creating “function description” block comments using a special format for
library functions.
Standard debugging features:
XBreakpoints—Set breakpoints that can disable interrupts.
XSingle-stepping—Step into or over functions at a source or machine code level, µC/OS-II aware.
XCode 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.
XWatch expressions—Watch expressions are compiled when defined, so complex expressions
including function calls may be placed into watch expressions. Watch expressions can be updated
with or without stopping program execution.
XRegister window—All processor registers and flags are displayed. The contents of general registers
may be modified in the window by the user.
XStack window—shows the contents of the top of the stack.
XHex memory dump—displays the contents of memory at any address.
XSTDIO window—printf outputs to this window and keyboard input on the host PC can be
detected for debugging purposes. printf output may also be sent to a serial port or file.
User’s Manual 35
5.2 Dynamic C Function Calls
5.2.1 Digital I/O
The RCM3209/RCM3229 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 func-
tions 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.
When using the external I/O bus on the Rabbit 3000 chip, add the line
#define PORTA_AUX_IO // required to enable external I/O bus
to the beginning of any programs using the external I/O bus.
The sample programs in the Dynamic C
SAMPLES/RCM3200
directory provide further
examples.
5.2.2 SRAM Use
The RCM3209/RCM3229 has a battery-backed data SRAM and a program-execution
SRAM. Dynamic C provides the
protected
keyword to identify variables that are to be
placed into the battery-backed SRAM. The compiler generates code that creates a backup
copy of a protected variable before the variable is modified. If the system resets while the
protected variable is being modified, the variable's value can be restored when the system
restarts.
The sample code below shows how a protected variable is defined and how its value can
be restored.
protected nf_device nandFlash;
int main() {
...
_sysIsSoftReset(); // restore any protected variables
The
bbram
keyword may also be used instead if there is a need to store a variable in bat-
tery-backed SRAM without affecting the performance of the application program. Data
integrity is not assured when a reset or power failure occurs during the update process.
Additional information on
bbram
and
protected
variables is available in the Dynamic C
Users Manual.
36 RabbitCore RCM3209/RCM3229
5.2.3 Serial Communication Drivers
Library files included with Dynamic C provide a full range of serial communications sup-
port. The
LIB\RS232.LIB
library provides a set of circular-buffer-based serial functions.
The
LIB\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.
Both libraries provide blocking functions, which do not return until they are finished
transmitting or receiving, and nonblocking functions, which must be called repeatedly
until they are finished. For more information, see the Dynamic C Function Reference
Manual and Rabbit’s Technical Note 213, Rabbit 2000 Serial Port Software in the online
documentation set.
5.2.4 TCP/IP Drivers
The TCP/IP drivers are located in the
LIB\
TCPIP
directory.
Complete information on these libraries and the TCP/IP functions is provided in the
Dynamic C TCP/IP Users Manual.
5.2.5 Prototyping Board Function Calls
The functions described in this section are for use with the Prototyping Board features.
The source code is in the RCM3200.LIB library in the Dynamic C SAMPLES\RCM3200
folder if you need to modify it for your own board design.
Other generic functions applicable to all devices based on Rabbit microprocessors are
described in the Dynamic C Function Reference Manual.
User’s Manual 37
5.2.6 Prototyping Board Functions
The functions described in this section are for use with the Prototyping Board features.
The source code is in the Dynamic C SAMPLES\RCM3200\RCM3200.LIB library if you
need to modify it for your own board design.
Other generic functions applicable to all devices based on Rabbit microprocessors are
described in the Dynamic C Function Reference Manual.
5.2.6.1 Board Initialization
brdInit
void brdInit (void);
DESCRIPTION
Call this function at the beginning of your program. This function initializes Parallel
Ports A through G for use with the Prototyping Board.
This function call is intended for demonstration purposes only, and can be modified for
your applications.
Summary of Initialization
1. I/O port pins are configured for Prototyping Board operation.
2. Unused configurable I/O are set as tied inputs or outputs.
3. Only one RabbitCore module is plugged in, and is in the MASTER position on the
Prototyping Board.
4. The LCD/keypad module is disabled.
5. RS-485 is not enabled.
6. RS-232 is not enabled.
7. The IrDA transceiver is disabled.
8. LEDs are off.
RETURN VALUE
None.
38 RabbitCore RCM3209/RCM3229
5.3 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.
5.3.1 Extras
Dynamic C installations are designed for use with the board they are included with, and
are included at no charge as part of our low-cost kits.
Starting with Dynamic C version 9.60, which is included with the RCM3209/RCM3229
Development Kit, Dynamic C includes the popular µC/OS-II real-time operating system,
point-to-point protocol (PPP), FAT file system, RabbitWeb, and other select libraries. Rabbit
also offers for purchase the Rabbit Embedded Security Pack featuring the Secure Sockets
Layer (SSL) and a specific Advanced Encryption Standard (AES) library.
In addition to the Web-based technical support included at no extra charge, a one-year
telephone-based technical support subscription is also available for purchase.
Visit our Web site at www.rabbit.com for further information and complete documentation.
User’s Manual 39
6. USING THE TCP/IP FEATURES
6.1 TCP/IP Connections
Programming and development can be done with the RCM3209 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 devel-
opment, you should connect the RCM3209 module’s Ethernet port at this time.
Before proceeding you will need to have the following items.
If you don’t have Ethernet access, you will need at least a 10Base-T Ethernet card
(available from your favorite computer supplier) installed in a PC.
One Cat. 5 straight through or crossover Ethernet cable.
Ethernet cables and a 10Base-T Ethernet hub are available in a TCP/IP tool kit. More
information is available at www.rabbit.com.
NOTE: Although 10Base-T is the minimum required, 10/100Base-T or 100Base-T is
recommended to allow you to work with the full speed capabilities of the RCM3209.
1. Connect the AC adapter and the programming cable as shown in Section 2.2.2, “Step 2
— Connect Programming Cable.”
2. Ethernet Connections
There are four options for connecting the RCM3209 module to a network for develop-
ment and runtime purposes. The first two options permit total freedom of action in
selecting network addresses and use of the “network,” as no action can interfere with
other users. We recommend one of these options for initial development.
No LAN The simplest alternative for desktop development. Connect the
RCM3209’s module’s Ethernet port directly to the PC’s network interface card using
either a Cat. 5 crossover cable or a Cat. 5 straight-through cable.
Micro-LAN — Another simple alternative for desktop development. Use a small
Ethernet 10Base-T hub and connect both the PC’s network interface card and the
RCM3209’s Ethernet port to it, using standard network cables.
40 RabbitCore RCM3209/RCM3229
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 RCM3209’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.
WAN The RCM3209 is capable of direct connection to the Internet and other Wide
Area Networks, but exceptional care should be used with IP address settings and all
network-related programming and development. We recommend that development and
debugging be done on a local network before connecting a RabbitCore system to the
Internet.
TIP: Checking and debugging the initial setup on a micro-LAN is recommended before
connecting the system to a LAN or WAN.
The PC running Dynamic C through the serial port on the RCM3209 does not need to
be the PC with the Ethernet card.
3. Apply Power
Plug in the AC adapter. The RCM3209 module is now ready to be used.
User’s Manual 41
6.2 TCP/IP Primer on IP Addresses
Obtaining IP addresses to interact over an existing, operating, network can involve a num-
ber of complications, and must usually be done with cooperation from your ISP and/or
network systems administrator. For this reason, it is suggested that the user begin instead
by using a direct connection between a PC and the RCM3209 board.
In order to set up this direct connection, the user will have to use a PC without networking,
or disconnect a PC from the corporate network, or install a second Ethernet adapter and set
up a separate private network attached to the second Ethernet adapter. Disconnecting your
PC from the corporate network may be easy or nearly impossible, depending on how it is
set up. If your PC boots from the network or is dependent on the network for some or all
of its disks, then it probably should not be disconnected. If a second Ethernet adapter is
used, be aware that Windows TCP/IP will send messages to one adapter or the other,
depending on the IP address and the binding order in Microsoft products. Thus you should
have different ranges of IP addresses on your private network from those used on the cor-
porate network. If both networks service the same IP address, then Windows may send a
packet intended for your private network to the corporate network. A similar situation will
take place if you use a dial-up line to send a packet to the Internet. Windows may try to
send it via the local Ethernet network if it is also valid for that network.
The following IP addresses are set aside for local networks and are not allowed on the
Internet: 10.0.0.0 to 10.255.255.255, 172.16.0.0 to 172.31.255.255, and 192.168.0.0 to
192.168.255.255.
The RCM3209 board uses a 10/100Base-T type of Ethernet connection, which is the most
common scheme. The RJ-45 connectors are similar to U.S. style telephone connectors, are
except larger and have 8 contacts.
An alternative to the direct connection is a connection using a hub. The hub relays packets
received on any port to all of the ports on the hub. Hubs are low in cost and are readily
available. The RCM3209 board uses 10/100 Mbps Ethernet, so the hub or Ethernet
adapter should be a 10/100 Mbps unit.
In a corporate setting where the Internet is brought in via a high-speed line, there are typi-
cally machines between the outside Internet and the internal network. These machines
include a combination of proxy servers and firewalls that filter and multiplex Internet traf-
fic. In the configuration below, the RCM3209 board could be given a fixed address so any
of the computers on the local network would be able to contact it. It may be possible to
configure the firewall or proxy server to allow hosts on the Internet to directly contact the
controller, but it would probably be easier to place the controller directly on the external
network outside of the firewall. This avoids some of the configuration complications by
sacrificing some security.
42 RabbitCore RCM3209/RCM3229
If your system administrator can give you an Ethernet cable along with its IP address, the
netmask and the gateway address, then you may be able to run the sample programs with-
out having to setup a direct connection between your computer and the RCM3209 board.
You will also need the IP address of the nameserver, the name or IP address of your mail
server, and your domain name for some of the sample programs.
Hub(s)
Firewall
Proxy
Server
T1 in Adapter
Ethernet Ethernet
Network
RCM3209
Board
Typical Corporate Network
User’s Manual 43
6.2.1 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 adja-
cent 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. The
netmask is also a 32-bit address expressed in the same form as the IP address. An example
netmask is:
255.255.255.0
This netmask has 8 zero bits in the least significant portion, and this means that 28
addresses are a part of the local network. Applied to the IP address above
(216.103.126.155), this netmask would indicate that the following IP addresses belong to
the local network:
216.103.126.0
216.103.126.1
216.103.126.2
etc.
216.103.126.254
216.103.126.255
The lowest and highest address are reserved for special purposes. The lowest address
(216.102.126.0) is used to identify the local network. The highest address
(216.102.126.255) is used as a broadcast address. Usually one other address is used for the
address of the gateway out of the network. This leaves 256 - 3 = 253 available IP
addresses for the example given.
44 RabbitCore RCM3209/RCM3229
6.2.2 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 net-
work to which the packet must be sent. A table is maintained to allow the protocol driver
to determine the MAC address corresponding to a particular IP address. If the table is
empty, the MAC address is determined by sending an Ethernet broadcast packet to all
devices on the local network asking the device with the desired IP address to answer with
its MAC address. In this way, the table entry can be filled in. If no device answers, then
the device is nonexistent or inoperative, and the packet cannot be sent.
IP addresses are arbitrary and can be allocated as desired provided that they don’t conflict
with other IP addresses. However, if they are to be used with the Internet, then they must
be numbers that are assigned to your connection by proper authorities, generally by dele-
gation via your service provider.
Each RCM3209 RabbitCore module has its own unique MAC address, which consists of
the prefix 0090C2 followed by the code that appears on the label affixed to the RCM3209
module. For example, a MAC address might be 0090C2C002C0.
TIP: You can always verify the MAC address on your board by running the sample pro-
gram DISPLAY_MAC.C from the SAMPLES\TCPIP folder.
User’s Manual 45
6.2.3 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 when you have a device that provides your IP addresses using
the Dynamic Host Configuration Protocol (DHCP). The RCM3209 RabbitCore modules
can use such IP addresses to send and receive packets on the Internet, but you must take
into account that this IP address may only be valid for the duration of the call or for a
period of time, and could be a private IP address that is not directly accessible to others on
the Internet. These addresses can be used to perform some Internet tasks such as sending
e-mail or browsing the Web, but it is more difficult to participate in conversations that
originate elsewhere on the Internet. If you want to find out this dynamically assigned IP
address, under Windows 98 you can run the winipcfg program while you are connected
and look at the interface used to connect to the Internet.
Many networks use private IP addresses that are assigned using DHCP. When your com-
puter comes up, and periodically after that, it requests its networking information from a
DHCP server. The DHCP server may try to give you the same address each time, but a
fixed IP address is usually not guaranteed.
If you are not concerned about accessing the RCM3209 from the Internet, you can place
the RCM3209 on the internal network using a private address assigned either statically or
through DHCP.
46 RabbitCore RCM3209/RCM3229
6.3 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 net-
work. If you want users on the Internet to communicate with your RCM3209, you have
several options. You can either place the RCM3209 directly on the Internet with a real
Internet address or place it behind the firewall. If you place the RCM3209 behind the fire-
wall, you need to configure the firewall to translate and forward packets from the Internet
to the RCM3209.
User’s Manual 47
6.4 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
RCM3209 board together on the same network. This network can be a local private net-
work (preferred for initial experimentation and debugging), or a connection via the Internet.
RCM3209
User’s PC
Cat. 5
Ethernet
cable
Direct Connection
(network of 2 computers)
RCM3209
Hub
Ethernet
cables
To additional
network
elements
Direct Connection Using a Hub
Board Board
48 RabbitCore RCM3209/RCM3229
6.4.1 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. You can replace the TCPCONFIG macro with individual MY_IP_ADDRESS,
MY_NETMASK, MY_GATEWAY, and MY_NAMESERVER macros in each program.
2. You can leave TCPCONFIG at the usual default of 1, which will set the IP configurations
to 10.10.6.100, the netmask to 255.255.255.0, and the nameserver and gateway
to 10.10.6.1. If you would like to change the default values, for example, to use an IP
address of 10.1.1.2 for the RCM3209 board, and 10.1.1.1 for your PC, you can edit
the values in the section that directly follows the “General Configuration” comment in
the TCP_CONFIG.LIB library. You will find this library in the LIB/TCPIP directory.
3. You can create a CUSTOM_CONFIG.LIB library and use a TCPCONFIG value greater
than 100. Instructions for doing this are at the beginning of the TCP_CONFIG.LIB file.
There are some other “standard” configurations for TCPCONFIG that let you select differ-
ent features such as DHCP. Their values are documented at the top of the
TCP_CONFIG.LIB library. More information is available in the Dynamic C TCP/IP
Users Manual.
User’s Manual 49
6.4.2 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. Write down the existing settings before
changing them to facilitate restoring them when you are finished with the sample pro-
grams and reconnect your PC to the network.
1. Go to the control panel (Start > Settings > Control Panel), and then double-click the
Network icon.
2. Select the network interface card used for the Ethernet interface you intend to use (e.g.,
TCP/IP Xircom Credit Card Network Adapter) and click on the “Properties” button.
Depending on which version of Windows your PC is running, you may have to select
the “Local Area Connection” first, and then click on the “Properties” button to bring up
the Ethernet interface dialog. Then “Configure” your interface card for a “10Base-T
Half-Duplex” or an “Auto-Negotiation” connection on the “Advanced” tab.
NOTE: Your network interface card will likely have a different name.
3. Now select the IP Address tab, and check Specify an IP Address, or select TCP/IP 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.
RCM3209
User’s PC
Cat. 5
Ethernet
cable
IP 10.10.6.101
Netmask
255.255.255.0
Direct Connection PC to RCM3209 Board
Board
50 RabbitCore RCM3209/RCM3229
6.5 Run the PINGME.C Sample Program
Connect a Cat. 5 Ethernet cable from your computers Ethernet port to the RCM3209
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 pro-
gram starts running, the green LNK/ACT LED on the RCM3209 board should be on to
indicate an Ethernet connection is made. (Note: If the LNK/ACT LED does not light, and
you are using a hub, check that the power is not off on the hub.)
The next step is to ping the board from your PC. This can be done by bringing up the MS-
DOS window and running the pingme program:
ping 10.10.6.100
or by Start > Run
and typing the entry
ping 10.10.6.100
Notice that the green LNK/ACT LED flashes on the RCM3209 board while the ping is tak-
ing place, and indicates the transfer of data. The ping routine will ping the board four
times and write a summary message on the screen describing the operation.
6.6 Running More Sample Programs With Direct Connect
The sample programs discussed here are in the Dynamic C SAMPLES\RCM3209\TCPIP\
folder.
BROWSELED.C—This program demonstrates a basic controller running a Web page.
Two “LEDs” are created on the Web page, and two buttons on the Prototyping Board
then toggle them. Users can change the state of the lights from the Web browser. The
LEDs on the Prototyping Board match the ones on the Web page. As long as you have
not modified the TCPCONFIG 1 macro in the sample program, enter the following server
address in your Web browser to bring up the Web page served by the sample program.
http://10.10.6.100.
Otherwise use the TCP/IP settings you entered in the TCP_CONFIG.LIB library.
ECHOCLIENT.C—This program demonstrates a basic client that will send a packet and
wait for the connected server to echo it back. After every number of sends and receives,
transfer times are shown in the STDIO window.
Use ECHO_SERVER.C to program a server controller.
ECHOSERVER.C—This program demonstrates a basic server that will echo back any
data sent from a connected client.
Use ECHO_CLIENT.C to program a client controller.
ENET_AD.C—This program demonstrates Ethernet communication between two
single-board computers. The program sends an A/D voltage value to the second single-
board computer via Ethernet for display.
Use ENET_MENU.C to program the other single-board computer.
User’s Manual 51
ENET_MENU.C—This program demonstrates how to implement a menu system using a
highlight bar on a graphic LCD display and to communicate it to another single-board
computer via Ethernet.
Use ENET_AD.C to program the other single-board computer with analog inputs and
outputs.
MBOXDEMO.C—Implements a Web server that allows e-mail messages to be entered
and then shown on the LCD/keypad module.
SMTP.C—This program allows you to send an E-mail when a switch on the Prototyp-
ing Board is pressed. Follow the instructions included with the sample program.
PINGLED.C—This program demonstrates ICMP by pinging a remote host. It will flash
LEDs DS1 and DS2 on the Prototyping Board when a ping is sent and received.
6.7 Where Do I Go From Here?
NOTE: If you purchased your RCM3209 through a distributor or through a Rabbit
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 Technical Bulletin Board and forums at www.rabbit.com/support/bb/
and at www.rabbit.com/forums/.
Use the Technical Support e-mail form at www.rabbit.com/support/.
If the sample programs ran fine, you are now ready to go on.
Additional sample programs are described in the Dynamic C TCP/IP Users Manual.
Please refer to the Dynamic C TCP/IP Users Manual to develop your own applications.
An Introduction to TCP/IP provides background information on TCP/IP, and is available
on the CD and on our Web site.
52 RabbitCore RCM3209/RCM3229
User’s Manual 53
APPENDIX A. RCM3209/RCM3229
SPECIFICATIONS
Appendix A provides the specifications for the RCM3209/
RCM3229, and describes the conformal coating.
Please refer to the RCM3209 footprint diagram later in this appendix for precise header locations. 0053 (16) J l l WWW. l t . Fir—l l l Figure A-1. RCM3209/RCM3229 Dimensions NOTE: All measurements are in inches followed by millimeters enclosed in parentheses. All dimensions have a manufacturing tolerance of 10.01" (0.25 mm). 54 HabbitCore HCMBZUQ/HCMBZZQ
54 RabbitCore RCM3209/RCM3229
A.1 Electrical and Mechanical Characteristics
Figure A-1 shows the mechanical dimensions for the RCM3209/RCM3229.
Figure A-1. RCM3209/RCM3229 Dimensions
NOTE: All measurements are in inches followed by millimeters enclosed in parentheses.
All dimensions have a manufacturing tolerance of ±0.01" (0.25 mm).
Please refer to the RCM3209
footprint diagram later in this
appendix for precise header
locations.
0.063
(1.6)
0.063
(1.6)
U1
R1
R2
R15
C1
J1
U2
C2
R4
JP1 J2
R5 JP2 JP3 JP4 JP5
R3
Y1 C5
R7
R8
C7
C6
R11
U4
R9
U3
C3
R10
R6
C4
C8
C9
U5
C10
C11
C14
C15
C19
C18
R17
JP7
JP10
JP9
JP8
L1
J3
C22
C23
C27
C33
L2
C35
C12
C16
C20
C21
C24
C13
C17
C25
U6
C28
R18
C37
C29
Y2
R12 R13 R14
C31
C30
R16
C32
C26
C34
C36
R19
U7
R20
R21
C39
C38
R23
R24
R25 R26
1
C44
2
U8
C43
C49
C50
JP12
JP11
C41
C42
JP13
R27
Y3
R22
C40
JP14
C46
U9
C45 R29
R28
R30
Q1
R33 DS1
R34
R35
DS2
DS3
SPD LNK
ACT FDX
COL
BSY
CE
DS4
R32
RCM39XX
D1
U10
Q2
C47
C48
R31
0.100 dia
(2.5)
0.17
(4.3)
J1J2
2.725
(69.2)
0.829
(21.1)
1.021
(25.9)
1.850
(47.0)
0.690
(17.5)
0.47
(11.9)
2.725
(69.2)
1.850
(47.0)
1.320
(33.5)
1.375
(34.9)
0.55
(14)
0.087
(2.2)
0.245
(6.2)
0.86
(22)
0.55
(14)
0.087
(2.2)
0.245
(6.2)
0.86
(22)
User’s Manual 55
It is recommended that you allow for an “exclusion zone” of 0.04" (1 mm) around the
RCM3209/RCM3229 in all directions (except above the RJ-45 plug) when the RCM3209/
RCM3229 is incorporated into an assembly that includes other printed circuit boards. This
“exclusion zone” that you keep free of other components and boards will allow for suffi-
cient air flow, and will help to minimize any electrical or electromagnetic interference
between adjacent boards. An “exclusion zone” of 0.08" (2 mm) is recommended below
the RCM3209/RCM3229 when the RCM3209/RCM3229 is plugged into another assembly
using the shortest connectors for headers J61 and J62. Figure A-2 shows this “exclusion
zone.”
Figure A-2. RCM3209/RCM3229 “Exclusion Zone”
0.08
(2)
0.08
(2)
J61J62
Exclusion
Zone
2.725
(69.2)
1.850
(47.0)
0.6
(16)
0.6
(16)
2.81
(71.2)
1.93
(49.0)
56 RabbitCore RCM3209/RCM3229
Table A-1 lists the electrical, mechanical, and environmental specifications for the RCM3209/
RCM3229.
Table A-1. RabbitCore RCM3209/RCM3229 Specifications
Feature RCM3209 RCM3229
Microprocessor Rabbit 3000® at 44.2 MHz
EMI Reduction Spectrum spreader for reduced EMI (radiated emissions)
Ethernet Port 10/100Base-T, RJ-45, 3 LEDs
Flash Memory 512K
Data SRAM 256K
Program Execution SRAM 512K
Backup Battery Connection for user-supplied backup battery
(to support RTC and data SRAM)
General-Purpose I/O
52 parallel digital I/0 lines:
• 44 configurable I/O
• 4 fixed inputs
• 4 fixed outputs
Additional Inputs Startup mode (2), reset in
Additional Outputs Status, reset out
External I/O Bus Can be configured for 8 data lines and
6 address lines (shared with parallel I/O lines), plus I/O read/write
Serial Ports
6 shared high-speed, CMOS-compatible ports:
all 6 configurable as asynchronous (with IrDA), 4 as clocked
serial (SPI), and 2 as SDLC/HDLC (with IrDA)
1 asynchronous serial port dedicated for programming
support for MIR/SIR IrDA transceiver
Serial Rate Maximum asynchronous baud rate = CLK/8
Slave Interface A slave port allows the RCM3209/RCM3229 to be used as an
intelligent peripheral device slaved to a master processor, which
may either be another Rabbit 3000 or any other type of processor
Real-Time Clock Yes
Timers Ten 8-bit timers (6 cascadable), one 10-bit timer with 2 match
registers
Watchdog/Supervisor Yes
Pulse-Width Modulators 10-bit free-running counter and four pulse-width registers
Input Capture 2- channel input capture can be used to time input signals from
various port pins
Quadrature Decoder 2-channel quadrature decoder accepts inputs from external
incremental encoder modules
User’s Manual 57
A.1.1 Headers
The RCM3209/RCM3229 uses headers at J61 and J62 for physical connection to other
boards. J61 and J62 are 2 × 17 SMT headers with a 2 mm pin spacing. J1, the program-
ming port, is a 2 × 5 header with a 1.27 mm pin spacing.
Figure A-3 shows the layout of another board for the RCM3209/RCM3229 to be plugged
into. These values are relative to the mounting hole.
A.1.2 Physical Mounting
A 9/32” (7 mm) standoff with a 2-56 screw is recommended to attach the RCM3209/
RCM3229 to a
user board at the hole position shown in Figure A-3
. Either use plastic hard-
ware, or use insulating washers to keep any metal hardware from shorting out signals on
the RCM3209/RCM3229.
Power 3.15 V to 3.45 V DC
325 mA @ 3.3 V 3.15 V to 3.45 V DC
190 mA @ 3.3 V
Operating Temperature –40°C to +85°C
Humidity 5% to 95%, noncondensing
Connectors Two 2 × 17, 2 mm pitch
Board Size 1.850" × 2.725" × 0.86"
(47 mm × 69 mm × 22 mm)
Table A-1. RabbitCore RCM3209/RCM3229 Specifications (continued)
Feature RCM3209 RCM3229
J1 RCM3209/RCM3229 Foolpnnt Figure A-3. User Board Footprint for R 58
58 RabbitCore RCM3209/RCM3229
Figure A-3. User Board Footprint for RCM3209/RCM3229
J1
1.125
(28.6)
1.341
(34.1)
RCM3209/RCM3229
Footprint
0.079
(2.0)
0.100
dia
(2.5)
0.020 sq typ
(0.5)
0.079
(2.0)
0.314
(8.0)
1.199
(30.4)
1.136
(28.9)
0.328
(8.3)
J61
J62
0.953
(24.2)
1.043
(26.5)
1.121
(28.5)
1.375
(34.9)
0.475
(12.1)
1.405
(35.7)
User’s Manual 59
A.2 Bus Loading
You must pay careful attention to bus loading when designing an interface to the
RCM3209/RCM3229. This section provides bus loading information for external devices.
Table A-2 lists the capacitance for the various RCM3209/RCM3229 I/O ports.
Table A-3 lists the external capacitive bus loading for the various RCM3209/RCM3229
output ports. Be sure to add the loads for the devices you are using in your custom system
and verify that they do not exceed the values in Table A-3.
Table A-2. Capacitance of Rabbit 3000 I/O Ports
I/O Ports Input
Capacitance
(pF)
Output
Capacitance
(pF)
Parallel Ports A to G 12 14
Table A-3. External Capacitive Bus Loading -40°C to +70°C
Output Port Clock Speed
(MHz) Maximum External
Capacitive Loading (pF)
All I/O lines with clock
doubler enabled 44.2 100
+ F 4% +4 FAR
60 RabbitCore RCM3209/RCM3229
Figure A-4 shows a typical timing diagram for the Rabbit 3000 microprocessor external I/
O read and write cycles.
Figure A-4. I/O Read and Write Cycles—No Extra Wait States
NOTE: /IOCSx can be programmed to be active low (default) or active high.
Tadr
Tadr
External I/O Read (no extra wait states)
CLK
A[15:0]
External I/O Write (no extra wait states)
CLK
A[15:0]
/IORD
valid
T1 Tw
T1 Tw T2
valid
T2
/BUFEN
/IOCSx
/IOWR
/BUFEN
D[7:0] valid
Tsetup
Thold
/CSx
/IOCSx
TCSx
TIOCSx
TIORD
TBUFEN
TCSx
TIOCSx
TIORD
TBUFEN
valid
D[7:0]
/CSx
TCSx
TIOCSx
TIOWR
TCSx
TIOCSx
TIOWR
TBUFEN TBUFEN
TDHZV TDVHZ
User’s Manual 61
Table A-4 lists the delays in gross memory access time for VDD = 3.3 V.
The measurements are taken at the 50% points under the following conditions.
T = -40°C to 85°C, V = VDD ±10%
Internal clock to nonloaded CLK pin delay 1 ns @ 85°C/3.0 V
The clock to address output delays are similar, and apply to the following delays.
Tadr, the clock to address delay
TCSx, the clock to memory chip select delay
TIOCSx, the clock to I/O chip select delay
TIORD, the clock to I/O read strobe delay
TIOWR, the clock to I/O write strobe delay
TBUFEN, the clock to I/O buffer enable delay
The data setup time delays are similar for both Tsetup and Thold.
When the spectrum spreader is enabled with the clock doubler, every other clock cycle is
shortened (sometimes lengthened) by a maximum amount given in the table above. The
shortening takes place by shortening the high part of the clock. If the doubler is not
enabled, then every clock is shortened during the low part of the clock period. The maxi-
mum shortening for a pair of clocks combined is shown in the table.
Technical Note TN227, Interfacing External I/O with Rabbit 2000/3000 Designs, con-
tains suggestions for interfacing I/O devices to the Rabbit 3000 microprocessors.
Table A-4. Data and Clock Delays VDD ±10%, Temp, -40°C–+85°C (maximum)
VDD
Clock to Address Output Delay
(ns) Data Setup
Time Delay
(ns)
Spectrum Spreader Delay
(ns)
30 pF 60 pF 90 pF Normal
dbl/no dbl
Strong
dbl/no dbl
3.3 6 8 11 1 3/4.5 4.5/9
62 RabbitCore RCM3209/RCM3229
A.3 Rabbit 3000 DC Characteristics
Table A-5 outlines the DC characteristics for the Rabbit at 3.3 V over the recommended
operating temperature range from Ta = –55°C to +125°C, VDD = 3.0 V to 3.6 V.
Table A-5. 3.3 Volt DC Characteristics
Symbol Parameter Test Conditions Min Typ Max Units
IIH Input Leakage High VIN = VDD, VDD = 3.3 V A
IIL Input Leakage Low
(no pull-up) VIN = VSS, VDD = 3.3 V -1 µA
IOZ Output Leakage (no pull-up) VIN = VDD or VSS,
VDD = 3.3 V -1 1 µA
VIL CMOS Input Low Voltage 0.3 x VDD V
VIH CMOS Input High Voltage 0.7 x VDD V
VTCMOS Switching Threshold VDD = 3.3 V, 25°C 1.65 V
VOL Low-Level Output Voltage IOL = See (sinking)
VDD = 3.0 V 0.4 V
VOH High-Level Output Voltage IOH = See (sourcing)
VDD = 3.0 V 0.7 x VDD V
User’s Manual 63
A.4 I/O Buffer Sourcing and Sinking Limit
Unless otherwise specified, the Rabbit I/O buffers are capable of sourcing and sinking
6.8 mA of current per pin at full AC switching speed. Full AC switching assumes a
29.4 MHz CPU clock and capacitive loading on address and data lines of less than 70 pF
per pin. The absolute maximum operating voltage on all I/O is 5.5 V.
Table A-6 shows the AC and DC output drive limits of the parallel I/O buffers when the
Rabbit 3000 is used in the RCM3209/RCM3229.
Under certain conditions, you can exceed the limits outlined in Table A-7. See the Rabbit
3000 Microprocessor Users Manual for additional information.
Table A-6. I/O Buffer Sourcing and Sinking Capability
Pin Name
Output Drive (Full AC Switching)
Sourcing/Sinking Limits
(mA)
Sourcing Sinking
All data, address, and I/O
lines with clock doubler
enabled 6.8 6.8
Table A77 lists the configuration options. D Figure A-5. Location a! RCM3209/RCM3229 Confi Table A-7. RCM3209/RCM3229 Jumper Co Header Descripiion Pins Con JPl Serial Flash Chip Enable Indicalor 172 ACT or PDl OulpIII H ACT JP2 , on 161 pm 34 273 PDl LINK or PDD Olllpul 1’2 LINK JP3 , on 161 pm 33 273 PDO 172 ENET ENET or PEO OulpIII 1P4 , on 162 pm 19 2,3 PE) 172 Reserved for {u JPS NAND Flash Chip Enable 273 PDl commls N 64
64 RabbitCore RCM3209/RCM3229
A.5 Jumper Configurations
Figure A-5 shows the header locations used to configure the various RCM3209/RCM3229
options via jumpers.
Figure A-5. Location of RCM3209/RCM3229 Configurable Positions
Table A-7 lists the configuration options.
Table A-7. RCM3209/RCM3229 Jumper Configurations
Header Description Pins Connected Factory
Default
JP1 Serial Flash Chip Enable Indicator 1–2 n.c.
JP2 ACT or PD1 Output
on J61 pin 34
1–2 ACT ×
2–3 PD1
JP3 LINK or PD0 Output
on J61 pin 33
1–2 LINK ×
2–3 PD0
JP4 ENET or PE0 Output
on J62 pin 19
12 ENET
2–3 PE0 ×
JP5 NAND Flash Chip Enable 1–2 Reserved for future use n.c.
23 PD1 controls NAND Flash
RCM3209
JP13
JP14
JP2
JP3
JP4
JP5
JP11
JP12
JP7
JP8
JP9
JP10
Top Side
JP1
User’s Manual 65
NOTE: The jumper connections are made using 0 surface-mounted resistors.
JP7 PD6 or TPI– Input
on J61 pin 31
1–2 TPI–
2–3 PD6 ×
JP8 PD7 or TPI+ Input
on J61 pin 32
1–2 TPI+
2–3 PD7 ×
JP9 PD2 or TPO– Output
on J61 pin 29
1–2 TPO–
2–3 PD2 ×
JP10 PD3 or TPO+ Output
on J61 pin 30
1–2 TPO+
2–3 PD3 ×
JP11 Flash Memory Size
1–2 256K
2–3 512K ×
JP12 Flash Memory Bank Select 1–2 Normal Mode ×
2–3 Bank Mode
JP13 Data SRAM Size 1–2 256K ×
2–3 512K
JP14 LED DS1 Display
1–2 FDX/COL displayed by LED DS1 ×
2–3 Optional ACT displayed by LED
DS1
Table A-7. RCM3209/RCM3229 Jumper Configurations
Header Description Pins Connected Factory
Default
Figure A-6. RCM3209/RCM3229 Areas Receiving Conformal Coating Any components in the conformally coated area may be replaced using standard soldering procedures for surfaceimounted components. A new conformal coating should then he applied to offer continuing protection against the effects of moisture and contaminants. NOTE: For more information on conformal coatings, refer to Rabbit's Technical Note TN303, Cunfarmal Coatings, in the online documentation. 66 HabbitCo
66 RabbitCore RCM3209/RCM3229
A.6 Conformal Coating
The areas around the 32 kHz real-time clock 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. RCM3209/RCM3229 Areas Receiving Conformal Coating
Any components in the conformally coated area may be replaced using standard soldering
procedures for surface-mounted components. A new conformal coating should then be
applied to offer continuing protection against the effects of moisture and contaminants.
NOTE: For more information on conformal coatings, refer to Rabbits Technical Note
TN303, Conformal Coatings, in the online documentation.
Conformally coated
areas
U1
R1
R2
R15
C1
J1
U2
C2
R4
JP1 J2
R5 JP2 JP3 JP4 JP5
R3
Y1 C5
R7
R8
C7
C6
R11
U4
R9
U3
C3
R10
R6
C4
C8
C9
U5
C10
C11
C14
C15
C19
C18
R17
JP7
JP10
JP9
JP8
L1
J3
C22
C23
C27
C33
L2
C35
C12
C16
C20
C21
C24
C13
C17
C25
U6
C28
R18
C37
C29
Y2
R12 R13 R14
C31
C30
R16
C32
C26
C34
C36
R19
U7
R20
R21
C39
C38
R23
R24
R25 R26
1
C44
2
U8
C43
C49
C50
JP12
JP11
C41
C42
JP13
R27
Y3
R22
C40
JP14
C46
U9
C45 R29
R28
R30
Q1
R33 DS1
R34
R35
DS2
DS3
SPD LNK
ACT FDX
COL
BSY
CE
DS4
R32
RCM39XX
D1
U10
Q2
C47
C48
R31
User’s Manual 67
APPENDIX B. PROTOTYPING BOARD
Appendix B describes the features and accessories of the Proto-
typing Board, and explains the use of the Prototyping Board to
demonstrate the RCM3209/RCM3229 and to build prototypes
of your own circuits.
Module n Headers scewer Mastev Modme Exlensmn Headers Figure 3-1. Prototyping Board 68 Habb
68 RabbitCore RCM3200
B.1 Introduction
The Prototyping Board included in the Development Kit makes it easy to connect an
RCM3209/RCM3229 module to a power supply and a PC workstation for development. It
also provides some 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.
As you progress to more sophisticated experimentation and hardware development, modi-
fications and additions can be made to the board without modifying or damaging the
RCM3209/RCM3229 module itself.
The Prototyping Board is shown below in Figure B-1, with its main features identified.
Figure B-1. Prototyping Board
+3.3V
+5V
+3.3V
+5V
GND GND GND
GND
+5V +5V
+3.3V
+3.3V
GND
MOTOR/ENCODER
RN5
J6
R20
JP1
CURRENT
MEASUREMENT
OPTION
+3.3V
+5V
+3.3V
POWER
D1
C13
DS3
L1
C17
C15
POWER
GND
+DC
GND
J9
2.5 MM JACK
GND +DC
GND GND
R17
RN3 RN4
J15
RN1
GND
PD0
PD6
PD2
PD4
PG2
PG0
PD5
PC4
PC2
PC0
PF1
PF3
PA1
PA3
PA5
PA7
GND
PD1
PD7
PD3
PD5
PG3
PG1
PD4
PC5
PC3
PC1
PF0
PF2
PA0
PA2
PA4
PA6
PE4
GND
GND
SM0
/IOWR
PG5
PG7
PE1
PE4
PE6
PF7
PF5
PB7
PB5
PB3
PB0
VBAT
EXT
/RES
IN
NC
+3.3V
VRAM
SM1
/IORD
PG4
PG6
PE0
PE3
PE5
PE7
PF6
PF4
PB6
PB4
PB2
/RES
RN2
J1
RCM1JA
C1
C2
R1
R3
R2
UX10
J3
RCM3000 ETHERNET CORE MODULE
SLAVE
MASTER
RCM2
RC18
UX11
RC1
RC2 UX2
C4
C5
C8
C6
C7
S3
S2
RCM2JB
R14
+5V
+5V
+3.3V
+5V
+5V
+3.3V
R16
R15 TP1
BT1
C12
C10
C11
U5
D2
DS2
DS1
PG6 PG7
U3
C9
J8 UX4
RC4 RC25
RC5
RC27
RC28
RC29
RC26
UX13
C14
U3
U6
C16
UX7
RC9
UX5
RC6 RC7
+5V
GND
BA3
BA1
BD0
BD2
BD4
BD6
+5V
BPE3
GND
GND
BA2
BA0
BD1
BD3
BD5
BD7
/RES
LCD
DISPLAY BOARD
RCM30/31/32XX SERIES
PROTOTYPING BOARD
DISPLAY BOARD
J7
J10
DISPLAY BOARD
U1
J5
RS-232
RESET
RCM2JA
RxC TxC
TxB RxB GND
R4
C3
R5
RC15
RC19
RC20
UX9
RC14
RC17
RC16
UX3
J4
PD0
PD6
PD2
PD4
PG2
PG0
PD5
PC4
PC2
PC0
PF1
PF3
PA1
PA3
PA5
PA7
GND
NC
+3.3V
VRAM
SM1
/IORD
PG4
PG6
PE0
PE3
PE5
PE7
PF6
PF4
PB6
PB4
PB2
/RES
GND
GND
SM0
/IOWR
PG5
PG7
PE1
PE4
PE6
PF7
PF5
PB7
PB5
PB3
PB0
PD1
PD7
PD3
PD5
PG3
PG1
PD4
PC5
PC3
PC1
PF0
PF2
PA0
PA2
PA4
PA6
STATUS
VBAT
EXT
/RES
IN
R21
RC12
RC10
RC11
RC13
RC21
RC22
R6
R12
R10
R8
R7
R9
R11
R13
RC23
RC24
Battery
U4
J11
RCM1JB
RCM3000/RCM3100/
RCM3200 Slave Module
Connectors
Voltage
Regulators Power
Input
Power
LED
Reset
Switch
User
LEDs
Through-Hole
Prototyping Area
Master Module
Extension Headers
+5 V, 3.3 V, and
GND Buses
RCM3000/RCM3100/
RCM3200/RCM3209
Master
Module Connectors
Slave Module
Extension Headers
RS-232
Signal
Header User
Switches
SMT Prototyping
Area
SMT Prototyping
Area
LCD/Keypad
Module
Connections
IrDA
Transceiver
Current-
Measurement
Header
User’s Manual 69
B.1.1 Prototyping Board Features
Power Connection—A power-supply jack and a 3-pin header are provided for con-
nection to the power supply. Note that the 3-pin header is symmetrical, with both outer
pins connected to ground and the center pin connected to the raw V+ input. The cable
of the AC adapter provided with Development Kit ends in a 3-pin plug that connects to
the 3-pin header (J9)—the center pin of J9 is always connected to the positive terminal,
and either edge pin is negative.
Users providing their own power supply should ensure that it delivers 8–24 V DC at
8 W. The voltage regulators will get warm while in use.
Regulated Power Supply—The raw DC voltage provided at the POWER IN jack is
routed to a 5 V switching voltage regulator, then to a separate 3.3 V linear regulator.
The regulators provide stable power to the RCM3209/RCM3229 module and the Proto-
typing Board.
Power LED—The power LED lights whenever power is connected to the Prototyping
Board.
Reset Switch—A momentary-contact, normally open switch is connected directly to the
RCM3209/RCM3229’s /RESET_IN pin. Pressing the switch forces a hardware reset of
the system.
I/O Switches and LEDs—Two momentary-contact, normally open switches are con-
nected to the PG0 and PG1 pins of the master RCM3209/RCM3229 module and may
be read as inputs by sample applications.
Two LEDs are connected to the PG6 and PG7 pins of the master module, and may be
driven as output indicators by sample applications.
Prototyping Area—A generous prototyping area has been provided for the installation
of through-hole components. +3.3 V, +5 V, and Ground buses run around the edge of
this area. Several areas for surface-mount devices are also available. (Note that there
are SMT device pads on both top and bottom of the Prototyping Board.) Each SMT pad
is connected to a hole designed to accept a 30 AWG solid wire.
Master Module Connectors—A set of connectors is pre-wired to permit installation
of the first RCM3000, RCM3100, or RCM3209/RCM3229 module that serves as the
primary or “master module.”
Slave Module Connectors—A second set of connectors is pre-wired to permit instal-
lation of a second, slave RCM3209/RCM3229, RCM3100, or RCM3000 module. This
capability is reserved for future use, although the schematics in this manual contain all
of the details an experienced developer will need to implement a master-slave system.
Module Extension Headers—The complete pin sets of both the MASTER and
SLAVE RabbitCore modules are duplicated at these two sets of headers. Developers
can solder wires directly into the appropriate holes, or, for more flexible development,
26-pin header strips can be soldered into place. See Figure B-4 for the header pinouts.
70 RabbitCore RCM3200
RS-232—Two 3-wire or one 5-wire RS-232 serial port are available on the Prototyping
Board. Refer to the Prototyping Board schematic (090-0137) for additional details.
A 10-pin 0.1-inch spacing header strip is installed at J5 to permit connection of a ribbon
cable leading to a standard DE-9 serial connector.
Current Measurement Option—Jumpers across pins 1–2 and 5–6 on header JP1 can
be removed and replaced with an ammeter across the pins to measure the current drawn
from the +5 V or the +3.3 V supplies, respectively.
Motor Encoder—A motor/encoder header is provided at header J6 for future use.
LCD/Keypad Module—Rabbit’s LCD/keypad module may be plugged in directly to
headers J7, J8, and J10.
/'occoaooacouoocoooouoocoouou cocoonnounscooooooocnooooooumc s oooooaooaooooooooooao , ooooooa a cancanonGeno/amenccononoanocuonnon aoooocuoouoooocccoocuooooeoooocuo outoxmoncooocooooanoooccooooaooon oomooocooooooooo coocooooomooocoo 3a00Dcouconouoouooccouoavouooucouoo OQA an!!! ,, m¢ Figure 3-2. RCM3D/31/32XX Prototyping Board Dimensions NOTE: All measurements are in inches followed by millimeters enclosed in parentheses. All dimensions have a manufacturing tolerance of 10.01" (0.25 mm). User's Manual 71
Users Manual 71
B.2 Mechanical Dimensions and Layout
Figure B-2 shows the mechanical dimensions and layout for the Prototyping Board.
Figure B-2. RCM30/31/32XX Prototyping Board Dimensions
NOTE: All measurements are in inches followed by millimeters enclosed in parentheses.
All dimensions have a manufacturing tolerance of ±0.01" (0.25 mm).
+3.3V
+5V
+3.3V
+5V
GND GND GND
GND
+5V +5V
+3.3V
+3.3V
GND
MOTOR/ENCODER
RN5
J6
R20
JP1
CURRENT
MEASUREMENT
OPTION
+3.3V
+5V
+3.3V
POWER
D1
C13
DS3
L1
C17
C15
POWER
GND
+DC
GND
J9
2.5 MM JACK
GND +DC
GND GND
R17
RN3 RN4
J15
RN1
GND
PD0
PD6
PD2
PD4
PG2
PG0
PD5
PC4
PC2
PC0
PF1
PF3
PA1
PA3
PA5
PA7
GND
PD1
PD7
PD3
PD5
PG3
PG1
PD4
PC5
PC3
PC1
PF0
PF2
PA0
PA2
PA4
PA6
PE4
GND
GND
SM0
/IOWR
PG5
PG7
PE1
PE4
PE6
PF7
PF5
PB7
PB5
PB3
PB0
VBAT
EXT
/RES
IN
NC
+3.3V
VRAM
SM1
/IORD
PG4
PG6
PE0
PE3
PE5
PE7
PF6
PF4
PB6
PB4
PB2
/RES
RN2
J1 J3
C1
C2
R1
R3
R2
UX10
J14 SLAVE
MASTER
RCM1
RCM2
RC18
UX11
RC1
RC2 UX2
C4
C5
C8
C6
C7
S3
S2
J13
R14
+5V
+5V
+3.3V
+5V
+5V
+3.3V
R16
R15 TP1
BT1
C12
C10
C11
U5
D2
DS2
DS1
PG6 PG7
U3
C9
J8 UX4
RC4 RC25
RC5
RC27
RC28
RC29
RC26
UX13
C14
U3
U6
C16
UX7
RC9
UX5
RC6 RC7
+5V
GND
BA3
BA1
BD0
BD2
BD4
BD6
+5V
BPE3
GND
GND
BA2
BA0
BD1
BD3
BD5
BD7
/RES
LCD
DISPLAY BOARD
RCM30/31/32XX SERIES
PROTOTYPING BOARD
DISPLAY BOARD
J7
J10
DISPLAY BOARD
U1
J5
RS-232
RESET
J12
RxC TxC
TxB RxB GND
R4
C3
R5
RC15
RC19
RC20
UX9
RC14
RC17
RC16
UX3
J4
PD0
PD6
PD2
PD4
PG2
PG0
PD5
PC4
PC2
PC0
PF1
PF3
PA1
PA3
PA5
PA7
GND
NC
+3.3V
VRAM
SM1
/IORD
PG4
PG6
PE0
PE3
PE5
PE7
PF6
PF4
PB6
PB4
PB2
/RES
GND
GND
SM0
/IOWR
PG5
PG7
PE1
PE4
PE6
PF7
PF5
PB7
PB5
PB3
PB0
PD1
PD7
PD3
PD5
PG3
PG1
PD4
PC5
PC3
PC1
PF0
PF2
PA0
PA2
PA4
PA6
PE4
VBAT
EXT
/RES
IN
R21
RC12
RC10
RC11
RC13
RC21
RC22
R6
R12
R10
R8
R7
R9
R11
R13
RC23
RC24
RCM30/31/32XX
CORE MODULE
RCM30/31/32XX
CORE MODULE
Battery
U4
J11
6.775
(172)
5.30
(135)
0.475
(12)
3.40
(86)
2.70
(69)
0.20
(5)
0.20
(5)
4.95
(126)
0.15
(4)
5.55
(141)
1.025
(26)
0.20
(5)
0.125 dia
(3.2) × 5
Table Bel lists the electrical, mechanical, and environmental specificati typing Board. Table B-1. Prototyping Board Specifications Parameter Specification Board size 5.30" x 6.775" x 1.00" (135 mm x 172 mm x 2 Operating Temperature 720°C to +6
72