background image

RabbitCore RCM3209/RCM3229

C-Programmable Module with Ethernet

User’s Manual

019–0165

080528–D

Summary of Contents for RabbitCore RCM3209

Page 1: ...RabbitCore RCM3209 RCM3229 C Programmable Module with Ethernet User s Manual 019 0165 080528 D...

Page 2: ...onal 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 wri...

Page 3: ...hooting 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 Pr...

Page 4: ...n 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 Chara...

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

Page 6: ...RabbitCore RCM3209 RCM3229...

Page 7: ...ment 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 RCM322...

Page 8: ...me 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...

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

Page 10: ...sy 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 thou...

Page 11: ...n 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 Prot...

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

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

Page 14: ...he 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 Ra...

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

Page 16: ...ES 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...

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

Page 18: ...09 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 t...

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

Page 20: ...14 RabbitCore RCM3209 RCM3229...

Page 21: ...provided in the Dynamic C User s 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 B...

Page 22: ...d 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 met...

Page 23: ...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 bas...

Page 24: ...l 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...

Page 25: ...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 F...

Page 26: ...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 3...

Page 27: ...actory defaults 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 IORD IOWR Watchdog 11 Timers Clock Doubler Slav...

Page 28: ...put 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 outpu...

Page 29: ...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 PW...

Page 30: ...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 S...

Page 31: ...sed 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 a...

Page 32: ...ded 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 al...

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

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

Page 35: ...X10 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 RC2...

Page 36: ...ssfully 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 o...

Page 37: ...00 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 li...

Page 38: ...erBlock 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...

Page 39: ...hould 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 runni...

Page 40: ...creating function description block comments using a special format for library functions Standard debugging features X Breakpoints Set breakpoints that can disable interrupts X Single stepping Step...

Page 41: ...CM3229 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 genera...

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

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

Page 44: ...h 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 librarie...

Page 45: ...he 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...

Page 46: ...ct 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 developmen...

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

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

Page 49: ...he 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 Applie...

Page 50: ...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 the...

Page 51: ...et 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 Intern...

Page 52: ...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 plac...

Page 53: ...e 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 Int...

Page 54: ...ll 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...

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

Page 56: ...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 th...

Page 57: ...S2 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...

Page 58: ...52 RabbitCore RCM3209 RCM3229...

Page 59: ...User s Manual 53 APPENDIX A RCM3209 RCM3229 SPECIFICATIONS Appendix A provides the specifications for the RCM3209 RCM3229 and describes the conformal coating...

Page 60: ...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 C25U 6 C28 R18 C37...

Page 61: ...mponents 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 b...

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

Page 63: ...sical 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 insulati...

Page 64: ...d 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...

Page 65: ...pacitive 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...

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

Page 67: ...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 take...

Page 68: ...Parameter 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...

Page 69: ...te 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 conditi...

Page 70: ...able 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...

Page 71: ...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 S...

Page 72: ...ting should then be 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 Confo...

Page 73: ...X 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 prototyp...

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

Page 75: ...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 indicato...

Page 76: ...nnection 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 p...

Page 77: ...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 R...

Page 78: ...is protected against reverse polarity by a Shottky diode at D2 as shown in Figure B 3 Figure B 3 Prototyping Board Power Supply Table B 1 Prototyping Board Specifications Parameter Specification Board...

Page 79: ...veniently to 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...

Page 80: ...ire wrap wire can be soldered in for point to point wiring on the Prototyping Board Because the traces are very thin carefully determine which set of holes is connected to which surface mount pad B 4...

Page 81: ...2 channel quadrature decoder and a 10 bit free running PWM counter with four pulse width registers These features allow the RCM3209 RCM3229 to be used in a motor control application although Rabbit d...

Page 82: ...3229 PC0 Output Not used High disabled PC1 Input Not used Pulled up on RCM3209 RCM3229 PC2 Output TXC Serial Port C High disabled PC3 Input RXC Pulled up on RCM3209 RCM3229 PC4 Output TXB Serial Port...

Page 83: ...open High PG1 Input Switch S2 normally open High PG2 Output TXF IrDA Serial Port F Pulled down PG3 Input RXF IrDA Driven by IrDA driver PG4 Input IrDA MD1 Pulled up on Prototyping Board PG5 Input IrD...

Page 84: ...78 RabbitCore RCM3200...

Page 85: ...totyping Board They are shown in Figure C 1 Figure C 1 LCD Keypad Modules Models Only the version without the bezel can mount directly on the Prototyping Board if you have the version with a bezel you...

Page 86: ...W maximum The backlight adds approximately 650 mW to the power consumption Connections Connects to high rise header sockets on the Prototyping Board LCD Panel Size 122 32 graphic display Keypad 7 key...

Page 87: ...by adjust ing the potentiometer at R2 or by setting the voltage for 5 V by removing the jumper across pins 1 2 on header J5 as shown in Figure C 3 Only one of these two options is available on these...

Page 88: ...Figure C 4 Keypad Template To replace the keypad legend remove the old legend and insert your new legend prepared according to the template in Figure C 4 The keypad legend is located under the blue k...

Page 89: ...ess 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 backl...

Page 90: ...T1 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...

Page 91: ...on 1 Cut mounting holes in the mounting panel in accordance with the recommended dimen sions in Figure C 8 then use the bezel faceplate to mount the LCD keypad module onto the panel Figure C 8 Recomme...

Page 92: ...il the gasket is compressed and the plastic bezel face plate is touching the panel Do not tighten each screw fully before moving on to the next screw Apply only one or two turns to each screw in seque...

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

Page 94: ...con nected to a PC using the programming cable as described in Section 2 2 2 Complete information on Dynamic C is provided in the Dynamic C User s Manual The following sample programs are found in the...

Page 95: ...PORTA_AUX_IO to the beginning of any programs using the external I O bus C 8 1 LCD Keypad Module Initialization The function used to initialize the LCD keypad module can be found in the Dynamic C LIB...

Page 96: ...available to control the LEDs and can be found in the Dynamic C LIB DISPLAYS LCD122KEY7 LIB library displedOut void displedOut int led int value DESCRIPTION LED on off control This function will only...

Page 97: ...t void glInit void DESCRIPTION Initializes the display devices clears the screen RETURN VALUE None SEE ALSO glDispOnOFF glBacklight glSetContrast glPlotDot glBlock glPlotDot glPlotPolygon glPlotCircle...

Page 98: ...R 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 glSetContrast void glSetContrast unsigned level DE...

Page 99: ...ack 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 glBlankScreen void glBlankScr...

Page 100: ...the LCD display area will be clipped PARAMETERS left the x coordinate of the top left corner of the block top the y coordinate of the top left corner of the block width the width of the block height...

Page 101: ...the block that is outside the LCD display area will be clipped PARAMETERS left the x coordinate of the top left corner of the block top the y coordinate of the top left corner of the block width the...

Page 102: ...aligned Any portion of the block that is outside the LCD display area will be clipped PARAMETERS left the x coordinate of the top left corner of the block x must be evenly divisible by 8 top the y co...

Page 103: ...the height of the block RETURN VALUE None SEE ALSO glFillScreen glBlankScreen glPlotPolygon glPlotCircle glPlotVPolygon void glPlotVPolygon int n int pFirstCoord DESCRIPTION Plots the outline of a pol...

Page 104: ...ide the LCD display area will be clipped If fewer than 3 vertices are specified the function will return without doing anything PARAMETERS n the number of vertices y1 the y coordinate of the first ver...

Page 105: ...er is unlocked Any portion of the polygon that is outside the LCD display area will be clipped If fewer than 3 vertices are specified the function will return without doing anything PARAMETERS n the n...

Page 106: ...the LCD display area will be clipped If fewer than 3 vertices are specified the function will return without doing anything PARAMETERS n the number of vertices x1 the x coordinate of the first vertex...

Page 107: ...radius of the center of the circle in pixels RETURN VALUE None SEE ALSO glFillCircle glPlotPolygon glFillPolygon glFillCircle void glFillCircle int xc int yc int rad DESCRIPTION Draws a filled circle...

Page 108: ...racter s bitmap is column major and byte aligned PARAMETERS pInfo a pointer to the font descriptor to be initialized pixWidth the width in pixels of each font item pixHeight the height in pixels of ea...

Page 109: ...lPutFont void glPutFont int x int y fontInfo pInfo char code DESCRIPTION Puts an entry from the font table to the page buffer and on the LCD if the buffer is un locked Each font character s bitmap is...

Page 110: ...ue RETURN VALUE None SEE ALSO Use glGetPfStep to examine the current x and y printing step direction glGetPfStep int glGetPfStep void DESCRIPTION Gets the current glPrintf printing step direction Each...

Page 111: ...e character at a time until the entire formatted string has been parsed Any portion of the bitmap char acter that is outside the LCD display area will be clipped PARAMETERS ch the character to be disp...

Page 112: ...pectively 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 PARA...

Page 113: ...f 255 but be sure to balance the calls It is not a requirement to use these procedures but a set of glBuffLock and glBuffUnlock bracketing a set of related graphic calls speeds up the rendering signif...

Page 114: ...wapData located in the library specifically for the LCD that you are using glSetBrushType void glSetBrushType int type DESCRIPTION Sets the drawing method or color of pixels drawn by subsequent graphi...

Page 115: ...calls glXGetFastmap if the left edge of the bitmap is byte aligned and the left edge and width are each evenly divisible by 8 This function call is intended for use only when a graphic engine is used...

Page 116: ...or character that is outside the LCD display area will be clipped This function call is intended for use only when a graphic engine is used to interface with the LCD keypad module PARAMETERS left the...

Page 117: ...lotline glPlotPolygon glPlotCircle glPlotLine void glPlotLine int x0 int y0 int x1 int y1 DESCRIPTION Draws a line in the LCD buffer and on the LCD if the buffer is unlocked Any portion of the line th...

Page 118: ...umn is filled by current pixel type color PARAMETERS left the top left corner of bitmap must be evenly divisible by 8 other wise truncates top the top left corner of the bitmap cols the number of colu...

Page 119: ...s filled by current pixel type color PARAMETERS left the top left corner of bitmap must be evenly divisible by 8 other wise truncates top the top left corner of the bitmap cols the number of columns i...

Page 120: ...n is filled by current pixel type color PARAMETERS left the top left corner of bitmap must be evenly divisible by 8 other wise truncates top the top left corner of the bitmap cols the number of column...

Page 121: ...filled by current pixel type color PARAMETERS left the top left corner of bitmap must be evenly divisible by 8 other wise truncates top the top left corner of the bitmap cols the number of columns in...

Page 122: ...ly divisible by 8 If not they will be truncated to a value that is a multiple of 8 2 Parameters will be checked to verify that the scrolling area is valid The minimum scroll ing area is a width of 8 p...

Page 123: ...divisible by 8 If not they will be truncated to a value that is a multiple of 8 2 Parameters will be checked to verify that the scrolling area is valid The minimum scroll ing area is a width of 8 pixe...

Page 124: ...ap automatically if the bitmap is byte aligned the left edge and the width are each evenly divisible by 8 Any portion of a bitmap image or character that is outside the LCD display area will be clippe...

Page 125: ...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 PARAMETERS left the top left corner of the bitmap must be evenl...

Page 126: ...w is displayed NOTE Execute the TextWindowFrame function before other Text functions PARAMETERS window a pointer to the window frame descriptor pFont a pointer to the font descriptor x the x coordinat...

Page 127: ...frame descriptor border the border style SINGLE_LINE The function will draw a single line border around the text window DOUBLE_LINE The function will draw a double line bor der around the text window...

Page 128: ...RAMETER wPtr a pointer to the window frame descriptor RETURN VALUE None SEE ALSO TextBorderInit TextGotoXY TextPutChar TextWindowFrame TextCursorLocation TextGotoXY void TextGotoXY windowFrame window...

Page 129: ...raphic Text function NOTE Execute the TextWindowFrame function before using this function PARAMETERS window a pointer to a font descriptor col a pointer to cursor column variable row a pointer to curs...

Page 130: ...the cursor will be incremented to the next character position If any portion of a bitmap character is outside the LCD display area the character will not be displayed NOTE Execute the TextWindowFrame...

Page 131: ...use nothing to be displayed The text window feature provides end of line wrapping and clipping after the character in the last column and row is displayed The cursor then remains at the end of the str...

