| Datasheets.org.uk - 100 Million Datasheets from 7500 Manufacturers. |
RCM5400W
Top Searches for this datasheetRCM5400W - RCM5400W RabbitCore RCM5400W C-Programmable Wi-Fi Core Module User's Manual 019-0169 090430-B RabbitCore RCM5400W User's Manual Part Number 019-0169 090430-B Printed U.S.A. ©2008-2009 Digi International Inc. rights reserved. part contents this manual reproduced transmitted form means without express written permission Digi International. Permission granted make more copies long copyright page contained therein included. These copies manuals sold reason without express written permission Digi International. Digi International reserves right make changes improvements products without providing notice. Trademarks Rabbit, RabbitCore, Dynamic registered trademarks Digi International Inc. Wi-Fi registered trademark Wi-Fi Alliance. Rabbit 5000 trademark Digi International Inc. latest revision this manual available Rabbit site, www.rabbit.com, free, unregistered download. Rabbit Semiconductor Inc. www.rabbit.com RabbitCore RCM5400W TABLE CONTENTS Chapter Introduction RCM5400W/RCM5450W Features Advantages RCM5400W.3 Development Evaluation Tools.4 1.3.1 RCM5400W Development 1.3.2 Software 1.3.3 Online Documentation Certifications.6 1.4.1 Part Class 1.4.2 Industry Canada Labeling 1.4.3 Europe Chapter Getting Started Install Dynamic Hardware Connections.10 2.2.1 Step Prepare Prototyping Board Development.10 2.2.2 Step Attach Antenna RCM5400W Module 2.2.3 Step Attach Module Prototyping Board.12 2.2.4 Step Connect Programming Cable 2.2.5 Step Connect Power Sample Program 2.3.1 Troubleshooting Where From Here? 2.4.1 Technical Support Chapter Running Sample Programs Introduction.19 Sample Programs 3.2.1 Serial Flash 3.2.2 Serial Communication.23 3.2.3 Real-Time Clock Chapter Hardware Reference RCM5400W Digital Inputs Outputs 4.1.1 Memory Interface 4.1.2 Other Inputs Outputs Serial Communication 4.2.1 Serial Ports 4.2.1.1 Using Serial Ports. 4.2.2 Programming Port Wi-Fi Programming Cable 4.4.1 Changing Between Program Mode Mode 4.4.2 Standalone Operation RCM5400W Other Hardware.44 4.5.1 Clock Doubler 4.5.2 Spectrum Spreader User's Manual Memory 4.6.1 SRAM. 4.6.2 Flash Memory. 4.6.3 Serial Flash Chapter Software Reference More About Dynamic Dynamic Function Calls 5.2.1 Digital I/O. 5.2.2 Serial Communication Drivers 5.2.3 User Block 5.2.4 SRAM Use. 5.2.4.1 SRAM Chip Select Considerations 5.2.5 Wi-Fi Drivers. 5.2.6 Prototyping Board Function Calls 5.2.6.1 Board Initialization 5.2.6.2 Alerts. Upgrading Dynamic 5.3.1 Add-On Modules Chapter Using Wi-Fi Features Introduction Wi-Fi 6.1.1 Infrastructure Mode 6.1.2 Ad-Hoc Mode. 6.1.3 Additional Information Running Wi-Fi Sample Programs 6.2.1 Wi-Fi Setup 6.2.2 What Else Will Need 6.2.3 Configuration Information. 6.2.3.1 Network/Wi-Fi Configuration 6.2.3.2 PC/Laptop/PDA Configuration 6.2.4 Wi-Fi Sample Programs 6.2.4.1 Wi-Fi Operating Region Configuration. 6.2.4.2 Wi-Fi Operation. 6.2.5 RCM5400W Sample Programs Dynamic Wi-Fi Configurations 6.3.1 Configuring TCP/IP Compile Time 6.3.2 Configuring TCP/IP Time. 6.3.3 Other Function Calls. Where From Here? Appendix RCM5400W Specifications Electrical Mechanical Characteristics A.1.1 Antenna. A.1.2 Headers Rabbit 5000 Microprocessor Characteristics Buffer Sourcing Sinking Limit. Loading Jumper Configurations Appendix Prototyping Board Introduction B.1.1 Prototyping Board Features Mechanical Dimensions Layout RabbitCore RCM5400W Power Supply Using Prototyping Board.97 B.4.1 Adding Other Components.99 B.4.2 Measuring Current Draw.99 B.4.3 Analog Features.100 B.4.4 Serial Communication .100 B.4.4.1 RS-232 Prototyping Board Jumper Configurations .102 Appendix Power Supply Power Supplies.105 C.1.1 Battery-Backup.105 C.1.2 Battery-Backup Circuit.106 C.1.3 Reset Generator .107 C.1.4 Onboard Power Supplies .107 Index Schematics User's Manual RabbitCore RCM5400W INTRODUCTION RCM5400W RabbitCore modules Wi-Fi/802.11b/g functionality Rabbit® 5000 microprocessor allow create low-cost, low-power, embedded wireless control communications solution your embedded control system. Rabbit® 5000 microprocessor features include hardware DMA, clock speeds MHz, lines shared with serial ports four levels alternate functions that include variable-phase PWM, auxiliary I/O, quadrature decoder, input capture. Coupled with existing opcode instructions that help reduce code size improve processing speed, this equates core module that fast, efficient, ideal solution wide range wireless embedded applications. Development essentials that need design your wireless microprocessor-based system, includes complete Dynamic software development system. This Development also contains Prototyping Board that will allow evaluate RCM5400W RabbitCore modules prototype circuits that interface RCM5400W modules. will also able write test software these modules. Throughout this manual, term RCM5400W refers both RCM5400W RCM5450W RabbitCore models unless model referred specifically. addition onboard Wi-Fi/802.11b/g functionality, RCM5400W Rabbit 5000 microprocessor operating 73.73 MHz, static RAM, flash memories, three clocks (main oscillator, Wi-Fi oscillator, timekeeping), circuitry necessary reset management battery backup Rabbit 5000's internal real-time clock static RAM. 50-pin header brings Rabbit 5000 lines, parallel ports, serial ports. RCM5400W modules receive their +3.3 power from customer-supplied motherboards which they mounted. RCM5400W modules interface with many CMOS-compatible digital devices through motherboard. User's Manual RCM5400W/RCM5450W Features Small size: 1.84" 2.85" 0.55" Microprocessor: Rabbit 5000 running 73.73 general-purpose lines configurable with four alternate functions lines with low-power modes down CMOS-compatible serial ports four ports configurable clocked serial port (SPI), ports configurable SDLC/HDLC serial ports. Alternate configured data lines address lines (shared with parallel lines), read/write Airoha single-chip 802.11b/g transceiver Real-time clock Watchdog supervisor Currently there RCM5400W production models. Table summarizes their main features. Table RCM5400W Features Feature Microprocessor Flash Memory Data SRAM Fast Program-Execution SRAM Serial Flash Memory (data) RCM5400W RCM5450W Rabbit® 5000 73.73 512K 512K 512K 512K Serial Ports shared high-speed, CMOS-compatible ports: configurable asynchronous serial ports; configurable clocked serial ports (SPI); configurable SDLC/HDLC serial ports; asynchronous serial port used during programming 802.11b/g standard, Wi-Fi NOTE: There special version RCM5400W RabbitCore module Japan. functionally identical standard RCM5400W module uses same components, been assembled meet Japan regulatory requirements. sure order correct version market where plan RCM5400W. versions distinguished labels shield shown below. RABBIT RCM5400W DIGI INTERNATIONAL 901-0190 Standard Release Label RABBIT RCM5400W DIGI INTERNATIONAL 901-0191 Japan Version Label RabbitCore RCM5400W RCM5400W series programmed over standard port through programming cable supplied with Development Kit. RCM5400W also programmed remotely using Remote Program Update library with Dynamic 10.54 later. Application Note AN421, Remote Program Update, more information. NOTE: RabbitLink cannot used program RCM5400W. Appendix provides detailed specifications RCM5400W. Advantages RCM5400W Fast time market using fully engineered, "ready-to-run/ready-to-program" microprocessor core module. Competitive pricing when compared with alternative purchasing assembling individual components. Easy C-language program development debugging Rabbit Field Utility download compiled Dynamic .bin files, cloning board options rapid production loading programs. Generous memory size allows large programs with tens thousands lines code, substantial data storage. Easily scalable commercial deployment applications User's Manual Development Evaluation Tools 1.3.1 RCM5400W Development RCM5400W Development contains hardware essentials will need RCM5400W module. items Development their follows. RCM5400W module with dipole antenna. Prototyping Board. Universal adapter, (includes Canada/Japan/U.S., Australia/N.Z., U.K., European style plugs). Development Kits sold North America contain adapter with only North American style plug. programming cable with 10-pin header. 10-pin header serial cable. Dynamic CD-ROM, with complete product documentation disk. Getting Started instructions. accessory parts Prototyping Board. Rabbit 5000 Processor Easy Reference poster. Registration card. DIAG Programming Cable Universal Adapter with Plugs PROG Quick Start Guide Install Dynamic Attach antenna RCM5400W RabbitCore module. Install RCM440W module Prototyping Board, connect programming cable connect adapter. Explore sample programs Dynamic Samples\TCPIP\WiFi folder. Accessory Parts Prototyping Board Antenna RabbitCore RCM5400W Development Contents style plugs). Development Kits sold North America contain adapter with only North American style plug. RCM1 Dynamic CD-ROM, with complete product documentation disk. Getting Started instructions. Plastic metal standoffs with 4-40 screws washers. accessory parts Prototyping Board. Installing Dynamic Insert from Development your PC's CD-ROM drive. installation does auto-start, setup.exe program root directory Dynamic Install Dynamic modules after install Dynamic Rabbit 5000 Processor Easy Reference poster. Registration card. Visit online Rabbit store www.rabbit.com/store/ latest information peripherals accessories that available RCM5400W RabbitCore modules. Rabbit, RabbitCore, Dynamic Digi registered trademarks Digi International Inc. Serial Cable JP16 JP12 JP14 JP18 JP10 RX83 RX11 UX30 UX10 RX43 RX67 UX12 RX73 CX27 CX23 RX77 RX79 Getting Started Instructions JP25 CX25 Prototyping Board Figure RCM5400W Development RX97 RX49 RX55 RX57 RX59 VREF AGND UX14 RX75 UX16 RabbitCore RCM5400W programming cable with 10-pin header. 10-pin header serial cable. /IOWR VBAT /RST_IN +3.3 RX81 /RST_OUT /IORD RCM5400W module with dipole antenna. Prototyping Board. Universal adapter, (includes Canada/Japan/U.S., Australia/N.Z., U.K., European UX47 RCM5400W Development contains following items RCM5400W RabbitCore module provides Wi-Fi/802.11b/g functionality, allowing create low-cost, low-power, Wi-Fi based control communications solution your embedded system. These Getting Started instructions included with Development will help your RCM5400W running that sample programs explore capabilities develop your applications. UX49 RESET 1.3.2 Software RCM5400W programmed using version 10.50 later Dynamic compatible version included Development CD-ROM. This version Dynamic includes popular µC/OS-II real-time operating system, point-to-point protocol (PPP), file system, RabbitWeb, Rabbit Embedded Security Pack featuring Secure Sockets Layer (SSL) specific Advanced Encryption Standard (AES) library. NOTE: RCM5400W originally released with Dynamic version 10.40. have since determined that BIOS startup sequence used Dynamic versions 10.40 10.46 leads timing violation fast SRAM, which stores application developed RCM5400W RCM5450W. timing violation occurs when Rabbit 5000 clock doubler enabled before early output enable timing enabled. Under certain conditions, this prevents application from loading correctly, cause crash completely. Therefore, RCM5400W RCM5450W require Dynamic 10.50 later work properly. addition Web-based technical support included extra charge, one-year telephone-based technical support subscription also available purchase. Visit site www.rabbit.com further information complete documentation, contact your Rabbit sales representative authorized distributor 1.3.3 Online Documentation online documentation installed along with Dynamic icon documentation menu placed workstation's desktop. Double-click this icon reach menu. icon missing, your browser find load default.htm docs folder, found Dynamic installation folder. latest versions documents always available free, unregistered download from sites well. User's Manual Certifications systems integrator end-user ultimately responsible channel range power limits complying with regulatory requirements country where device will used. Dynamic function calls sample programs illustrate this achieved selecting country region, which sets channel range power limits automatically. Section 6.2.4.1 additional information sample programs demonstrating configure device meet regulatory channel range power limit requirements. Only RCM5400W modules bearing certification certified Wi-Fi enabled devices, applications must have been compiled using Dynamic 10.50 later. certification valid only RCM5400W modules equipped with dipole antenna that included with modules, detachable antenna with coaxial cable (Digi International part number 29000105). Changes modifications this equipment expressly approved Digi International void user's authority operate this equipment. event that these conditions cannot met, then certification longer considered valid used final product. these circumstances, systems integrator end-user will responsible re-evaluating device (including transmitter) obtaining separate certification. NOTE: regulatory certification voided shield RCM5400W module removed. 1.4.1 Part Class RCM5400W RabbitCore module been tested found comply with limits Class digital devices pursuant Part Subpart Rules. These limits designed provide reasonable protection against harmful interference residential environment. This equipment generates, uses, radiate radio frequency energy, installed used accordance with instruction manual, cause harmful interference radio communications. However, there guarantee that interference will occur particular installation. this equipment does cause harmful interference radio television reception, which determined turning equipment user encouraged correct interference more following measures: Reorient relocate receiving antenna. Increase separation between equipment receiver. Connect equipment into outlet circuit different from that which receiver connected. Consult dealer experienced radio/TV technician help. RabbitCore RCM5400W Labeling Requirements (FCC 15.19) VCB-E59C4472 This device complies with Part rules. Operation subject following conditions: this device cause harmful interference, this device must accept interference received, including interference that cause undesired operation. identification number visible when module installed inside another device, then outside device into which module installed must also display label referring enclosed module device must capable displaying identification number electronically. This exterior label wording such following: "Contains Transmitter Module VCB-E59C4472" "Contains VCB-E59C4472." similar wording that expresses same meaning used. following caption must included with documentation device incorporating RCM5400W RabbitCore module. Caution Exposure Radio-Frequency Radiation. comply with exposure compliance requirements, mobile configurations, separation distance least must maintained between antenna this device persons. This device must co-located operating conjunction with other antenna transmitter. 1.4.2 Industry Canada Labeling 7143A-E59C4472 This Class digital apparatus complies with Canadian standard ICES-003. appareil classe conforme norme NMB-003 Canada. User's Manual 1.4.3 Europe marking shall include minimum: name manufacturer trademark; type designation; equipment classification, (see below). Receiver Class Risk Assessment Receiver Performance Highly reliable communication media, e.g., serving human life inherent systems (may result physical risk person). Medium reliable communication media, e.g., causing inconvenience persons that cannot overcome other means. Standard reliable communication media,e.g., inconvenience persons that simply overcome other means. NOTE: Manufacturers recommended declare classification their devices accordance with Table 440-2 clause 4.2, relevant. particular, where that have inherent safety human life implications, manufacturers users should particular attention potential interference from other systems operating same adjacent bands. Regulatory Marking equipment shall marked, where applicable, accordance with CEPT/ERC Recommendation 70-03 Directive 1999/5/EC, whichever applicable. Where this applicable, equipment shall marked accordance with National Regulatory requirements. RabbitCore RCM5400W GETTING STARTED This chapter describes RCM5400W hardware more detail, explains accompanying Prototyping Board. NOTE: This chapter (and this manual) assume that have RCM5400W Development Kit. purchased RCM5400W RCM5450W module itself, will have adapt information this chapter elsewhere your test development setup. Install Dynamic develop debug programs RCM5400W series modules (and other Rabbit Semiconductor hardware), must install Dynamic have installed Dynamic version 10.50 later version), inserting Dynamic from Development your PC's CD-ROM drive. autorun enabled, installation will begin automatically. autorun disabled installation does start, Windows Start menu Windows Disk Explorer launch setup.exe from root folder CD-ROM. installation program will guide through installation process. Most steps process self-explanatory. Dynamic uses (serial) port communicate with target development system. installation allows choose port that will used. default selection COM1. select available port Dynamic use. certain which port available, select COM1. This selection changed later within Dynamic NOTE: installation utility does check selected port way. Specifying port another device (mouse, modem, etc.) lead message such "could open serial port" when Dynamic started. Once your installation complete, will have three icons your desktop. icon Dynamic another opens documentation menu, third Rabbit Field Utility, tool used download precompiled software target system. have purchased optional Dynamic modules, install them after installing Dynamic modules installed order. must install modules same directory where Dynamic installed. User's Manual Hardware Connections There three steps connecting Prototyping Board with Dynamic sample programs: Prepare Prototyping Board Development. Attach antenna RCM5400W module. Attach RCM5400W module Prototyping Board. Connect programming cable between RCM5400W Connect power supply Prototyping Board. CAUTION: Provide protection such smocks grounding straps your footwear.while assembling RCM5400W module, installing another board, while making removing connections. Remember protection regardless whether working with RCM5400W module Prototyping Board your application. 2.2.1 Step Prepare Prototyping Board Development Snap four plastic standoffs supplied accessory parts from Development holes corners shown Figure NOTE: sure hole that pointed towards bottom left Prototyping Board since hole below used standoff when mounting RCM5400W Prototyping Board. UX47 +3.3 /IORD /RST_IN RCM1 /IOWR VBAT +3.3 RX81 RX83 JP16 JP12 JP14 JP18 JP10 CX39 RX11 RX67 UX45 UX10 JP17 JP13 JP11 JP15 JP19 JP21 JP22 JP20 CX17 UX12 RX43 UX33 UX41 RX61 AGND RX73 CX27 CX23 RX77 VREF LN5I RX89 UX31 UX42 LN7I LN3I LN1I UX37 RX65 JP25 CX25 RX79 UX16 RX63 LN6I LN4I LN2I LN0I Figure Insert Standoffs CX29 RX97 RX49 RX55 RX57 RX59 RX47 JP24 JP23 RX85 UX14 RX75 CX41 RX87 UX30 RabbitCore RCM5400W UX29 /RST_OUT UX49 RESET 2.2.2 Step Attach Antenna RCM5400W Module Attach antenna antenna connector RCM5400W shown Figure VCBE59C4472 7143AE59C4472 C136 C135 RABBIT RCM5400W DIGI INTERNATIONAL 901-0190 C119 C118 C121 C115 C134 C105 C144 C120 C117 C114 (Base) (Cover) LINK C104 C139 TP21 C116 C106 C112 C137 C138 C103 C107 C108 C110 C111 TP24 TP23 TP22 C102 C113 TP26 TP25 Figure Attach Antenna RCM5400W Module CAUTION: remove shield antenna since attempt remove shield will damage circuits underneath regulatory certification voided shield RCM5400W module removed. TP28 TP27 C100 User's Manual 2.2.3 Step Attach Module Prototyping Board Turn RCM5400W module that mounting holes line with corresponding holes Prototyping Board. Insert metal standoffs shown Figure secure them from bottom using 4-40 3/16 screws washers, then insert module's header bottom side into socket RCM1 Prototyping Board. VCBE59C4472 7143AE59C4472 C136 C135 RABBIT RCM5400W RCM5400W DIGI INTERNATIONAL 901-0190 901-0190 C119 C118 C121 C115 C134 C105 C144 C120 C117 C114 (Base) (Cover) RCM5400W LINK C104 C139 TP21 C116 C106 C112 C137 C138 C103 C107 C108 C110 C111 TP24 TP23 TP22 C102 C113 TP26 TP25 Insert standoffs between mounting holes Prototyping Board. UX47 +3.3 RCM1 /IOWR VBAT /RST_IN +3.3 RX81 RX87 JP16 JP12 JP14 JP18 JP10 RX83 CX39 RCM1 CX41 RX11 UX30 JP15 JP19 JP22 JP20 JP17 UX45 UX10 JP21 JP11 JP13 RX67 CX17 UX12 UX33 UX41 RX61 VREF AGND VREF AGND RX73 CX27 CX23 RX77 RX79 RX89 UX31 UX42 AGND LN7IN LN5IN LN3IN LN1IN UX37 RX65 JP25 CX25 CX29 Line mounting holes with holes Prototyping Board. RX43 RX47 JP24 JP23 RX85 RX75 UX14 RX97 RX49 RX55 RX57 RX59 UX16 RX63 AGND LN6IN LN4IN LN2IN LN0IN Figure Install Module Prototyping Board NOTE: important that line pins header module exactly with socket RCM1 Prototyping Board. header pins become bent damaged alignment offset, module will work. Permanent electrical damage module also result misaligned module powered Press module's pins gently into Prototyping Board socket-press down area above header pins. additional integrity, secure RCM5400W standoffs from using remaining three screws washers. RabbitCore RCM5400W UX29 /RST_OUT /IORD TP28 TP27 C100 UX49 RESET 2.2.4 Step Connect Programming Cable programming cable connects module running Dynamic download programs monitor module during debugging. Connect 10-pin connector programming cable labeled PROG header RCM5400W shown Figure sure orient marked (usually red) edge cable towards connector. DIAG connector, which used normal serial connection.) Remove slot cover, insert into slot Assemble Adapter Snap plug into place Adapter 3-pin power connector Programming Cable RESET port UX47 +3.3 RCM1 /IOWR VBAT /RST_IN +3.3 RX81 RX87 RABBIT RCM5400W RCM5400W 901-0190 DIGI INTERNATIONAL C119 C118 C121 C115 C134 C105 JP16 JP12 JP14 JP18 JP10 RX83 CX39 CX41 RX11 UX30 UX45 UX10 JP15 JP19 JP22 JP20 JP17 JP21 JP11 JP13 RX67 CX17 UX12 RX89 UX31 UX42 VREF AGND VREF AGND RX43 RX47 RX85 RX75 JP24 JP23 UX14 UX33 UX41 RX61 RX73 CX27 CX23 RX77 RX79 AGND LN7IN LN5IN LN3IN LN1IN RX63 AGND LN6IN LN4IN LN2IN LN0IN UX37 RX65 JP25 CX25 CX29 RX97 RX49 RX55 RX57 RX59 UX16 Figure Connect Programming Cable Power Supply NOTE: Never disconnect programming cable pulling ribbon cable. Carefully pull connector remove from header. Connect other programming cable available port your workstation. Your should recognize hardware, LEDs shrink-wrapped area programming cable will flash error message, will have install drivers. Drivers Windows available Dynamic Drivers\Rabbit Programming Cable\WinXP_2K folder double-click DPInst.exe install drivers. Drivers other operating systems available online User's Manual UX29 /RST_OUT /IORD Colored edge C136 C135 UX49 RESET DIAG VCBE59C4472 7143AE59C4472 (Base) (Cover) PROG C144 C120 C117 C114 LINK C104 C139 TP21 C116 C106 C112 C137 C138 C103 C107 C108 C110 C111 TP24 TP23 TP22 C102 C113 TP26 TP25 TP28 TP27 C100 PROG 2.2.5 Step Connect Power Once other connections have been made, connect power Prototyping Board. have universal adapter, prepare adapter country where will used selecting appropriate plug. Snap plug assembly into slot adapter shown Figure then press down plug until clicks into place. Connect adapter 3-pin header Prototyping Board shown Figure above. connector attached either long offset side- center always connected positive terminal, either edge ground. Plug adapter. Prototyping Board next power connector should light RCM5400W Prototyping Board ready used. NOTE: RESET button provided Prototyping Board next battery holder allow hardware reset without disconnecting power. power down Prototyping Board, unplug power connector from should disconnect power before making circuit adjustments prototyping area, changing connections board, removing RCM5400W from Prototyping Board. RabbitCore RCM5400W Sample Program already have Dynamic installed, ready test your programming connections running sample program. Start Dynamic double-clicking Dynamic icon your desktop your Start menu. Select Store Program Flash "Compiler" Dynamic Options Project Options menu. Then click "Communications" verify that Serial Converter selected support programming cable. Click have select port assigned programming cable your Dynamic select Options Project Options, then select this port "Communications" tab, then click type port number followed Enter your computer keyboard port number outside range dropdown menu. find WIFISCAN.C sample program Dynamic Samples\WiFi folder, open with File menu, then compile sample program pressing Dynamic STDIO window will display Starting scan., will display list access points/ad-hoc hosts shown here. following fields shown Dynamic STDIO window. Channel-the channel access point (1-11). Signal-the signal strength access point. MAC-the hardware (MAC) address access point. Access Point SSID-the SSID access point using. User's Manual 2.3.1 Troubleshooting receive message Could Open Serial Port, check that port assigned programming cable identified Dynamic described preceding section. receive message Rabbit Processor Detected, programming cable connected wrong port, connection faulty, target system powered First, check that power Prototyping Board lit. lit, check both ends programming cable ensure that firmly plugged into programming header RCM5400W with marked (colored) edge programming cable towards programming header. Ensure that module firmly correctly installed connectors Prototyping Board. Dynamic appears compile BIOS successfully, then receive communication error message when compile load sample program, possible that your cannot handle higher program-loading baud rate. changing maximum download rate slower baud rate follows. Locate Serial Options dialog "Communications" Dynamic Options Project Options menu. Select slower download baud rate. Click save. program compiles loads, then loses target communication before begin debugging, possible that your cannot handle default debugging baud rate. lowering debugging baud rate follows. Locate Serial Options dialog "Communications" Dynamic Options Project Options menu. Choose lower debug baud rate. Click save. Press <Ctrl-Y> force Dynamic recompile BIOS. should receive Bios compiled successfully message once this step completed successfully. RabbitCore RCM5400W Where From Here? sample program fine, ready sample programs Chapter develop your applications. sample programs easily modified your use. user's manual also provides complete hardware reference information software function calls RCM5400W series modules Prototyping Board. advanced development topics, refer Dynamic User's Manual, also online documentation set. 2.4.1 Technical Support NOTE: purchased your RCM5400W RCM5450W through distributor through Rabbit partner, contact distributor partner first technical support. there problems this point: Dynamic Help menu further assistance with Dynamic Check Rabbit Technical Bulletin Board forums www.rabbit.com/support/bb/ www.rabbit.com/forums/. Technical Support e-mail form www.rabbit.com/support/. User's Manual RabbitCore RCM5400W RUNNING SAMPLE PROGRAMS develop debug programs RCM5400W (and other Rabbit hardware), must install Dynamic This chapter provides tour major features with respect RCM5400W modules. Introduction help familiarize with RCM5400W modules, Dynamic includes several sample programs. Loading, executing studying these programs will give solid hands-on overview RCM5400W's capabilities, well quick start with Dynamic application development tool. This chapter provides sample programs that illustrate digital serial capabilities RCM5400W RabbitCore module. Section 6.2.4 discusses sample programs that illustrate Wi-Fi features. NOTE: sample programs assume that have least elementary grasp language. not, introductory pages Dynamic User's Manual suggested reading list. order sample programs discussed this chapter elsewhere this manual, Your module must plugged Prototyping Board described Chapter "Getting Started." Dynamic must installed running your programming cable must connect programming header module your Power must applied module through Prototyping Board. Refer Chapter "Getting Started," need further information these steps. sample program, open with File menu, then compile pressing Each sample program comments that describe purpose function program. Follow instructions beginning sample program. Complete information Dynamic provided Dynamic User's Manual. User's Manual Sample Programs many sample programs included with Dynamic several specific RCM5400W modules. These programs will found SAMPLES\RCM5400W folder. CONTROLLED.C-Demonstrates digital outputs having turn LEDs Prototyping Board from STDIO window your Parallel Port Parallel Port Once compile CONTROLLED.C, following display will appear Dynamic STDIO window. Press your keyboard select Prototyping Board. Then follow prompt Dynamic STDIO window turn OFF. logic will light selected. FLASHLED1.C-demonstrates assembly language flash LEDs Prototyping Board different rates. Once have compiled this program, LEDs will flash on/off different rates. FLASHLED2.C-demonstrates cofunctions costatements flash LEDs Prototyping Board different rates. Once have compiled this program, LEDs will flash on/off different rates. RabbitCore RCM5400W TAMPERDETECTION.C-demonstrates detect attempt enter bootstrap mode. When attempt detected, battery-backed onchip-encryption Rabbit 5000 erased. This battery-backed onchip-encryption useful store data such encryption from remote location. This sample program shows load read battery-backed onchip-encryption enable visual indicator. Once this sample compiled running (you pressed while sample program open), remove programming cable press reset button Prototyping Board reset module. LEDs will flashing off. press switch load battery-backed with encryption key. LEDs continuously. Notice that LEDs will stay even when press reset button Prototyping Board. Reconnect programming cable briefly unplug again simulate attempt access onchip-encryption RAM. LEDs will flashing because batterybacked onchip-encryption been erased. Notice that LEDs will continue flashing even when press reset button Prototyping Board. press switch again repeat last steps watch LEDs. TOGGLESWITCH.C-demonstrates costatements detect switch presses using press-and-release method debouncing. LEDs Prototyping Board turned when press switches controlled respectively. Once have loaded executed these five programs have understanding Dynamic RCM5400W modules interact, move other sample programs, begin building your own. User's Manual 3.2.1 Serial Flash following sample programs found SAMPLES\RCM5400W\Serial_Flash folder. SERIAL_FLASHLOG.C-This program runs simple server stores hits home page serial flash "server." This viewed cleared from browser http://10.10.6.100/. will likely have first "configure" your network interface card "10Base-T Half-Duplex," "100Base-T Half-Duplex," "Auto-Negotiation" connection "Advanced" tab, which accessed from control panel (Start Settings Control Panel) choosing Network Connections. SFLASH_INSPECT.C-This program handy utility inspecting contents serial flash chip. When sample program starts running, attempts initialize serial flash chip Serial Port Once serial flash chip found, user perform five different commands print contents specified page, bytes specified page single random value, clear (set zero) bytes specified page, bytes specified page given value, save user-specified text selected page. RabbitCore RCM5400W 3.2.2 Serial Communication following sample programs found SAMPLES\RCM5400W\SERIAL folder. FLOWCONTROL.C-This program demonstrates configure Serial Port CTS/RTS flow control with serial data coming from Serial Port (TxC) 115,200 bps. serial data received displayed STDIO window. Prototyping Board, will need together RS-232 header will also together using jumpers supplied Development shown diagram. repeating triangular pattern should print STDIO window. program will periodically switch flow control demonstrate effect flow control. have Prototyping Boards with modules, this sample program sending board, then disconnect programming cable reset sending board that module operating mode. Connect TxC, TxD, sending board RxC, RxD, other board, then, with programming cable attached other module, sample program. PARITY.C-This program demonstrates parity modes repeatedly sending byte values 0-127 from Serial Port Serial Port program will switch between generating parity Serial Port Serial Port will always checking parity, parity errors should occur during every other sequence. Prototyping Board, will need together RS-232 header using jumpers supplied Development shown diagram. Dynamic STDIO window will display error sequence. SERDMA.C-This program demonstrates using transfer data from circular buffer serial port vice versa. Dynamic STDIO window used view clear buffer. Before compile sample program, will need connect RS-232 header your shown diagram using serial cable supplied Development Kit. Once have compiled sample program, start Tera Term another terminal emulation program connect selected serial port baud rate 115,200 bps. observe output Dynamic STDIO window type Tera Term, also Dynamic STDIO window clear buffer. Colored edge Tera Term utility downloaded from User's Manual SIMPLE3WIRE.C-This program demonstrates basic RS-232 serial communication. Lower case characters sent TxC, received RxD. received characters converted upper case sent TxD, received RxC, displayed Dynamic STDIO window. Prototyping Board, will need together RS-232 header will also together using jumpers supplied Development shown diagram. SIMPLE5WIRE.C-This program demonstrates 5-wire RS-232 serial communication with flow control Serial Port data flow Serial Port Prototyping Board, will need together RS-232 header will also together using jumpers supplied Development shown diagram. Once have compiled this program, test flow control disconnecting jumper from while program running. Characters will longer appear STDIO window, will display again once connected back RxD. have Prototyping Boards with modules, this sample program sending board, then disconnect programming cable reset sending board that module operating mode. Connect TxC, TxD, sending board RxC, RxD, other board, then, with programming cable attached other module, sample program. Once have compiled this program, test flow control disconnecting from before while program running. Since header locations Prototyping Boards connected with wires, there slip-on jumpers either Prototyping Board. SWITCHCHAR.C-This program demonstrates transmitting then receiving ASCII string Serial Ports also displays serial data received from both ports STDIO window. Prototyping Board, will need together RS-232 header will also together using jumpers supplied Development shown diagram. Once have compiled this program, press release switches Prototyping Board. data sent between serial ports will displayed STDIO window. RabbitCore RCM5400W 3.2.3 Real-Time Clock plan real-time clock functionality your application, will need real-time clock. SETRTCKB.C sample program from Dynamic SAMPLES\RTCLOCK folder, follow onscreen prompts. RTC_TEST.C sample program Dynamic SAMPLES\RTCLOCK folder provides additional examples read real-time clock. User's Manual RabbitCore RCM5400W HARDWARE REFERENCE Chapter describes hardware components principal hardware subsystems RCM5400W. Appendix "RCM5400W Specifications," provides complete physical electrical specifications. Figure shows Rabbit-based subsystems designed into RCM5400W. Wi-Fi Serial Flash 73.73 Customer-specific applications CMOS-level signals SRAM Fast SRAM RABBIT 5000 Level converter RS-232, RS-485 serial communication drivers motherboard Program Flash RabbitCore Module Figure RCM5400W Subsystems 73.73 frequency shown RCM5400W generated using 36.864 crystal with Rabbit 5000 clock doubler enabled. User's Manual RCM5400W Digital Inputs Outputs Figure shows RCM5400W pinouts header /RESET_OUT /IOWR VBAT_EXT PB1/CLKA PC5/RXB PC7/RXA PE5/SMODE0 PE7/STATUS n.c. /IORD /RESET_IN PB0/SCLK PC4/TXB PC6/TXA PE0/n.c. PE6/SMODE1 n.c. These pins normally n.c. n.c. connected Note: These pinouts seen Bottom Side module. Figure RCM5400W Pinout Headers standard header with nominal 1.27 pitch. RabbitCore RCM5400W Figure shows Rabbit 5000 microprocessor ports RCM5400W modules. PA0PA7 PB2PB7 PD0PD7 Port PC0, PC2, PC1, PC3, (Serial Ports Serial Ports Port Port Port PE0PE7 Port RABBIT® 5000 Real-Time Clock Watchdog Timers Slave Port Clock Doubler PB1, PC6, STATUS PC7, /RESET_IN, SMODE0, SMODE1 Programming Port (Serial Port /RESET_IN Misc. /RESET_OUT /IORD /IOWR Wi-Fi Backup Battery Support Flash Figure Rabbit 5000 Ports ports Rabbit 5000 microprocessor used RCM5400W configurable, factory defaults reconfigured. Table lists Rabbit 5000 factory defaults alternate configurations. User's Manual Table RCM5400W Pinout Configurations Name /RES_OUT /IORD /IOWR /RESET_IN VBAT_EXT Reset output Output Output Input Battery input Slave port data (SD0-SD7) External data (ID0-ID7) SCLKB External Address SCLKA External Address /SWR External Address /SRD External Address External Address External Address /SCS External Address /SLAVATN External Address SCLKB (shared with serial flash) Reset input Reset output from Reset Generator external reset input External read strobe External write strobe Input Reset Generator Default Alternate Notes +3.3 power supply 8-15 PA[0:7] Input/Output Input/Output Header Input/Output Programming port SCLKA Input/Output Input/Output Input/Output Input/Output Input/Output Input/Output RabbitCore RCM5400W Table RCM5400W Pinout Configurations (continued) Name Default Alternate Strobe Timer TCLKF RXD/TXD Strobe Timer RCLKF Input Capture TXC/TXF Strobe Timer RXC/TXC/RXF Strobe Timer SCLKD Input Capture Strobe PWM0 TCLKE RXB/TXB Strobe PWM1 RCLKE Input Capture TXA/TXE Strobe PWM2 RXA/TXA/RXE Strobe PWM3 SCLKC Input Capture Strobe Timer TCLKF INT0 QRD1B Notes Input/Output Serial Port Input/Output Input/Output Serial Port Input/Output Header Input/Output Serial Port (shared with serial flash) Input/Output Input/Output Programming port Input/Output Input/Output User's Manual Table RCM5400W Pinout Configurations (continued) Name Default Alternate Strobe Timer RXD/RCLKF INT1 QRD1A Input Capture Strobe Timer DREQ0 QRD2B Strobe Timer RXC/RXF/SCLKD DREQ1 QRD2A Input Capture Strobe INT0 PWM0 TCLKE Strobe INT1 PWM1 RXB/RCLKE Input Capture Strobe PWM2 DREQ0 Strobe PWM3 RXA/RXE/SCLKC DREQ1 Input Capture Notes Input/Output Input/Output Header Input/Output Input/Output PE5/SMODE0 Input/Output default configuration PE6/SMODE1 Input/Output default configuration PE7/STATUS Input/Output default configuration RabbitCore RCM5400W Table RCM5400W Pinout Configurations (continued) Name Default Alternate Strobe Timer INT0 SCLKD/TCLKF QRD1B Strobe Timer INT1 RXD/RCLKF QRD1A Input Capture Strobe Timer DREQ0 TXF/SCLKC QRD2B Strobe Timer DREQ1 RXC/RXF QRD2A Input Capture Strobe PWM0 TXB/TCLKE Strobe PWM1 RXB/RCLKE Input Capture Serial Port Notes Input/Output Input/Output Header Input/Output Input/Output Input/Output Input/Output User's Manual Table RCM5400W Pinout Configurations (continued) Name Default Alternate Strobe PWM2 TXA/TXE Strobe PWM3 RXA/RXE Input Capture Serial Port Notes Input/Output Header Input/Output Connected Connected RabbitCore RCM5400W 4.1.1 Memory Interface Rabbit 5000 address lines (A0-A19) data lines (D0-D7) routed internally onboard flash memory SRAM chips. write (/IOWR) read (/IORD) available interfacing external devices, also used RCM5400W. Parallel Port also used external data isolate external from main data bus. Parallel Port pins PB2-PB7 also used auxiliary address bus. When using external reason, must following line beginning your program. #define PORTA_AUX_IO required enable auxiliary Selected pins Parallel Ports specified Table used input capture, quadrature decoder, DMA, pulse-width modulator purposes. 4.1.2 Other Inputs Outputs SMODE STATUS pins brought header instead PE5, PE6, with jumper settings described Appendix A.5-this option reserved future use. /RESET_IN normally associated with programming port, used external input reset Rabbit 5000 microprocessor RCM5400W memory. /RESET_OUT output from reset circuitry that used reset other peripheral devices. User's Manual Serial Communication RCM5400W module does have serial driver receiver chips directly board. However, serial interface incorporated board RCM5400W mounted example, Prototyping Board RS-232 transceiver chip. 4.2.1 Serial Ports There serial ports designated Serial Ports serial ports operate asynchronous mode baud rate system clock divided asynchronous port handle data bits. address scheme, where additional sent mark first byte message, also supported. Serial Port normally used programming port, used either asynchronous clocked serial port once application development been completed RCM5400W operating Mode. Serial Port shared with serial flash, clocked serial port. provides SCLKB output serial flash. Serial Ports also operated clocked serial mode. this mode, clock line synchronously clocks data out. Either communicating devices supply clock. Remember select SCLKC SCLKD outputs from choices Table when Serial Ports clocked serial ports. Serial Ports also configured SDLC/HDLC serial ports. IrDA protocol also supported SDLC format these ports. Serial Ports must configured before they used. sample program IOCONFIG_SWITCHECHO.C Dynamic SAMPLES\RCM5400W\SERIAL folder shows configure Serial Ports RabbitCore RCM5400W Table summarizes possible parallel port pins serial ports their clocks. Table Rabbit 5000 Serial Port Clock Pins Serial Port SCLKA Serial Port SCLKB Serial Port SCLKC Serial Port SCLKD PC6, PC7, PC7, PD7, Serial Port PC4, PC5, PC5, PD5, Serial Port PC2, PC3, PD3, PD2, PD7, PE2, PE7, PC0, PC1, PD1, PD0, PD3, PE0, PE3, RCLKE RCLKF must selected same parallel port respectively. RCLKF TCLKF PD1, PE1, PD0, PE0, RCLKE TCLKE PD5, PE5, PD4, PE4, PD2, PE2, PD3, PE3, PD6, PE6, PD7, PE7, 4.2.1.1 Using Serial Ports receive lines RCM5400W serial ports have pull-up resistors. using serial ports without receiver chip (for example, RS-422, RS-232, RS-485 serial communication), absence pull-up resistor receive line will likely lead line breaks being generated since line breaks normally generated whenever receive line pulled low. operating serial port asynchronously, inhibit character assembly during breaks setting corresponding Serial Port Extended Register Should need line breaks, will have either pull-up resistor your motherboard receiver that incorporates circuits have output default nonbreak levels. Dynamic RS232.LIB library requires define macro RS232_ NOCHARASSYINBRK inhibit break-character assembly serial ports. #define RS232_NOCHARASSYINBRK This macro already defined that default behavior sample programs Dynamic SAMPLES\RCM5400W\SERIAL folder. User's Manual 4.2.2 Programming Port RCM5400W programmed 10-pin header labeled programming port uses Rabbit 5000's Serial Port communication. Dynamic uses programming port download debug programs. Serial Port also used following operations. Cold-boot Rabbit 5000 RCM5400W after reset. Fast copy designated portions flash memory from Rabbit-based board (the master) another (the slave) using Rabbit Cloning Board. Alternate Uses Programming Port three Serial Port signals available synchronous serial port asynchronous serial port, with clock line usable general CMOS programming port also used serial port DIAG connector programming cable. addition Serial Port Rabbit 5000 startup-mode (SMODE0, SMODE1), STATUS, reset pins available programming port. startup-mode pins determine what happens after reset-the Rabbit 5000 either cold-booted program begins executing address 0x0000. status used Dynamic determine whether Rabbit microprocessor present. status output three different programmable functions: driven first code fetch cycle. driven during interrupt acknowledge cycle. also serve general-purpose output once program been downloaded running. reset external input that used reset Rabbit 5000. Refer Rabbit 5000 Microprocessor User's Manual more information. RabbitCore RCM5400W Wi-Fi Figure shows functional block diagram Wi-Fi circuits. Parallel Flash Serial Flash Baseband Path AL2236 XCVR Path Antenna Switch Baseband 3-wire serial SRAM Figure RCM5400W Wi-Fi Block Diagram Wi-Fi transmission controlled Rabbit 5000 chip, which contains Wi-Fi Media Access Control (MAC). Rabbit 5000 implements 802.11b/g baseband functionality, controls 802.11b/g integrated Airoha AL2236 transceiver. Program code stored parallel flash loaded into fast SRAM execution when power applied RCM5400W modules. Serial flash low-power SRAM memories available data storage. data interface between processor AL2236 transceiver consists converter converter. Both converters convert data samples rate MHz. AL2236 single-chip transceiver with integrated power amplifier Industrial, Scientific, Medical (ISM) band. configured controlled Rabbit 5000 3-wire serial data bus. AL2236 contains entire receiver, transmitter, VCO, PLL, power amplifier necessary implement 802.11b/g radio. AL2236 transmit receive data 11Mbits/s 802.11b mode Mbits/s 802.11g mode. supports 802.11b/g channels 1-13 (2.401 2.472 GHz). Channel used. data modulate channel carrier such produce spread spectrum signal within channel bandwidth selected channel. channel numbers associated frequencies listed below Table Wi-Fi channels have certain amount overlap with each other. further apart channel numbers are, less likelihood interference. encounter interference with neighboring WLAN, change different channel. example, channels minimize overlap. User's Manual Table Wi-Fi Channel Allocations Channel (not used) Center Frequency (GHz) 2.412 2.417 2.422 2.427 2.432 2.437 2.442 2.447 2.452 2.457 2.462 2.467 2.472 2.484 Frequency Spread (GHz) 2.401-2.423 2.406-2.428 2.411-2.433 2.416-2.438 2.421-2.443 2.426-2.448 2.431-2.453 2.436-2.458 2.441-2.463 2.446-2.468 2.451-2.473 2.456-2.478 2.461-2.483 2.473-2.495 These channels disabled units delivered sale United States Canada. Many countries specify channel range power limits Wi-Fi devices operated within their borders, these limits automatically RCM5400W firmware according country region. example, only channels 1-11 authorized United States Canada, channels disabled. Section 6.2.4.1 additional information sample programs demonstrating configure device meet regulatory channel range power limit requirements. Table provides additional information which channels allowed selected countries. attempt operate device outside allowed channel range power limits will void your regulatory approval operate device that country. RabbitCore RCM5400W following regions have macros region numbers defined convenience. Table Worldwide Wi-Fi Macros Region Numbers Region Americas Macro IFPARAM_WIFI_REGION_AMERICAS IFPARAM_WIFI_REGION_MEXICO_ INDOORS Region Number Channel Range 1-11 1-11 (indoors) 9-11 (outdoors) 1-11 1-13 10-13 3-11 1-11 1-14* 1-11 Mexico IFPARAM_WIFI_REGION_MEXICO_ OUTDOORS Canada Europe, Middle East, Africa, except France France Israel China Japan Australia IFPARAM_WIFI_REGION_CANADA IFPARAM_WIFI_REGION_EMEA IFPARAM_WIFI_REGION_FRANCE IFPARAM_WIFI_REGION_ISRAEL IFPARAM_WIFI_REGION_CHINA IFPARAM_WIFI_REGION_JAPAN IFPARAM_WIFI_REGION_AUSTRALIA Channel available RCM4400W. same omnidirectional antenna used transmit receive 802.11b/g signal. antenna switch isolates high-power signal path from signal path. antenna switch works alternately connecting antennas either AL2236 output AL2236 input. order support this antenna-sharing scheme, RCM5400W module operates radio half-duplex mode that receive transmit operations never occur same time antenna switch switches receive/ transmit functionality between outputs (not stuffed) that transmitting while would receiving vice versa. Dynamic does support output. connector RP-SMA connector with outer casing attached RCM5400W ground. recommended that integrator this device improve protection attaching chassis ground. There LEDs close RP-SMA antenna connector atP2, green (LINK) indicate association with Wi-Fi access point, yellow (ACT) indicate activity. User's Manual Programming Cable programming cable used connect programming port (header RCM5400W port. programming cable converts voltage levels used port CMOS voltage levels used Rabbit 5000. When PROG connector programming cable connected RCM5400W programming port, programs downloaded debugged over serial interface. DIAG connector programming cable used header RCM5400W with RCM5400W operating Mode. This allows programming port used regular serial port. 4.4.1 Changing Between Program Mode Mode RCM5400W automatically Program Mode when PROG connector programming cable attached, automatically Mode when programming cable attached. When Rabbit 5000 reset, operating mode determined status SMODE pins. When programming cable's PROG connector attached, SMODE pins pulled high, placing Rabbit 5000 Program Mode. When programming cable's PROG connector attached, SMODE pins pulled low, causing Rabbit 5000 operate Mode. RESET 5400W when changing mode: Press RESET button using Prototyping Board), Cycle power off/on after removing attaching programming cable. 3-pin power connector Programming Cable UX47 +3.3 RESET port Colored edge C136 C135 C119 C118 C121 C115 RCM1 /IOWR VBAT /RST_IN +3.3 RX81 RX87 RABBIT RCM5400W RCM5400W 901-0190 901-0190 DIGI INTERNATIONAL DIGI INTERNATIONAL JP16 JP12 JP14 JP18 JP10 RX83 CX39 CX41 RX11 UX30 UX45 UX10 JP15 JP19 JP22 JP20 JP17 JP21 JP11 JP13 AGND VREF AGND RX67 CX17 UX12 RX43 RX47 JP24 JP23 RX85 UX14 UX33 UX41 RX61 RX73 CX27 CX23 RX77 RX79 VREF RX89 UX31 UX42 AGND LN7IN LN5IN LN3IN LN1IN RX63 AGND LN6IN LN4IN LN2IN LN0IN UX37 RX65 JP25 CX25 CX29 RX97 RX49 RX55 RX57 RX59 RX75 UX16 Figure Switching Between Program Mode Mode RabbitCore RCM5400W UX29 /RST_OUT /IORD UX49 RESET DIAG VCBE59C4472 7143AE59C4472 (Base) (Cover) PROG C144 C120 C117 C114 LINK C104 C139 TP21 C116 C134 C106 C105 C112 C137 C138 C103 C107 C108 C110 C111 TP24 TP23 TP22 C102 C113 TP26 TP25 TP28 TP27 C100 PROG program "runs" either mode, only downloaded debugged when RCM5400W Program Mode. Refer Rabbit 5000 Microprocessor User's Manual more information programming port. 4.4.2 Standalone Operation RCM5400W Once RCM5400W been programmed successfully, remove programming cable from programming connector reset RCM5400W. RCM5400W reset cycling power off/on pressing RESET button Prototyping Board. RCM5400W module removed from Prototyping Board end-use installation. CAUTION: Power Prototyping Board other boards should disconnected when removing installing your RCM5400W module protect against inadvertent shorts across pins damage RCM5400W pins plugged correctly. reapply power until have verified that RCM5400W module plugged correctly. User's Manual Other Hardware 4.5.1 Clock Doubler RCM5400W takes advantage Rabbit 5000 microprocessor's internal clock doubler. built-in clock doubler allows half-frequency crystals used reduce radiated emissions. 73.73 frequency specified RCM5400W generated using 36.864 crystal. clock doubler should disabled since Wi-Fi operations depend highly resources. 4.5.2 Spectrum Spreader Rabbit 5000 features spectrum spreader, which helps mitigate problems. spectrum spreader default, also turned stronger setting. spectrum spreader settings changed through simple configuration macro shown below. Select "Defines" from Dynamic Options Project Options menu. Normal spreading default, usually entry needed. need specify normal spreading, line ENABLE_SPREADER=1 strong spreading, line ENABLE_SPREADER=2 disable spectrum spreader, line ENABLE_SPREADER=0 NOTE: strong spectrum-spreading setting recommended since limit maximum clock speed maximum baud rate. unlikely that strong setting will needed real application. Click save macro. spectrum spreader will remain whenever project file where defined macro. NOTE: Refer Rabbit 5000 Microprocessor User's Manual more information spectrum-spreading setting maximum clock speed. RabbitCore RCM5400W Memory 4.6.1 SRAM RCM5400W modules have 512K battery-backed data SRAM installed 512K fast SRAM installed U11. 4.6.2 Flash Memory RCM5400W modules also have 512K flash memory installed U12. NOTE: Rabbit recommends that customer applications should constrained sector size flash memory since necessary change sector size future. Writing arbitrary flash memory addresses time strongly discouraged. Instead, define "user block" area store persistent data. functions writeUserBlock() readUserBlock() provided this. Refer Dynamic Function Reference Manual additional information. 4.6.3 Serial Flash serial flash memory available store data pages. Sample programs SAMPLES\RCM5400W\Serial_Flash folder illustrate serial flash memory. User's Manual RabbitCore RCM5400W SOFTWARE REFERENCE Dynamic integrated development system writing embedded software. runs Windows-based designed with single-board computers other devices based Rabbit microprocessor. Chapter describes libraries function calls related RCM5400W. More About Dynamic Dynamic been worldwide since 1989. specially designed programming embedded systems, features quick compile interactive debugging. complete reference guide Dynamic contained Dynamic User's Manual. have choice doing your software development flash memory static SRAM included RCM5400W. flash memory SRAM options selected with Options Program Options Compiler menu. advantage working save wear flash memory, which limited about 100,000 write cycles. disadvantage that code data might both RAM. NOTE: depend flash memory sector size type your program logic. RCM5400W Dynamic were designed accommodate flash devices with various sector sizes response volatility flash-memory market. Developing software with Dynamic simple. Users write, compile, test assembly code without leaving Dynamic development environment. Debugging occurs while application runs target. Alternatively, users compile program image file later loading. Dynamic runs under Windows later- Rabbit's Technical Note TN257, Running Dynamic With Windows Vista®, additional information using Dynamic under Windows Vista. Programs downloaded baud rates 460,800 after program compiles. User's Manual Dynamic number standard features. Full-feature source and/or assembly-level debugger, in-circuit emulator required. Royalty-free TCP/IP stack with source code most common protocols. Hundreds functions source-code libraries sample programs: Exceptionally fast support floating-point arithmetic transcendental functions. RS-232 RS-485 serial communication. Analog digital drivers. I2C, SPI, GPS, file system. display keypad drivers. Powerful language extensions cooperative preemptive multitasking Loader utility program load binary images into Rabbit targets absence Dynamic Provision customers create their source code libraries augment on-line help creating "function description" block comments using special format library functions. Standard debugging features: Breakpoints-Set breakpoints that disable interrupts. Single-stepping-Step into over functions source machine code level, µC/OS-II aware. Code disassembly-The disassembly window displays addresses, opcodes, mnemonics, machine cycle times. Switch between debugging machine-code level source-code level simply opening closing disassembly window. Watch expressions-Watch expressions compiled when defined, complex expressions including function calls placed into watch expressions. Watch expressions updated with without stopping program execution. Register window-All processor registers flags displayed. contents general registers modified window user. Stack window-shows contents stack. memory dump-displays contents memory address. STDIO window-printf outputs this window keyboard input host detected debugging purposes. printf output also sent serial port file. RabbitCore RCM5400W Dynamic Function Calls 5.2.1 Digital RCM5400W designed interface with other systems, there drivers written specifically Rabbit 5000 I/O. general Dynamic read write functions allow customize parallel meet your specific needs. example, WrPortI(PEDDR, &PEDDRShadow, 0x00); Port bits inputs, WrPortI(PEDDR, &PEDDRShadow, 0xFF); Port bits outputs. When using auxiliary Rabbit 5000 chip, line #define PORTA_AUX_IO required enable auxiliary beginning programs using auxiliary bus. sample programs Dynamic SAMPLES/RCM5400W folder provide further examples. 5.2.2 Serial Communication Drivers Library files included with Dynamic provide full range serial communications support. RS232.LIB library provides circular-buffer-based serial functions. PACKET.LIB library provides packet-based serial functions where packets delimited bit, transmission gaps, with user-defined special characters. Both libraries provide blocking functions, which return until they finished transmitting receiving, nonblocking functions, which must called repeatedly until they finished, allowing other functions performed between calls. more information, Dynamic Function Reference Manual Rabbit Semiconductor's Technical Note TN213, Rabbit Serial Port Software, both included with online documentation. 5.2.3 User Block Certain function calls involve reading storing calibration constants from/to simulated EEPROM flash memory located reserved user block memory area (3800-39FF). This leaves address range 0-37FF user block available your application. These address ranges change future response volatility flash memory market, particular sector size. sample program USERBLOCK_INFO.C Dynamic SAMPLES\USERBLOCK folder used determine version block, size user blocks, whether ID/user blocks mirrored, total amount flash memory used user blocks, area user block available your application. User's Manual USERBLOCK_CLEAR.C sample program shows clear write contents user block that using your application (the calibration constants reserved area block protected). 5.2.4 SRAM RCM5400W module battery-backed data SRAM program-execution SRAM. Dynamic provides protected keyword identify variables that placed into battery-backed SRAM. compiler generates code that maintains copies each protected variable battery-backed SRAM. compiler also generates flag indicate which copy protected variable valid current time. This flag also stored battery-backed SRAM. When protected variable updated, "inactive" copy modified, made "active" only when update 100% complete. This assures integrity data case reset power failure occurs during update process. power-on application program uses active copy variable pointed associated flag. sample code below shows protected variable defined value restored. main() protected state1, state2, state3; _sysIsSoftReset(); restore protected variables bbram keyword also used instead there need store variable battery-backed SRAM without affecting performance application program. Data integrity assured when reset power failure occurs during update process. Additional information bbram protected variables available Dynamic User's Manual. 5.2.4.1 SRAM Chip Select Considerations basic SRAM memory Rabbit-based boards always connected /CS1, /OE1, /WE1. Both data SRAM program execution fast SRAM RCM5400W share /OE1. BIOS-defined macro, CS1_ALWAYS_ON, default disable /CS1 (set high). macro redefined BIOS which will MMIDR register that forces /CS1 stay enabled (low). This capability normally used speed access time battery-backed SRAM long other memory chips connected /OE1 /WE1. Therefore, CS1_ALWAYS_ON macro must remain default setting avoid conflicts between data SRAM program execution fast SRAM. 5.2.5 Wi-Fi Drivers Complete information Wi-Fi libraries function calls provided Chapter Additional information TCP/IP provided Dynamic TCP/IP User's Manual. RabbitCore RCM5400W 5.2.6 Prototyping Board Function Calls function calls described this section with Prototyping Board features. source code Dynamic library need modify your board design. sample programs Dynamic SAMPLES\RCM5400W folder illustrate function calls. Other generic functions applicable devices based Rabbit microprocessors described Dynamic Function Reference Manual. 5.2.6.1 Board Initialization brdInit void brdInit(void); DESCRIPTION Call this function beginning your program. This function initializes Parallel Ports through with Prototyping Board. This function call intended demonstration purposes only, modified your applications. Summary Initialization port pins configured Prototyping Board operation. Unused configurable tied outputs. RS-232 enabled. LEDs off. slave port disabled. RETURN VALUE None. User's Manual 5.2.6.2 Alerts These function calls found Dynamic LIB\Rabbit4000\RCM4xxx\ RCM4xxx.LIB library. timedAlert void timedAlert(unsigned long timeout); DESCRIPTION Polls real-time clock until timeout occurs. RCM5400W will low-power mode during this time. Once timeout occurs, this function call will enable normal power source. PARAMETER timeout RETURN VALUE duration timeout seconds None. digInAlert void digInAlert(int dataport, portbit, value, unsigned long timeout); DESCRIPTION Polls digital input value until timeout occurs. RCM5400W will low-power mode during this time. Once timeout occurs correct byte received, this function call will enable normal power source exit. PARAMETERS dataport portbit value timeout RETURN VALUE input port data register poll (e.g., PADR) input port (0-7) poll value receive duration timeout seconds (enter timeout) None. RabbitCore RCM5400W Upgrading Dynamic Dynamic patches that focus fixes available from time time. Check site www.rabbit.com/support/ latest patches, workarounds, fixes. NOTE: RCM5400W originally released with Dynamic version 10.40. have since determined that BIOS startup sequence used Dynamic versions 10.40 10.46 leads timing violation fast SRAM, which stores application developed RCM5400W RCM5450W. timing violation occurs when Rabbit 5000 clock doubler enabled before early output enable timing enabled. Under certain conditions, this prevents application from loading correctly, cause crash completely. Therefore, RCM5400W RCM5450W require Dynamic 10.50 later work properly. developed application using Dynamic versions 10.40 10.46, application used with Dynamic 10.50 after recompiled. 5.3.1 Add-On Modules Dynamic version 10.50, which included with RCM5400W Development Kit, includes popular µC/OS-II real-time operating system, point-to-point protocol (PPP), file system, RabbitWeb, other select libraries. Starting with Dynamic version 10.56, Dynamic includes Rabbit Embedded Security Pack featuring Secure Sockets Layer (SSL) specific Advanced Encryption Standard (AES) library. addition Web-based technical support included extra charge, one-year telephone-based technical support subscription also available purchase. Visit site www.rabbit.com further information complete documentation. User's Manual RabbitCore RCM5400W USING WI-FI FEATURES Introduction Wi-Fi Wi-Fi, popular name 802.11b/g, refers underlying technology wireless local area networks (WLAN) based IEEE 802.11 suite specifications conforming standards defined IEEE. IEEE 802.11b describes media access link layer control implementation, which communicate bit-rate Mbits/s. Other standards describe faster implementation Mbits/s) band (802.11g). adoption 802.11 been fast because it's easy performance comparable wire-based LANs. Things look pretty much like wireless LAN. Wi-Fi (802.11b/g) most common cost-effective implementation currently available. This implementation that used with RCM5400W RabbitCore module. variety Wi-Fi hardware exists, from wireless access points (WAPs), various Wi-Fi access devices with PCI, PCMCIA, CompactFlash, SD/MMC interfaces, Wi-Fi devices such Web-based cameras print servers. 802.11b/g operate modes-in managed-access mode (BSS), called infrastructure mode, unmanaged mode (IBSS), called ad-hoc mode. 802.11 standard describes details devices access each other either these modes. 6.1.1 Infrastructure Mode infrastructure mode requires access point manage devices that want communicate with each other. access point identified with channel service identifier (SSID) that uses communicate. Typically, access point also acts gateway wired network, either Ethernet (DSL/cable modem). Most access points also DHCP server, provide DNS, gateway functions. When device wants join access point, will typically scan each channel look desired SSID access point. empty-string SSID will associate device with first SSID that matches capabilities. Once access point discovered, device will logically join access point announce itself. Once joined, device transmit receive data packets much like Ethernet-based MAC. Being joined state akin having link status 10/100Base-T network. 802.11b/g interface cards implement 802.11b/g low-level configurations firmware. fact, 802.11b/g default configuration often sufficient device join User's Manual access point automatically, which once enabled. Commands issued chip interface allow host program override default configurations execute functions implemented interface cards, example, scanning hosts access points. 6.1.2 Ad-Hoc Mode ad-hoc mode, each device channel number SSID communicate with. devices operating same channel SSID, they talk with each other, much like they would wired such Ethernet. This works fine devices that statically configured talk each other, access point needed. 6.1.3 Additional Information 802.11 Wireless Networking; published O'Reilly Media, provides further information about 802.11b wireless networks. RabbitCore RCM5400W Running Wi-Fi Sample Programs order sample programs discussed this chapter elsewhere this manual, Your module must plugged Prototyping Board described Chapter "Getting Started." Dynamic must installed running your programming cable must connect programming header module your Power must applied module through Prototyping Board. Refer Chapter "Getting Started," need further information these steps. sample program, open with File menu, then compile pressing Each sample program comments that describe purpose function program. Follow instructions beginning sample program. Complete information Dynamic provided Dynamic User's Manual. User's Manual 6.2.1 Wi-Fi Setup Figure shows your development setup might look once you're ready proceed. Programming Cable port UX47 RCM1 /IOWR VBAT /RST_IN +3.3 RX81 C119 C118 C121 C115 JP16 JP12 JP14 JP18 JP10 RX83 RX11 RX67 UX10 JP17 JP22 JP20 JP11 VREF AGND RX43 RX73 CX27 CX23 RX77 LN6I LN4I LN2I LN0I JP25 CX25 RX79 UX16 Infrastructure Mode (via Ethernet connection) Ethernet Ethernet Infrastructure Mode (via wireless connection) Ad-Hoc Mode Figure Wi-Fi Host Setup RabbitCore RCM5400W RX97 RX49 UX12 RX55 RX57 RX59 UX14 RX75 UX30 /RST_OUT /IORD +3.3 7143 E59C 9C44 4472 (Bas (Cov UX49 RESET C144 C111 DIGL22 C106 C120 ERNA C113 C134 C108 C136 C117 C114 C135 5400 LINK C104 C139 C112 C116 C105 901C103 C110 C107 -0190 C137 C102 C138 TP21 TP26 TP25 TP24 TP23 TP22 TP28 TP27 C100 6.2.2 What Else Will Need Besides what supplied with RCM5400W Development Kit, will need with available port program RCM5400W module. will need either access point existing Wi-Fi network that allowed access have notebook connected that network (infrastructure mode), will need least with Wi-Fi ad-hoc mode. User's Manual 6.2.3 Configuration Information 6.2.3.1 Network/Wi-Fi Configuration device placed Ethernet-based Internet Protocol (IP) network must have address. addresses 32-bit numbers that uniquely identify device. Besides address, also need netmask, which 32-bit number that tells TCP/IP stack what part address identifies local network device lives sample programs configure RCM5400W modules with default TCPCONFIG macro from library. This macro allows specific address, netmask, gateway, Wi-Fi parameters compile time. Change network settings configure your RCM5400W module with your Ethernet settings only that necessary sample programs; will likely need change some Wi-Fi settings. Network Parameters These lines contain address, netmask, nameserver, gateway parameters. #define #define #define #define _PRIMARY_STATIC_IP _PRIMARY_NETMASK MY_NAMESERVER MY_GATEWAY "10.10.6.100" "255.255.255.0" "10.10.6.1" "10.10.6.1" There similar macros defined various Wi-Fi settings explained Section 6.3.1. Wi-Fi configurations contained within TCPCONFIG DHCP) TCPCONFIG (with DHCP, used primarily with infrastructure mode). will need #define TCPCONFIG #define TCPCONFIG beginning your program. NOTE: TCPCONFIG supported Wi-Fi applications. There some other "standard" configurations TCPCONFIG. Their values documented library. More information available Dynamic TCP/IP User's Manual. RabbitCore RCM5400W 6.2.3.2 PC/Laptop/PDA Configuration This section shows configure your notebook sample programs. Here we're mainly interested notebook that will communicating wirelessly, which necessarily that being used compile sample program RCM5400W module. This section provides configuration information three possible Wi-Fi setups shown Figure Start going control panel (Start Settings Control Panel) click Network Connections. screen shots shown here from Windows 2000, interface similar other versions Windows. Check with your administrator unable change settings described here since need administrator privileges. When using access point with your setup infrastructure mode, will also have address netmask (e.g., 10.10.6.99 255.255.255.0) access point. Check documentation access point information this. Infrastructure Mode (via Ethernet connection) Local Area Connection select network interface card used intend (e.g., TCP/IP Xircom Credit Card Network Adapter) click "Properties" button. Depending which version Windows your running, have select "Local Area Connection" first, then click "Properties" button bring Ethernet interface dialog. Then "configure" your interface card "Auto-Negotiation" "10Base-T Half-Duplex" connection "Advanced" tab. NOTE: Your network interface card will likely have different name. User's Manual select Address tab, check Specify Address, select TCP/IP click "Properties" fill following fields: Address 10.10.6.101 Netmask 255.255.255.0 Default gateway 10.10.6.1 TIP: using that already network, will disconnect from that network these sample programs. Write down existing settings before changing them that restore them easily when finished with sample programs. address netmask need regardless whether will using ad-hoc mode infrastructure mode. Click <OK> <Close> exit various dialog boxes. Infrastructure Mode (via wireless connection) address netmask your wireless-enabled notebook described Step Infrastructure Mode (via Ethernet connection) clicking Network Connections, then Local Area Connection. click Wireless Network Connection select wireless network will connecting Once sample program running, will able select network from list available networks. will have your wireless network name with access point SSID macro infrastructure mode explained Section 6.3, "Dynamic Wi-Fi Configurations." Ad-Hoc Mode address netmask your wireless-enabled notebook described Step Infrastructure Mode (via Ethernet connection) clicking Network Connections, then Local Area Connection. click Wireless Network Connection select wireless network will connecting Once sample program running, will able select network from list available networks. will have your wireless network name with Wi-Fi channel macros adhoc mode explained Section 6.3, "Dynamic Wi-Fi Configurations." RabbitCore RCM5400W Once notebook we're ready communicate. Telnet browser such Internet Explorer, which come with most Windows installations, network interface, HyperTerminal view serial port when these called some later sample programs. we're ready sample programs Dynamic Samples\WiFi folder. sample programs should most cases. 6.2.4 Wi-Fi Sample Programs sample programs Section 6.2.4.1 show country- region-specific attributes, show basic setup wireless network. sample programs Section 6.2.4.2 show setup operation wireless network WIFISCAN.C sample program ideal demonstrate that RCM5400W been hooked correctly that Wi-Fi setup correct that access point found. 6.2.4.1 Wi-Fi Operating Region Configuration country region select will automatically power channel requirements operate RCM5400W module. following three options available. Country region compile time. This option ideal when device intended sold used only single region. device deployed across multiple regions, this method would require application image created each region. This option only approved option RCM5400W modules Japan. Country region 802.11d feature access point. This option uses beacons from access point configure RCM5400W country region automatically. user responsible enabling 802.11d access point then selecting correct country broadcast beacon packets. NOTE: This option sets power limit RCM5400W maximum level permitted region capability RCM5400W, whichever less. Since beacons being sent continuously, ifconfig IFS_WIFI_TX_POWER function cannot used with this option. Country region time. This convenient option when devices will deployed multiple regions. serial user interface would allow RCM5400W module configured page. Systems integrators would still have make sure devices operate within regulatory requirements country region where units being deployed. These options used alone combination. three sample programs Dynamic Samples\WiFi\Regulatory folder illustrate these three options. your RCM5400Wbased system compile time operate given country region meet power channel requirements. country region select will automatically power channel requirements operate RCM5400W module. Rabbit recommends that check regulations country where your system incorporating RCM5400W will User's Manual deployed other requirements. attempt operate device outside allowed channel range power limits will void your regulatory approval operate device that country. Before compile this sample program, uncomment #define IFC_ WIFI_REGION line corresponding region where your system will deployed. Americas region will used default these lines uncommented. compile this sample program. Dynamic STDIO window will display region selected. sample program also allows TCP/IP configuration, address SSID shown sample code below. #define TCPCONFIG #define _PRIMARY_STATIC_IP "10.10.6.170" #define IFC_WIFI_SSID "rabbitTest" multi-domain options from access point used configure your RCM5400W-based system meet regional regulations. sample program includes pings indicate that RCM5400W-based system successfully received country information from your access point. country region select will automatically power channel requirements operate RCM5400W module. Rabbit recommends that check regulations country where your system incorporating RCM5400W will deployed other requirements. Before compile this sample program, verify that access point 802.11d option enabled correct region country. Check TCP/IP configuration parameters, address, SSID macros, which reproduced below. #define TCPCONFIG #define WIFI_REGION_VERBOSE #define _PRIMARY_STATIC_IP "10.10.6.170" #define IFC_WIFI_SSID "rabbitTest" compile this sample program. #define WIFI_REGION_VERBOSE macro will display channel power limit settings. Dynamic STDIO window will then display menu that allows complete configuration user interface. region country time configure your RCM5400W-based system meet regional regulations. sample program also shows save retrieve region setting from nonvolatile memory. Once region/country set, this sample program sends pings using limits set. country region select will automatically power channel requirements operate RCM5400W module. Digi International recommends that check regulations country where your system incorporating RCM5400W will deployed other requirements. RabbitCore RCM5400W Before compile this sample program, check TCP/IP configuration parameters, address, SSID macros, which reproduced below. #define TCPCONFIG #define WIFI_REGION_VERBOSE #define PING_WHO "10.10.6.1" #define _PRIMARY_STATIC_IP "10.10.6.170" #define IFC_WIFI_SSID "rabbitTest" compile this sample program. Uncomment #define WIFI_REGION_ VERBOSE macro display channel power limit settings. Dynamic STDIO window will then display menu that allows complete configuration user interface. 6.2.4.2 Wi-Fi Operation runtime selection static configuration DHCP. SAMPLES\TCPIP\DHCP.C sample program provides further examples using DHCP with your application. Before compile this sample program, check TCP/IP configuration parameters, address, SSID macros, which reproduced below. #define #define #define #define USE_DHCP TCPCONFIG _PRIMARY_STATIC_IP "10.10.6.100" IFC_WIFI_SSID "rabbitTest" Modify values match your network. also need modify values MY_GATEWAY pinging from local subnet. press compile sample program. When prompted Dynamic STDIO window, type static configuration DHCP. WIFIMULTIPLEAPS.C-demonstrates changing access points using keys. will need access points this sample program. access points should isolated separate networks. sample program associates RabbitCore module with first access point (AP_0 defined below) with KEY0 (defined below). After associating, sample program waits predefined time period, then pings Ethernet address access point (AP_ADDRESS_0). sample program then associates with second access point pings Ethernet address (AP_1, KEY1, AP_ADDRESS_1), then switches back forth between access points. When changing access points, first bring IF_WIFI0 interface down calling ifdown(IF_WIFI0). Next, change SSID key(s) using ifconfig() calls. Finally, bring IF_WIFI0 interface back calling ifup(IF_WIFI0). Note that sample program checks status while waiting interface come down. Before compile this sample program, check TCP/IP configuration parameters, address, SSID macros, which reproduced below. #define TCPCONFIG #define IFC_WIFI_ENCRYPTION IFPARAM_WIFI_ENCR_WEP User's Manual need configure SSID your network since that done from access point names. configure access access points. First Access Point #define AP_0 "test1" #define AP_0_LEN strlen(AP_0) #define MY_ADDRESS_0 "10.10.6.250" this static when connected #define PING_ADDRESS_0 "10.10.6.1" address ping #define KEY_0 "0123456789abcdef0123456789" Second Access Point #define AP_1 "test2" #define AP_1_LEN strlen(AP_1) #define MY_ADDRESS_1 "10.10.0.99" this static when connected #define PING_ADDRESS_1 "10.10.0.50"// address ping #define KEY_1 "0123456789abcdef0123456789" #define IFC_WIFI_SSID AP_0 #define _PRIMARY_STATIC_IP MY_ADDRESS_0 Modify access point names keys match your access points network. WIFIPINGYOU.C-sends series pings RabbitCore module ad-hoc Wi-Fi network. This sample program uses some predefined macros. first macro specifies default TCP/IP configuration from Dynamic LIB\Rabbit4000\TCPIP\TCP_ CONFIG.LIB library. #define TCPCONFIG next macro unchanged long have only RCM5400W RabbitCore module. Otherwise this macro unchanged first RabbitCore module. #define NODE Then change macro #define NODE before compile this sample program second RCM5400W RabbitCore module. next macros assign SSID name channel number Wi-Fi network. #define IFC_WIFI_SSID "rab-hoc" #define IFC_WIFI_OWNCHANNEL Finally, addresses assigned RabbitCore modules. #define IPADDR_1 #define IPADDR_2 "10.10.8.1" "10.10.8.2" long have only RCM5400W RabbitCore module, Dynamic STDIO window will display pings sent module. Wi-Fi enabled laptop with address IPADDR_2 pings. have RCM5400W RabbitCore modules, they will ping each other, Dynamic STDIO window will display pings. RabbitCore RCM5400W WIFISCAN.C-initializes RCM5400W scans other Wi-Fi devices that operating either ad-hoc mode through access points infrastructure mode. network parameter settings needed since RCM5400W does actually join 802.11 network. This program outputs results scan Dynamic STDIO window. WIFISCANASSOCIATE.C- demostrates scan Wi-Fi channels SSIDs using ifconfig IFS_WIFI_SCAN. This takes while complete, ifconfig() calls callback function when done. callback function specified using ifconfig IFS_WIFI_SCAN. Before this sample program, configure Dynamic TCP_CONFIG.LIB library your TCPCONFIG macro. macro definitions "Defines" Dynamic Options Project Options menu modify parameter settings. using DHCP, parameters values appropriate your network. _PRIMARY_STATIC_IP "10.10.6.100" _PRIMARY_NETMASK "255.255.255.0" MY_NAMESERVER "10.10.6.1" MY_GATEWAY "10.10.6.1" macro IFC_WIFI_SSID= define C-style string SSID your access point example, IFC_WIFI_SSID Access Point" empty string, associate with strongest available. Alternatively, create your CUSTOM_CONFIG.LIB library modeled Dynamic TCP_CONFIG.LIB library. Then TCPCONFIG macro greater than equal 100, which will invoke your CUSTOM_CONFIG.LIB library used. Remember CUSTOM_CONFIG.LIB library LIB.DIR. using DHCP, change definition TCPCONFIG macro default value indicates Wi-Fi with static address. compile sample program. Follow menu options displayed Dynamic STDIO window. Press scan available access points Press scan access points associate Press print WIFI status Note that ifconfig IFS_WIFI_SCAN function calls return data directly since scan takes fair amount time. Instead, callback functions used. callback function passed ifconfig() only parameter IFS_WIFI_SCAN. ifconfig(IF_WIFI0, IFS_WIFI_SCAN, scan_callback, IFS_END); User's Manual data passed callback function ephemeral since another scan occur. Thus, data need used copied) during callback function. While waiting user input, important keep network alive calling tcp_tick(NULL) regularly. 6.2.5 RCM5400W Sample Programs following sample programs Dynamic SAMPLES\RCM5400W\TCPIP\ folder. BROWSELED.C-This program demonstrates basic controller running page. "device LEDs" created along with buttons toggle them. Users their browser change status lights. LEDs Prototyping Board will match those page. long have modified TCPCONFIG macro sample program, enter following server address your browser bring page served sample program. Remember configure access point match default settings TCPCONFIG macro. http://10.10.6.100. Otherwise TCP/IP settings entered "Defines" Dynamic Options Project Options menu. PINGLED.C-This program demonstrates ICMP pinging remote host. will flash Prototyping Board when ping sent will flash when ping received. Before compile this sample program, change PING_WHO host want ping. modify PING_DELAY define change amount time milliseconds between outgoing pings. Uncomment VERBOSE define incoming ping replies. PINGLED_STATS.C-This program similar PINGLED.C, also displays receiver/transmitter statistics Dynamic STDIO window. Before compile this sample program, change PING_WHO host want ping. modify PING_DELAY define change amount time milliseconds between outgoing pings. Modify value MOVING_AVERAGE macro change moving average filtering statistics. Also review GATHER_INTERVAL GRAPHICAL macros, which affect number samples gather create graph display instead numeric display. Uncomment VERBOSE define incoming ping replies. RabbitCore RCM5400W PINGLED_WPA_PSK.C-This program demonstrates (Wi-Fi Protected Access with Pre-Shared Key). more secure replacement WEP. implementation sample program supports TKIP (Temporal Integrity Protocol) cypher suite. sample program uses macros configure access point PSK, specify TKIP cypher suite, assign access point SSID, passphrase. #define WIFI_USE_WPA Bring support #define IFC_WIFI_ENCRYPTION IFPARAM_WIFI_ENCR_TKIP Define cypher suite #define IFC_WIFI_SSID "parvati" #define IFC_WIFI_WPA_PSK_PASSPHRASE "now time" next macro specifies suitable pre-shared instead passphrase. entered either hexadecimal digits ASCII string characters. #define IFC_WIFI_WPA_PSK_HEXSTR TIP: There good chance typos since long. First, enter this sample program macro, then copy paste your access point. This ensures that both RCM5400W access point have same key. TIP: initial test, easier digit form rather than ASCII passphrase. passphrase requires considerable computation effort, which delays startup sample program about seconds. Change PING_WHO host want ping. modify PING_DELAY change amount time milliseconds between outgoing pings. Uncomment VERBOSE define incoming ping replies. Once have compiled sample program running, will flash when ping sent, will flash when ping received. User's Manual PINGLED_WPA2_CCMP.C-This sample program extension PINGLED.C. demonstrates WPA2 (Wi-Fi Protected Access with Pre-Shared Key).). more secure replacement WEP. implementation sample program uses Advanced Encryption Standard (AES) based algorithm, also known CCMP (Counter Mode with Cipher Block Chaining Message Authentication Code Protocol) cypher suite. Apart from configuration WPA2_CCMP sample program, rest code identical case without WPA2 PSK. Indeed, most TCP/IP sample programs should work with WPA2 CCMP simply using same configuration settings. Configure your access point WPA2 before this sample program. Specify CCMP cypher suite, enter suitable pre-shared key. entered either hexadecimal digits ASCII string characters. TIP: There good chance typos since long. First, enter this sample program macro, then copy paste your access point. This ensures that both RCM5400W access point have same key. TIP: initial test, easier digit form rather than ASCII passphrase. passphrase requires considerable computation effort, which delays startup sample program about seconds. change PING_WHO address host want ping. modify PING_DELAY define change amount time milliseconds) between outgoing pings. Uncomment VERBOSE define incoming ping replies. Finally, compile this sample program. will flash when ping sent. will flash when ping received. POWERDOWN.C-This program demonstrates power down radio transmitter (U18) reduce power consumption. Note that powering down Wi-Fi portion RCM5400W module results loss network interface (unlike Ethernet connection), only suitable applications such data logging where only intermittent network connectivity required. sample program demonstrates powerdown operation simple sequential state machine. Prototyping Board will when network interface will when Wi-Fi circuit powered Before compile this sample program, modify configuration macros, including DOWNTIME UPTIME values. interface will powered down these intervals. continuous ping another host, observe pings time successively, then succeed, depending state. SMTP.C-This program demonstrates using SMTP library send e-mail when switches Prototyping Board pressed. LEDs Prototyping Board will light when e-mail being sent. RabbitCore RCM5400W Dynamic Wi-Fi Configurations Rabbit implemented packet driver RCM5400W that functions much like Ethernet driver Dynamic implementation TCP/IP protocol stack. addition functioning like Ethernet packet driver, this driver implements function call access functions implemented 802.11b/g interface, mask channels that available region where RCM5400W will used. Wi-Fi interface used either compile time using macro statements time with ifconfig() function call from Dynamic LIB\Rabbit4000\TCPIP\ NET.LIB library. 6.3.1 Configuring TCP/IP Compile Time Digi International made easy parameter configuration using already-defined TCPCONFIG macros from Dynamic LIB\Rabbit4000\TCPIP\ TCP_CONFIG.LIB library beginning your program example below. #define TCPCONFIG There TCPCONFIG macros specifically Wi-Fi applications with RCM5400W module. (TCPCONFIG supported Wi-Fi applications.) TCPCONFIG TCPCONFIG DHCP DHCP enabled These default address, netmask, nameserver, gateway network parameters TCPCONFIG macros. #define #define #define #define _PRIMARY_STATIC_IP _PRIMARY_NETMASK MY_NAMESERVER MY_GATEWAY "10.10.6.100" "255.255.255.0" "10.10.6.1" "10.10.6.1" quotation marks examples described this chapter important since absence quotation marks will flagged with warning messages when encrypted libraries used. Wi-Fi Parameters Access Point SSID-IFC_WIFI_SSID. This only mandatory parameter. Define IFC_WIFI_SSID macro string SSID access point infrastructure (BSS) mode, SSID ad-hoc network ad-hoc (IBSS) mode. default shown below. #define IFC_WIFI_SSID "rabbitTest" Mode-IFC_WIFI_MODE determines mode: IFPARAM_WIFI_INFRASTRUCT infrastructure mode, IFPARAM_WIFI_ADHOC ad-hoc mode. default shown below. #define IFC_WIFI_MODE IFPARAM_WIFI_INFRASTRUCT User's Manual Your Channel-IFC_WIFI_CHANNEL determines channel which operate. default shown below. #define IFC_WIFI_CHANNEL default means that valid channel used requested SSID. This parameter mandatory when creating ad-hoc network. While optional infrastructure mode, usually best left default Note that there restrictions which channels used certain countries. These provided Table some countries. Region/Country-IFC_WIFI_REGION sets channel range maximum power limit match region selected. Table lists regions that supported their corresponding macros. region selected must match region where RCM5400W RabbitCore module will used. default shown below. #define IFC_WIFI_REGION IFPARAM_WIFI_REGION_AMERICAS Disable/enable encryption-IFC_WIFI_ENCRYPTION indicates whether encryption enabled. default (encryption disabled) shown below. #define IFC_WIFI_ENCRYPTION IFPARAM_WIFI_ENCR_NONE following encryption options available. IFPARAM_WIFI_ENCR_NONE encryption used. IFPARAM_WIFI_ENCR_ANY type encryption used. IFPARAM_WIFI_ENCR_WEP encryption. will need define least (see below). IFPARAM_WIFI_ENCR_TKIP TKIP encryption. will need define passphrase TKIP encryption, well define WIFI_USE_WPA macro (see below). IFPARAM_WIFI_ENCR_CCMP CCMP WPA2 encryption. will need define least (see below). There four encryption keys associated with IFC_WIFI_WEP_KEYNUM macro (default more following additional macros must defined well. default keys remain undefined. IFC_WIFI_WEP_KEY0_BIN IFC_WIFI_WEP_KEY1_BIN IFC_WIFI_WEP_KEY2_BIN IFC_WIFI_WEP_KEY3_BIN IFC_WIFI_WEP_KEY0_HEXSTR IFC_WIFI_WEP_KEY1_HEXSTR IFC_WIFI_WEP_KEY2_HEXSTR IFC_WIFI_WEP_KEY3_HEXSTR RabbitCore RCM5400W These macros specify keys encryption. These keys either 40-bit 104-bit (i.e., bytes bytes). They must defined commaseparated list byte values. Note that necessarily need define four keys. typically just define key, make sure matches used other devices, IFC_WIFI_WEP_KEYNUM point correct key. both IFC_WIFI_WEP_KEY#_BIN IFC_WIFI_WEP_KEY#_HEXSTR defined particular key, version will used. encryption. following macro must also used compile functionality into Wi-Fi driver. This necessary enable TKIP encryption. #define WIFI_USE_WPA string that matches passphrase your access point. also point variable. Define ASCII passphrase here, from characters long. example shown below. #define IFC_WIFI_WPA_PSK_PASSPHRASE "now time" possible, should IFC_WIFI_WPA_PSK_HEXSTR instead IFC_WIFI_ WPA_PSK_PASSPHRASE key. hexadecimal key-IFC_WIFI_WPA_PSK_HEXSTR string hexadecimal digits that matches 256-bit (64-byte) hexadecimal used your access point. Specify hexadecimal digit (256 bits) here. This will used will override passphrase with IFC_WIFI_WPA_PSK_PASSPHRASE macro. example shown below #define IFC_WIFI_WPA_PSK_HEXSTR valid SSID "rabbitTest" passphrase "now time". Using passphrase rather slow. takes Rabbit 5000 more than seconds generate actual 256-bit from passphrase. passphrase #define WIFI_VERBOSE_PASSPHRASE, Wi-Fi library will helpfully print corresponding that passphrase SSID. Authentication used specify authentication modes used. default shown below allows enables both open-system authentication sharedkey authentication. #define IFPARAM_WIFI_AUTH_ANY User's Manual following authentication options available. IFPARAM_WIFI_AUTH_OPEN only open authentication. IFPARAM_WIFI_AUTH_SHAREDKEY only shared-key authentication (useful only). IFPARAM_WIFI_WPA_PSK preshared-key authentication (useful TKIP CCMP only). Fragmentation sets fragmentation threshold. Frames packets) that larger than this threshold split into multiple fragments. This useful busy noisy networks. value between 2346. default, means fragmentation. #define IFC_WIFI_FRAG_THRESHOLD sets threshold, frame size which RTS/CTS mechanism used. This sometimes useful busy noisy networks. range 2347. default, 2347, means RTS/CTS. #define IFC_WIFI_RTS_THRESHOLD 2347 Examples available within Dynamic Select "Function Lookup" from Help menu, press <ctrl-H>. Type "TCPCONFIG" Function Search field, <Enter>. Scroll down section "Wi-Fi Configuration." Dynamic TCP/IP User's Manual.(Volume provides additional information about these macros Wi-Fi. also possible redefine above parameters dynamically using ifconfig() function call. Macros alternative Wi-Fi configurations provided with ifconfig() function call, used change above default macros configurations. RabbitCore RCM5400W 6.3.2 Configuring TCP/IP Time There basic function call used configure Wi-Fi other network settings ifconfig(). Dynamic TCP/IP User's Manual, Volume more information about this function call. 6.3.3 Other Function Calls Remember call sock_init() after Wi-Fi parameters have been defined. Wi-Fi interface will automatically long configured Dynamic compile time with TCPCONFIG macros. Otherwise Wi-Fi interface neither down, must brought explicitly calling either ifup(IF_WIFI0) ifconfig(IF_WIFI0,.). must bring interface down when configure Dynamic time before modifying parameters that require interface down (see Section 6.3.2) calling ifdown(IF_WIFI0). Then bring interface back Finally, radio transmission occurs until call tcp_tick(NULL). Instead executing above sequence based sock_init(), could sock_ init_or_exit(1) debugging tool transmit packets (ARP, DHCP, association, authentication) while bringing interface address. User's Manual Where From Here? NOTE: purchased your RCM5400W RCM5450W through distributor through Rabbit partner, contact distributor partner first technical support. there problems this point: Dynamic Help menu further assistance with Dynamic Check Rabbit Technical Bulletin Board forums www.rabbit.com/support/bb/ www.rabbit,com/forums/. Technical Support e-mail form www.rabbit.com/support/. sample programs fine, ready Introduction TCP/IP Dynamic TCP/IP User's Manual.provide background reference information TCP/IP, available site. RabbitCore RCM5400W APPENDIX RCM5400W SPECIFICATIONS Appendix provides specifications RCM5400W. User's Manual 1.84 C119 C118 C121 C115 2.85 (72) C105 C104 C139 TP24 TP23 TP22 TP21 0.62 (16) C136 C135 0.187 (4.74) 0.508 (12.9) 0.064 (1.6) 0.30 (7.6) 1.10 (28) Electrical Mechanical Characteristics Figure shows mechanical dimensions RCM5400W. Figure A-1. RCM5400W Dimensions 0.11 (2.8) (1.6) 0.064 0.11 (2.8) 0.30 (7.6) 0.23 (5.8) 0.60 (15) (5.8) (15) 0.23 0.60 NOTE: measurements inches followed millimeters enclosed parentheses. dimensions have manufacturing tolerance ±0.01" (0.25 mm). RABBIT RCM5400W RCM5400W C144 C103 C107 C134 C108 C110 DIGI INTERNATIONAL DIGI INTERNATIONAL C113 C117 C116 C111 C120 C114 C106 901-0190 901-0190 (3.2) 0.125 0.19 0.19 C100 TP26 TP25 C102 TP28 TP27 C112 0.50 (13) VCBE59C4472 7143AE59C4472 (Base) (Cover) 0.72 (18) 1.84 LINK (47) C137 C138 (47) 0.50 0.335 (8.5) (13) 0.17 (4.3) 2.85 (72) Please refer RCM5400W footprint diagram later this appendix precise header locations. RabbitCore RCM5400W recommended that allow "exclusion zone" 0.04" around RCM5400W directions when RCM5400W incorporated into assembly that includes other printed circuit boards. "exclusion zone" 0.08" recommended below RCM5400W when RCM5400W plugged into another assembly. Figure shows this "exclusion zone." 2.93 (74) 0.34 (8.6) 2.85 (72) 0.08 1.92 (49) Exclusion Zone 0.34 (8.6) 1.84 (47) Figure A-2. RCM5400W "Exclusion Zone" NOTE: There antenna associated with RCM5400W RabbitCore modules. RF-absorbing materials these vicinities order realize maximum range. RCM5400W modules were tested heat dissipation over specified operating temperature range, normal heat dissipation convection found adequate. plan RCM5400W modules tightly enclosed space, additional forced-air cooling will likely needed. planning mount your RCM5400W directly panel-mounted enclosure, RP-SMA antenna connector will extend outside enclosure. Keep thickness enclosure plus washer lock less than 0.2" make sure that antenna mounted securely RP-SMA antenna connector. User's Manual Table lists electrical, mechanical, environmental specifications RCM5400W. Table A-1. RCM5400W Specifications Parameter Microprocessor Data SRAM Program Execution Fast SRAM Flash Memory Serial Flash Memory Backup Battery General Purpose Additional Inputs Additional Outputs External RCM5400W RCM5450W Rabbit® 5000 73.73 512K 512K 512K 512K Connection user-supplied backup battery support data SRAM) parallel digital lines configurable with four layers alternate functions Reset Reset configured data lines address lines (shared with parallel lines), plus read/write high-speed, CMOS-compatible ports: configurable asynchronous (with IrDA), clocked serial (SPI), SDLC/HDLC Serial Ports asynchronous clocked serial port shared with programming port clocked serial port shared with serial flash Serial Rate Slave Interface Real Time Clock Timers Watchdog/Supervisor Pulse-Width Modulators Maximum asynchronous baud rate CLK/8 Slave port allows RCM5400W used intelligent peripheral device slaved master processor 8-bit timers cascadable from first), 10-bit timer with match registers, 16-bit timer with outputs set/reset registers channels synchronized with 10-bit counter channels variable-phase synchronized with 16-bit counter 2-channel input capture used time input signals from various port pins 2-channel quadrature decoder accepts inputs from external incremental encoder modules Input Capture Quadrature Decoder RabbitCore RCM5400W Table A-1. RCM5400W Specifications (continued) Parameter RCM5400W V.DC Power (pins unloaded) while transmitting/receiving while transmitting/receiving -30°C +75°C 95%, noncondensing RP-SMA antenna connector 1.27 pitch signal header 1.27 pitch programming header 1.84" 2.85" 0.60" Wi-Fi Region Typical Average Antenna Output Power Compliance Americas, Japan Other Regions 802.11b 802.11b/g, 802.11g RCM5450W Operating Temperature Humidity Connectors Board Size User's Manual A.1.1 Antenna RCM5400W Development includes dipole antenna whose dimensions shown Figure A-3. 0.28 (7.2) (111.7) 4.40 (83.4) 3.28 (10.0) 0.39 Figure A-3. RCM5400W Development Dipole Antenna NOTE: measurements inches followed millimeters enclosed parentheses. dimensions have manufacturing tolerance ±0.01" (0.25 mm). RabbitCore RCM5400W A.1.2 Headers RCM5400W uses header physical connection other boards. header with 1.27 spacing. programming port, header with 1.27 spacing Figure shows layout another board RCM5400W plugged into. These reference design values relative mounting holes. RCM5400W Series Footprint 1.56 (39) 0.016 (0.4) RABBIT RCM5400W RCM5400W DIGI INTERNATIONAL 901-0190 0.050 (1.27) 0.91 (23) 0.875 (22.2) 0.19 0.284 0.334 (8.5) (7.2) 0.72 (18) 0.62 (16) Figure A-4. User Board Footprint RCM5400W User's Manual Rabbit 5000 Microprocessor Characteristics Table A-2. Rabbit 5000 Absolute Maximum Ratings Symbol Parameter Maximum Input Voltage Maximum Rating VDDIO (max. VDDIO Maximum Operating Voltage Stresses beyond those listed Table cause permanent damage. ratings stress ratings only, functional operation Rabbit 5000 chip these other conditions beyond those indicated this section implied. Exposure absolute maximum rating conditions extended periods affect reliability Rabbit 5000 chip. Table outlines characteristics Rabbit 5000 over recommended operating temperature range from -40°C +85°C, VDDIO Table A-3. Volt Characteristics Symbol VDDIO Parameter Ring Supply Voltage, Core Supply Voltage, Input High Voltage Input Voltage Output High Voltage Output Voltage Ring Current 88.4736 MHz, 25°C Ring Current 29.4912 MHz, 25°C Ring Current 32.768 kHz, 25°C Output drive: A[19:0], /CS[2:0], /OE[1:0], WE[1:0] D[7:0] /IOWR, /IORD, /IOBEN PA[7:0], PB[7:0], PC[7:0], PD[7:0], PH[7:0] 1.65 1.90 IDRIVE PE[7:0] other pins RabbitCore RCM5400W Buffer Sourcing Sinking Limit Unless otherwise specified, Rabbit buffers capable sourcing sinking current full switching speed. Full switching assumes clock with clock doubler enabled capacitive loading address data lines less than pin. absolute maximum operating voltage ±10%. Loading must careful attention loading when designing interface RCM5400W. This section provides loading information external devices. Table lists capacitance various RCM5400W ports. Table A-4. Capacitance Rabbit 5000 Ports Ports Parallel Ports Input Capacitance (pF) Output Capacitance (pF) Table lists external capacitive loading various RCM5400W output ports. sure loads devices using your custom system verify that they exceed values Table A-5. Table A-5. External Capacitive Loading -20°C +85°C Output Port lines with clock doubler enabled Clock Speed (MHz) 73.73 Maximum External Capacitive Loading (pF) User's Manual Figure shows typical timing diagram Rabbit 5000 microprocessor external read write cycles. External Read extra wait states) A[15:0] Tadr valid /CSx /IOCSx /IORD /BUFEN D[7:0] TCSx TCSx TIOCSx TIOCSx TIORD TIORD TBUFEN TBUFEN Tsetup valid Thold External Write extra wait states) A[15:0] Tadr valid /CSx /IOCSx /IOWR /BUFEN D[7:0] TCSx TCSx TIOCSx TIOCSx TIOWR TIOWR TBUFEN valid TDHZV TBUFEN TDVHZ Figure A-5. External Read Write Cycles-No Extra Wait States NOTE: /IOCSx programmed active (default) active high. RabbitCore RCM5400W Table lists delays gross memory access time several values VDDIO. Table A-6. Preliminary Data Clock Delays Clock Address Output Delay (ns) Worst-Case Spectrum Spreader Delay (ns) setting VDDIO Data Setup Time Delay (ns) setting setting measurements taken points under following conditions. -20°C 85°C, VDDIO ±10% Internal clock nonloaded delay 85°C/3.0 clock address output delays similar, apply following delays. Tadr, clock address delay TCSx, clock memory chip select delay TIOCSx, clock chip select delay TIORD, clock read strobe delay TIOWR, clock write strobe delay TBUFEN, clock buffer enable delay data setup time delays similar both Tsetup Thold. When spectrum spreader enabled with clock doubler, every other clock cycle shortened (sometimes lengthened) maximum amount given table above. shortening takes place shortening high part clock. doubler enabled, then every clock shortened during part clock period. maximum shortening pair clocks combined shown table. Rabbit Semiconductor's Technical Note TN227, Interfacing External with Rabbit Microprocessor Designs, which included with online documentation, contains suggestions interfacing devices Rabbit 5000 microprocessors. User's Manual Jumper Configurations Figure shows header locations used configure various RCM5400W options jumpers. RCM5400W C113 C108 C110 C102 RABBIT RCM5400W C107 901-0190 C136 C135 C104 C139 C111 C120 DIGI INTERNATIONAL C103 C134 C112 C117 C114 Figure A-6. Location RCM5400W Configurable Positions Table lists configuration options. Table A-7. RCM5400W Jumper Configurations Header Description Reserved future use. Pins Connected SMODE1 SMODE0 STATUS Factory Default C144 SMODE1 Output SMODE0 Output STATUS Output C119 C118 C121 C115 C116 C106 C105 RabbitCo Other recent searchesUT69151-BIT-ERR-001 - UT69151-BIT-ERR-001 UT69151-BIT-ERR-001 Datasheet UT69151XTE - UT69151XTE UT69151XTE Datasheet MM019B - MM019B MM019B Datasheet MM020B - MM020B MM020B Datasheet MM021B - MM021B MM021B Datasheet MM019C - MM019C MM019C Datasheet MM020C - MM020C MM020C Datasheet MM021C - MM021C MM021C Datasheet MM019D - MM019D MM019D Datasheet MM020D - MM020D MM020D Datasheet MM021D - MM021D MM021D Datasheet MM022B - MM022B MM022B Datasheet TPC8087 - TPC8087 TPC8087 Datasheet TCO-735 - TCO-735 TCO-735 Datasheet SD1460 - SD1460 SD1460 Datasheet RT9501A - RT9501A RT9501A Datasheet NA0027 - NA0027 NA0027 Datasheet HGTG12N60D1D - HGTG12N60D1D HGTG12N60D1D Datasheet EM61000 - EM61000 EM61000 Datasheet
Privacy Policy | Disclaimer |