background image

RabbitCore RCM3200

C-Programmable Module with Ethernet

User’s Manual

019–0118

020923–A

Summary of Contents for RabbitCore RCM3200

Page 1: ...RabbitCore RCM3200 C Programmable Module with Ethernet User s Manual 019 0118 020923 A ...

Page 2: ...800 USA Telephone 530 757 8400 Fax 530 757 8402 www rabbitsemiconductor com RabbitCore RCM3200 User s Manual Part Number 019 0118 020923 A Printed in U S A 2002 Z World Inc All rights reserved 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 Wor...

Page 3: ...are 14 2 3 1 Clock Doubler 14 2 3 2 Spectrum Spreader 14 2 4 Memory 15 2 4 1 SRAM 15 2 4 2 Flash EPROM 15 2 4 3 Dynamic C BIOS Source Files 15 Chapter 3 Software Reference 17 3 1 More About Dynamic C 17 3 2 Programming Cable 18 3 2 1 Changing from Program Mode to Run Mode 18 3 2 2 Changing from Run Mode to Program Mode 18 3 3 Dynamic C Libraries 19 3 3 1 I O 20 3 3 2 Serial Communication Drivers 2...

Page 4: ...rd 42 C 3 Keypad Labeling 43 C 4 Header Pinouts 44 C 4 1 I O Address Assignments 44 C 5 LCD Keypad Module Function APIs 45 C 5 1 LEDs 45 C 5 2 LCD Display 46 C 5 3 Keypad 62 C 6 Sample Programs 65 Appendix D Power Supply 67 D 1 Power Supplies 67 D 1 1 Battery Backup Circuits 67 D 1 2 Reset Generator 68 D 2 Optional 5 V Output 68 Appendix E Programming Cable 69 Appendix F Motor Control Option 73 F ...

Page 5: ... 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 1 1 RCM3200 Features Small size 1 85 x 2 65 x 0 86 47 mm 67 mm 22 mm Microprocessor Rabbit 3000 running at 44 2 MHz 52 parallel 5 V tolerant I O lines 44 configurable for I O 4 fixed inputs...

Page 6: ...ed 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 Inte...

Page 7: ...ion 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 RCM3200 Getting Started Manual and the RabbitCore RCM3200 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 d...

Page 8: ...4 RabbitCore RCM3200 ...

Page 9: ...Specifica tions provides complete physical and electrical specifications Figure 1 shows these Rabbit based subsystems designed into the RCM3200 Figure 1 RCM3200 Subsystems Ethernet SRAM Flash 22 1 MHz osc 32 kHz osc RabbitCore Module RABBIT 3000 RS 232 RS 485 IRDA serial communication drivers on motherboard logic level serial signal Level converter ...

Page 10: ...are standard 2 34 headers with a nominal 2 mm pitch An RJ 45 Ether net jack is also included with the 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 Note These pinouts are as seen on the Bottom Side of the module RES PB2 PB4 PB6 PF4 PF6 PE7 PE5 PE3 PE0 PG6...

Page 11: ...efaults and the alternate configurations RABBIT 3000 Port A Port B Port D Ethernet Port Port E PA0 PA7 PB0 PB2 PB7 PE0 PE1 PE3 PE7 PD4 PD5 RESET IOWR STATUS SMODE0 SMODE1 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 PC6 PB1 PC7 RES PC0 PC2 PC4 PC1 PC3 PC5 Port G...

Page 12: ...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 Eth...

Page 13: ...ss 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 ...

Page 14: ... 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 Maximum Current Draw 50 µA 30 VBAT_EXT 3 V battery ...

Page 15: ...llowing line at the beginning of your program define PORTA_AUX_IO required to enable auxiliary I O bus 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 output 2 1 2 Other Inputs and Outputs Two status mode pins SMODE0 and SMODE1 a...