Page 132: ...scriptor RETURN VALUE The maximum number of characters that can be displayed within the text window SEE ALSO TextGotoXY TextPrintf TextWindowFrame TextCursorLocation TextWinClear void TextWinClear win...

Page 133: ...C 8 4 Keypad The functions used to control the keypad are contained in the Dynamic C LIB KEYPADS KEYPAD7 LIB library keyInit void keyInit void DESCRIPTION Initializes keypad process RETURN VALUE None...

Page 134: ...0 Unused See keypadDef for default press codes cRelease a key release code An 8 bit value is returned when a key is pressed 0 Unused cCntHold a hold tick which is approximately one debounce period or...

Page 135: ...User s Manual 129 keyConfig continued RETURN VALUE None SEE ALSO keyProcess keyGet keypadDef...

Page 136: ...key assignment debouncing press and release and repeat NOTE This function is also able to process an 8 8 matrix keypad RETURN VALUE None SEE ALSO keyConfig keyGet keypadDef keyGet char keyGet void DES...

Page 137: ...User s Manual 131 keyUnget int keyUnget char cKey DESCRIPTION Pushes the value of cKey to the top of the input queue which is 16 bytes deep PARAMETER cKey RETURN VALUE None SEE ALSO keyGet...

Page 138: ...represents Right Scroll represents Page Down represents Page Up E represents the ENTER key Example Do the following for the above physical vs ASCII return key codes keyConfig 3 R 0 0 0 0 0 keyConfig...

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

Page 140: ...134 RabbitCore RCM3209 RCM3229...

Page 141: ...typically draws 145 mA The RCM3209 RCM3229 will consume an additional 10 mA when the programming cable is used to connect the programming header J1 to a PC D 1 1 Battery Backup The RCM3209 RCM3229 do...

Page 142: ...battery should the RCM3209 RCM3229 experience a loss of main power NOTE Remember to cycle the main power off on any time the RCM3209 RCM3229 is removed from the Prototyping Board or motherboard since...

Page 143: ...n the voltage drops below the voltage necessary for reliable operation The reset occurs between 2 85 V and 3 00 V typically 2 93 V The RCM3209 RCM3229 has a reset output pin 1 on header J2 D 2 Optiona...

Page 144: ...138 RabbitCore RCM3209 RCM3229...

Page 145: ...processor to enable you to use this feature on the Prototyp ing Board for your needs E 1 Overview The Parallel Port F connector on the Prototyping Board J6 gives access to all 8 pins of Parallel Port...

Page 146: ...sistive 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...

Page 147: ...onding 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 po...

Page 148: ...nsfer 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...

Page 149: ...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 E 2 Parallel Port F Registers continued Register Na...

Page 150: ...n each 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 E 3 below The n 4 term is...

Page 151: ...he 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 0x8...

Page 152: ...o generate 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 E 2 Operation of Quadra...

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

Page 154: ...e bits 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 De...

Page 155: ...d on modules 7 38 installation 7 battery backed SRAM 35 libraries RCM3200 LIB 37 protected variables 35 Rabbit Embedded Security Pack 6 7 38 sample programs 16 standard features debugging 34 telephone...

Page 156: ...Init 91 glLeft1 112 glPlotCircle 101 glPlotDot 111 glPlotLine 111 glPlotPolygon 98 glPlotVPolygon 97 glPrintf 106 glPutChar 105 glPutFont 103 glRight1 113 glSetBrushType 108 glSetContrast 92 glSetPfSt...

Page 157: ...MPLE485SLAVE C 18 SIMPLE5WIRE C 17 SWITCHCHAR C 18 TCP IP BROWSELED C 50 DISPLAY_MAC C 44 ECHOCLIENT C 50 ECHOSERVER C 50 ENET_AD C 50 ENET_MENU C 51 MBOXDEMO C 51 PINGLED C 51 PINGME C 50 SMTP C 51 s...

Page 158: ...152 RabbitCore RCM3209 RCM3229...

Page 159: ...ard Schematic www rabbit com documentation schemat 090 0137 pdf 090 0156 LCD Keypad Module Schematic www rabbit com documentation schemat 090 0156 pdf 090 0252 USB Programming Cable Schematic www rabb...

Page 160: ......

Reviews: