Rabbit RabbitCore RCM2200 User Manual

RabbitCore RCM2200
C-Programmable Module wi th Ethern et
User’s Manual
019–0097 030731–C
RabbitCore RCM2200
Z-World, Inc.
2900 Spafford Street
USA
Telephone: (530) 757-3737
Fax: (530) 757-3792
www.zworld.com
Rabbit Semiconductor
2932 Spafford Street
Davis, California 95616-6800
USA
Telephone: (530) 757-8400
Fax: (530) 757-8402
www.rabbit semic onductor.com
RabbitCore RCM2200 Users Manual
Part Number 019-0097 • 030731–C • Printed in U.S.A.
©2001–2003 Z-World Inc. • All rights reserved.
Z-World reserves the right to make changes and
improvements to its products without providing n otice.
T r ade mark s
Rabbit and Rabbit 2000 are registered trademarks of Rabbit Semi conduct or.
RabbitCore is a trademark of Rabbit Semiconductor.
Dynamic C is a registered trademark of Z-World Inc.
Users Manual
TABLE OF CONTENTS
Chapter 1. Introduction 1
1.1 RCM2200 Features...............................................................................................................................1
1.2 Advantages of the RCM2200 ...............................................................................................................2
1.3 Development and Evaluation Tools......................................................................................................2
1.4 How to Use This Manual......................................................................................................................3
1.4.1 Additional Product Information....................................................................................................3
1.4.2 Online Documentation..................................................................................................................3
Chapter 2. Hardware Reference 5
2.1 RCM2200 Digital Inputs and Outputs..................................................................................................5
2.1.1 Dedicated Inputs ...........................................................................................................................6
2.1.2 Dedicated Outputs.........................................................................................................................6
2.1.3 Memory I/O Interface...................................................................................................................6
2.1.4 Other Inputs and Outputs..............................................................................................................8
2.2 Serial Communication ..........................................................................................................................9
2.2.1 Serial Ports....................................................................................................................................9
2.2.2 Ethernet Port .................................................................................................................................9
2.2.3 Programming Port.......................................................................................................................10
2.2.3.1 Alternate Uses of the Programming Port........................................................................... 10
2.3 Memory...............................................................................................................................................11
2.3.1 SRAM .........................................................................................................................................11
2.3.2 Flash EPROM.............................................................................................................................11
2.3.3 Dynamic C BIOS Source Files...................................................................................................11
2.4 Other Hardware...................................................................................................................................12
2.4.1 Clock Doubler.............................................................................................................................12
2.4.2 Spectrum Spreader......................................................................................................................12
Chapter 3. Software Reference 13
3.1 More About Dynamic C .....................................................................................................................13
3.2 Programming Cable............................................................................................................................14
3.2.1 Changing from Program Mode to Run Mode.............................................................................14
3.2.2 Changing from Run Mode to Program Mode.............................................................................14
3.3 Dynamic C Libraries...........................................................................................................................15
3.3.1 I/O ...............................................................................................................................................16
3.3.1.1 PCLK Output...................................................................................................................... 16
3.3.1.2 External Interrupts.............................................................................................................. 16
3.3.2 Serial Communication Drivers....................................................................................................17
3.3.3 TCP/IP Drivers............................................................................................................................17
3.4 Sample Programs................................................................................................................................18
3.5 Upgrading Dynamic C........................................................................................................................19
3.5.1 Upgrades .....................................................................................................................................19
RabbitCore RCM2200
Appendix A. RabbitCore RCM2200 Specifications 21
A.1 Electrical and Mechanical Characteristics ........................................................................................22
A.1.1 Headers......................................................................................................................................25
A.1.2 Physical Mounting.....................................................................................................................25
A.2 Bus Loading ......................................................................................................................................26
A.3 Rabbit 2000 DC Characteristics........................................................................................................28
A.4 I/O Buffer Sourcing and Sinking Limit.............................................................................................29
A.5 Jumper Configurations......................................................................................................................30
A.6 Conformal Coating............................................................................................................................31
Appendix B. Prototyping Board 33
B.1 Mechanical Dimensions and Layout.................................................................................................34
B.2 Power Supply.....................................................................................................................................35
B.3 Using the Prototyping Board.............................................................................................................35
B.3.1 Adding Other Components........................................................................................................38
B.3.2 Attach Modules to Prototyping Board.......................................................................................39
Appendix C. Power Supply 41
C.1 Power Supplies..................................................................................................................................41
C.1.1 Battery-Backup Circuits............................................................................................................41
C.1.2 Reset Generator..........................................................................................................................42
C.2 Chip Select Circuit.............................................................................................................................43
Appendix D. Sample Circuits 45
D.1 RS-232/RS-485 Serial Communication............................................................................................ 46
D.2 Keypad and LCD Connections..........................................................................................................47
D.3 External Memory...............................................................................................................................48
D.4 D/A Converter...................................................................................................................................49
Appendix E. Programming Cable 51
Notice to Users 55
Index 57
Schematics 59
Users Manual 1
1. INTRODUCTION
The RCM2200 RabbitCore module is designed to be the heart of embedded control systems. The RCM2200 features an inte­grated Ethernet port and provides for LAN and Internet-enabled systems to be built as easily as serial-communication systems.
The RCM2200 has a Rabbit 2000 microprocessor operating at 22.1 MHz, static RAM, flash memory, two clocks (main oscillator and timekeeping), and the circuitry necessary
for reset and management of battery backup of the Rabbit 2000s internal real-time clock and the static RAM. Two 26-pin headers bring out the Rabbit 2000 I/O bus lines, address lines, data lines, parallel ports, and serial ports.
The RCM2200 receives its +5 V power from the user board on which it is mounted. The RabbitCore RCM2200 can interface with all kinds of CMOS-compatible digital devices through the user board.
1.1 RCM2200 Features
Small size: 1.60" × 2.30" × 0.86" (41 mm × 58 mm × 22 mm)
Microprocessor: Rabbit 2000 running
at 22.1 MHz
26 parallel I/O lines: 16 configurable for input or output, 7 fixed inputs, 3 fixed outputs
8 data lines (D0D7)
4 address lines (A0A3)
Memory I/0 read, write
External reset input
Five 8-bit timers (cascadable in pairs) and two 10-bit timers
256K–512K flash memory, 128K–512K SRAM
Real-time clock
Watchdog supervisor
Provision for customer-supplied backup battery via connections on header J5
2 RabbitCore RCM2200
10Base-T RJ-45 Ethernet port
Raw Ethernet and two associated LED control signals available on 26-pin header
Three CMOS-compatible serial ports: maximum asynchronous baud rate of 691,200 bps
, maximum synchronous baud rate of 5,529,600 bps. One port is configurable as a clocked port.
Six additional I/O lines are located on the programming port, can be used as I/O lines when the programming port is not being used for programming or in-circuit debug­gingone synchronous serial port can also be used as two general CMOS inputs and one general CMOS output, and there are two additional inputs and one additional out­put.
Appendix A, “RabbitCore RCM2200 Specifications,” provides detailed specifications for the RCM2200.
In addition, three different RCM2200 models are available. A variant of the RCM2200, the RCM2300, omits the Ethernet connectivity but offers a much smaller footprint, one­half the size of the RCM2200.
1.2 Advantages of the RCM2200
Fast time to market using a fully engineered, ready to run microprocessor core.
Competitive pricing when compared with the a lterna ti ve of purcha sing a nd asse mbli ng
individual components.
Easy C-language program development and debugging, including rapid production loading of programs.
Generous memory size allows large programs with tens of thousands of lines of code, and substantial data storage.
Integrated Ethernet port for network connectivity, royalty-free TCP/IP software.
1.3 Development and Evaluation Tools
A complete Development Kit, including a Prototyping Board and Dynamic C develop­ment software, is available for the RCM2200. The Development Kit puts together the essentials you need to design an embedded microprocessor-based system rapidly and effi­ciently.
See the RabbitCore RCM2200 Getting Started Manual for complete information on the Development Kit.
Users Manual 3
1.4 How to Use This Manual
This user’s manual is intended to give users detailed information on the RCM2200 mod- ule. It does not contain detailed information on the Dynamic C development environment or the TCP/IP software support for the integrated Ethernet port. Most users will want more detailed information on some or all of these topics in order to put the RCM2200 module to effective use.
1.4.1 Additional Product Information
Introductory information about the RCM2200 and its associated Development Kit and Prototyping Board will be found in the printed RabbitCore RCM2200 Getting Started Manual, which is also provided on the accompanying CD-ROM in both HTML and Adobe PDF format.
We recommend that any users unfamiliar with Z-World products, or those who will be using the Prototyping Board for initial evaluation and development, begin with at least a read-through of the Getting Started manual.
In addition to the product-specific information contained in the RabbitCore RCM2200 Getting Started Manual and the RabbitCore RCM2200 User’s Manual (this manual), several higher level reference manuals are provided in HTML and PDF form on the accompanying CD-ROM. Advanced users will find these references valuable in develop­ing systems based on the RCM2200 modules:
Dynamic C Users Manual
An Introduction to TCP/IP
Dynamic C TCP/IP Users Manual
Rabbit 2000 Microprocessor Users Manual
1.4.2 Online Documentation
The online documentation is installed along with Dynamic C, and an icon for the docu­mentation menu is placed on the workstations 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.
4 RabbitCore RCM2200
Users Manual 5
2. HARDWARE REFERENCE
Chapter 2 describes the hardware components and principal hardware subsystems of the RCM2200. Appendix A, RabbitCore RCM2200 Specifications, provides complete physical and electrical specifica­tions.
2.1 RCM2200 Digital Inputs and Outputs
Figure 1 shows the subsystems designed into the RCM2200.
Figure 1. Rabbit Subsystems
R
ABBIT
2000
Port A
Port B
(+synch Serial Port B)
Port D
(+Serial Port B)
Port E
PA0PA7
PB0,
PB2PB5 PB7
PE0PE1, PE4PE5, PE7
PD3PD5
A0A3
IORD IOWR
D0D7
/RESET
Data Lines
Address Lines
I/O Control
Watchdog
7 Timers
Clock Doubler
Slave Port
Real-Time Clock
RAM
Backup Battery
Support
Flash
Port C
(+Serial Ports C & D)
Programming
Port
(Serial Port A)
Ethernet
Port
Misc. I/O
4 Ethernet signals
2 LED outputs
PC6 + 1 more output
PB1, PC7, RES_IN
+ 2 more inputs
PC0, PC2
PC1, PC3
6 RabbitCore RCM2200
The RCM2200 has 26 parallel I/O lines grouped in five 8-bit ports available on headers J4 and J5. The 16 bidirectional I/O lines are located on pins PA0–PA7, PD3–PD5, and PE0– PE1, PE4, PE5, and PE7. The pinouts for headers J4 and J5 are shown in Figure 2.
Figure 2. RCM2200 I/O Pinouts
2.1.1 Dedicated Inputs
PB0 is a general CMOS input when the Rabbit 2000 is either not using Serial Port B or is using Serial Port B in an asynchronous mode. Four other general CMOS input-only pins are located on PB2–PB5. These pins can also be used for the slave port. PB2 and PB3 are slave write and slave read strobes, while PB4 and PB5 serve as slave address lines SA0 and SA1, and are used to access the slave registers.
PC1 and PC3 are general CMOS inputs
only . These pins can instead
be selectively enabled to serve as the serial data inputs for
Serial Ports D and C.
2.1.2 Dedicated Outputs
One of the general CMOS output-only pins is located on PB7. PB7 can also be used with the slave port as the /SLAVEATTN output. This configuration signifies that the slave is requesting attention from the master. PC0 and PC2 are also output-only pins; PC0 and PC2 can instead serve as the serial data outputs for Serial Ports D and C.
2.1.3 Memory I/O Interface
Four of the Rabbit 2000 address lines (A0–A3) and all the data lines (D0–D7) are available. I/0 write (/IOWR) and I/0 read (/IORD) are also available for interfacing to external devices.
The ports on the Rabbit 2000 microprocessor used
in the RCM2200 are configurable, and
so the factory defaults can be reconfigured. T able 1
lists the Rabbit 2000 factory defaults
and the alternate configurations.
Note:
These pinouts are as seen on the Bottom Side of the module.
VCC PC1 PC3 TPOUT+ PD3 PD5 /IOWR PE1 TPIN+ PE5 PE7 A2 A0
GND
PC0 PC2
TPOUT-
LNK PD4
/IORD
PE0
TPIN-
PE4 ACT
A3 A1
J4
PA0 PA2 PA4 PA6
/RES
PB2 PB4 PB7
D6 D4 D2 D0
VCC
PA1 PA3 PA5 PA7 PB0 PB3 PB5 D7 D5 D3 D1 VBAT GND
J5
Users Manual 7
Table 1. RCM2200 Pinout Configurations
Pin Pin Name Default Use Alternate Use Notes
Header J4
1 GND 2 VCC 3 PC0 Output TXD 4 PC1 Input RXD 5 PC2 Output TXC 6 PC3 Input RXC 7 TPOUT–
Ethernet transmit port
8 TPOUT+
9 LNK
Ethernet link (LNK) LED indicator
10 PD3
Bitwise or parallel programmable I/O
11 PD4 ATXB output 12 PD5 ARXB input
13 /IORD
Input (I/O read strobe)
14 /IOWR
Output (I/O write strobe)
15 PE0
Bitwise or parallel programmable I/O
I0 contro l or INT0A input
16 PE1
I1 contro l or INT1A input
17 TPIN–
Ethernet receive port
18 TPIN+
19 PE4
Bitwise or parallel programmable I/O
I4 contro l or INT0B input
20 PE5
I5 contro l or INT1B input
21 ACT
Ethernet active (ACT) LED indicator
22 PE7
Bitwise or parallel programmable I/O
I7 control or slave port chip select /SCS
23–26 A[3:0] Rabbit 2000 address bus
8 RabbitCore RCM2200
2.1.4 Other Inputs and Outputs
As shown in Table 1, pins PA0–PA7 can be used to allow the Rabbit 2000 to be a slave to another processor. The slave port also uses PB2–PB5, PB7, and PE7.
PE0, PE1, PE4, and PE5 can be used for up to two external interrupts. PB0 can be used to access the clock on Serial Port B of the Rabbit microprocessor. PD4 can be programmed to
be a serial output for Serial Port B. PD5 can
be used as a serial input by Serial Port B.
PC4, PC5, PD0, PD1, PE2, PE3, and PE6 are used for internal communication with the RealTek Ethernet interface chip.
Header J5
1–8 PA[0:7]
Bytewide programmable parallel I/O
Slave port data bus SD0–SD7
9 /RESET Reset output Reset input
This weak output can be driven externally
10 PB0 Input
Serial port clock CLKB
input or output 11 PB2 Input Slave port write /SWR 12 PB3 Input Slave port read /SRD 13 PB4 Input SA0
Slave port address lines
14 PB5 Input SA1
15 PB7 Output
Slave port attention line
/SLAVEATTN 16–23 D[7:0] Input/Output Rabbit 2000 data bus 24 VBAT 3 V battery input 25 VCC 26 GND
Table 1. RCM2200 Pinout Configurations (c ontinued)
Pin Pin Name Default Use Alternate Use Notes
Users Manual 9
2.2 Serial Communication
The RCM2200 board does not have an RS-232 or an RS-485 transceiver directly on the board. However, an RS-232 or RS-485 interface may be incorporated on the board the RCM2200 is mounted on. For example, the Prototyping Board supports a standard RS-232 transceiver chip.
2.2.1 Serial Ports
There are four serial ports designated as Serial Ports A, B, C, and D. All four serial ports can operate in an asynchronous mode up to the baud rate of the system clock divided by
64. 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 and B can also be operated in the clocked serial mode. In this mode, a clock line synchro­nously clocks the data in or out. Either of the two communicating devices can supply the clock. When the Rabbit 2000 provides the clock, the baud rate can be up to 80% of the system clock frequency divided by 128, or 138,240 bps for a 22.1 MHz clock speed.
Serial Port A is available only on the programming port, and so is likely to be inconve­nient to interface with.
2.2.2 Ethernet Port
Figure 3 shows the pinout for the RJ-45 Ethernet port (J2). Note that some Ethernet con­nectors are numbered in reverse to the order used here.
Figure 3. RJ-45 Ethernet Port Pinout
Two LEDs are placed next to the RJ-45 Ethernet jack, one to indicate an Ethernet link (LNK) and one to indicate Ethernet activity (ACT).
The Ethernet signals are also available on header J4. The
ACK
and
LNK
signals can be used to drive LEDs
on the user board the RCM2200 is connected to. The transformer/connector assembly ground is con-
nected to the RCM2200 printed circuit board digital ground via a 0 resistor, R29, as shown in Figure 4.
ETHERNET
RJ-45 Plug
1. E_Tx+
2. E_Tx
3. E_Rx+
6. E_Rx
1
8
RJ-45 Jack
Figure 4. Isolation Resistor R29
RJ-45 Ethernet Plug
R29
Chassis
Ground
Board
Ground
10 RabbitCore RCM2200
The RJ-45 connector is shielded to minimize EMI effects to/from the Ethernet signals. Z­World recommends that an equivalent RJ-45 connector be used on the user board if the customer wishes to have an RJ-45 connector on the user board.
NOTE: The RCM2210 is available without the LEDs and the RJ-45 connector if you
plan to use your own RJ-45 connector on your user board.
2.2.3 Programming Port
Serial Port A has special features that allow it to cold-boot the system after reset. Serial Port A is also the port that is used for software development under Dynamic C.
The RabbitCore RCM2200 has a 10-pin program header labeled J1. The Rabbit 2000 star­tup-mode pins (SMODE0, SMODE1) are presented to the programming port so that an externally connected device can force the RCM2200 to start up in an external bootstrap mode. The Rabbit 2000 Microprocessor Users Manual provides more information related to the bootstrap mode.
The programming port is used to start the RabbitCore RCM2200 in a mode where it will download a
program from the port and then execute the program.
The programming port
transmits information to and from a PC while a program is being debugged in-circuit. The RabbitCore RCM2200 can be reset from the programming port via the /RESET_IN
line. The Rabbit 2000 status pin is also presented to the programming port. The status pin is an
output that can be used to send a general digital signal. The clock line for Serial Port A is presented to the programming port, which makes syn-
chronous serial communication possible.
2.2.3.1 Alternate Uses of the Programming Port
The programming port may also be used as an application port with the DIAG connector on the programming cable.
All three clocked Serial Port A signals are available as
a synchronous serial port
an asynchronous serial port, with the clock line usable as a general CMOS input
two general CMOS inputs and one general CMOS output.
Two startup mode pins, SMODE0 and SMODE1, are available as general CMOS inputs after they are read during the initial boot-up. The logic state of these two pins is very important in determining the startup procedure after a reset.
/RES_IN is an external input used to reset the Rabbit 2000 microprocessor. The status pin may also be used as a general CMOS output. See Appendix E, Programming Cable, for more information.
Users Manual 11
2.3 Memory
2.3.1 SRAM
The RCM2200 is designed to accept 32K to 512K of SRAM packaged in an SOIC case.
2.3.2 Flash EPROM
The RCM2200 is also designed to accept 128K to 512K of flash EPROM packaged in a TSOP case.
NOTE: Z-World 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.
A Flash Memory Bank Select jumper configuration option based on 0 surface-mounted resistors exists at JP2, JP3, and JP5 (corresponding to the flash memory chips at U8 [second flash on RCM2250], U3 [RCM2200], and U7 [no flash installed on existing RCM2200 versions]). This option, used in conjunction with some configuration macros, allows Dynamic C to compile two different co-resident programs for the upper and lower halves of the 256K flash in such a way that both programs start at logical address 0000. This is useful for applications that require a resident download manager and a separate down­loaded program. See T echnical Note 218, Implementing a Serial Downl oad Manager for a 256K Flash, for details.
NOTE: Only the Normal Mode, which corresponds to using the full code space, is sup-
ported at th e present time.
2.3.3 Dynamic C BIOS Source Files
The Dynamic C BIOS source files handle different standard RAM and flash EPROM sizes automatically.
12 RabbitCore RCM2200
2.4 Other Hardware
2.4.1 Clock Doubler
The RCM2200 takes advantage of the Rabbit 2000 microprocessors internal clock dou­bler. A built-in clock doubler allows half-frequency crystals to be used to reduce radiated emissions. The 22.1 MHz frequency is generated using an 11.0592 MHz crystal. The clock doubler is disabled automatically in the BIOS for crystals with a frequency above
12.9 MHz. The clock doubler may be disabled if 22.1 MHz clock speeds are not required. Disabling
the Rabbit 2000 microprocessors internal clock doubler will reduce power consumption and further reduce radiated emissions. The clock doubler is disabled with a simple change to the BIOS as described below.
2.4.2 Spectrum Spreader
RCM2200 RabbitCore modules that have a Rabbit 2000 microprocessor labeled IQ4T (or higher) are equipped with a Rabbit 2000 microprocessor that has a spectrum spreader, which helps to mitigate EMI problems. By default, the spectrum spreader is on automati­cally for RCM2200 modules that carry the IQ4T (or higher) marking when used with Dynamic C 7.30 or later versions, but the spectrum spreader may also be turned off or set to a stronger setting. The means for doing so is through a simple change to the following BIOS line in a way that is similar to the clock doubler described above.
#define ENABLE_SPREADER 1 // Set to 0 to disable spectrum spreader // 1 to enable normal spreading, or // 2 to enable strong spreading.
NOTE: The strong spectrum-spreading setting is usually not necessary for the
RCM2200.
There is no spectrum spreader functionality for RCM2200 RabbitCore modules that have a Rabbit 2000 microprocessor labeled IQ1T, IQ2T, or IQ3T, or when using any RCM2200 with a version of Dynamic C prior to 7.30.
1. Open the BIOS source code file, RABBITBIOS.C in the BIOS directory.
2. Change the line
#define CLOCK_DOUBLED 1 // set to 1 to double the clock if XTAL<=12.9MHz,
to read as follows.
#define CLOCK_DOUBLED 0 // set to 1 to double the clock if XTAL<=12.9MHz,
3. Change the serial baud rate to 57,600 bps when the RabbitCore RCM2200 is operated at 11.05 MHz.
4. Save the change using File > Save.
Users Manual 13
3. 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 Z-World controllers and other controllers based on the Rabbit microprocessor. Chapter 3 provides the libraries, function calls, and sample programs related to the RCM2200.
3.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 static RAM included on the RCM2200. The advantage of working in RAM is to save wear on the flash memory, which is limited to about 100,000 write cycles.
NOTE: An application can be develop ed in RAM, but cannot run standalone from RAM
after the programming cable is disconnected. All standalone applications can only run from flash m emory.
NOTE: Do not depend on the flash memory sector size or type. Due to the volatility of
the flash memory market, the RCM2200 and Dynamic C were designed to accommo­date flash devices with various sector sizes.
The disadvantage of using flash memory for debug is that interrupts must be disabled for approximately 5 ms whenever a break point is set in the program. This can crash fast inter­rupt routines that are running while you stop at a break point or single-step the program. Flash memory or RAM is selected on the Options > Compile r menu.
Dynamic C Premier provides a number of debugging features. You can single-step your program, either in C, statement by statement, or in assembly language, instruction by instruction. You can set break points, where the program will stop, on any statement. You can evaluate watch expressions. A watch expression is any C expression that can be eval­uated in the context of the program. If the program is at a break point, a watch expression can view any expression using local or external variables. If a periodic call to
runwatch()
is included in your program, you will be able to evaluate watch expressions by hitting
<Ctrl-U> without stopping the program.
14 RabbitCore RCM2200
3.2 Programming Cable
The RCM2200 is automatically in program mode when the
PROG connector on the pro-
gramming cable is attached, and is automatically in run mode when no programming cable is attached.
The DIAG connector of the programming cable may be used on header J5 of the RCM2200 with the board operating in the run mode. This allows the programming port to be used as an application port. See Appendix E, Programming Cable,” for more information.
Figure 5. Switching Between Program Mode and Run Mode
3.2.1 Changing from Program Mode to Run Mode
1. Disconnect the programming cable from header J5 of the RCM2200.
2. Reset the RCM2200. You may do this as explained in Figure 5.
The RCM2200 is now ready to operate in the run mode.
3.2.2 Changing from Run Mode to
Program Mode
1. Attach the programming cable to header J3 on the RCM2200.
2. Reset the RCM2200.
You may do this as
explained in Figure 5
.
The RCM2200 is now ready to operate in the program mode.
RESET RCM2200 when changing mode:
Short out pins 9 and 26 on header J5,
OR
Press RESET button (if using Prototyping Board), OR Remove, then reapply power
after removing or attaching programming cable.
To PC COM port
Run Mode
Program Mode
Figure 6. Location of Reset Button
on Prototyping Board
Users Manual 15
3.3 Dynamic C Libraries
With Dynamic C running, click File > Open, and select
Lib
. The following list of
Dynamic C libraries will be displayed.
There is no unique library that is specific to the RCM2200. The functions in the above libraries are described in the Dynamic C Users Manual.
16 RabbitCore RCM2200
3.3.1 I/O
The RCM2200 was designed to interface with other systems, and so there are no drivers written specifically for the I/O. The general Dynamic C read and write functions allow you to customize the parallel I/O to meet your specific needs. For example, use
WrPortI(PEDDR, &PEDDRShadow, 0x00);
to set all the port E bits as inputs, or use
WrPortI(PEDDR, &PEDDRShadow, 0xFF);
to set all the Port E bits as outputs. The sample programs in the Dynamic C
SAMPLES\RCM2200
directory provide further
examples.
3.3.1.1 PCLK Output
The PCLK output is controlled by bits 7 and 6 of the Global Output Register (GOCR) on the Rabbit 2000 microprocessor, and so can be enabled or disabled in software. Starting with Dynamic C v 7.02, the PCLK output is disabled by default at compile time to mini­mize radiated emissions; the PCLK output is enabled in earlier versions of Dynamic C.
Use the following code to set the PCLK output as needed.
PCLK outpu t driven with peripheral clock:
WrPortI(GOCR, &GOCRShadow, (GOCRShadow&~0xc0));
PCLK outpu t driven with peripheral clock ÷ 2:
WrPortI(GOCR, &GOCRShadow, ((GOCRShadow&~0xc0)| 0x40));
PCLK output off (low):
WrPortI(GOCR, &GOCRShadow, ((GOCRShadow&~0xc0)| 0x80));
PCLK output on (high):
WrPortI(GOCR, &GOCRShadow, (GOCRShadow | 0xc0));
3.3.1.2 External Interrupts
The Rabbit 2000 microprocessor has four external interrupt inputs on Parallel Port E, which is accessed through pins PE0, PE1, PE4, and PE5 on header J4. These pins may be used either as I/O ports or as external interrupt inputs.
Earlier versions of the Rabbit 2000 microprocessor labeled IQ1T or IQ2T would occa­sionally lose an interrupt request when one of the interrupt inputs was used as a pulse counter.
See Technical Note 301
, Rabbit 2000 Microprocessor Interrupt Problem, for further infor-
mation on how to work around this problem if you purchased your RCM2200 before July, 2002, and the Rabbit 2000 microprocessor is labeled IQ1T or IQ2T.
NOTE: Interrupts on RCM2000 series RabbitCore modules sold after July, 2002, work
correctly and do not need this workaround.
Loading...
+ 44 hidden pages