Page 2
Z-World reserves the right to make changes and improvements to its products without providing notice. Trademarks Rabbit 2000 is a trademark of Rabbit Semiconductor. Dynamic C is a registered trademark of Z-World Inc. Z-World, Inc. Rabbit Semiconductor 2900 Spafford Street...
ABLE OF ONTENTS Chapter 1. Introduction 1.1 RCM3200 Features ..........................1 1.2 Advantages of the RCM3200 .......................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 2.1 RCM3200 Digital Inputs and Outputs ....................6 2.1.1 Memory I/O Interface .........................11 2.1.2 Other Inputs and Outputs ......................11...
Page 4
F.1 Overview ............................73 F.2 Header J6............................74 F.3 Using Parallel Port F .......................... 75 F.3.1 Parallel Port F Registers......................75 F.4 PWM Outputs ............................ 78 F.5 PWM Registers ..........................79 F.6 Quadrature Decoder ........................... 80 Notice to Users Index Schematics RabbitCore RCM3200...
3000 I/O bus lines, parallel ports, and serial ports. The RCM3200 receives its +3.3 V power from the customer-supplied motherboard on which it is mounted. The RabbitCore RCM3200 can interface with all kinds of CMOS- compatible digital devices through the motherboard.
RCM3200. The Development Kit puts together the essentials you need to design an embedded microprocessor-based system rapidly and effi- ciently. See the RabbitCore RCM3200 Getting Started Manual for complete information on the Development Kit. RabbitCore RCM3200...
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.
2. H ARDWARE EFERENCE Chapter 2 describes the hardware components and principal hardware subsystems of the RCM3200. Appendix A, “RCM3200 Specifica- tions,” provides complete physical and electrical specifications. Figure 1 shows these Rabbit-based subsystems designed into the RCM3200. 22.1 MHz 32 kHz SRAM RABBIT...
RCM3200 series. The signals labeled PD2, PD3, PD6, and PD7 on header J1 (pins 29–32) and the pins that are not connected (pins 33–34 on header J1 and pin 33 on header J2) are reserved for future use. RabbitCore RCM3200...
Page 11
Figure 3 shows the use of the Rabbit 3000 microprocessor ports in the RCM3200 modules. PB0, PA0PA7 PB2PB7 PD4PD5 Port D Port A Port B (+Ethernet Port) PC0, PC2, PC4 Port C PE0PE1, Port E PE3PE7 (Serial Ports B,C & D) ABBIT PC1, PC3, PC5 3000...
Page 12
Serial Port F Input/Output Input/Output ATXB Input/Output ARXB Input/Output TPOUT– * Ethernet transmit port Input/Output TPOUT+ * Input/Output TPIN– * Ethernet receive port Input/Output TPIN+ * 33–34 * n.c. Reserved for future use Pins 29–34 are reserved for future use. RabbitCore RCM3200...
Page 13
Table 1. RCM3200 Pinout Configurations (continued) Pin Name Default Use Alternate Use Notes Reset output from Reset /RES Reset output Reset input Generator Input/Output CLKB External Address 0 Input/Output /SWR Slave port write External Address 1 Input/Output /SRD Slave port read External Address 2 Input/Output Slave port Address 0...
Page 14
3.15–3.45 V DC n.c. Reserved for future use Locations R45, R46, R53, R57, R67, R70, and R74 allow the population of 0 Ω resistors (jumpers) that will be used to enable future options. These locations are currently unused. RabbitCore RCM3200...
2.1.1 Memory I/O Interface The Rabbit 3000 address lines (A0–A19) and all the data lines (D0–D7) are routed inter- nally 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.
RCM3200 printed circuit board digital ground via a 0 Ω resistor, R42, as shown in Figure 5. Figure 5. Isolation Resistor R42 The RJ-45 connector is shielded to minimize EMI effects to/from the Ethernet signals. RabbitCore RCM3200...
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 RCM3200 has a 10-pin program header labeled J3. The Rabbit 3000 startup-mode pins (SMODE0, SMODE1) are presented to the programming port so that an externally connected device can force the RCM3200 to start up in an external bootstrap mode.
// Set to 0 to disable spectrum spreader. #define SPREADER_SETTING 0 // 0 = normal spreading, 1 = strong spreading NOTE: Refer to the Rabbit 3000 Microprocessor User’s Manual for more information on the spectrum-spreading setting and the maximum clock speed. RabbitCore RCM3200...
32-pin TSOP or sTSOP case. The flash EPROM installed at U7 is 512K 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.
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 RCM3200.
3.2.2 Changing from Run Mode to Program Mode 1. Attach the programming cable to header J3 on the RCM3200. 2. Reset the RCM3200. You may do this as explained in Figure 6. The RCM3200 is now ready to operate in the program mode. RabbitCore RCM3200...
3.3 Dynamic C Libraries With Dynamic C running, click , and select . The following list of File > Open Dynamic C libraries will be displayed. There is no unique library that is specific to the RCM3200. The functions in the above libraries are described in the Dynamic C Premier User’s Manual.
Note 213, Rabbit 2000 Serial Port Software. 3.3.3 TCP/IP Drivers The TCP/IP drivers are located in the TCPIP directory. Complete information on these libraries and the TCP/IP functions is provided in the Dynamic C TCP/IP User’s Manual. RabbitCore RCM3200...
Two folders contain sample programs that illustrate features unique to the RCM3200. • RCM3200—Demonstrates the basic operation and the Ethernet functionality of the RCM3200. • TCPIP—Demonstrates more advanced TCP/IP programming for Z-World’s Ethernet- enabled Rabbit-based boards. Follow the instructions included with the sample program to connect the RCM3200 and the other hardware identified in the instructions.
The default installation of a patch or bug fix is to install the file in a directory (folder) dif- ferent from that of the original Dynamic C installation. Z-World recommends using a dif- ferent directory so that you can verify the operation of the patch without overwriting the existing Dynamic C installation.
1.850 (47.0) 1.375 (34.9) Please refer to the RCM3200 footprint diagram later in this 0.100 dia appendix for precise header (2.5) locations. R63 R64 0.67 0.15 1.18 (17.0) (3.8) (30.0) 2.725 (69.2) 1.850 (47.0) Figure A-1. RCM3200 Dimensions RabbitCore RCM3200...
Page 29
It is recommended that you allow for an “exclusion zone” of 0.04" (1 mm) around the RCM3200 in all directions (except above the RJ-45 plug) when the RCM3200 is incorpo- rated into an assembly that includes other printed circuit boards. This “exclusion zone” that you keep free of other components and boards will allow for sufficient air flow, and will help to minimize any electrical or electromagnetic interference between adjacent boards.
Page 30
Table A-1 lists the electrical, mechanical, and environmental specifications for the RCM3200. Table A-1. RabbitCore RCM3200 Specifications Parameter Specification Microprocessor Low-EMI Rabbit 3000 at 44.2 MHz Ethernet Port 10/100Base-T, RJ-45, 3 LEDs Flash Memory 512K × 8, surface mount Data SRAM 256K ×...
Table A-3. Table A-3. External Capacitive Bus Loading -40°C to +70°C Clock Speed Maximum External Output Port (MHz) Capacitive Loading (pF) All I/O lines with clock 29.4 30–70 doubler enabled All I/O lines with clock 14.7456 doubler disabled RabbitCore RCM3200...
Page 33
Figure A-4 shows a typical timing diagram for the Rabbit 3000 microprocessor external memory read and write cycles. External I/O Read (no extra wait states) A[15:0] valid T adr /CSx T CSx T CSx /IOCSx T IOCSx T IOCSx /IORD T IORD T IORD /BUFEN...
Page 34
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. RabbitCore RCM3200...
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 T = –55°C to +125°C, V = 3.0 V to 3.6 V. Table A-5. 3.3 Volt DC Characteristics Symbol Parameter Test Conditions...
V or V pad, or up to six outputs between pads. The V bus can handle up to 35 mA, and the V bus can handle up to 28 mA. All these analyses were measured at 100°C. RabbitCore RCM3200...
A.5 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-5. The conformal coating protects these high-impedance circuits from the effects of moisture and contaminants over time.
1–2 128K/256K Flash Memory Size × 2–3 512K × 1–2 Normal Mode Flash Memory Bank Select 2–3 Bank Mode × 1–2 256K Data SRAM Size 2–3 512K NOTE: The jumper connections are made using 0 Ω surface-mounted resistors. RabbitCore RCM3200...
B. P PPENDIX ROTOTYPING OARD Appendix B describes the features and accessories of the Proto- typing Board, and explains the use of the Prototyping Board to demonstrate the RCM3200 and to build prototypes of your own circuits. User’s Manual...
R C M 3 0 / 3 1 / 3 2 X X S E R I E S UX13 P R O TO T Y P I N G B O A R D RESET RxC TxC /RES DISPLAY BOARD DISPLAY BOARD RS-232 TxB RxB 6.75 (171) Figure B-1. Prototyping Board Dimensions RabbitCore RCM3200...
The small holes are also provided for surface-mounted components that may be installed around the prototyping area. There is a 2.0" × 3.5" through-hole prototyping space available on the Prototyping Board. +3.3 V, +5 V, and GND traces run along the edge of the Prototyping Board for easy access. RabbitCore RCM3200...
B.3.1 Adding Other Components There are two sets of pads that can be used for surface mount prototyping SOIC devices. The silk screen layout separates the rows into six 16-pin devices (three on each side). However, there are pads between the silk screen layouts giving the user two 52-pin (2×26) SOIC layouts with 50 mil pin spacing.
C. LCD/K PPENDIX EYPAD ODULE An optional LCD/keypad is available for the Prototyping Board. Appendix C describes the LCD/keypad and provides the soft- ware APIs to make full use of the LCD/keypad. C.1 Specifications Table C-1 lists the electrical, mechanical, and environmental specifications for the LCD/keypad module.
C.3 Keypad Labeling The keypad may be labeled according to your needs. A template is provided in Figure C-2 to allow you to design your own keypad label insert. 1.10 (28) 2.35 (60) Figure C-2. Keypad Template To replace the keypad legend, remove the old legend and insert your new legend prepared according to the template in Figure C-2.
C.5 LCD/Keypad Module Function APIs When mounted on the Prototyping Board, the LCD/keypad module uses the auxiliary I/O bus on the Rabbit 3000 chip. Remember to add the line #define PORTA_AUX_IO to the beginning of any programs using the auxiliary I/O bus. C.5.1 LEDs When power is applied to the LCD/keypad module for the first time, the red LED (DS1) will come on, indicating that power is being applied to the LCD/keypad module.
Sets the LCD screen on or off. Data will not be cleared from the screen. PARAMETER onOff turns the LCD screen on or off 1—turn the LCD screen on 0—turn the LCD screen off RETURN VALUE None. SEE ALSO glInit, glSetContrast, glBackLight RabbitCore RCM3200...
Page 51
void glSetContrast(unsigned level); Sets display contrast (the circuitry is not installed on the LCD/keypad module used with the Prototyping Board). PARAMETER level reflects low to high values (typically 0 to 255, depending on the board design) to give high to low contrast respectively.
Page 52
LCD display area will be clipped. The function will also return, doing nothing, if there are less than 3 vertices. PARAMETERS n is the number of vertices. *pFirstCoord is a pointer to array of vertex coordinates: x1,y1, x2,y2, x3,y3,... RETURN VALUE None. SEE ALSO glPlotPolygon, glFillPolygon, glFillVPolygon RabbitCore RCM3200...
Page 53
void glPlotPolygon(int n, int y1, int x2, int y2, ...); Plots the outline of a polygon in the LCD page buffer and on the LCD if the buffer is unlocked. Any por- tion of the polygon that is outside the LCD display area will be clipped. The function will also return, doing nothing, if there are less than 3 vertices.
Page 54
(in pixels). RETURN VALUE None. SEE ALSO glPlotCircle, glPlotPolygon, glFillPolygon RabbitCore RCM3200...
Page 55
void glXFontInit(fontInfo *pInfo, char pixWidth, char pixHeight, unsigned startChar, unsigned endChar, unsigned long xmemBuffer); Initializes the font descriptor structure, where the font is stored in xmem. Each font character’s bitmap is column major and byte-aligned. PARAMETERS *pInfo is a pointer to the font descriptor to be initialized. pixWidth is the width (in pixels) of each font item.
Page 56
RETURN VALUE The x step is returned in the MSB, and the y step is returned in the LSB of the integer result. SEE ALSO Use glGetPfStep() to control the x and y printing step direction. RabbitCore RCM3200...
Page 57
void glPutChar(char ch, char *ptr, int *cnt, glPutCharInst *pInst) STDIO Provides an interface between the string-handling functions and the graphic library. The STDIO string-formatting function will call this function, one character at a time, until the entire format- ted string has been parsed. Any portion of the bitmap character that is outside the LCD display area will be clipped.
Page 58
Sets the drawing method (or color) of pixels drawn by subsequent graphic calls. PARAMETER type value can be one of the following macros. PIXBLACK draws black pixels. PIXWHITE draws white pixels. PIXXOR draws old pixel XOR’ed with the new pixel. RETURN VALUE None. SEE ALSO glGetBrushType RabbitCore RCM3200...
Page 59
int glGetBrushType(void); Gets the current method (or color) of pixels drawn by subsequent graphic calls. RETURN VALUE The current brush type. SEE ALSO glSetBrushType void glPlotDot(int x, int y); Draws a single pixel in the LCD buffer, and on the LCD if the buffer is unlocked. If the coordinates are outside the LCD display area, the dot will not be plotted.
Page 60
8. rows is the number of rows in the window. RETURN VALUE None. SEE ALSO glVScroll, glDown1 RabbitCore RCM3200...
Page 61
void glDown1(int left, int top, int cols, int rows); Scrolls byte-aligned window down one pixel, top column is filled by current pixel type (color). PARAMETERS left is the upper left corner of bitmap, must be evenly divisible by 8. top is the left top corner of the bitmap. cols is the number of columns in the window, must be evenly divisible by 8.
Page 62
RETURN VALUE None. SEE ALSO glXPutFastmap, glPrintf RabbitCore RCM3200...
Page 63
void glXPutFastmap(int left, int top, int width, int height, unsigned long bitmap); Draws bitmap in the specified space. The data for the bitmap are stored in xmem. This function is like glXPutBitmap, except that it is faster. The restriction is that the bitmap must be byte-aligned. Any portion of a bitmap image or character that is outside the LCD display area will be clipped.
Page 64
LCD display area, the character will not be displayed. NOTE: Execute the function before using this function. TextWindowFrame PARAMETERS *window is a pointer to a font descriptor. ch is a character to be displayed on the LCD. RETURN VALUE None. SEE ALSO TextGotoXY, TextPrintf, TextWindowFrame, TextCursorLocation RabbitCore RCM3200...
Page 65
void TextPrintf(struct windowFrame *window, char *fmt, ...); Prints a formatted string (much like printf) on the LCD screen. Only printable characters in the font set are printed, also escape sequences, ’\r’ and ’\n’ are recognized. All other escape sequences will be skipped over;...
How long to hold before repeating. 0 = No Repeat. cSpdLo is a low-speed repeat tick. How many times to repeat. 0 = None. cCntLo is a low-speed hold tick. How long to hold before going to high-speed repeat. 0 = Slow Only. RabbitCore RCM3200...
Page 67
cSpdHi is a high-speed repeat tick. How many times to repeat after low speed repeat. 0 = None. RETURN VALUE None. SEE ALSO keyProcess, keyGet, keypadDef void keyProcess(void); Scans and processes keypad data for key assignment, debouncing, press and release, and repeat. NOTE: This function is also able to process an 8 ×...
Page 68
Writes "1" to each row and reads the value. The position of a keypress is indicated by a zero value in a bit position. PARAMETER *pcKeys is the address of the value read. RETURN VALUE None. SEE ALSO keyConfig, keyGet, keypadDef, keyProcess RabbitCore RCM3200...
C.6 Sample Programs Sample programs illustrating the use of the LCD/keypad module with the Prototyping Board are provided in the directory. SAMPLES\RCM3200 These sample programs use the auxiliary I/O bus on the Rabbit 3000 chip, and so the line is already included in the sample programs. #define PORTA_AUX_IO User’s Manual...
D. P PPENDIX OWER UPPLY Appendix D provides information on the current requirements of the RCM3200, and includes some background on the chip select circuit used in power management. D.1 Power Supplies The RCM3200 requires a regulated 3.3 V ± 0.15 V DC power source. The RabbitCore design presumes that the voltage regulator is on the user board, and that the power is made available to the RCM3200 board through header J2.
2.85 V and 3.00 V, typically 2.93 V. The RCM3200 has a reset output, pin 1 on header J2. D.2 Optional +5 V Output The RCM3200 boards have an onboard charge pump that provides the +5 V needed by the RealTek Ethernet chip. RabbitCore RCM3200...
E. P PPENDIX ROGRAMMING ABLE ™ Appendix E provides additional information for the Rabbit 3000 microprocessor when using the connectors on the DIAG PROG programming cable. The connector is used only when the pro- PROG gramming cable is attached to the programming connector (header J3) while a new application is being developed.
Page 74
TXA to one of the SMODE pins and then test for the connection by raising PC6 (by configuring it as a general output bit) and reading the SMODE pin after the cold-boot mode has been disabled. The value of the SMODE pin is read from the SPCR register. RabbitCore RCM3200...
Page 75
Once you establish that the programming port will never again be needed for program- ming, it is possible to use the programming port for additional I/O lines. Table E-1 lists the pins available for this alternate configuration. Table E-1. RCM3200 Programming Port Pinout Configurations Pin Name Default Use Alternate Use...
PTION The Prototyping Board has a header at J6 for a motor control option. While Z-World and Rabbit Semiconductor do not support this option at this time, this appendix provides additional information about Paral- lel Port F on the Rabbit 3000 microprocessor to enable you to use this feature on the Prototyping Board for your needs.
5 V tolerance of the processor pins. Usually, a simple resistive divider with catching diodes will suffice if higher voltage inputs are required. If the outputs are configured for open-drain operation, they may be pulled up to +5 V (while observing the maximum current, of course). RabbitCore RCM3200...
F.3 Using Parallel Port F Parallel Port F is a byte-wide port with each bit programmable for data direction and drive. These are simple inputs and outputs controlled and reported in the Port F Data Register. As outputs, the bits of the port are buffered, with the data written to the Port F Data Regis- ter transferred to the output pins on a selected timing edge.
Page 80
Bit 5 carries PWM[1] output Bit 6 carries PWM[2] output Bit 7 carries PWM[3] output Port F Drive Control Register PFDCR 00111110 (0x3E) xxxxxxxx Bits Value Description Corresponding port bit is active high or low Corresponding port bit is open drain RabbitCore RCM3200...
Page 81
Table F-2. Parallel Port F Registers (continued) Register Name Mnemonic I/O Address Reset Value Port F Data Direction Register PFDDR 00111111 (0x3F) 00000000 Bits Value Description Corresponding port bit is an input Corresponding port bit is an output User’s Manual...
F.5 PWM Registers There are no default values on reset for any of the PWM registers. Table F-4. PWM Registers PWM LSBs Register Address PWL0R 10001000 (0x88) PWL1R 10001010 (0x8A) PWL2R 10001100 (0x8C) PWL3R 10001110 (0x8E) Bit(s) Value Description The least significant two bits for the Pulse Width Modulator count are Write stored These bits are ignored.
The Input Capture (see the Rabbit 3000 Microprocessor Users Manual) may be used to measure the pulse width on the I inputs because they come from the odd-numbered port bits. The operation of the digital filter is shown below. Peri Clock Timer A10 Rejected Accepted RabbitCore RCM3200...
Page 85
The Quadrature Decoder generates an interrupt when the counter increments from 0x00 to 0x01 or when the counter decrements from 0x00 to 0xFF. Note that the status bits in the QDCSR are set coincident with the interrupt, and the interrupt (and status bits) are cleared by reading the QDCSR.
Page 86
Quadrature Decoder interrupt use Interrupt Priority Quadrature Decoder interrupt use Interrupt Priority Quad Decode Count Register QDC1R Address = 10010100 (0x94) (QDC2R) Address = 10010110 (0x96) Bit(s) Value Description The current value of the Quadrature Decoder read counter is reported. RabbitCore RCM3200...
Specifications are based on characterization of tested sample units rather than testing over temperature and voltage of each unit. Z-World products may qualify components to operate within a range of parameters that is different from the manufacturer’s recom- mended range.
CHEMATICS 090-0152 RCM3200 Schematic www.rabbitsemiconductor.com/documentation/schemat/090-0152.pdf 090-0137 Prototyping Board Schematic www.rabbitsemiconductor.com/documentation/schemat/090-0137.pdf 090-0128 Programming Cable Schematic www.rabbitsemiconductor.com/documentation/schemat/090-0128.pdf The schematics included with the printed manual were the latest revisions available at the time the manual was last revised. The online versions of the manual contain links to the latest revised schematic on the Web site.
Need help?
Do you have a question about the RabbitCore RCM3200 and is the answer not in the manual?
Questions and answers