Page 16: ...t Either of the two communicating devices can sup ply the clock 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 2 2 2 Ethernet Port Figure 4 shows the pinout for the RJ 45 Ethernet port J4 Note that some Ethernet con nectors are numbered in reverse to the order used here Figure 4 RJ 45 Ethernet Port Pinout...

Page 17: ...an 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 Programming may also be initiated through the motherboard to which the RCM3200 series module is plugged in to since the Serial Port A PC6 and PC7 SMODE0 SMODE1 and RESET_IN are available on headers J1 and J2 see Table 1 2 2 3 1 Alt...

Page 18: ...um 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 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 define SPREADER_SETTING 0 0 normal sp...

Page 19: ...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 header JP4 on the RCM3200 RabbitCore modules This option used in conjunction with some configuration macros allows Dynamic C to compile two different co resident programs for the upper a...

Page 20: ...16 RabbitCore RCM3200 ...

Page 21: ...ation in the fast program execution SRAM select Code and BIOS in Flash Run in RAM from the Dynamic C Options Compiler menu NOTE Do not depend on the flash memory sector size or type Due to the volatility of the flash memory market the RCM3200 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 ...

Page 22: ...3 PE5 PE7 PF6 PF4 PB6 PB4 PB2 RES RN2 J1 J3 C1 C2 R1 R3 R2 UX10 J14 RCM3000 RABBITCORE SLAVE MASTER RCM3000 RABBITCORE 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 ...

Page 23: ...ic 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 RCM3200 The functions in the above libraries are described in the Dynamic C Premier User s Manual ...

Page 24: ...er examples 3 3 2 Serial Communication Drivers Library files included with Dynamic C provide a full range of serial communications sup port The RS232 LIB library provides a set of circular buffer based serial functions The PACKET LIB library provides packet based serial functions where packets can be delim ited by the 9th bit by transmission gaps or with user defined special characters Both librar...

Page 25: ...ernet enabled Rabbit based boards Follow the instructions included with the sample program to connect the RCM3200 and the other hardware identified in the instructions Before running any Dynamic C applications you will need to allow the compiler to run the application in the fast program execution SRAM by selecting Code and BIOS in Flash Run in RAM from the Dynamic C Options Compiler menu To run a...

Page 26: ...g the patch Do not simply copy over an entire file since you may overwrite a bug fix of course you may copy over any programs you have written Once you are sure the new patch works entirely to your satisfaction you may retire the existing installation but keep it available to handle legacy applications 3 5 1 Upgrades Dynamic C SE and TSE Special Edition versions are designed for use with select Ra...

Page 27: ...User s Manual 23 APPENDIX A RCM3200 SPECIFICATIONS Appendix A provides the specifications for the RCM3200 and describes the conformal coating ...

Page 28: ... R35 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 0 55 14 0 100 dia 2 5 0 15 3 8 0 08 2 0 256 6 5 0 86 22 J1 ...

Page 29: ...e of other components and boards will allow for sufficient 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 RCM3200 when the RCM3200 is plugged into another assembly using the shortest connectors for headers J1 and J2 Figure A 2 shows this exclusion zone Figure A 2 RCM3200 Exclusion Zon...

Page 30: ...llel 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 clocked serial port dedicated for programming Serial Rate Maximum asynchronous baud rate CLK 8 Slave Interface A slave port allows the RCM3200 to be used as an intelligent peripheral device slaved ...

Page 31: ...attach the RCM3200 to a user board at the hole position shown in Figure A 3 Either use plastic hardware or use insulating washers to keep any metal hardware from shorting out signals on the RCM3200 Figure A 3 User Board Footprint for RCM3200 Operating Temperature 40 C to 70 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 Rabbi...

Page 32: ... various RCM3200 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 Capaci...

Page 33: ... 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 ...

Page 34: ...rum 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 Techni...

Page 35: ...ter Test Conditions Min Typ Max Units IIH Input Leakage High VIN VDD VDD 3 3 V 1 µ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 VT CMOS 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...

Page 36: ...r sinking current may be greater than the limits outlined in Table A 6 The maximum AC DC sourcing cur rent can be as high as 12 5 mA per buffer as long as the number of sourcing buffers does not exceed three per VDD or VSS pad or up to six outputs between pads Similarly the maximum AC DC sinking current can be as high as 8 5 mA per buffer as long as the num ber of sinking buffers does not exceed t...

Page 37: ...rface 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 Technical Note 303 Con formal Coatings Conformally coated area U1 U6 R28 R38 R41 C5 C3 C9 C8 C12 C17 C23 C30 C18 C29 C35 C33 R29 R37 R39 R40 R42 Y3 C42 R35 R31 R27 R25 DS1 R67 R70 J4 C79 Y4 C...

Page 38: ...per connections are made using 0 Ω surface mounted resistors Table A 7 RCM3200 Jumper Configurations Header Description Pins Connected Factory Default JP1 Auxiliary I O data bus 1 2 Buffer disabled 2 3 Buffer enabled JP2 Program Execution SRAM Size 1 2 128K 256K 2 3 512K JP3 Flash Memory Size 1 2 128K 256K 2 3 512K JP4 Flash Memory Bank Select 1 2 Normal Mode 2 3 Bank Mode JP5 Data SRAM Size 1 2 2...

Page 39: ...PENDIX 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 RCM3200 and to build prototypes of your own circuits ...

Page 40: ...AVE 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 J...

Page 41: ...ected against reverse polarity by a Shottky diode at D2 as shown in Figure B 2 Figure B 2 Prototyping Board Power Supply Table B 1 Prototyping Board Specifications Parameter Specification Board Size 5 25 6 75 1 00 133 mm 171 mm 25 mm Operating Temperature 40 C to 70 C Humidity 5 to 95 noncondensing Input Voltage 8 V to 24 V DC Maximum Current Draw including user added circuits 800 mA max for 3 3 V...

Page 42: ... labeled points at headers J2 and J4 on the Prototyping Board Small to medium circuits can be prototyped using point to point wiring with 20 to 30 AWG wire between the prototyping area and the holes at locations J2 and J4 The holes are spaced at 0 1 2 5 mm and 40 pin headers or sockets may be installed at J2 and J4 The pinouts for locations J2 and J4 which correspond to headers J1 and J2 are shown...

Page 43: ...ch set of holes is connected to which surface mount pad B 3 2 Measuring Current Draw The Prototyping Board has a current measurement feature available on header JP1 Nor mally a jumper connects pins 1 2 and pins 5 6 on header JP1 which provide jumper con nections for the 5 V and the 3 3 V regulated voltages respectively You may remove a jumper and place an ammeter across the pins instead as shown i...

Page 44: ...40 RabbitCore RCM3200 ...

Page 45: ...hanical and environmental specifications for the LCD keypad module Table C 1 LCD Keypad Specifications Parameter Specification Board Size 2 60 3 00 0 75 66 mm 76 mm 19 mm Temperature Operating Range 0 C to 50 C Storage Range 40 C to 85 C Humidity 5 to 95 noncondensing Power Consumption 1 5 W maximum Connections Connects to high rise header sockets on the Prototyping Board LCD Panel Size 122 32 gra...

Page 46: ...STER RCM3000 RABBITCORE 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 RCM3000 PROTOTYPING BOARD DISPLAY BOARD J7 J10 DISPLAY BOARD U1 J...

Page 47: ...re 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 The keypad legend is located under the blue key pad matte and is accessible from the left only as shown in Figure C 3 Figure C 3 Removing and Inserting Keypad Label 1 10 28 2 35 60 Keypad label is located under the blue keypad matte ...

Page 48: ...ddress Assignment Address Function 0xC000 Device select base address CS 0xCxx0 0xCxx7 LCD control 0xCxx8 LED enable 0xCxx9 Not used 0xCxxA 7 key keypad 0xCxxB bits 0 6 7 LED driver 0xCxxB bit 7 LCD backlight on off 0xCxxC ExxF Not used DB6B DB4B DB2B DB0B A1B A3B GND LED7 LED5 LED3 LED1 RES VCC DB7B DB5B DB3B DB1B A0B A2B GND GND LED6 LED4 LED2 PE7 5BKLT J1 GND GND LED6 LED4 LED2 PE7 5BKLT GND LED...

Page 49: ...wer is being applied to the LCD keypad module The red LED is turned off when the brdInit function executes One function is available to control the LEDs and can be found in the RCM3200 LIB library in the SAMPLES RCM3200 directory LED on off control This function will only work when the LCD keypad module is installed on the Prototyping Board PARAMETERS led is the LED to control 0 LED DS1 1 LED DS2 ...

Page 50: ...lBuffLock glBuffUnlock glPlotLine Sets the intensity of the backlight if circuitry is installed PARAMETER onOff reflects the low to high values typically 0 to 255 depending on the board design to set the back light intensity 0 will turn the backlight off completely RETURN VALUE None SEE ALSO glInit glDispOnoff glSetContrast Sets the LCD screen on or off Data will not be cleared from the screen PAR...

Page 51: ...klight glDispOnoff Fills the LCD display screen with a pattern PARAMETER The screen will be set to all black if pattern is 0xFF all white if pattern is 0x00 and vertical stripes for any other pattern RETURN VALUE None SEE ALSO glBlock glBlankScreen glPlotPolygon glPlotCircle Blanks the LCD display screen sets LCD display screen to white RETURN VALUE None SEE ALSO glFillScreen glBlock glPlotPolygon...

Page 52: ... None SEE ALSO glFillScreen glBlankScreen glPlotPolygon glPlotCircle 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 PARAMETERS n is the number of vertices pFirstCoord is a pointer to array of v...

Page 53: ...dinate of the second vertex are the coordinates of additional vertices RETURN VALUE None SEE ALSO glPlotVPolygon glFillPolygon glFillVPolygon Fills a polygon in the LCD page buffer and on the LCD screen if the buffer is unlocked Any portion of the polygon that is outside the LCD display area will be clipped The function will also return doing nothing if there are less than 3 vertices PARAMETERS n ...

Page 54: ... is outside the LCD display area will be clipped PARAMETERS xc is the x coordinate of the center of the circle yc is the y coordinate of the center of the circle rad is the radius of the center of the circle in pixels RETURN VALUE None SEE ALSO glFillCircle glPlotPolygon glFillPolygon Draws a filled circle in the LCD page buffer and on the LCD if the buffer is unlocked Any portion of the circle th...

Page 55: ... is the value of the last printable character in the font character set xmemBuffer is the xmem pointer to a linear array of font bitmaps RETURN VALUE None SEE ALSO glPrinf Returns the xmem address of the character from the specified font set PARAMETERS pInfo is the xmem address of the bitmap font set letter is an ASCII character RETURN VALUE xmem address of bitmap character font column major and b...

Page 56: ... step increments depend on the height and width of the font being displayed which are multi plied by the step values PARAMETERS stepX is the glPrintf x step value stepY is the glPrintf y step value RETURN VALUE None SEE ALSO Use glGetPfStep to examine the current x and y printing step direction Gets the current glPrintf printing step direction Each step direction is independent of the other and is...

Page 57: ...much like printf on the LCD screen Only the character codes that exist in the font set are printed all others are skipped For example b t n and r ASCII backspace tab new line and carriage return respectively will be printed if they exist in the font set but will not have any effect as control characters Any portion of the bitmap character that is outside the LCD display area will be clipped PARAME...

Page 58: ...tents of the LCD buffer are transferred to the LCD if the counter goes to zero RETURN VALUE None SEE ALSO glBuffLock glSwap Checks the LCD screen locking counter The contents of the LCD buffer are transferred to the LCD if the counter is zero RETURN VALUE None SEE ALSO glBuffUnlock glBuffLock _glSwapData located in the library specifically for the LCD that you are using Sets the drawing method or ...

Page 59: ...URN VALUE None SEE ALSO glPlotline glPlotPolygon glPlotCircle Draws a line in the LCD buffer and on the LCD if the buffer is unlocked Any portion of the line that is beyond the LCD display area will be clipped PARAMETERS x0 is the x coordinate of one endpoint of the line y0 is the y coordinate of one endpoint of the line x1 is the x coordinate of the other endpoint of the line y1 is the y coordina...

Page 60: ...ust 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 rows is the number of rows in the window RETURN VALUE None SEE ALSO glHScroll glLeft1 Scrolls byte aligned window up one pixel bottom column is filled by current pixel type color PARAMETERS left is the upper left corner of bitmap must be evenly divisible b...

Page 61: ...he following 1 The left and cols parameters will be verified that they are evenly divisible by 8 If not they will be changed to a value that is a multiple of 8 2 Parameters will be checked to verify that the scrolling area is valid The minimum scrolling area is a width of 8 pixels and a height of one row PARAMETERS left is the upper left corner of bitmap must be evenly divisible by 8 top is the le...

Page 62: ...venly divisible by 8 rows is the number of rows in the window nPix is the number of pixels to scroll within the defined window a negative value will produce a scroll up RETURN VALUE None SEE ALSO glHScroll Draws bitmap in the specified space The data for the bitmap are stored in xmem This function calls glXPutFastmap automatically if the bitmap is byte aligned the left edge and the width are each ...

Page 63: ...thin the text window using only character row and column coordinates The text window feature provides end of line wrapping and clipping after the character in the last column and row is displayed NOTE Execute the TextWindowFrame function before other Text functions PARAMETERS window is a window frame descriptor pointer pFont is a font descriptor pointer x is the x coordinate of where the text wind...

Page 64: ...escriptor col is a pointer to cursor column variable row is a pointer to cursor row variable RETURN VALUE Lower word Cursor Row location Upper word Cursor Column location SEE ALSO TextGotoXY TextPrintf TextWindowFrame TextCursorLocation Displays a character on the display where the cursor is currently pointing If any portion of a bitmap character is outside the LCD display area the character will ...

Page 65: ... control characters The text window feature provides end of line wrapping and clipping after the character in the last col umn and row is displayed NOTE Execute the TextWindowFrame function before using this function PARAMETERS window is a pointer to a font descriptor fmt is a formatted string are formatted string conversion parameter s EXAMPLE TextPrintf TextWindow Test d n count RETURN VALUE Non...

Page 66: ...assignments in brackets User Keypad Interface cPress is a key press code An 8 bit value is returned when a key is pressed 0 Unused See keypadDef for default press codes cRelease is a key release code An 8 bit value is returned when a key is pressed 0 Unused cCntHold is a hold tick How long to hold before repeating 0 No Repeat cSpdLo is a low speed repeat tick How many times to repeat 0 None cCntLo...

Page 67: ...ment debouncing press and release and repeat NOTE This function is also able to process an 8 8 matrix keypad RETURN VALUE None SEE ALSO keyConfig keyGet keypadDef Get next keypress RETURN VALUE The next keypress or 0 if none SEE ALSO keyConfig keyProcess keypadDef Push keypress on top of input queue PARAMETER cKey RETURN VALUE None SEE ALSO keyGet void keyProcess void char keyGet void int keyUnget...

Page 68: ...R 0 0 0 0 0 keyConfig 6 E 0 0 0 0 0 keyConfig 2 D 0 0 0 0 0 keyConfig 4 0 0 0 0 0 keyConfig 1 U 0 0 0 0 0 keyConfig 5 0 0 0 0 0 keyConfig 0 L 0 0 0 0 0 Characters are returned upon keypress with no repeat RETURN VALUE None SEE ALSO keyConfig keyGet keyProcess 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 a...

Page 69: ...ating the use of the LCD keypad module with the Prototyping Board are provided in the SAMPLES RCM3200 directory These sample programs use the auxiliary I O bus on the Rabbit 3000 chip and so the define PORTA_AUX_IO line is already included in the sample programs ...

Page 70: ...66 RabbitCore RCM3200 ...

Page 71: ...ect the programming header J3 to a PC D 1 1 Battery Backup Circuits The RCM3200 does not have a battery but there is provision for a customer supplied bat tery to back up the data SRAM and keep the internal Rabbit 3000 real time clock running Header J2 shown in Figure D 1 allows access to the external battery This header makes it possible to connect an external 3 V power supply This allows the SRA...

Page 72: ...f a lithium ion battery is ultimately 10 years The RCM3200 does not drain the battery while it is powered up normally D 1 2 Reset Generator The RCM3200 uses a reset generator to reset the Rabbit 3000 microprocessor when the volt age drops below the voltage necessary for reliable operation The reset occurs between 2 85 V and 3 00 V typically 2 93 V The RCM3200 has a reset output pin 1 on header J2 ...

Page 73: ...PROG connector is used only when the pro gramming cable is attached to the programming connector header J3 while a new application is being developed Otherwise the DIAG con nector on the programming cable allows the programming cable to be used as an RS 232 to CMOS level converter for serial communication which is appropriate for monitoring or debugging a RabbitCore system while it is running ...

Page 74: ...nnected to this connector The programming port is then enabled as a diagnostic port by polling the port periodically to see if communication needs to begin or to enable the port and wait for interrupts The pull up resistors on RXA and CLKA prevent spurious data reception that might take place if the pins floated If the clocked serial mode is used the serial port can be driven by having two togglin...

Page 75: ...is alternate configuration Table E 1 RCM3200 Programming Port Pinout Configurations Pin Pin Name Default Use Alternate Use Notes Header J3 1 RXA Serial Port A PC7 Input 2 GND 3 CLKA PB1 Bitwise or parallel programmable input 4 VCC 5 RESET Connected to reset generator U4 6 TXA Serial Port A PC6 Output 8 STATUS Output 9 SMODE0 Input Must be low when RCM3200 boots up 10 SMODE1 Input Must be low when ...

Page 76: ...72 RabbitCore RCM3200 ...

Page 77: ...bit 3000 microprocessor to enable you to use this feature on the Prototyping Board for your needs F 1 Overview The Parallel Port F connector on the Prototyping Board J6 gives access to all 8 pins of Parallel Port F along with 5 V This appendix describes the function of each pin and the ways they may be used for motion control applications It should be read in conjunction with the Rabbit 3000 Micro...

Page 78: ...ve 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 Table F 1 Prototyping Board Header J6 Pinout Pin Rabbit 3000 Primary Function Alternate Function 1 Alternate Function 2 1 Parallel Port F bit 0 General purpose I O port Quadrature decoder...

Page 79: ...ponding port line an output or 0 to produce an input Drive Control Register PFDCR address 00111110 0x3E Write only no default on reset port defaults to all inputs Effective only if the corresponding port bits are set as outputs each bit set to 1 configures the corresponding port bit as open drain Setting the bit to 0 configures that output as active high or low Function Register PFFR address 00111...

Page 80: ...r clock is Timer B2 2 3 xx These bits are ignored 4 5 00 Upper nibble transfer clock is CLK 2 01 Upper nibble transfer clock is Timer A1 10 Upper nibble transfer clock is Timer B1 11 Upper nibble transfer clock is Timer B2 6 7 xx These bits are ignored Port F Function Register PFFR 00111101 0x3D W xxxxxxxx Bits Value Description 0 7 0 Corresponding port bits function normally 0 1 Bit 0 carries SCL...

Page 81: ... Register PFDDR 00111111 0x3F W 00000000 Bits Value Description 0 7 0 Corresponding port bit is an input 1 Corresponding port bit is an output Table F 2 Parallel Port F Registers continued Register Name Mnemonic I O Address R W Reset Value ...

Page 82: ...ch quadrant To get the exact high time the Pulse Width Modulator uses the two LSBs of the pulse width register to modify the high time in each quadrant according to Table F 3 below The n 4 term is the base count and is formed from the eight MSBs of the pulse width register The diagram below shows a PWM output for several different width values for both modes of operation Operation in the spread mo...

Page 83: ...the Pulse Width Modulator count are stored 5 1 These bits are ignored 0 0 PWM output High for single block 1 Spread PWM output throughout the cycle PWM MSB x Register Address PWM0R Address 10001001 0x89 PWM1R Address 10001011 0x8B PWM2R Address 10001101 0x8D PWM3R Address 10001111 0x8F Bit s Value Description 7 0 write The most significant eight bits for the Pulse Width Modulator count are stored ...

Page 84: ...nerate a count increment or decrement on either entering or exiting the disable state The operation of the counter as a function of the I and Q inputs is shown below Figure F 2 Operation of Quadrature Decoder Counter The Quadrature Decoders are clocked by the output of Timer A10 giving a maximum clock rate of one half of the peripheral clock rate The time constant of Timer A10 must be fast enough ...

Page 85: ...ter 6 rd only 0 Quadrature Decoder 2 did not decrement from 0x00 1 Quadrature Decoder 2 decremented from 0x00 to 0xFF This bit is cleared by a read of this register 5 0 This bit always reads as zero 4 wr only 0 No effect on the Quadrature Decoder 2 1 Reset Quadrature Decoder 2 to 0x00 without causing an interrupt 3 rd only 0 Quadrature Decoder 1 did not increment from 0xFF 1 Quadrature Decoder 1 i...

Page 86: ...its will not cause Quadrature Decoder 1 to increment or decrement 10 Quadrature Decoder 1 inputs from Port F bits 1 and 0 11 Quadrature Decoder 1 inputs from Port F bits 5 and 4 1 0 0 Quadrature Decoder interrupts are disabled 1 Quadrature Decoder interrupt use Interrupt Priority 1 10 Quadrature Decoder interrupt use Interrupt Priority 2 11 Quadrature Decoder interrupt use Interrupt Priority 3 Qua...

Page 87: ...perfect Bugs are always present in a system of any size In order to prevent danger to life or property it is the responsibility of the system designer to incorporate redundant protective mechanisms appropriate to the risk involved All Z World products are 100 percent functionally tested Additional testing may include visual quality con trol inspections or mechanical defects analyzer inspections Sp...

Page 88: ...84 RabbitCore RCM3200 ...

Page 89: ...h memory size 34 JP4 flash memory bank se lect 15 34 JP5 data SRAM size 34 jumper locations 34 K keypad template 43 removing and inserting label 43 L LCD keypad module dimensions 41 header pinout 44 I O address assignments 44 keypad template 43 mounting instructions 42 removing and insertingkeypad label 43 sample programs 65 M manuals 3 motor control option quadrature decoder 80 mounting instructi...

Page 90: ...rcle 50 glPlotDot 55 glPlotLine 55 glPlotPolygon 49 glPlotVPolygon 48 glPrintf 53 glPutChar 53 glPutFont 52 glRight1 56 glSetBrushType 54 glSetContrast 47 glSetPfStep 52 glSwap 54 glUp1 56 glVScroll 58 glXFontInit 51 glXPutBitmap 58 glXPutFastmap 59 TextCursorLocation 60 TextGotoXY 60 TextPrintf 61 TextPutChar 60 TextWindowFrame 59 LCD keypad module ledOut 45 software continued LCD keypad module L...

Page 91: ...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 You may also use the URL information provided above to access the latest sch...

Page 92: ......

Reviews: