电子工程世界电子工程世界电子工程世界

产品描述

搜索

101-1173

器件型号:101-1173
器件类别:开发板/开发套件/开发工具   
厂商名称:Digi International
标准:
下载文档 在线购买

101-1173在线购买

供应商 器件名称 价格 最低购买 库存  
101-1173 - 1 点击查看 点击购买

器件描述

WiFi / 802.11 Development Tools RCM4400W DEV KIT US

参数
参数名称属性值
Manufacturer:Digi International
Product Category:WiFi / 802.11 Development Tools
Shipping Restrictions:This product may require additional documentation to export from the United States.
RoHS:Details
Product:Development Kits
Tool Is For Evaluation Of:RCM4400W
Protocol Supported:802.11 b
Frequency:2.4 GHz
Operating Supply Voltage:12 V
Description/Function:The RCM4400W Development Kit contains the hardware essentials you will need to use the RCM4400W module
Brand:Digi International
Interface Type:Serial, USB
Product Type:WiFi Development Tools
Subcategory:Development Tools
Unit Weight:1.653 lbs

101-1173器件文档内容

RabbitCore RCM4400W

C-Programmable Wi-Fi Core Module

OEM User’s Manual

019–0160  •  090515–G
RabbitCore RCM4400W OEM User’s Manual

Part Number 019-0160 • 090515–G • Printed in U.S.A.

©2007–2009 Digi International Inc.                             •  All rights reserved.

No part of the contents of this manual may be reproduced or transmitted in any form or by any means

without the express written permission of Digi International.

Permission is granted to make one or more copies as long as the copyright page contained therein is

included. These copies of the manuals may not be let or sold for any reason without the express written

permission of Digi International.

Digi International reserves the right to make changes and

improvements to its products without providing notice.

                                   Trademarks

Rabbit, RabbitCore, and Dynamic C are registered trademarks of Digi International Inc.

Wi-Fi is a registered trademark of the Wi-Fi Alliance.

Rabbit 4000 is a trademark of Digi International Inc.

The latest revision of this manual is available on the Rabbit Web site, www.rabbit.com,

for free, unregistered download.

                                   Digi International Inc.

                                   www.rabbit.com

                                                                                        RabbitCore RCM4400W
                                     TABLE OF CONTENTS

Chapter 1.  Introduction                                                                                                                                         1

1.1  RCM4400W Features ...........................................................................................................................2

1.2  Advantages of the RCM4400W............................................................................................................3

1.3  Development and Evaluation Tools......................................................................................................4

     1.3.1 RCM4400W Development Kit .....................................................................................................4

     1.3.2 Software ........................................................................................................................................5

     1.3.3 Online Documentation ..................................................................................................................5

1.4  Certifications.........................................................................................................................................6

     1.4.1  FCC Part 15 Class B .....................................................................................................................6

     1.4.2  Industry Canada Labeling .............................................................................................................7

     1.4.3  Japan Labeling ..............................................................................................................................8

     1.4.4  Europe ...........................................................................................................................................8

Chapter 2.  Getting Started                                                                                                                                      9

2.1  Install Dynamic C .................................................................................................................................9

2.2  Hardware Connections........................................................................................................................10

     2.2.1 Step 1 — Prepare the Prototyping Board for Development........................................................10

     2.2.2 Step 2 — Attach the Antenna to the RCM4400W Module ........................................................11

     2.2.3 Step 3 — Attach Module to Prototyping Board..........................................................................12

     2.2.4 Step 4 — Connect Programming Cable ......................................................................................13

     2.2.5 Step 5 — Connect Power ............................................................................................................14

2.3  Run a Sample Program .......................................................................................................................15

     2.3.1 Troubleshooting ..........................................................................................................................16

2.4  Where Do I Go From Here? ...............................................................................................................17

     2.4.1 Technical Support .......................................................................................................................17

Chapter 3.  Running Sample Programs                                                                                                                              19

3.1  Introduction.........................................................................................................................................19

3.2  Sample Programs ................................................................................................................................20

     3.2.1  Serial Communication.................................................................................................................22

     3.2.2  Real-Time Clock .........................................................................................................................25

     3.2.3  Use of Serial Flash (Dynamic C v. 10.54 and later) ...................................................................25

Chapter 4.  Hardware Reference                                                                                                                                   27

4.1  RCM4400W Digital Inputs and Outputs ............................................................................................28

     4.1.1 Memory I/O Interface .................................................................................................................35

     4.1.2 Other Inputs and Outputs ............................................................................................................35

4.2  Serial Communication ........................................................................................................................36

     4.2.1 Serial Ports ..................................................................................................................................36

     4.2.1.1 Using the Serial Ports......................................................................................................... 37

     4.2.2 Wi-Fi ...........................................................................................................................................38

     4.2.3 Programming Port .......................................................................................................................40

4.3  Programming Cable ............................................................................................................................41

     4.3.1 Changing Between Program Mode and Run Mode ....................................................................41

     4.3.2 Standalone Operation of the RCM4400W ..................................................................................42

OEM User’s Manual
4.4 Other Hardware .................................................................................................................................. 43

     4.4.1 Clock Doubler ............................................................................................................................ 43

     4.4.2 Spectrum Spreader...................................................................................................................... 43

4.5 Memory .............................................................................................................................................. 44

     4.5.1  SRAM......................................................................................................................................... 44

     4.5.2  Flash EPROM............................................................................................................................. 44

     4.5.3  Serial Flash ................................................................................................................................. 44

Chapter 5.  Software Reference                                                                                                                                 45

5.1 More About Dynamic C ..................................................................................................................... 45

5.2  Dynamic C Function Calls ................................................................................................................ 47

     5.2.1 Digital I/O................................................................................................................................... 47

     5.2.2 Serial Communication Drivers ................................................................................................... 47

     5.2.3 User Block .................................................................................................................................. 47

     5.2.4 SRAM Use.................................................................................................................................. 48

     5.2.5 Wi-Fi Drivers.............................................................................................................................. 48

     5.2.6 Serial Flash Drivers .................................................................................................................... 48

     5.2.7 Prototyping Board Function Calls .............................................................................................. 50

     5.2.7.1  Board Initialization ............................................................................................................                50

     5.2.7.2  Alerts..................................................................................................................................         51

5.3 Upgrading Dynamic C ....................................................................................................................... 52

     5.3.1 Add-On Modules ........................................................................................................................ 52

Chapter 6.  Using the Wi-Fi Features                                                                                                                           53

6.1 Introduction to Wi-Fi ......................................................................................................................... 53

     6.1.1 Infrastructure Mode .................................................................................................................... 53

     6.1.2 Ad-Hoc Mode............................................................................................................................. 54

     6.1.3 Additional Information ............................................................................................................... 54

6.2 Running Wi-Fi Sample Programs ...................................................................................................... 55

     6.2.1 Wi-Fi Setup ................................................................................................................................ 56

     6.2.2 What Else You Will Need .......................................................................................................... 57

     6.2.3 Configuration Information.......................................................................................................... 58

     6.2.3.1  Network/Wi-Fi Configuration ...........................................................................................                          58

     6.2.3.2  PC/Laptop/PDA Configuration .........................................................................................                            59

     6.2.4 Wi-Fi Sample Programs ............................................................................................................. 61

     6.2.4.1  Wi-Fi Operating Region Configuration.............................................................................                                61

     6.2.4.2  Wi-Fi Operation.................................................................................................................                 63

     6.2.5 RCM4400W Sample Programs .................................................................................................. 65

6.3 Dynamic C Wi-Fi Configurations ...................................................................................................... 67

     6.3.1 Configuring Dynamic C at Compile Time ................................................................................. 67

     6.3.2 Configuring Dynamic C at Run Time ........................................................................................ 71

     6.3.3 Other Key Function Calls........................................................................................................... 81

6.4 Where Do I Go From Here? ............................................................................................................... 82

Appendix A.   RCM4400W Specifications                                                                                                                          83

A.1 Electrical and Mechanical Characteristics ........................................................................................ 84

     A.1.1 Antenna...................................................................................................................................... 88

     A.1.2 Headers ...................................................................................................................................... 89

A.2 Rabbit 4000 DC Characteristics ........................................................................................................ 90

A.3 I/O Buffer Sourcing and Sinking Limit............................................................................................. 91

A.4 Bus Loading ...................................................................................................................................... 91

A.5 Conformal Coating ............................................................................................................................ 94

A.6 Jumper Configurations ...................................................................................................................... 95

Appendix B.   Prototyping Board                                                                                                                                97

B.1  Introduction ....................................................................................................................................... 98

     B.1.1 Prototyping Board Features ....................................................................................................... 99

B.2  Mechanical Dimensions and Layout ............................................................................................... 101

                                       RabbitCore RCM4400W
B.3 Power Supply ...................................................................................................................................102

B.4 Using the Prototyping Board............................................................................................................103

B.4.1 Adding Other Components.......................................................................................................105

B.4.2 Measuring Current Draw..........................................................................................................105

B.4.3 Analog Features........................................................................................................................106

B.4.4 Serial Communication ..............................................................................................................106

       B.4.4.1 RS-232 ............................................................................................................................. 106

B.5 Prototyping Board Jumper Configurations ......................................................................................108

Appendix C.  Power Supply                                                                                                                                111

C.1 Power Supplies.................................................................................................................................111

C.1.1  Battery-Backup.........................................................................................................................111

C.1.2  Battery-Backup Circuit.............................................................................................................112

C.1.3  Reset Generator ........................................................................................................................113

C.1.4  Onboard Power Supplies ..........................................................................................................113

Index                                                                                                                                                    115

Schematics                                                                                                                                               119

OEM User’s Manual
RabbitCore RCM4400W
                                                     1.  INTRODUCTION

The RCM4400W RabbitCore modules adds Wi-Fi/802.11b func-

tionality to the existing Rabbit® 4000 microprocessor features to

allow you to create a low-cost, low-power, embedded wireless

control and communications solution for your embedded control

system. The Rabbit® 4000 microprocessor features include hard-

ware DMA, clock speeds of up to 60 MHz, I/O lines shared with

up to six serial ports and four levels of alternate pin functions

that  include      variable-phase  PWM,              auxiliary  I/O,  quadrature

decoder, and input capture. Coupled with more than 500 new

opcode instructions that help to reduce code size and improve

processing speed, this equates to a core module that is fast, effi-

cient, and the ideal solution for a wide range of wireless embed-

ded applications.

The Development Kit has the essentials that you need to design

your own wireless microprocessor-based system, and includes a

complete Dynamic C software development system. This Devel-

opment Kit also contains a Prototyping Board that will allow

you to evaluate the RCM4400W RabbitCore modules and to

prototype circuits that interface to the RCM4400W modules.

You will also be able to write and test software for these modules.

In addition to onboard Wi-Fi/802.11b functionality, the RCM4400W model has a Rabbit

4000 microprocessor operating at 58.98 MHz, static RAM, flash memory, two clocks

(main oscillator and timekeeping), and the circuitry necessary for reset and management

of battery backup of the Rabbit 4000’s internal real-time clock and the static RAM. One

50-pin header brings out the Rabbit 4000 I/O bus lines, parallel ports, and serial ports.

The RCM4400W series receives its +3.3 V power from the customer-supplied mother-

board on which it is mounted. The RCM4400W series can interface with many CMOS-

compatible digital devices through the motherboard.

OEM User’s Manual                                                                          1
1.1  RCM4400W Features

•  Small size: 1.84" × 2.85" × 0.50"

   (47 mm × 72 mm × 13 mm)

•  Microprocessor: Rabbit 4000 running at 58.98 MHz

•  Up to 35 general-purpose I/O lines configurable with up to four alternate functions

•  3.3 V I/O lines with low-power modes down to 2 kHz

•  Six CMOS-compatible serial ports — four ports are configurable as a clocked serial port

   (SPI), and two ports are configurable as SDLC/HDLC serial ports.

•  Alternate I/O bus can be configured for 8 data lines and 6 address lines (shared with

   parallel I/O lines), I/O read/write

•  512KB flash memory, 512KB data SRAM, 512KB fast program-execution SRAM

•  UBEC single-chip 802.11b transceiver

•  Real-time clock

•  Watchdog supervisor

Currently there is one RCM4400W production model. Table 1 summarizes its main features.

                              Table 1.  RCM4400W Features

          Feature                               RCM4400W

   Microprocessor                               Rabbit® 4000 at 58.98 MHz

   Flash Memory                                        512KB

   Data SRAM                                           512KB

   Fast Program-Execution                              512KB

   SRAM

                           6  shared high-speed, CMOS-compatible ports:

                              6 are configurable as asynchronous serial ports;

   Serial Ports               4 are configurable as clocked serial ports (SPI);

                              2 are configurable as SDLC/HDLC serial ports;

                              1 asynchronous serial port is used during programming

   Wi-Fi                                        802.11b standard, ISM 2.4 GHz

     NOTE: There is a special version of the RCM4400W RabbitCore module for Japan. It is

          functionally identical to the standard RCM4400W module and uses the same compo-

          nents, but has been assembled to meet the Japan regulatory requirements. Be sure to

          order the correct version for the market where you plan to use the RCM4400W. The

          two versions can be distinguished by the labels on the RF shield as shown below.

     RCM4400W           Standard Release Label         RCM4400W                  Japan Version Label

     RABBIT ® 901-0187                                 RABBIT ® 901-0188

2                                                                                RabbitCore RCM4400W
The RCM4400W series is programmed over a standard PC USB port through a program-

ming cable supplied with the Development Kit.

     NOTE:  The RabbitLink cannot be used to program RabbitCore modules based on the

     Rabbit 4000 microprocessor.

Appendix A provides detailed specifications for the RCM4400W.

1.2  Advantages of the RCM4400W

•  Fast time to market using a fully engineered, “ready-to-run/ready-to-program” micro-

   processor core module.

•  Competitive pricing when compared with the alternative of purchasing and assembling

   individual components.

•  Easy C-language program development and debugging

•  Rabbit Field Utility to download compiled Dynamic C .bin files, and cloning board

   options for rapid production loading of programs.

•  Generous memory size allows large programs with tens of thousands of lines of code,

   and substantial data storage.

•  Easily scalable for commercial deployment applications

OEM User’s Manual                                                                        3
1.3    Development and Evaluation Tools

1.3.1  RCM4400W Development Kit

The RCM4400W Development Kit contains the hardware essentials you will need to use

the RCM4400W module. The items in the Development Kit and their use are as follows.

• RCM4400W module with 2.4 GHz bec whip dipole antenna.

•  Prototyping Board.

•  Universal AC adapter, 12 V DC, 1 A (includes Canada/Japan/U.S., Australia/N.Z.,

   U.K., and European style plugs). Development Kits sold in North America may contain

   an AC adapter with only a North American style plug.

•  USB programming cable with 10-pin header.

•  10-pin header to DB9 serial cable.

•  Dynamic C® CD-ROM, with complete product documentation on disk.

•  Getting Started instructions.

•  A bag of accessory parts for use on the Prototyping Board.

•  Rabbit 4000 Processor Easy Reference poster.

•  Registration card.

                                                     Programming

       DIAG                                                                         Cable                                                                                                                                                                                                                                                                                                       Universal

                                                                                                                                                                                                                                                                                                                                                                                          AC Adapter

                                                                                                                                                                                                                                                                                                                                                                                                with Plugs

       PROG

                                                                                                                                         Accessory Parts for                                                                                                                                                                                    Antenna

          Quick Start Guide                                                                                                              Prototyping Board

          1.  Install Dynamic C.

          2.  Attach antenna to RCM4400W RabbitCore module.

          3.  Install RCM440W module on Prototyping Board, connect programming cable to PC, connect AC

              adapter.

          4.  Explore sample programs in the Dynamic C Samples\TCPIP\WiFi folder.

       RabbitCore RCM4400W

       The RCM4400W RabbitCore module provides Wi-Fi/802.11b functionality, allowing you to create a low-

       cost, low-power, Wi-Fi based control and communications solution for your embedded system. These

       Getting Started instructions included with the Development Kit will help you get your RCM4400W up and

       running so that you can run the sample programs to explore its capabilities and develop your own                                                                                                                                                                                                          PWR

       applications.                                                                                                                                                                                                                                                                                             R1                             J1     U1

       Development Kit Contents                                                                                                                                                                                                                                                                                        DS1

                                                                                                                                                                                                                                                                                                                                       C1                                 R2                                      1

       The RCM4400W Development Kit contains the following items                                                                                                                                                                                                                                                 GND               GND                                                                                           S1

                                                                                                                                                                                                                                      D1                                                                               C2                                                                                   BT1                  RESET

       •  RCM4400W module with 2.4 GHz bec whip dipole antenna..                                                                                                                                                                                                                                                                     JP1                                                  UX47              UX49  UX4                 RXD TXD           RXC

       •  Prototyping Board.                                                                                                                                                                                                                    C5                                                                                 C3        +3.3 VC4                                                                                                   TXC

                                                                                                                                                                                                                                                                                      L1C6                       D2                                  J2             +5 V

       •  Universal AC adapter, 12 V DC, 1 A (includes Canada/Japan/U.S., Australia/N.Z., U.K., and European                                                                                                                                                                                                                    JP2                       GND                                                                    GND

          style plugs). Development Kits sold in North America may contain an AC adapter with only a North                                                                                                                                                                                                             /RST_OUT                      /IORD     GND                                                                             UX29 J4

          American style plug.                                                                                                                                                                                                                                                                              RCM1       /IOWR                   /RST_IN      +3.3 V                                                RX81

       •  USB programming cable with 10-pin header.                                                                                                                                                                                                                                               U2                   VEBXATT             PA0                                                                             RX87

       •  10-pin header to DB9 serial cable.                                                                                                                                                                                                                                                                      PA1                   PA2

                                                                                                                                                                                                                                                                                                                 PA3                 PA4                                                                    RX83           CX41

       •  Dynamic C® CD-ROM, with complete product documentation on disk.                                                                                                                                                                              JP16
                                                                                                                                                                                                                                 C1JC8P1JJ16PP0J19PJ8JP7PJ81PJ4JP3PJ41PJ2P56                                PA5                 PA6
                                                                                                                                                                                                                                          C17
                                                                                                                                                                                                                C20
       •  Getting Started instructions.                                                                                                                                                                             U3                                                                                     PA7             PB0

          Plastic and metal standoffs with 4-40 screws and washers.                                                                                                                                                                                                                                    PB1             PB2                                                                                           CX39

       •                                                                                                                                                                                                                                                                                           PB3            PB4                                                                                 RX11                 UX30

       •  A bag of accessory parts for use on the Prototyping                       Installing Dynamic C®                                    Serial                                                 C19                                                                                           PB5            PB6

          Board.                                                                                                                                                                                                         R25                                                                 PB7            PC0

       •  Rabbit 4000 Processor Easy Reference poster.                              Insert the CD from the Development Kit in                                                                        C15             R26                                                              PC1                  PC2                                                                                  UX45

                                                                                    your PC’s CD-ROM drive. If the installation                                                                      Q1                                                                               PC3              PC4                                                                                                  UX10

       •  Registration card.                                                        does not auto-start, run the setup.exe pro-                                                                                                                                               PC5                     PC6

       Visit our online Rabbit store at www.rabbit.com/store/ for                   gram in the root directory of the Dynamic C              Cable                                                   R29        JJJJJJPPPPPP222111021195                                      PC7                 PE0                                                                               RX67        CX17

       the latest information on peripherals and accessories that                   CD. Install any Dynamic C modules after you                                                                                                              JP13JP17  PE1                                   PE2                                                                                                      UX12

       are available for the RCM4400W RabbitCore modules.                           install Dynamic C.                                                                                               R20   R18 R16  R14 R13  R15 R17       R19  PE3                                   PE4

                                                                                                                                                                                               R10                                            PE5                                     PE6

                                                                                                                                                                                                       R8  R6   R4  R3   R5  R7        R9                                     LPND00
                                                                                                                                                                                                                                          PE7
                                                                                                                                                                 RX43
       Rabbit and Dynamic C are registered trademarks of Rabbit Semiconductor Inc.                                                                                                                                                   LPND11                                   LPND22

                                                                                                                                                     RX47                          JJPP2234    C14C12C10   C8   C7  C9  C11  C13  LPND33               LPND44                                                                                                       RX85

                                                                                                                                                                                                                                                                                                                                                                                          UX14

                                                                                                                                                     RX97                                           RX59                     LPND55             LPND66                                                            RX75

                                                                                                                                                                 RX49        RX55        RX57                            LPND77                CVT                                                                          RX73             CX27                         CX29

                                                                                                                                                                 UX33        UX41                        RX61       VREF                  AGND         AGND

                                                                                                                                                           UX31              UX42                                                                                                                                CX25                CXD23SRX377               RX79
                                                                                                                                                                                                                                                                                                            DS2
                                                                                                                                                     RX89                                      RX65                                  VREF    LN7IN  LN5IN                     LN3IN   LN1IN  AGND          JP25        R23         R21    R22        R24                      UX16

                                                                                                                                                                       UX37                                    J3                                                                            R12

       Getting Started                                                                                                                               UX3                           RX63                                                                                                      R11

                                                                                                                                                                                                                         AGND     CVT  LN6IN   LN4IN   LN2IN                  LN0IN                                    1   RR2287                      1       GND

                                                                                                                                                                                                                                                                                                            S2                       S3      GND                     GND

              Instructions                                                                                                                                                         Prototyping Board

                                                                                                                                 Figure  1.  RCM4400W            Development Kit

4                                                                                                                                                                                                                                                                                                                                                                                                     RabbitCore RCM4400W
1.3.2  Software

The RCM4400W is programmed using version 10.21 or later of Dynamic C. A compatible

version is included on the Development Kit CD-ROM.

RCM4400W RabbitCore modules labelled “For development use only” may be used with

Dynamic C v. 10.11, but any applications developed using Dynamic C v. 10.11 will have

to be recompiled with a future version of Dynamic C in order to run and meet regulatory

requirements on production modules carrying the FCC certification markings. These “For

development use only” modules were only sold in 2007.

Rabbit also offers add-on Dynamic C modules containing the popular µC/OS-II real-time

operating system, the FAT file system, as well as PPP, Advanced Encryption Standard

(AES), and other select libraries. In addition to the Web-based technical support included

at no extra charge, a one-year telephone-based technical support module is also available

for purchase. Visit our Web site at www.rabbit.com or contact your Rabbit sales represen-

tative or authorized distributor for further information.

1.3.3  Online Documentation

The online documentation is installed along with Dynamic C, and an icon for the docu-

mentation menu is placed on the workstation’s desktop. Double-click this icon to reach the

menu. If the icon is missing, use your browser to find and load default.htm in the docs

folder, found in the Dynamic C installation folder.

The latest versions of all documents are always available for free, unregistered download

from our Web sites as well.

OEM User’s Manual                                                                           5
1.4    Certifications

The systems integrator and the end-user are ultimately responsible for the channel range

and power limits complying with the regulatory requirements of the country where the end

device will be used. Dynamic C function calls and sample programs illustrate how this is

achieved by selecting the country or region, which sets the channel range and power limits

automatically. See Section 6.2.4.1 for additional information and sample programs dem-

onstrating how to configure an end device to meet the regulatory channel range and power

limit requirements.

Only RCM4400W modules bearing the FCC certification are certified for use in Wi-Fi

enabled end devices, and any applications must have been compiled using Dynamic C v.

10.21 or later. The certification is valid only for RCM4400W modules equipped with the

dipole antenna that is included with the modules. Changes or modifications to this equip-

ment not expressly approved by Rabbit may void the user's authority to operate this equip-

ment.

In the event that these conditions cannot be met, then the FCC certification is no longer

considered valid and the FCC ID can not be used on the final product. In these circum-

stances, the systems integrator or end-user will be responsible for re-evaluating the end

device (including the transmitter) and obtaining a separate FCC certification.

       NOTE: Any regulatory certification is voided if the RF shield on the RCM4400W

       module is removed.

1.4.1  FCC Part 15 Class B

The RCM4400W RabbitCore module has been tested and found to comply with the limits

for Class B digital devices pursuant to Part 15 Subpart B, of the FCC Rules. These limits

are designed to provide reasonable protection against harmful interference in a residential

environment. This equipment generates, uses, and can radiate radio frequency energy, and

if not installed and used in accordance with the instruction manual, may cause harmful

interference to radio communications. However, there is no guarantee that interference

will not occur in a particular installation. If this equipment does cause harmful interfer-

ence to radio or television reception, which can be determined by turning the equipment

off and on, the user is encouraged to try and correct the interference by one or more of the

following measures:

•  Reorient or relocate the receiving antenna.

•  Increase the separation between the equipment and the receiver.

•  Connect the equipment into an outlet on a circuit different from that to which the

   receiver is connected.

•  Consult the dealer or an experienced radio/TV technician for help.

6                                                                      RabbitCore RCM4400W
Labeling Requirements (FCC 15.19)

FCC ID: VCB-540D144

This device complies with Part 15 of FCC rules. Operation is

subject to the following two conditions:

(1) this device may not cause harmful interference, and

(2) this device must accept any interference received, including

interference that may cause undesired operation.

The modular transmitter must be equipped with either a permanently affixed label or must

be capable of displaying the FCC identification number electronically.

If using a permanently affixed label, the modular transmitter must be labeled with its own

FCC identification number, and, if the FCC identification number is not visible when the

module is installed inside another device, then the outside of the device into which the

module is installed must also display a label referring to the enclosed module. This exte-

rior label can use wording such as the following: “Contains Transmitter Module FCC ID:

VCB-540D144” or “Contains FCC ID: VCB-540D144.” Any similar wording that

expresses the same meaning may be used.

The following cation must be included with documentation for any device incorporating

the RCM4400W RabbitCore module.

       Caution — Exposure to Radio-Frequency Radiation.

       To comply with FCC RF exposure compliance requirements, for mobile

       configurations, a separation distance of at least 20 cm must be maintained

       between the antenna of this device and all persons.

       This device must not be co-located or operating in conjunction with any

       other antenna or transmitter.

1.4.2  Industry Canada Labeling

                     ID: 7143A-540D144

       This Class B digital apparatus complies with Canadian standard

       ICES-003.

       Cet appareil numérique de la classe B est conforme à la norme

       NMB-003 du Canada.

OEM User’s Manual                                                                           7
1.4.3  Japan Labeling

                    R

                          Model Name — Use Your Company Model

                          ID Number — 003WW071090000

                          Company Name — Use Your Company Name

                  The logo mark diameter must be 5 mm or bigger.

                  If the equipment is 100 cm3 or smaller in volume, the minimum size of

                  the logo mark is 3 mm.

1.4.4  Europe

The marking shall include as a minimum:

•  the name of the manufacturer or his trademark;

•  the type designation;

•  equipment classification, (see below).

       Receiver           Risk Assessment of Receiver Performance

       Class

               1          Highly reliable SRD communication media, e.g., serving human life

                          inherent systems (may result in a physical risk to a person).

               2          Medium reliable SRD communication media, e.g., causing

                          Inconvenience to persons that cannot be overcome by other means.

               3          Standard reliable SRD communication media,e.g., inconvenience to

                          persons that can simply be overcome by other means.

       NOTE: Manufacturers are recommended to declare the classification of their devices in

       accordance with Table 2 and EN 300 440-2 [5] clause 4.2, as relevant. In particular,

       where an SRD that may have inherent safety of human life implications, manufacturers

       and users should pay particular attention to the potential for interference from other

       systems operating in the same or adjacent bands.

Regulatory Marking

The equipment shall be marked, where applicable, in accordance with CEPT/ERC Recom-

mendation 70-03 or Directive 1999/5/EC, whichever is applicable. Where this is not appli-

cable, the equipment shall be marked in accordance with the National Regulatory

requirements.

8                                                                              RabbitCore RCM4400W
                                       2.          GETTING STARTED

     This chapter describes the RCM4400W hardware in more detail, and

     explains how to set up and use the accompanying Prototyping Board.

     NOTE: This chapter (and this manual) assume that you have the RCM4400W Develop-

     ment Kit. If you purchased an RCM4400W module by itself, you will have to adapt the

     information in this chapter and elsewhere to your test and development setup.

2.1  Install Dynamic C

To develop and debug programs for the RCM4400W series of modules (and for all other

Rabbit hardware), you must install and use Dynamic C.

If you have not yet installed Dynamic C version 10.11 (or a later version), do so now by

inserting the Dynamic C CD from the Development Kit in your PC’s CD-ROM drive. If

autorun is enabled, the CD installation will begin automatically.

If autorun is disabled or the installation does not start, use the Windows Start | Run menu

or Windows Disk Explorer to launch setup.exe from the root folder of the CD-ROM.

The installation program will guide you through the installation process. Most steps of the

process are self-explanatory.

Dynamic C uses a COM (serial) port to communicate with the target development system.

The installation allows you to choose the COM port that will be used. The default selec-

tion is COM1. You may select any available port for Dynamic C’s use. If you are not cer-

tain which port is available, select COM1. This selection can be changed later within

Dynamic C.

     NOTE: The installation utility does not check the selected COM port in any way. Speci-

     fying a port in use by another device (mouse, modem, etc.) may lead to a message such

     as "could     not  open   serial  port" when Dynamic C is started.

Once your installation is complete, you will have up to three new icons on your PC desk-

top. One icon is for Dynamic C, another opens the documentation menu, and the third is for

the Rabbit Field Utility, a tool used to download precompiled software to a target system.

If you have purchased any of the optional Dynamic C modules, install them after installing

Dynamic C. The modules may be installed in any order. You must install the modules in

the same directory where Dynamic C was installed.

OEM User’s Manual                                                                            9
2.2    Hardware Connections

There are three steps to connecting the Prototyping Board for use with Dynamic C and the

sample programs:

1. Prepare the Prototyping Board for Development.

2. Attach the antenna to the RCM4400W module.

3. Attach the RCM4400W module to the Prototyping Board.

4. Connect the programming cable between the RCM4400W and the PC.

5. Connect the power supply to the Prototyping Board.

       CAUTION: Provide ESD protection such as smocks and grounding straps on your

       footwear.while assembling the RCM4400W module, installing it on another

       board, and while making or removing any connections.

       Remember to use ESD protection regardless of whether you are working with the

       RCM4400W module on the Prototyping Board or in your own OEM application.

2.2.1  Step 1 — Prepare the Prototyping Board for Development

Snap in four of the plastic standoffs supplied in the bag of accessory parts from the Devel-

opment Kit in the holes at the corners as shown in Figure 2.

       NOTE: Pay attention to use the hole that is pointed out towards the bottom left of the

       Prototyping Board since the hole below it is used for a standoff when mounting the

       RCM4400W on the Prototyping Board.

                                                                                                                               PWR

                                                                                                                             R1                                    J1  U1

                                                                                                                                           DS1

                                                                                                                                                         C1                                    R2                                                    1

                                                                                                                                 GND                     GND                                                                                                       S1

                                                                 D1                                                                        C2                                                                                            BT1                       RESET

                                                                                                                                                              JP1                                                 UX47             UX49                 UX4                    TXD           RXC

                                                                                C5                                                                          C3          C4 V                                                                                                   RXD           TXC

                                                                                                        L1C6                               D2                           +3.3  J2

                                                                                                                                                         JP2                                   +5 V                                                                      GND

                                                                                                                                                                                  GND                                                                                               UX29 J4

                                                                                                                                                                                            GND

                                                                                                                                                  /RST_OUT                    /IORD

                                                                                                                                           RCM1                                        +3.3 V                                                                RX81

                                                                                                                                                         /IOWR                /RST_IN

                                                                                                                                                         VBAT               PA0                                                                                    RX87
                                                                                                                                                         EXT
                                                                                                                        U2

                                                                                                                                                  PA1                   PA2

                                                                                                                                                  PA3                  PA4                                                                                               CX41

                                                                                               JP16                                                                                                                                            RX83

                                                                            C18      C17        JP6                                               PA5               PA6
                                                                                               JP5
                                                            C20                                JP12
                                                                 U3                            JP4                                         PA7                     PB0

                                                                                              JP3                                                                                                                                                                  CX39
                                                                                          JP14                                             PB1                   PB2
                                                                                          JP8
                                                                                  C16 JP7
                                                                                        JP18                                           PB3                     PB4                                                                             RX11                      UX30

                                                                                        JP9
                                                                                     JP10                                        PB5                     PB6
                                                C19

                                                                            R25                                                PB7                       PC0

                                                      C15                  R26                                                 PC1                     PC2                                                                               UX45

                                                      Q1                                                                PC3                       PC4                                                                                                        UX10

                                                                                                                        PC5                       PC6

                                                            R29       JP11  JP15  JP19  JP21  JJPP2202             PC7                      PE0                                                                                          CX17

                                                                                                        JP13JP17                                                                                                             RX67

                                                                                                                  PE1                      PE2                                                                                                       UX12

                                                            R20       R18  R16  R14  R13  R15  R17              PE3                        PE4

                                                                                                         R19

                                                            R10                                               PE5                   PE6

                                                                 R8   R6    R4    R3  R5  R7            R9                       PD0
                                                                                                             PE7
                  RX43                                                                                                         LN0

       RX47                                                 C14  C12  C10  C8   C7   C9   C11  C13      LPND11                 LPND22

                                                JP24  JP23                                              PD3              LPND44                                                                                      RX85                UX14
                                                                                                        LN3

                                                                                                    PD5                 PD6
                                                                                                LN5                     LN6
                  RX97                                           RX59                                                                                                         RX75
                                                      RX57                                                                                                                                                                   CX29
                              RX49  RX55                                                       PD7                      CVT                                                            RX73          CX27
                                                                                               LN7
                        UX33              UX41                              RX61
                                                                                          VREF                     AGND        LN5IN AGND

                        UX31        UX42                                                                                                                                      CX25             CX2D3 SRX377          RX79

                  RX89                                                                                            VREF  LN7IN              LN3IN  LN1IN  AGND               DS2                R21   R22                           UX16

                                    UX37                              RX65                                                                                              JP25           R23                   R24

                                                                                          J3                                                                   R12

                  UX3                                 RX63                                                                                                  R11

                                                                                                        AGND      CVT   LN6IN  LN4IN       LN2IN  LN0IN                                     1RR2287               1     GND

                                                                                                                                                                              S2                     S3      GND             GND

                                                                                               Figure 2.                                                       Insert Standoffs

10                                                                                                                                                                                                                                                                                  RabbitCore RCM4400W
2.2.2  Step 2 — Attach the Antenna to the RCM4400W Module

Attach the antenna to the antenna SMA connector on the RCM4400W as shown in

Figure 3.

                                                              J4                                                                                U3                                C33          IC ID: 7143A–540D144  FCC ID: VCB–540D144        R14       C89

                                                                                                                                      C30                                                                                                                      J2        2

                                                                                     S1                                               C29                            C31  C32                                                                   R18

                                                    J3                    C125                 C132 C124                                                                                                                                                                 R19

                                                                                                 U22               U23                      U21                                                                                                      R21       R22

                                                                                                 C126                      RCM4400W       C119  C122                                                                                                 JP2       JP3

                                                                    C127        C131                                       T1                            C123                                                                                                            JP1

                                                                                                 R67   C161  C160L12            L11   L10
                                                                                                                                          RABBIT ®
                                                                                 R71 C106                                             C121

                                                                                                                   C129         C128  C120        C155   C154

                                                                                                                                      C116

                                                    LINK      DS1   C112                   C107C134                                                           C158

                                                                                                                                                         C117             SHIELD  RF

                                                                    L3

                                                                          C114                                                                                 L9

                                                                          L8                                                                             C115

                                                    ACT       DS2         C111                                                                                 C168

                                                                          L4

                                                                                 L6              C108                                               U20  R59                                    C150                                            R70

                                                                                                       R54   R53      R52  R51        R62                                                                            D2                   C149  R27

                                                                                                                                                                          C148                                                                            C169

                                                              C141        C141                                           R64          C135                                           U24                                                                                 C34

                                                        C139  C140                                                                                                                        C146                                                  R1

                                                                                                                                C136                                                           L17                   R60                             U4

                                                                                                                                                                                               C147

                                                              L14                                                          C163                                                           L13                                                   C35

                                                                                                                                                                                                                         R61                    JP4

                                                                    L16                                               U18  C143                                                           C145                                                            C36

                                                                                                                                 C145                                          C142                                                                       Y1        C51

                                                         C46                    C137                   C138                                 C7   C11 C144            C4              C2                              C5   C1              C3

                                                                                                                           R41                  C10                                                                  C6                                                     1

                                                                          Q1 Y2                                                 C8

                                                         R2                                                                                                                                                                                     C27  C28            C54

                                                                                                 R10 C52 C50                                                                                                                                                        R12

                                                                                                 R20 U13                              U12                                                                                                                 U11       R9

                                                                                                                                                                                                                                                C21                 C49

                                                                                                            R17            R13                                                                                                                                 U10

                                                                                                                                                                                                                                                               R8

                                                                                                 R16         R15

                                                                                C55  C53                                              C9

                                                                                                                                      C12                                                                                                       C20  Q2

                                                                                U6                                                                  C14                   C17                                        U1
                                                                                                                                                                                                                     C18
                                                                    C41
                                                                                                                                                               C15                                                   C19
                                                                    C42                                                                                  C13
                                                                                                                                                                                     C16

                   Figure 3.  Attach  the  Antenna  to the RCM4400W Module

           CAUTION: Do not remove the RF shield by the antenna since any attempt to

           remove the shield will damage the RF circuits underneath it.

           Any regulatory certification is voided if the RF shield on the RCM4400W module

           is removed.

OEM User’s Manual                                                                                                                                                                                                                                                              11
2.2.3  Step 3 — Attach Module to Prototyping Board

Turn the RCM4400W module so that the mounting holes line up with the corresponding

holes on the Prototyping Board. Insert the metal standoffs as shown in Figure 4, secure

them from the bottom using the 4-40 × 3/16 screws and washers, then insert the module’s

header J1 on the bottom side into socket RCM1 on the Prototyping Board.

                                     J4                                                                                U3                                C33          IC ID: 7143A–540D144  FCC ID: VCB–540D144        R14         C89

                                                                                                             C30                                                                                                                        J2        2

                                                            S1                                               C29                            C31  C32                                                                   R18

                           J3                    C125                 C132 C124                                                                                                                                                                   R19

                                                                        U22               U23                      U21                                                                                                      R21         R22

                                                                        C126                      RCM4400W       C119  C122                                                                                                 JP2         JP3

                                           C127        C131                                       T1                            C123                                                                                                              JP1                           RCM4400W

                                                                        R67   C161  C160L12            L11   L10

                                                        R71 C106                                             RABBIT ®C121

                                                                                          C129         C128  C120       C155    C154

                                                                                                             C116

                           LINK      DS1   C112                   C107C134                                                           C158

                                                                                                                                C117             SHIELD  RF

                                           L3

                                                 C114                                                                                 L9

                                                 L8                                                                             C115

                           ACT       DS2         C111                                                                                 C168

                                                 L4

                                                        L6              C108                                            U20     R59                                    C150                                            R70

                                                                              R54   R53      R52  R51        R62                                                                            D2                   C149  R27

                                                                                                                                                 C148                                                                              C169

                                     C141        C141                                           R64          C135                                           U24                                                                                   C34

                               C139  C140                                                                                                                        C146                                                  R1

                                                                                                       C136                                                           L17                   R60                             U4

                                                                                                                                                                      C147                                                                                                     PWR

                                     L14                                                          C163                                                           L13                                                   C35                                                     R1

                                                                                                                                                                                                R61                                                                                                                       J1         U1

                                           L16                                               U18  C143                                                           C145                                                  JP4         C36                                                      DS1

                                                                                                        C145                                          C142                                                                         Y1        C51

                                C46                    C137                   C138                                 C7   C11 C144            C4              C2                              C5   C1              C3                                                                                                 C1                                               R2

                                                                                                  R41                  C10                                                                  C6                                                       1                                                                                                                                                                                  1

                                                 Q1 Y2                                                 C8                                                                                                                                                                                                           GND                                                                                                                                 S1

       Insert standoffs         R2                                                                                                                                                                                             D1                                                           GND

                                                                        R10 C52 C50                                                                                                                                    C27  C28              C54                                                        C2                                                                                                                        BT1                   RESET
                                                                                                                                                                                                                                             R12
                                                                                                                                                                                                                                                                                                                                     JP1                                                                                                                                     RXD TXD              RXC
       between                                                          R20 U13                                                                                                                                                              R9                                                                                                                                                                 UX47              UX49             UX4

                                                                                                             U12                                                                                                                   U11       C49                                                                                                                                                                                                                                                  TXC

                                                                                                                                                                                                                       C21                                 C5                                                                        C3             C4   +3.3 V

       mounting holes and                                                          R17            R13                                                                                                                                   U10                                                                                                                      J2

                                                                                                                                                                                                                                        R8                                     L1C6                                 D2

                                                                        R16         R15                                                                                                                                                                                                                                                    JP2                                       +5 V                                                                                    GND

                                                       C55  C53                                                                                                                                                                                                                                                                                                      GND                                                                                                                          UX29 J4

       Prototyping Board.                                                                                    C9                                                                                                                                                                                                                                                                      GND

                                                                                                                                                                                                                            Q2                                                                                                       /RST_OUT                        /IORD

                                                       U6                                                    C12                                                                            U1                         C20                                                                                                RCM1                                                       +3.3 V                                                                   RX81

                                                                                                                           C14                   C17                                        C18                                                                                                                                               /IOWR                  /RST_IN

                                           C41                                                                                        C15                                                   C19                                                                                                                                                 VBAT                                                                                                                                  RX87

                                           C42                                                                                  C13                         C16                                                                                                                                                                                     EXT              PA0

                                                                                                                                                                                                                                                                                                              U2

                                                                                                                                                                                                                                                                                                                                                    PA1              PA2

                                                                                                                                                                                                                                                                                                                                                    PA3              PA4                                                                                                                    CX41

                                                                                                                                                                                                                                                                                           JP16                                                                                                                                                         RX83

                                                                                                                                                                                                                                                                          C18  C17          JP6                                                     PA5              PA6

                                                                                                                                                                                                                                                           C20                              JP5

                                                                                                                                                                                                                                                                 U3                         JP12        RCM1PA7                                                      PB0

                                                                                                                                                                                                                                                                                            JP4

                                                                                                                                                                                                                                                                                            JP3                                                                                                                                                                                             CX39

                                                                                                                                                                                                                                                                                            JP14                                                    PB1              PB2

                                                                                                                                                                                                                                                                                            JP8
                                                                                                                                                                                                                                                                                      C16 JP7
                                                                                                                                                                                                                                                                                                                                                    PB3              PB4                                                                                      RX11                                UX30
                                                                                                                                                                                                                                                                                           JP18

                                                                                                                                                                                                                                                                                            JP9

                                                                                                                                                                                                                                                           C19                             JP10                                                     PB5              PB6

                                                                                                                                                                                                                                                                                    R25                                                             PB7              PC0

                                                                                                                                                                                                                                                                     C15              R26                                                           PC1              PC2                                                                                      UX45

                                                                                                                                                                                                                                                                     Q1                                                                             PC3              PC4                                                                                                                    UX10

                                                                                                                                                                                                                                                                                                                                                    PC5              PC6

                                                                                                                                                                                                                                                                                            JP11  JP15  JP19  JP21  JP22  JP20                      PC7              PE0                                                                                               CX17

                                                                                                                                                                                                                                                                               R29                                                   JP17                                                                                                               RX67

                                                                                                                                                                                                                                                                                                                                              JP13  PE1              PE2                                                                                                                    UX12

                                                                                                                                                                                                                                                                                      R20   R18   R16   R14   R13   R15         R17                 PE3              PE4

                                                                                                                                                                                                                                                                                                                                              R19

       Line up mounting                                                                                                                                                                                                                                                               R10                                                           PE5              PE6

                                                                                                                                                                                                                                                                                            R8    R6    R4    R3    R5          R7            R9                     PD0

                                                                                                                                                                                                                                                                                                                                                    PE7              LN0

       holes with holes                                                                                                                                                                                                            RX43

                                                                                                                                                                                                                                                                                                                                                    PD1              PD2
                                                                                                                                                                                                                                                                                                                                                    LN1              LN2
                                                                                                                                                                                                                            RX47                                                            C14   C12   C10   C8    C7    C9    C11      C13
                                                                                                                                                                                                                                                                                JP24  JP23                                                                           PD4                                                                                RX85
                                                                                                                                                                                                                                                                                                                                                    PD3              LN4                                                                                                                    UX14
                                                                                                                                                                                                                                                                                                                                                    LN3
       on Prototyping Board.
                                                                                                                                                                                                                                                                                                                                                    PD5              PD6
                                                                                                                                                                                                                                                                                                                                                                     LN6
                                                                                                                                                                                                                                   RX97                                                                 RX59                                        LN5                                                                     RX75

                                                                                                                                                                                                                                                           RX49           RX55              RX57                                                    PD7              CVT                                                          RX73     CX27                        CX29

                                                                                                                                                                                                                                                           UX33                 UX41                                      RX61                      LN7

                                                                                                                                                                                                                                                                                                                                              VREF                   AGND            AGND

                                                                                                                                                                                                                                                           UX31                 UX42                                                                                                                                        CX25        CX23 RX77             RX79
                                                                                                                                                                                                                                                                                                                                                                                                                                           DS3
                                                                                                                                                                                                                                                     RX89                                                                                                            VREF     LN7IN        LN5IN  LN3IN  LN1IN  AGND        DS2
                                                                                                                                                                                                                                                                                                                                                                                                                                        R21                                                 UX16
                                                                                                                                                                                                                                                                                                                          RX65                                                                                              JP25  R23              R22  R24

                                                                                                                                                                                                                                                                                UX37                                                                J3                                                                 R12

                                                                                                                                                                                                                                                           UX3                                                RX63                                                                                                     R11

                                                                                                                                                                                                                                                                                                                                                                     AGND     CVT          LN6IN  LN4IN  LN2IN  LN0IN                      1  R27  R28              1  GND

                                                                                                                                                                                                                                                                                                                                                                                                                                  S2                    S3    GND                           GND

                Figure 4.                 Install the Module on the Prototyping Board

       NOTE: It is important that you line up the pins on header J1 of the module exactly with

       socket RCM1 on the Prototyping Board. The header pins may become bent or damaged

       if the pin alignment is offset, and the module will not work. Permanent electrical dam-

       age to the module may also result if a misaligned module is powered up.

Press the module’s pins gently into the Prototyping Board socket—press down in the area

above the header pins. For additional integrity, you may secure the RCM4400W to the

standoffs from the top using the remaining three screws and washers.

12                                                                                                                                                                                                                                                                                                                                                                                                                                RabbitCore RCM4400W
2.2.4  Step 4 — Connect Programming Cable

The programming cable connects the module to the PC running Dynamic C to download

programs and to monitor the module during debugging.

Connect the 10-pin connector of the programming cable labeled PROG to header J2 on

the RCM4400W as shown in Figure 5. Be sure to orient the marked (usually red) edge of

the cable towards pin 1 of the connector. (Do not use the DIAG connector, which is used

for a normal serial connection.)

                         1  Remove slot cover,

                            insert tab into slot

                                    Assemble                                                                                                                                                                                                                                               AC                             Adapter

                                    AC Adapter

                         2  Snap plug into place

                                        3-pin

                            power connector

                         Programming                                                                                                                                                                                                                             J1                                                                                                             RESET

                                    Cable                                                                                                                                 PWR

                                                                                                                                                                          R1                                                                               J1

                                                                                                                                                                                                                                                                      U1

                                                                                                                                                                                          DS1

                                        Colored                                                                                                                                                                                                        C1                                                 R2                                                                 1

                                                                                                                                                                                                                                                     GND                                                                                                                                     S1

                                                                                        D1                                                                                                 GND

                                           edge                                                                                                                                                                                       C2                                                                                                                               BT1                   RESET                                     RXC

                                                                                                                                                                                                                                                                      JP1                                                                            UX47              UX49             UX4                       RXD TXD

           port                                                                                                                        C5                 DIAG                                                                                                             C3            C4   +3.3 V                                                                                                                                   TXC

                                                                                                                                                                     L1C6                                                                              D2                                             J2

                                                                                                                                                                                                                                                                               JP2                                        +5 V                                                                                    GND

                                                                                                                                                                                                                                                                                                          GND                                                                                                                          UX29 J4

                                                     J4                                                                                                                                                                                     R14            C89                                                            GND

                                                                                                                                         U3                                  C33           IC ID: 7143A–540D144  FCC ID: VCB–540D144                                       /RST_OUT                       /IORD

                                                                                                                             C30                                                                                                                           RCM1                                                           +3.3 V                                                                   RX81

           PC USB                                                                                                                                                                                                                                                J2                 /IOWR                 /RST_IN

                                                                                                                                                                                                                                                                            2

                                                                                                                                                                                                                                                                                    VBAT                  PA0                                                                                                              RX87
       To                                                                                                                                                                                                                                                                                EXT
                                                                            S1                                               C29                                C31  C32                                                                    U2                        PROG
                                                                                                                                                                                                                                            R18
                                           J3                                                                                                                                                                                                                                            PA1              PA2

                                                                 C125                 C132 C124                                        U21                                                                                                                                      R19      PA3              PA4                                                                                                                    CX41

                                                                                        U22               U23                                                                           JP16                                                     R21            R22                                                                                                                          RX83

                                                                                                                                                          C18             C17             JP6                                                                                            PA5              PA6

                                                                                        C126                      RCM4400W         C119C20C122                                            JP5                                                     JP2           JP3

                                                                                                                  T1                          U3                                          JP12                                                                                           PA7              PB0

                                                           C127        C131                                                                         C123                                  JP4                                                                                   JP1

                                                                                        R67   C161  C160L12            L11   L10                                                          JP3                                                                                                                                                                                                                                    CX39

                                                                                                                             RC1A9BBIT ®C121                                              JP14                                                                                           PB1              PB2

                                                                        R71 C106                                             C120                   C154                                  JP8
                                                                                                                                                                                   C16 JP7
                                                                                                          C129         C128  C116             C155                                                                                                                                       PB3              PB4                                                                                      RX11                                UX30
                                                                                                                                                                                        JP18
                                                           C112
                                           LINK      DS1                          C107C134                                                               C158                             JP9

                                                                                                                                                                     SHIELD  RF         JP10                                                                                             PB5              PB6

                                                           L3                                                                                       C117

                                                                 C114                                                                                        L9                 R25                                                                                                      PB7              PC0

                                                                 L8                                                                                 C115                                                                                                                                                                                                                                           UX45

                                           ACT       DS2         C111                                                                               C15   C168                     R26                                                                                                   PC1              PC2

                                                                 L4

                                                                        L6                                                                    U20   R59  Q1                                      C150                                          R70                                       PC3              PC4                                                                                                                    UX10

                                                                                        C108  R54   R53      R52  R51                                                                                                                                                                    PC5              PC6

                                                                                                                             R62                                                                                 D2                   C149     R27

                                                                                                                                                                     C1R4289               JP11                  JP15  JP19                 JP21           C169                          PC7              PE0                                                                                               CX17

                                                     C141        C141                                           R64          C135                                               U24                                                                  JP22  JP20       JP17          C34                                                                                                      RX67

                                               C139  C140                                                                                                                            C146                                                      R1                               JP13     PE1              PE2                                                                                                                    UX12

                                                                                                                       C136                                                                L17                   R60                              U4                                     PE3              PE4

                                                                                                                                                                                   R20     C147
                                                                                                                                                                                           R18                   R16                  R14        R13   R15       R17            R19
                                                     L14
                                                                                                                  C163                                                                L13                                                   C35                                          PE5              PE6
                                                                                                                                                                                   R10
                                                                                                                                                                                                                       R61                                                      R9
                                                                                                                                                                                           R8                    R6                   R4       JP4R3   R5        R7
                                                                                                 RX43 C143   U18                                                                     C145                                                                  C36                           PE7              PD0
                                                                                                                                                                                                                                                                                                          LN0
                                                           L16                                                                                                            C142                                                                                        C51
                                                                                                                        C145                                                                                                                                                             PD1              PD2
                                                                       C137                   C138                                           C11 C144                           C2                                                                         Y1
                   PROG                         C46                                                                                                              C4                        C14                   C5    C1             C3    C8       C7    C9                            LN1              LN2
                                                                                  RX47                                                 C7                                                                        C12     C10                                          C11  C13
                                                                                                                  R41                        C10                             JP24   JP23                         C6                                                                 1                                                                                                        RX85
                                                                                                                                                                                                                                                                                         PD3              PD4
                                                                 Q1 Y2                                                 C8                                                                                                                                                                                 LN4                                                                                                                    UX14
                                                                                                                                                                                                                                                                                         LN3
                                    J2
                                                R2                                                                                                                                                                                          C27  C28                  C54                PD5              PD6
                                                                                                                                                                                                                                                                                                          LN6
                                                                                        R10RXC9572                C50                                                                                                                 RX59                            R12                LN5                                                                     RX75

                                                                                                                                       RX49                     RX55                       RX57                                                                            R9            PD7              CVT                                                          RX73     CX27                        CX29

                                                                                        R20 U13                              U12       UX33                                  UX41                                                                          U11  RX61                     LN7

                                                                                                                                                                                                                                            C21                            C49 VREF                       AGND            AGND

                                                                                                   R17            R13                  UX31                                  UX42                                                                               U10                                                                                              CX25        CX23 RX77             RX79
                                                                                                                                                                                                                                                                                                                                                                                DS3
                                                                                                                             RX89                                                                                                                               R8                                        VREF     LN7IN        LN5IN  LN3IN  LN1IN  AGND        DS2

                                                                                        R16         R15                                                                                                                                                         RX65                                                                                             JP25  R23   R21        R22  R24                                 UX16

                                                                       C55  C53                                              C9                                              UX37                                                                                                                                                                           R12

                                                                                                                             C12          UX3                                                                                               C20RX63  Q2                                  J3                                                                 R11

                                                                       U6                                                                     C14                    C17                                         U1                                                                                                                                                                R27  R28                 GND
                                                                                                                                                                                                                 C18                                                                                                                                                            1
                                                           C41                                                                                                                                                                                                                                            AGND     CVT          LN6IN  LN4IN  LN2IN  LN0IN                                               1
                                                                                                                                                             C15                                                 C19
                                                           C42                                                                                      C13                                                                                                                                                                                                                S2                    S3    GND                           GND
                                                                                                                                                                                C16

                         Figure 5.  Connect Programming Cable and Power Supply

       NOTE: Never disconnect the programming cable by pulling on the ribbon cable.

       Carefully pull on the connector to remove it from the header.

Connect the other end of the programming cable to an available USB port on your PC or

workstation.

Your PC should recognize the new USB hardware, and the LEDs in the shrink-wrapped

area of the USB programming cable will flash — if you get an error message, you will

have to install USB drivers. Drivers for Windows XP are available in the Dynamic C

Drivers\Rabbit           USB        Programming                                                                                                           Cable\WinXP_2K folder — double-click

DPInst.exe to install the USB drivers. Drivers for other operating systems are available

online at www.ftdichip.com/Drivers/VCP.htm.

OEM User’s Manual                                                                                                                                                                                                                                                                                                                                                                                                                               13
2.2.5   Step 5 — Connect Power

Once all the other connections have been made, you can connect power to the Prototyping

Board.

If you have the universal AC adapter, prepare the AC adapter for the country where it will

be used by selecting the appropriate plug. Snap in the top of the plug assembly into the slot

at the top of the AC adapter as shown in Figure 5, then press down on the plug until it

clicks into place.

Connect the AC adapter to 3-pin header J1 on the Prototyping Board as shown in Figure 5

above. The connector may be attached either way as long as it is not offset to one side—

the center pin of J1 is always connected to the positive terminal, and either edge pin is

ground.

Plug in the AC adapter. The PWR LED on the Prototyping Board next to the power con-

nector at J1 should light up. The RCM4400W and the Prototyping Board are now ready to

be used.

         NOTE: A RESET button is provided on the Prototyping Board next to the battery holder

          to allow a hardware reset without disconnecting power.

To power down the Prototyping Board, unplug the power connector from J1. You should

disconnect power before making any circuit adjustments in the prototyping area, changing

any connections to the board, or removing the RCM4400W from the Prototyping Board.

14                                                                RabbitCore RCM4400W
2.3  Run a Sample Program

If you already have Dynamic C installed, you are now ready to test your programming

connections by running a sample program. Start Dynamic C by double-clicking on the

Dynamic C icon on your desktop or in your Start menu. Select Code and BIOS in Flash,

Run in RAM on the “Compiler” tab in the Dynamic C Options > Project Options menu.

Then click on the “Communications” tab and verify that Use USB to Serial Converter is

selected to support the USB programming cable. Click OK.

Determine which COM port was assigned to the USB programming cable on your PC.

Open Control Panel > System > Hardware > Device Manager > Ports and identify

which COM port is used for the USB connection. In Dynamic C, select Options > Project

Options, then select this COM port on the Communications tab, then click OK. You may

type the COM port number followed by Enter on your computer keyboard if the COM

port number is outside the range on the dropdown menu.

Now find the WIFISCAN.C sample program in the Dynamic C Samples\TCPIP\

WiFi folder, open it with the File menu, then compile and run the sample program by

pressing F9.

The Dynamic C STDIO window will display Starting          scan...., and will display a list

of access points/ad-hoc hosts as shown here.

The following fields are shown in the Dynamic C STDIO window.

•  Channel—the channel the access point is on (1–11).

•  Signal—the signal strength of the access point.

•  MAC—the hardware (MAC) address of access point.

•  Access Point SSID—the SSID the access point is using.

OEM User’s Manual                                                                            15
2.3.1  Troubleshooting

If you receive the message Could     Not  Open   Serial  Port, check that the COM port

assigned to the USB programming cable was identified and set up in Dynamic C as

described in the preceding section.

If you receive the message No  Rabbit     Processor      Detected, the programming

cable may be connected to the wrong COM port, a connection may be faulty, or the target

system may not be powered up. First, check to see that the power LED on the Prototyping

Board is lit. If the LED is lit, check both ends of the programming cable to ensure that it is

firmly plugged into the PC and the programming header on the RCM4400W with the

marked (colored) edge of the programming cable towards pin 1 of the programming

header. Ensure that the module is firmly and correctly installed in its connectors on the

Prototyping Board.

If Dynamic C appears to compile the BIOS successfully, but you then receive a communi-

cation error message when you compile and load a sample program, it is possible that your

PC cannot handle the higher program-loading baud rate. Try changing the maximum

download rate to a slower baud rate as follows.

•   Locate the Serial Options dialog on the “Communications” tab in the Dynamic C

    Options > Project Options menu. Select a slower Max download baud rate. Click OK

    to save.

If a program compiles and loads, but then loses target communication before you can

begin debugging, it is possible that your PC cannot handle the default debugging baud

rate. Try lowering the debugging baud rate as follows.

•   Locate the Serial Options dialog on the “Communications” tab in the Dynamic C

    Options > Project Options menu. Choose a lower debug baud rate. Click OK to save.

Press  to force Dynamic C to recompile the BIOS. You should receive a Bios

compiled      successfully message once this step is completed successfully.

16                                                       RabbitCore RCM4400W
2.4    Where Do I Go From Here?

If the sample program ran fine, you are now ready to go on to the sample programs in

Chapter 3 and to develop your own applications. The sample programs can be easily mod-

ified for your own use. The user's manual also provides complete hardware reference

information and software function calls for the RCM4400W series of modules and the

Prototyping Board.

For advanced development topics, refer to the Dynamic C User’s Manual, also in the

online documentation set.

2.4.1  Technical Support

       NOTE: If you purchased your RCM4400W through a distributor or through a Rabbit

       partner, contact the distributor or partner first for technical support.

If there are any problems at this point:

•  Use the Dynamic C Help menu to get further assistance with Dynamic C.

•  Check the Rabbit Technical Bulletin Board and forums at www.rabbit.com/support/bb/

   and at www.rabbitcom/forums/.

•  Use the Technical Support e-mail form at www.rabbit.com/support/.

OEM User’s Manual                                                                       17
18  RabbitCore RCM4400W
                   3.  RUNNING SAMPLE PROGRAMS

     To develop and debug programs for the RCM4400W (and for all

     other Rabbit hardware), you must install and use Dynamic C.

     This chapter provides a tour of its major features with respect to

     the RCM4400W.

3.1  Introduction

To help familiarize you with the RCM4400W modules, Dynamic C includes several sam-

ple programs. Loading, executing and studying these programs will give you a solid

hands-on overview of the RCM4400W’s capabilities, as well as a quick start with

Dynamic C as an application development tool.

This chapter provides sample programs that illustrate the digital I/O and serial capabilities

of the RCM4400W RabbitCore module. Section 6.2.4 discusses the sample programs that

illustrate the Wi-Fi features.

     NOTE: The sample programs assume that you have at least an elementary grasp of the C

     language. If you do not, see the introductory pages of the Dynamic C User’s Manual

     for a suggested reading list.

In order to run the sample programs discussed in this chapter and elsewhere in this manual,

1. Your module must be plugged in to the Prototyping Board as described in Chapter 2,

“Getting Started.”

2. Dynamic C must be installed and running on your PC.

3. The programming cable must connect the programming header on the module to your

PC.

4. Power must be applied to the module through the Prototyping Board.

Refer to Chapter 2, “Getting Started,” if you need further information on these steps.

To run a sample program, open it with the File menu, then compile and run it by pressing

F9.

Each sample program has comments that describe the purpose and function of the pro-

gram. Follow the instructions at the beginning of the sample program.

Complete information on Dynamic C is provided in the Dynamic C User’s Manual.

OEM User’s Manual                                                                              19
3.2  Sample Programs

Of the many sample programs included with Dynamic C, several are specific to the

RCM4400W modules. These programs will be found in the SAMPLES\RCM4400W folder.

•   CONTROLLED.C—Demonstrates use of the digital outputs by having you turn LEDs

    DS2 and DS3 on the Prototyping Board on or off from the STDIO window on your PC.

    Parallel Port B bit 2 = LED DS2

    Parallel Port B bit 3 = LED DS3

    Once you compile and run CONTROLLED.C, the following display will appear in the

    Dynamic C STDIO window.

    Press “2” or “3” on your keyboard to select LED DS2 or DS3 on the Prototyping

    Board. Then follow the prompt in the Dynamic C STDIO window to turn the LED ON

    or OFF. A logic low will light up the LED you selected.

•   FLASHLED1.C—demonstrates the use of assembly language to flash LEDs DS2 and

    DS3 on the Prototyping Board at different rates. Once you have compiled and run this

    program, LEDs DS2 and DS3 will flash on/off at different rates.

•   FLASHLED2.C—demonstrates the use of cofunctions and costatements to flash LEDs

    DS2 and DS3 on the Prototyping Board at different rates. Once you have compiled and

    run this program, LEDs DS2 and DS3 will flash on/off at different rates.

20                                                                   RabbitCore RCM4400W
•  TAMPERDETECTION.C—demonstrates how to detect an attempt to enter the bootstrap

   mode. When an attempt is detected, the battery-backed onchip-encryption RAM on the

   Rabbit 4000 is erased. This battery-backed onchip-encryption RAM can be useful to

   store data such as an AES encryption key from a remote location.

   This sample program shows how to load and read the battery-backed onchip-encryption

   RAM and how to enable a visual indicator.

   Once this sample is compiled and running (you pressed the F9 key while the sample

   program is open), remove the programming cable and press the reset button on the

   Prototyping Board to reset the module. LEDs DS2 and DS3 will be flashing on and off.

   Now press switch S2 to load the battery-backed RAM with the encryption key. The

   LEDs are now on continuously. Notice that the LEDs will stay on even when you press

   the reset button on the Prototyping Board.

   Reconnect the programming cable briefly and unplug it again to simulate an attempt to

   access the onchip-encryption RAM. The LEDs will be flashing because the battery-

   backed onchip-encryption RAM has been erased. Notice that the LEDs will continue

   flashing even when you press the reset button on the Prototyping Board.

   You may press switch S2 again and repeat the last steps to watch the LEDs.

•  TOGGLESWITCH.C—demonstrates the use of costatements to detect switch presses

   using the press-and-release method of debouncing. LEDs DS2 and DS3 on the Proto-

   typing Board are turned on and off when you press switches S2 and S3. S2 and S3 are

   controlled by PB4 and PB5 respectively.

Once you have loaded and executed these five programs and have an understanding of

how Dynamic C and the RCM4400W modules interact, you can move on and try the other

sample programs, or begin building your own.

OEM User’s Manual                                                                         21
3.2.1  Serial Communication

The following sample programs are found in the SAMPLES\RCM4400W\SERIAL folder.

•   FLOWCONTROL.C—This program demonstrates how to configure Serial Port D for

    CTS/RTS flow control with serial data coming from Serial Port C (TxC) at 115,200 bps.

    The serial data received are displayed in the STDIO window.

    To set up the Prototyping Board, you will need to tie TxD and RxD

    together on the RS-232 header at J4, and you will also tie TxC and         RxC   TxC

    RxC together using the jumpers supplied in the Development Kit as                              J4

    shown in the diagram.                                                      TxD   RxD GND

    A repeating triangular pattern should print out in the STDIO window.

    The program will periodically switch flow control on or off to demonstrate the effect of

    flow control.

    If you have two Prototyping Boards with modules, run this sample program on the

    sending board, then disconnect the programming cable and reset the sending board so

    that the module is operating in the Run mode. Connect TxC, TxD, and GND on the

    sending board to RxC, RxD, and GND on the other board, then, with the programming

    cable attached to the other module, run the sample program.

•   PARITY.C—This program demonstrates the use of parity modes by

    repeatedly sending byte values 0–127 from Serial Port C to Serial Port D.      RxC TxC

    The program will switch between generating parity or not on Serial                             J4

    Port C. Serial Port D will always be checking parity, so parity errors         TxD RxD    GND

    should occur during every other sequence.

    To set up the Prototyping Board, you will need to tie TxC and RxD together on the

    RS-232 header at J4 using one of the jumpers supplied in the Development Kit as

    shown in the diagram.

    The Dynamic C STDIO window will display the error sequence.

•   SERDMA.C—This program demonstrates using DMA to transfer data from a circular

    buffer to the serial port and vice versa. The Dynamic C STDIO window is used to view or

    clear the buffer.

    Before you compile and run the sample program, you

    will need to connect the RS-232 header at J4 to your PC

    as shown in the diagram using the serial to DB9 cable        Colored

    supplied in the Development Kit.                             edge

    Once you have compiled and run the sample program,

    start Tera Term or another terminal emulation program

    to connect to the selected PC serial port at a baud rate of

    115,200 bps. You can observe the output in the Dynamic C

    STDIO window as you type in Tera Term, and you can                              RxC  TxC

    also use the Dynamic C STDIO window to clear the                           J4

    buffer.                                                                         TxD  RxD  GND

    The Tera Term utility can be downloaded from

    hp.vector.co.jp/authors/VA002416/teraterm.html.

22                                                                          RabbitCore RCM4400W
•  SIMPLE3WIRE.C—This program demonstrates basic RS-232 serial

   communication. Lower case characters are sent on TxC, and are           RxC  TxC

   received by RxD. The received characters are converted to upper case                       J4

   and are sent out on TxD, are received on RxC, and are displayed in the  TxD  RxD GND

   Dynamic C STDIO window.

   To set up the Prototyping Board, you will need to tie TxD and RxC together on the

   RS-232 header at J4, and you will also tie RxD and TxC together using the jumpers

   supplied in the Development Kit as shown in the diagram.

•  SIMPLE5WIRE.C—This program demonstrates 5-wire RS-232 serial communication

   with flow control on Serial Port D and data flow on Serial Port C.

   To set up the Prototyping Board, you will need to tie TxD and RxD

   together on the RS-232 header at J4, and you will also tie TxC and      RxC  TxC

   RxC together using the jumpers supplied in the Development Kit as                          J4

   shown in the diagram.                                                   TxD  RxD GND

   Once you have compiled and run this program, you can test flow con-

   trol by disconnecting the TxD jumper from RxD while the program is running. Charac-

   ters will no longer appear in the STDIO window, and will display again once TxD is

   connected back to RxD.

   If you have two Prototyping Boards with modules, run this sample program on the

   sending board, then disconnect the programming cable and reset the sending board so

   that the module is operating in the Run mode. Connect TxC, TxD, and GND on the

   sending board to RxC, RxD, and GND on the other board, then, with the programming

   cable attached to the other module, run the sample program. Once you have compiled

   and run this program, you can test flow control by disconnecting TxD from RxD as

   before while the program is running. Since the J4 header locations on the two Prototyping

   Boards are connected with wires, there are no slip-on jumpers at J4 on either Prototyping

   Board.

•  SWITCHCHAR.C—This program demonstrates transmitting and then receiving an

   ASCII string on Serial Ports C and D. It also displays the serial data received from both

   ports in the STDIO window.

   To set up the Prototyping Board, you will need to tie TxD and RxC

   together on the RS-232 header at J4, and you will also tie RxD and      RxC  TxC

   TxC together using the jumpers supplied in the Development Kit as                          J4

   shown in the diagram.                                                   TxD  RxD GND

   Once you have compiled and run this program, press and release

   switches S2 and S3 on the Prototyping Board. The data sent between the serial ports

   will be displayed in the STDIO window.

OEM User’s Manual                                                                                 23
•   IOCONFIG_SWITCHECHO.C—This program demonstrates how to set up Serial Ports E

    and F, which then transmit and then receive an ASCII string when switch S2 or S3 is

    pressed. The echoed serial data are displayed in the Dynamic C STDIO window.

    Note that the I/O lines that carry the Serial Port E and F signals are not the Rabbit 4000

    defaults. The Serial Port E and F I/O lines are configured by calling the library function

    serEFconfig() that was generated by the Rabbit 4000 IOCONFIG.EXE utility program

    found in the Dynamic C Utilities folder.

    Note that the RCM4400W_IOCONFIG.LIB library generated by IOCONFIG.EXE to

    support this sample program is provided in the Dynamic C SAMPLES\RCM4400W\

    SERIAL folder.

    Serial Port E is configured to use Parallel Port D bits PD6 and PD7. These signals are

    available on the Prototyping Board's Module Extension Header (header J2).

    Serial Port F is configured to use Parallel Port C bits PC2 and PC3. These signals are

    available on the Prototyping Board's RS-232 connector (header J4).

    Serial Port D is left in its default configuration, using Parallel Port C bits PC0 and PC1.

    These signals are available on the Prototyping Board's RS-232 connector (header J4).

    Serial Port D transmits and then receives an ASCII string with Serial Port F when

    switch S3 is pressed.

    To set up the Prototyping Board, you will need to tie TxC                J2

    and RxD together on the RS-232 header at J4 using the      +3.3 V            GND

    jumpers supplied in the Development Kit; you will also     /RST_OUT          /IORD

    tie TxE (PD6) and RxE (PD7) together with a soldered                PE5      PE6           J4

    wire or with a wire jumper if you have soldered in the              PE7      PD0/LN0  TxD      RxC

                                                               PD1/LN1           PD2/LN2  RxD      TxC

    IDC header supplied with the accessory parts in the        PD3/LN3           PD4/LN4

                                                               PD5/LN5           PD6/LN6  GND

    Development Kit.                                           PD7/LN7           CVT

                                                               VREF              AGND

    Once you have compiled and run this program, press and

    release switches S2 or S3 on the Prototyping Board. The data echoed between the serial

    ports will be displayed in the STDIO window.

24                                                                           RabbitCore RCM4400W
3.2.2  Real-Time Clock

If you plan to use the real-time clock functionality in your application, you will need to set

the real-time clock. Use the SETRTCKB.C sample program from the Dynamic C

SAMPLES\RTCLOCK folder, and follow the onscreen prompts. The RTC_TEST.C sample

program in the Dynamic C SAMPLES\RTCLOCK folder provides additional examples of

how to read and set the real-time clock.

3.2.3  Use of Serial Flash (Dynamic C v. 10.54 and later)

The following sample programs from the SAMPLES\RCM4400W\Serial_Flash folder may

be used with the RCM4400W as long as you are using Dynamic C v. 10.54 or later.

•  SERIAL_FLASHLOG.C—This program runs a simple Web server and stores a log of

   hits on the home page of the serial flash “server.” This log can be viewed and cleared

   from a browser at http://10.10.6.100/. You will likely have to first “configure” your net-

   work interface card for a “10Base-T Half-Duplex,” “100Base-T Half-Duplex,” or an

   “Auto-Negotiation” connection on the “Advanced” tab, which is accessed from the

   control panel (Start > Settings > Control Panel) by choosing Network

   Connections.

       NOTE: This sample program accesses the serial flash directly and may overwrite other

       data stored in the ustomer-accessible 800KB area, including the FAT file system. Do

       not run this sample program if you have any important data on the serial flash device.

•  SFLASH_INSPECT.C—This program is a handy utility for inspecting the contents of a

   serial flash chip. When the sample program starts running, it attempts to initialize a

   serial flash chip on Serial Port B. Once a serial flash chip is found, the user can perform

   five different commands to print out the contents of a specified page, set all bytes on

   the specified page to a single random value, clear (set to zero) all the bytes in a speci-

   fied page, set all bytes on the specified page to a given value, or save user-specified text

   to a selected page.

OEM User’s Manual                                                                                25
26  RabbitCore RCM4400W
                           4.   HARDWARE REFERENCE

Chapter 4 describes the hardware components and principal hardware

subsystems of the RCM4400W. Appendix A, “RCM4400W Specifica-

tions,” provides complete physical and electrical specifications.

Figure 6 shows the Rabbit-based subsystems designed into the RCM4400W.

Wi-Fi              32 kHz  58.98 MHz

                   osc     osc                       Customer-specific

                                                          applications

Serial             RABBIT ®

Flash                                 CMOS-level signals

SRAM               4000                                   Level

                                                          converter

Fast

SRAM               Program                           RS-232, RS-485

                   Flash                             serial communication

                                                     drivers on motherboard

RabbitCore Module

                   Figure 6.   RCM4400W Subsystems

The 58.98 MHz frequency shown for the RCM4400W is generated using a 29.49 MHz

crystal with the Rabbit 4000 clock doubler enabled.

OEM User’s Manual                                                              27
4.1  RCM4400W Digital Inputs and Outputs

Figure 7 shows the RCM4400W pinouts for header J1.

                   J1

     +3.3 V_IN         GND

     /RESET_OUT        /IORD

     /IOWR             /RESET_IN

     VBAT_EXT          PA0

     PA1               PA2

     PA3               PA4

     PA5               PA6

     PA7               PB0/SCLK

     PB1               PB2

     PB3               PB4

     PB5               PB6

     PB7               PC0

     PC1               PC2

     PC3               PC4/SDATA_OUT

     PC5/SDATA_IN      PC6

     PC7               PE0_OUT

     PE1               PE2

     PE3               PE4

     PE5/SMODE0*       PE6/SMODE1*

     PE7/STATUS        PD0

     PD1               PD2

     PD3               PD4

     PD5               PD6

     PD7               n.c.

     n.c.              GND

     * These pins are normally n.c.

     n.c. = not connected

     Note: These pinouts are as seen on

     the Bottom Side of the module.

     Figure 7.     RCM4400W Pinout

Headers J1 is a standard 2 × 25 IDC header with a nominal 1.27  mm  pitch.

28                                                                  RabbitCore  RCM4400W
Figure 8 shows the use of the Rabbit 4000 microprocessor ports in the RCM4400W

modules.

                      PA0–PA7               PB0              PD0–PD7

                                            PB2–PB7

                      Port A                Port B           Port D

          PC0, PC2    Port C                RABBIT®          Port E          PE0–PE4

          PC1, PC3    (Serial Ports C & D)                                   PE7

                                            4000

                      Serial Ports E & F

                                            Real-Time Clock                  /RES_IN

PB1, PC6, STATUS      Programming                            Misc. I/O

          PC7, /RES,  Port                  Watchdog

SMODE0, SMODE1        (Serial Port A)       11 Timers                        /RESET_OUT

PB0, PC4, RxD+        Wi-Fi*                Slave Port                       /IORD

                      (Serial Port B)                                        /IOWR

PC5, TxDD–                                  Clock Doubler

                      RAM                   Backup Battery            Flash

* PE5 and PE6 may be                        Support

used with Wi-Fi FPGA

                      Figure 8.             Use of Rabbit 4000 Ports

The ports on the Rabbit 4000 microprocessor used in the RCM4400W are configurable,

and so the factory defaults can be reconfigured. Table 2 lists the Rabbit 4000 factory

defaults and the alternate configurations.

OEM User’s Manual                                                                        29
                            Table  2.  RCM4400W     Pinout Configurations

           Pin   Pin Name              Default Use       Alternate Use           Notes

           1     +3.3 V_IN

           2     GND

                                                                           Reset output from Reset

           3     /RES_OUT          Reset output     Reset input            Generator or external

                                                                           reset input

           4     /IORD             Output                                  External I/O read strobe

           5     /IOWR             Output                                  External I/O write strobe

           6     /RESET_IN         Input                                   Input to Reset Generator

           7     VBAT_EXT          Battery input

                                                    Slave port data bus

           8–15  PA[0:7]           Input/Output     (SD0–SD7)

                                                    External I/O data bus

                                                    (ID0–ID7)

                                                    SCLK                   SCLKB (shared with

           16    PB0               Input/Output     External I/O Address   serial flash)

                                                    IA6

Header J1                                           SCLKA                  Programming port

           17    PB1               Input/Output     External I/O Address   CLKA

                                                    IA7

                                                    /SWR

           18    PB2               Input/Output     External I/O Address

                                                    IA0

                                                    /SRD

           19    PB3               Input/Output     External I/O Address

                                                    IA1

                                                    SA0

           20    PB4               Input/Output     External I/O Address

                                                    IA2

                                                    SA1

           21    PB5               Input/Output     External I/O Address

                                                    IA3

                                                    /SCS

           22    PB6               Input/Output     External I/O Address

                                                    IA4

                                                    /SLAVATN

           23    PB7               Input/Output     External I/O Address

                                                    IA5

30                                                                         RabbitCore RCM4400W
                Table 2.  RCM4400W Pinout  Configurations (continued)

           Pin  Pin Name  Default Use           Alternate Use          Notes

                                           TXD

           24   PC0       Input/Output     I/O Strobe I0

                                           Timer C0

                                           TCLKF

                                           RXD/TXD             Serial Port D

                                           I/O Strobe I1

           25   PC1       Input/Output     Timer C1

                                           RCLKF

                                           Input Capture

                                           TXC/TXF

           26   PC2       Input/Output     I/O Strobe I2

                                           Timer C2

                                           RXC/TXC/RXF         Serial Port C

                                           I/O Strobe I3

           27   PC3       Input/Output     Timer C3

                                           SCLKD

                                           Input Capture

                                           TXB

Header J1  28   PC4       Input/Output     I/O Strobe I4

                                           PWM0

                                           TCLKE

                                                               Serial Port B (shared

                                           RXB/TXB             with serial flash)

                                           I/O Strobe I5

           29   PC5       Input/Output     PWM1

                                           RCLKE

                                           Input Capture

                                           TXA/TXE

           30   PC6       Input/Output     I/O Strobe I6

                                           PWM2

                                           RXA/TXA/RXE         Programming port

                                           I/O Strobe I7

           31   PC7       Input/Output     PWM3

                                           SCLKC

                                           Input Capture

                                           I/O Strobe I0

                                           A20

           32   PE0       Input/Output     Timer C0

                                           TCLKF

                                           INT0

                                           QRD1B

OEM User’s      Manual                                                                31
                Table 2.     RCM4400W Pinout  Configurations (continued)

           Pin  Pin Name        Default Use        Alternate Use          Notes

                                              I/O Strobe I1

                                              A21

                                              Timer C1

           33   PE1             Input/Output  RXD/RCLKF

                                              INT1

                                              QRD1A

                                              Input Capture

                                              I/O Strobe I2

                                              A22

           34   PE2             Input/Output  Timer C2

                                              TXF

                                              DREQ0

                                              QRD2B

                                              I/O Strobe I3

                                              A23

                                              Timer C3

           35   PE3             Input/Output  RXC/RXF/SCLKD

                                              DREQ1

Header J1                                     QRD2A

                                              Input Capture

                                              I/O Strobe I4

                                              /A0

           36   PE4             Input/Output  INT0

                                              PWM0

                                              TCLKE

                                              I/O Strobe I5

                FPGA Interrupt                INT1

           37   Output/PE5/     Input/Output  PWM1                Not connected

                SMODE0                        RXB/RCLKE

                                              Input Capture

                                              I/O Strobe I6

                FPGA Chip                     PWM2

           38   Select/PE6/     Input/Output  TXE                 Not connected

                SMODE1

                                              DREQ0

                                              I/O Strobe I7

                                              PWM3                PE7 is the default

           39   PE7/STATUS      Input/Output  RXA/RXE/SCLKC       configuration

                                              DREQ1

                                              Input Capture

32                                                                RabbitCore RCM4400W
                Table 2.  RCM4400W Pinout  Configurations (continued)

           Pin  Pin Name  Default Use           Alternate Use          Notes

                                           I/O Strobe I0

                                           Timer C0

           40   PD0       Input/Output     D8

                                           INT0

                                           SCLKD/TCLKF

                                           QRD1B

                                           IA6

                                           I/O Strobe I1

                                           Timer C1

           41   PD1       Input/Output     D9

                                           INT1

                                           RXD/RCLKF

                                           QRD1A

                                           Input Capture

                                           I/O Strobe I2

                                           Timer C2

           42   PD2       Input/Output     D10

Header J1                                  DREQ0

                                           TXF/SCLKC

                                           QRD2B

                                           IA7

                                           I/O Strobe I3

                                           Timer C3

           43   PD3       Input/Output     D11

                                           DREQ1

                                           RXC/RXF

                                           QRD2A

                                           Input Capture

                                           I/O Strobe I4

           44   PD4       Input/Output     D12

                                           PWM0

                                           TXB/TCLKE

                                           IA6

                                           I/O Strobe I5

           45   PD5       Input/Output     D13

                                           PWM1

                                           RXB/RCLKE

                                           Input Capture

OEM User’s Manual                                                             33
                Table 2.       RCM4400W Pinout  Configurations (continued)

           Pin  Pin Name       Default Use           Alternate Use          Notes

                                                I/O Strobe I6

           46   PD6            Input/Output     D14

                                                PWM2

                                                TXA/TXE

                                                IA7                 Serial Port E

Header J1                                       I/O Strobe I7

           47   PD7            Input/Output     D15

                                                PWM3

                                                RXA/RXE

                                                Input Capture

           48   Not Connected

           49   Not Connected

           50   GND

34                                                                  RabbitCore RCM4400W
4.1.1  Memory I/O Interface

The Rabbit 4000 address lines (A0–A19) and all the data lines (D0–D7) are routed inter-

nally to the onboard flash memory and SRAM chips. I/0 write (/IOWR) and I/0 read (/

IORD) are available for interfacing to external devices, and are also used by the

RCM4400W.

Parallel Port A can also be used as an external I/O data bus to isolate external I/O from the

main data bus. Parallel Port B pins PB2–PB7 can also be used as an auxiliary address bus.

When using the auxiliary I/O bus for any reason, you must add the following line at the

beginning of your program.

       #define  PORTA_AUX_IO  //  required  to  enable  auxiliary  I/O  bus

Selected pins on Parallel Ports D and E as specified in Table 2 may be used for input

capture, quadrature decoder, DMA, and pulse-width modulator purposes.

4.1.2  Other Inputs and Outputs

The STATUS pin can be brought out to header J1 instead of the PE7 pin as explained in

Appendix A.6.

/RESET_IN is normally associated with the programming port, but may be used as an

external input to reset the Rabbit 4000 microprocessor and the RCM4400W memory.

/RESET_OUT is an output from the reset circuitry that can be used to reset other

peripheral devices.

OEM User’s Manual                                                                              35
4.2    Serial Communication

The RCM4400W module does not have any serial driver or receiver chips directly on the

board. However, a serial interface may be incorporated on the board the RCM4400W is

mounted on. For example, the Prototyping Board has an RS-232 transceiver chip.

4.2.1   Serial Ports

There are six serial ports designated as Serial Ports A, B, C, D, E, and F. All six serial

ports can operate in an asynchronous mode up to the baud rate of the system clock divided

by 8. An asynchronous port can handle 7 or 8 data bits. A 9th bit address scheme, where

an additional bit is sent to mark the first byte of a message, is also supported.

Serial Port A is normally used as a programming port, but may be used either as an asyn-

chronous or as a clocked serial port once application development has been completed and

the RCM4400W is operating in the Run Mode.

Serial Port B is shared with the serial flash, and is set up as a clocked serial port. PB0

provides the SCLKB output to the serial flash. Note that the serial flash is used to support

the FPGA chip in the Wi-Fi circuit, and is not available for customer use.

Serial Ports C and D can also be operated in the clocked serial mode. In this mode, a clock

line synchronously clocks the data in or out. Either of the two communicating devices can

supply the clock. Note that PD2 and PD0 provide the SCLKC and SCLKD outputs auto-

matically when Serial Ports C and D are set up as clocked serial ports.

Serial Ports E and F can also be configured as SDLC/HDLC serial ports. The IrDA proto-

col is also supported in SDLC format by these two ports. Serial Ports E and F must be con-

figured before they can be used. The sample program IOCONFIG_SWITCHECHO.C in the

Dynamic C SAMPLES\RCM4400W\SERIAL folder shows how to configure Serial Ports E

and F.

36                                                                       RabbitCore RCM4400W
Table 3 summarizes the possible parallel port pins for the serial ports and their clocks.

                   Table  3.  Rabbit 4000 Serial Port and Clock Pins

                   TXA    PC6, PC7, PD6                      TXE      PD6, PE6, PC6

Serial  Port  A    RXA    PC7, PD7, PE7                      RXE      PD7, PE7, PC7

                                              Serial Port E

                 SCLKA    PB1                                RCLKE    PD5, PE5, PC5

                   TXB    PC4, PC5, PD4                      TCLKE    PD4, PE4, PC4

Serial  Port  B    RXB    PC5, PD5, PE5                      TXF      PD2, PE2, PC2

                 SCLKB    PB0                                RXF      PD3, PE3, PC3

                                              Serial Port F

                   TXC    PC2, PC3                           RCLKF    PD1, PE1, PC1

Serial  Port  C    RXC    PC3, PD3, PE3                      TCLKF    PD0, PE0, PC0

                 SCLKC    PD2, PE2, PE7, PC7

                   TXD    PC0, PC1            RCLKE and RCLKF must be selected to be on the

Serial  Port  D    RXD    PC1, PD1, PE1       same parallel port as TXE and TXF respectively.

                 SCLKD    PD0, PE0, PE3, PC3

4.2.1.1  Using the Serial Ports

The receive lines on the RCM4400W serial ports do not have pull-up resistors. If you are

using the serial ports without a receiver chip (for example, for RS-422, RS-232, or RS-485

serial communication), the absence of a pull-up resistor on the receive line will likely lead

to line breaks being generated since line breaks are normally generated whenever the

receive line is pulled low. If you are operating a serial port asynchronously, you can inhibit

character assembly during breaks by setting bit 1 in the corresponding Serial Port

Extended Register to 1. Should you need line breaks, you will have to either add a pull-up

resistor on your motherboard or use a receiver that incorporates the circuits to have the

output default to the nonbreak levels.

The Dynamic C RS232.LIB library requires you to define the macro RS232_

NOCHARASSYINBRK to inhibit break-character assembly for all the serial ports.

        #define  RS232_NOCHARASSYINBRK

This macro is already defined so that it is the default behavior for the sample programs in

the Dynamic C SAMPLES\RCM4400W\SERIAL folder.

OEM User’s Manual                                                                               37
4.2.2   Wi-Fi

Figure  9 shows  a  functional  block diagram  for the Wi-Fi  circuits.

                    U17

                    Serial

                    Flash                                                               J3

                                       U24                    U21        U22

                    U14                ADC     U20

                    FPGA                       UW2453                    Antenna        J4

                                               XCVR                      Switch

                                       U18                    U23

                                       DAC

                            Figure 9.  RCM4400W Wi-Fi Block Diagram

The Wi-Fi transmission is controlled by the onboard FPGA chip at U14. The primary

functions of this FPGA are to implement the 802.11b baseband Media Access Control

(MAC) functionality, and to control the 802.11b integrated UBEC UW2453 transceiver.

The serial flash programs the FPGA automatically whenever power is applied. Once con-

figured, the FPGA performs all of the 802.11b data encoding and decoding, radio configu-

ration, and radio control functions.

The data interface between the FPGA and the UBEC UW2453 based 802.11b radio section

consists of a D/A converter and an A/D converter. Both devices convert “I” and “Q” data

samples at a rate of 40 MHz.

The UBEC UW2453 is a single-chip transceiver with integrated power amplifier for the

2.4 GHz Industrial, Scientific, and Medical (ISM) band. It is configured and controlled by

the FPGA via a 3-wire serial data bus. The UW2453 contains the entire receiver, transmit-

ter, VCO, PLL, and power amplifier necessary to implement an 802.11b radio.

The UW2453 can transmit and receive data at up to 11MBits/s in the 802.11b mode. It

supports 802.11b channels 1–13 (2.401 GHz to 2.472 GHz). The data modulate the chan-

nel carrier in such a way so as to produce a spread spectrum signal within the 22 MHz

channel bandwidth of the selected channel. The channel numbers and associated frequen-

cies are listed below in Table 4.

The Wi-Fi channels have a certain amount of overlap with each other. The further apart

two channel numbers are, the less the likelihood of interference. If you encounter interfer-

ence with a neighboring WLAN, change to a different channel. For example, use channels

1, 6, and 11 to minimize any overlap.

38                                                                       RabbitCore RCM4400W
                        Table 4.  Wi-Fi Channel Allocations

   Channel              Center Frequency  Frequency Spread

                                  (GHz)                          (GHz)

                   1              2.412   2.401–2.423

                   2              2.417   2.406–2.428

                   3              2.422   2.411–2.433

                   4              2.427   2.416–2.438

                   5              2.432   2.421–2.443

                   6              2.437   2.426–2.448

                   7              2.442   2.431–2.453

                   8              2.447   2.436–2.458

                   9              2.452   2.441–2.463

                   10             2.457   2.446–2.468

                   11             2.462   2.451–2.473

                   12*            2.467   2.456–2.478

                   13*            2.472   2.461–2.483

                   14             2.484   2.473–2.495

   (not used)

*  These channels are disabled for units delivered for sale in the United

   States and Canada.

Many countries specify the channel range and power limits for Wi-Fi devices operated

within their borders, and these limits are set automatically in the RCM4400W in firmware

according to the country or region. For example, only channels 1–11 are authorized for use

in the United States or Canada, and so channels 12 and 13 are disabled. See Section 6.2.4.1

for additional information and sample programs demonstrating how to configure an end

device to meet the regulatory channel range and power limit requirements. Table 5 pro-

vides additional information on which channels are allowed in selected countries. Any

attempt to operate a device outside the allowed channel range or power limits will void

your regulatory approval to operate the device in that country.

U21 and U23 are bandpass filters to reduce the transmit and receive sideband noise levels.

The same antenna is used to transmit and receive the 802.11b RF signal. An antenna

switch isolates the high-power RF Tx signal path from the RF Rx signal path. The antenna

switch works by alternately connecting the antennas to either the UW2453 Tx output or to

the UW2453 Rx input. In order to support this antenna-sharing scheme, the RCM4400W

module operates the radio in a half-duplex mode so that receive and transmit operations

never occur at the same time The chip at U22 switches the receive/transmit functionality

between the outputs at J3 and J4 (not stuffed) so that J3 is transmitting while J4 would be

receiving and vice versa. Dynamic C does not support a J4 output.

OEM User’s Manual                                                                            39
There are two LEDs close to the RP-SMA antenna connector at J3, a green LED at DS1

(LINK) to indicate association with the Wi-Fi access point, and a yellow LED at DS2

(ACT) to indicate activity.

An RG316 coaxial cable may be used to extend the antenna up to 30 cm (1 ft). This coaxial

cable has an impedance of 50 Ω and experiences 1.65 dB/m signal loss at 2.4 GHz.

4.2.3  Programming Port

The RCM4400W is programmed via the 10-pin header labeled J2. The programming port

uses the Rabbit 4000’s Serial Port A for communication. Dynamic C uses the programming

port to download and debug programs.

Serial Port A is also used for the following operations.

•   Cold-boot the Rabbit 4000 on the RCM4400W after a reset.

•   Fast copy designated portions of flash memory from one Rabbit-based board (the

    master) to another (the slave) using the Rabbit Cloning Board.

Alternate Uses of the Programming Port

All three Serial Port A signals are available as

•   a synchronous serial port

•   an asynchronous serial port, with the clock line usable as a general CMOS I/O pin

The programming port may also be used as a serial port via the DIAG connector on the

programming cable.

In addition to Serial Port A, the Rabbit 4000 startup-mode (SMODE0, SMODE1),

STATUS, and reset pins are available on the programming port.

The two startup-mode pins determine what happens after a reset—the Rabbit 4000 is

either cold-booted or the program begins executing at address 0x0000.

The status pin is used by Dynamic C to determine whether a Rabbit microprocessor is

present. The status output has three different programmable functions:

1. It can be driven low on the first op code fetch cycle.

2. It can be driven low during an interrupt acknowledge cycle.

3. It can also serve as a general-purpose output once a program has been downloaded and

    is running.

The reset pin is an external input that is used to reset the Rabbit 4000.

Refer to the Rabbit 4000 Microprocessor User’s Manual for more information.

40                                                                         RabbitCore RCM4400W
4.3    Programming Cable

The programming cable is used to connect the programming port (header J2) of the

RCM4400W to a PC serial COM port. The programming cable converts the RS-232 volt-

age levels used by the PC serial port to the CMOS voltage levels used by the Rabbit 4000.

When the PROG connector on the programming cable is connected to the RCM4400W

programming port, programs can be downloaded and debugged over the serial interface.

The DIAG connector of the programming cable may be used on header J2 of the

RCM4400W with the RCM4400W operating in the Run Mode. This allows the program-

ming port to be used as a regular serial port.

4.3.1  Changing Between Program Mode and Run Mode

The RCM4400W is automatically in Program Mode when the PROG connector on the

programming cable is attached, and is automatically in Run Mode when no programming

cable is attached. When the Rabbit 4000 is reset, the operating mode is determined by the

status of the SMODE pins. When the programming cable’s PROG connector is attached,

the SMODE pins are pulled high, placing the Rabbit 4000 in the Program Mode. When the

programming cable’s PROG connector is not attached, the SMODE pins are pulled low,

causing the Rabbit 4000 to operate in the Run Mode.

             RESET RCM4400W when changing mode:

             Press RESET button (if using Prototyping Board), OR

             Cycle power off/on

             after removing or attaching programming cable.

                                     3-pin

                           power connector

                           Programming                                                                                                                                                                                                                        J1                                                                                                             RESET

                                 Cable                                                                                                                                 PWR

                                                                                                                                                                       R1                                                                               J1

                                                                                                                                                                                                                                                                   U1

                                                                                                                                                                                       DS1

                                     Colored                                                                                                                                                                                                        C1                                                 R2                                                                 1

                                                                                                                                                                                                                                                  GND                                                                                                                                     S1

                                                                                     D1                                                                                                 GND

                                        edge                                                                                                                                                                                       C2                                                                                                                               BT1                   RESET                                     RXC

                                                                                                                                                                                                                                                                   JP1                                                                            UX47              UX49             UX4                       RXD TXD

             port                                                                                                                   C5                 DIAG                                                                                                             C3            C4   +3.3 V                                                                                                                                   TXC

                                                                                                                                                                  L1C6                                                                              D2                                             J2

                                                                                                                                                                                                                                                                            JP2                                        +5 V                                                                                    GND

                                                                                                                                                                                                                                                                                                       GND                                                                                                                          UX29 J4

                                                  J4                                                                                                                                                                                     R14            C89                                                            GND

                                                                                                                                      U3                                  C33           IC ID: 7143A–540D144  FCC ID: VCB–540D144                                       /RST_OUT                       /IORD

                                                                                                                          C30                                                                                                                           RCM1                                                           +3.3 V                                                                   RX81

             PC USB                                                                                                                                                                                                                                           J2                 /IOWR                 /RST_IN

                                                                                                                                                                                                                                                                         2

                                                                                                                                                                                                                                                                                 VBAT                  PA0                                                                                                              RX87
       To                                                                                                                                                                                                                                                                             EXT
                                                                         S1                                               C29                                C31  C32                                                                    U2                        PROG
                                                                                                                                                                                                                                         R18
                                        J3                                                                                                                                                                                                                                            PA1              PA2

                                                              C125                 C132 C124                                        U21                                                                                                                                      R19      PA3              PA4                                                                                                                    CX41

                                                                                     U22               U23                                                                           JP16                                                     R21            R22                                                                                                                          RX83

                                                                                                                                                       C18             C17             JP6                                                                                            PA5              PA6

                                                                                     C126                      RCM4400W         C119C20C122                                            JP5                                                     JP2           JP3

                                                                                                               T1                          U3                                          JP12                                                                                           PA7              PB0

                                                        C127        C131                                                                         C123                                  JP4                                                                                   JP1

                                                                                     R67   C161  C160L12            L11   L10                                                          JP3                                                                                                                                                                                                                                    CX39

                                                                                                                          RC1A9BBIT ®C121                                              JP14                                                                                           PB1              PB2

                                                                     R71 C106                                             C120                   C154                                  JP8
                                                                                                                                                                                C16 JP7
                                                                                                       C129         C128  C116             C155                                                                                                                                       PB3              PB4                                                                                      RX11                                UX30
                                                                                                                                                                                     JP18
                                                        C112
                                        LINK      DS1                          C107C134                                                               C158                             JP9

                                                                                                                                                                  SHIELD  RF         JP10                                                                                             PB5              PB6

                                                        L3                                                                                       C117

                                                              C114                                                                                        L9                 R25                                                                                                      PB7              PC0

                                                              L8                                                                                 C115                                                                                                                                                                                                                                           UX45

                                        ACT       DS2         C111                                                                               C15   C168                     R26                                                                                                   PC1              PC2

                                                              L4

                                                                     L6                                                                    U20   R59  Q1                                      C150                                          R70                                       PC3              PC4                                                                                                                    UX10

                                                                                     C108  R54   R53      R52  R51                                                                                                                                                                    PC5              PC6

                                                                                                                          R62                                                                                 D2                   C149     R27

                                                                                                                                                                  C1R4289               JP11                  JP15  JP19                 JP21           C169                          PC7              PE0                                                                                               CX17

                                                  C141        C141                                           R64          C135                                               U24                                                                  JP22  JP20       JP17          C34                                                                                                      RX67

                                            C139  C140                                                                                                                            C146                                                      R1                               JP13     PE1              PE2                                                                                                                    UX12

                                                                                                                    C136                                                                L17                   R60                              U4                                     PE3              PE4

                                                                                                                                                                                R20     C147
                                                                                                                                                                                        R18                   R16                  R14        R13   R15       R17            R19
                                                  L14
                                                                                                               C163                                                                L13                                                   C35                                          PE5              PE6
                                                                                                                                                                                R10
                                                                                                                                                                                                                    R61                                                      R9
                                                                                                                                                                                        R8                    R6                   R4       JP4R3   R5        R7
                                                                                              RX43 C143   U18                                                                     C145                                                                  C36                           PE7              PD0
                                                                                                                                                                                                                                                                                                       LN0
                                                        L16                                                                                                            C142                                                                                        C51
                                                                                                                     C145                                                                                                                                                             PD1              PD2
                                                                    C137                   C138                                           C11 C144                           C2                                                                         Y1
                     PROG                    C46                                                                                                              C4                        C14                   C5    C1             C3    C8       C7    C9         C11                LN1              LN2
                                                                               RX47                                                 C7                                                                        C12     C10                                               C13
                                                                                                               R41                        C10                             JP24   JP23                         C6                                                                 1                                                                                                        RX85
                                                                                                                                                                                                                                                                                      PD3              PD4
                                                              Q1 Y2                                                 C8                                                                                                                                                                                 LN4                                                                                                                    UX14
                                                                                                                                                                                                                                                                                      LN3
                                 J2
                                             R2                                                                                                                                                                                          C27  C28                  C54                PD5              PD6
                                                                                                                                                                                                                                                                                                       LN6
                                                                                     R10RXC9572                C50                                                                                                                 RX59                            R12                LN5                                                                     RX75

                                                                                                                                    RX49                     RX55                       RX57                                                                            R9            PD7              CVT                                                          RX73     CX27                        CX29

                                                                                     R20 U13                              U12       UX33                                  UX41                                                                          U11  RX61                     LN7

                                                                                                                                                                                                                                         C21                            C49 VREF                       AGND            AGND

                                                                                                R17            R13                  UX31                                  UX42                                                                               U10                                                                                              CX25        CX23 RX77             RX79
                                                                                                                                                                                                                                                                                                                                                                             DS3
                                                                                                                          RX89                                                                                                                               R8                                        VREF     LN7IN        LN5IN  LN3IN  LN1IN  AGND        DS2

                                                                                     R16         R15                                                                                                                                                         RX65                                                                                             JP25  R23   R21        R22  R24                                 UX16

                                                                    C55  C53                                              C9                                              UX37                                                                                                                                                                           R12

                                                                                                                          C12          UX3                                                                                               C20RX63  Q2                                  J3                                                                 R11

                                                                    U6                                                                     C14                    C17                                         U1                                                                                                                                                                R27  R28                 GND
                                                                                                                                                                                                              C18                                                                                                                                                            1
                                                        C41                                                                                                                                                                                                                                            AGND     CVT          LN6IN  LN4IN  LN2IN  LN0IN                                               1
                                                                                                                                                          C15                                                 C19
                                                        C42                                                                                      C13                                                                                                                                                                                                                S2                    S3    GND                           GND
                                                                                                                                                                             C16

                     Figure 10.  Switching Between Program Mode                                                                                                                                                                                                                                                                                          and Run Mode

OEM  User’s  Manual                                                                                                                                                                                                                                                                                                                                                                                                                          41
A program “runs” in either mode, but can only be downloaded and debugged when the

RCM4400W is in the Program Mode.

Refer to the Rabbit 4000 Microprocessor User’s Manual for more information on the pro-

gramming port.

4.3.2  Standalone Operation of the RCM4400W

Once the RCM4400W has been programmed successfully, remove the programming cable

from the programming connector and reset the RCM4400W. The RCM4400W may be

reset by cycling, the power off/on or by pressing the RESET button on the Prototyping

Board. The RCM4400W module may now be removed from the Prototyping Board for

end-use installation.

       CAUTION: Power to the Prototyping Board or other boards should be disconnected

       when removing or installing your RCM4400W module to protect against inadvertent

       shorts across the pins or damage to the RCM4400W if the pins are not plugged in cor-

       rectly. Do not reapply power until you have verified that the RCM4400W module is

       plugged in correctly.

42                                           RabbitCore RCM4400W
4.4    Other Hardware

4.4.1  Clock Doubler

The RCM4400W takes advantage of the Rabbit 4000 microprocessor’s internal clock

doubler. A built-in clock doubler allows half-frequency crystals to be used to reduce

radiated emissions. The 58.98 MHz frequency specified for the RCM4400W is generated

using a 29.49 MHz crystal.

The clock doubler should not be disabled since Wi-Fi operations depend highly on CPU

resources.

4.4.2  Spectrum Spreader

The Rabbit 4000 features a spectrum spreader, which helps to mitigate EMI problems. The

spectrum spreader is on by default, but it may also be turned off or set to a stronger setting.

The spectrum spreader settings may be changed through a simple configuration macro as

shown below.

1.  Select the “Defines” tab from the Dynamic C Options > Project Options menu.

2.  Normal spreading is the default, and usually no entry is needed. If you need to specify

    normal spreading, add the line

       ENABLE_SPREADER=1

    For strong spreading, add the line

       ENABLE_SPREADER=2

    To disable the spectrum spreader, add the line

       ENABLE_SPREADER=0

       NOTE: The strong spectrum-spreading setting is not recommended since it may limit

            the maximum clock speed or the maximum baud rate. It is unlikely that the strong

            setting will be needed in a real application.

3.  Click OK to save the macro. The spectrum spreader will now remain off whenever you

    are in the project file where you defined the macro.

       NOTE: Refer to the Rabbit 4000 Microprocessor User’s Manual for more information

            on the spectrum-spreading setting and the maximum clock speed.

OEM User’s Manual                                                                                43
4.5    Memory

4.5.1  SRAM

All RCM4400W modules have 512KB of battery-backed data SRAM installed at U6, and

512KB of fast SRAM are installed at U7.

4.5.2  Flash EPROM

All RCM4400W modules also have 512KB of flash EPROM installed at U5.

       NOTE: Rabbit recommends that any customer applications should not be constrained by

       the sector size of the flash EPROM since it may be necessary to change the sector size

       in the future.

Writing to arbitrary flash memory addresses at run time is discouraged. Instead, define a

“user block” area to store persistent data. The functions writeUserBlock and

readUserBlock are provided for this. Refer to the Rabbit 4000 Microprocessor

Designer’s Handbook for additional information.

4.5.3  Serial Flash

The 1MB serial flash memory on the RCM4400W is used to bootstrap the FPGA for the

Wi-Fi circuits, and was not available for customer use. Starting with Dynamic C v. 10.54,

it is possible to access 800KB of the serial flash for customer use as long as your applica-

tion does not try to access the serial flash during the first call to sock_init().

44                                               RabbitCore RCM4400W
                   5.      SOFTWARE REFERENCE

     Dynamic C is an integrated development system for writing

     embedded software. It runs on an IBM-compatible PC and is

     designed for use with single-board computers and other devices

     based on the Rabbit microprocessor. Chapter 5 describes the

     libraries and function calls related to the RCM4400W.

5.1  More About Dynamic C

Dynamic C has been in use worldwide since 1989. It is specially designed for program-

ming embedded systems, and features quick compile and interactive debugging. A com-

plete reference guide to Dynamic C is contained in the Dynamic C User’s Manual.

You have a choice of doing your software development in the flash memory or in the static

SRAM included on the RCM4400W. The flash memory and SRAM options are selected

with the Options > Program Options > Compiler menu.

The advantage of working in RAM is to save wear on the flash memory, which is limited

to about 100,000 write cycles. The disadvantage is that the code and data might not both

fit in RAM.

     NOTE: An application can be compiled directly to the battery-backed data SRAM on the

     RCM4400W module, but should be run from the fast SRAM after the serial program-

     ming cable is disconnected. Your final code must always be stored in flash memory for

     reliable operation. RCM4400W modules have a fast program execution SRAM that is not

     battery-backed. Select Code and BIOS in Flash, Run in RAM from the Dynamic C

     Options > Project Options > Compiler menu to store the code in flash and copy it to

     the fast program execution SRAM at run-time to take advantage of the faster clock

     speed. This option optimizes the performance of RCM4400W modules running at

     58.98   MHz.

     NOTE: Do not depend on the flash memory sector size or type in your program logic.

     The RCM4400W and Dynamic C were designed to accommodate flash devices with

     various sector sizes in response to the volatility of the flash-memory market.

Developing software with Dynamic C is simple. Users can write, compile, and test C and

assembly code without leaving the Dynamic C development environment. Debugging

occurs while the application runs on the target. Alternatively, users can compile a program

to an image file for later loading. Dynamic C runs on PCs under Windows NT and later—

see Rabbit’s Technical Note TN257, Running Dynamic C® With Windows Vista®, for

additional information if you are using a Dynamic C under Windows Vista. Programs can

be downloaded at baud rates of up to 460,800 bps after the program compiles.

OEM User’s Manual                                                                            45
Dynamic C has a number of standard features.

•   Full-feature source and/or assembly-level debugger, no in-circuit emulator required.

•   Royalty-free TCP/IP stack with source code and most common protocols.

•   Hundreds of functions in source-code libraries and sample programs:

    X Exceptionally fast support for floating-point arithmetic and transcendental functions.

    X RS-232 and RS-485 serial communication.

    X Analog and digital I/O drivers.

    X I2C, SPI, GPS, file system.

    X LCD display and keypad drivers.

•   Powerful language extensions for cooperative or preemptive multitasking

•   Loader utility program to load binary images into Rabbit targets in the absence of

    Dynamic C.

•   Provision for customers to create their own source code libraries and augment on-line

    help by creating “function description” block comments using a special format for

    library functions.

•   Standard debugging features:

    X  Breakpoints—Set breakpoints that can disable interrupts.

    X  Single-stepping—Step into or over functions at a source or machine code level, µC/OS-II aware.

    X  Code disassembly—The disassembly window displays addresses, opcodes, mnemonics, and

       machine cycle times. Switch between debugging at machine-code level and source-code level by

       simply opening or closing the disassembly window.

    X  Watch expressions—Watch expressions are compiled when defined, so complex expressions

       including function calls may be placed into watch expressions. Watch expressions can be updated

       with or without stopping program execution.

    X  Register window—All processor registers and flags are displayed. The contents of general registers

       may be modified in the window by the user.

    X  Stack window—shows the contents of the top of the stack.

    X  Hex memory dump—displays the contents of memory at any address.

    X  STDIO window—printf outputs to this window and keyboard input on the host PC can be

       detected for debugging purposes. printf output may also be sent to a serial port or file.

46                                                                       RabbitCore RCM4400W
5.2    Dynamic C Function Calls

5.2.1  Digital I/O

The RCM4400W was designed to interface with other systems, and so there are no drivers

written specifically for the Rabbit 4000 I/O. The general Dynamic C read and write func-

tions allow you to customize the parallel I/O to meet your specific needs. For example, use

       WrPortI(PEDDR,  &PEDDRShadow,          0x00);

to set all the Port E bits as inputs, or use

       WrPortI(PEDDR,  &PEDDRShadow,          0xFF);

to set all the Port E bits as outputs.

When using the auxiliary I/O bus on the Rabbit 4000 chip, add the line

       #define  PORTA_AUX_IO            //  required  to  enable  auxiliary  I/O  bus

to the beginning of any programs using the auxiliary I/O bus.

The sample programs in the Dynamic C SAMPLES/RCM4400W folder provide further

examples.

5.2.2  Serial Communication Drivers

Library files included with Dynamic C provide a full range of serial communications sup-

port. The RS232.LIB library provides a set of circular-buffer-based serial functions. The

PACKET.LIB library provides packet-based serial functions where packets can be delimited

by the 9th bit, by transmission gaps, or with user-defined special characters. Both libraries

provide blocking functions, which do not return until they are finished transmitting or

receiving, and nonblocking functions, which must be called repeatedly until they are fin-

ished, allowing other functions to be performed between calls. For more information, see

the Dynamic C Function Reference Manual and Rabbit’s Technical Note TN213, Rabbit

Serial Port Software, both included with the online documentation.

5.2.3  User Block

Certain function calls involve reading and storing calibration constants from/to the simulated

EEPROM in flash memory located at the top 2K of the reserved user block memory area

(3800–39FF). This leaves the address range 0–37FF in the user block available for your

application.

These address ranges may change in the future in response to the volatility in the flash

memory market, in particular sector size. The sample program USERBLOCK_INFO.C in

the Dynamic C SAMPLES\USERBLOCK folder can be used to determine the version of the

ID block, the size of the ID and user blocks, whether or not the ID/user blocks are mir-

rored, the total amount of flash memory used by the ID and user blocks, and the area of the

user block available for your application.

OEM User’s Manual                                                                               47
The USERBLOCK_CLEAR.C sample program shows you how to clear and write the con-

tents of the user block that you are using in your application (the calibration constants in

the reserved area and the ID block are protected).

5.2.4  SRAM Use

The RCM4400W module has a battery-backed data SRAM and a program-execution

SRAM. Dynamic C provides the protected keyword to identify variables that are to be

placed into the battery-backed SRAM. The compiler generates code that maintains two

copies of each protected variable in the battery-backed SRAM. The compiler also generates

a flag to indicate which copy of the protected variable is valid at the current time. This flag

is also stored in the battery-backed SRAM. When a protected variable is updated, the

“inactive” copy is modified, and is made “active” only when the update is 100% complete.

This assures the integrity of the data in case a reset or a power failure occurs during the

update process. At power-on the application program uses the active copy of the variable

pointed to by its associated flag.

The sample code below shows how a protected variable is defined and how its value can

be restored.

       main()   {

       protected      int  state1,  state2,  state3;

       ...

       _sysIsSoftReset();           //  restore     any  protected    variables

The bbram keyword may also be used instead if there is a need to store a variable in

battery-backed SRAM without affecting the performance of the application program. Data

integrity is not assured when a reset or power failure occurs during the update process.

Additional information on bbram and protected variables is available in the Dynamic C

User’s Manual.

5.2.5  Wi-Fi Drivers

The Wi-Fi drivers are located in the Rabbit4000\LIB\TCPIP folder. Complete informa-

tion on the Wi-Fi libraries and function calls is provided in Chapter 6. Additional informa-

tion on TCP/IP is provided in the Dynamic C TCP/IP User’s Manual.

5.2.6  Serial Flash Drivers

The 1MB serial flash memory on the RCM4400W is used to bootstrap the FPGA for the

Wi-Fi circuits, and was not available for customer use. Starting with Dynamic C v. 10.54,

it is possible to access 800KB of the serial flash for customer use.

The Dynamic C Rabbit4000\LIB\SerialFlash\SFLASH.LIB and Rabbit4000\

LIB\SerialFlash\SFLASH_FAT.LIB libraries provide the function calls needed to use

the serial flash. The FAT file system function calls are in the Dynamic C Rabbit4000\

LIB\FileSystem\FAT_CONFIG.LIB library.

48                                                                    RabbitCore RCM4400W
Since the RCM4400W uses part of the serial flash to bootstrap its FPGA, you must ensure

that your application does not try to access the serial flash during the first call to sock_

init(). If your application has written to the flash before calling sock_init(), be sure to

spin on sf_isWriting() as shown in the sample code to ensure that the write is complete.

while  (sf_isWriting())  {

       //  waiting  for  write  to  complete  before  calling  sock_init

}

sock_init();

OEM User’s Manual                                                                             49
5.2.7    Prototyping Board Function Calls

The function calls described in this section are for use with the Prototyping Board features.

The source code is in the Dynamic C Rabbit4000\LIB\RCM4xxx\RCM44xxW.LIB

library if you need to modify it for your own board design.

The sample programs in the Dynamic C SAMPLES\RCM4400W folder illustrate the use of

the function calls.

Other generic functions applicable to all devices based on Rabbit microprocessors are

described in the Dynamic C Function Reference Manual.

5.2.7.1  Board Initialization

                                    brdInit

void     brdInit(void);

DESCRIPTION

         Call this function at the beginning of your program. This function initializes Parallel

         Ports A through E for use with the Prototyping Board. This function call is intended for

         demonstration purposes only, and can be modified for your applications.

         Summary of Initialization

    1. I/O port pins are configured for Prototyping Board operation.

    2. Unused configurable I/O are set as tied outputs.

    3. RS-232 is not enabled.

    4. LEDs are off.

    5. The slave port is disabled.

RETURN VALUE

         None.

50                                                                    RabbitCore RCM4400W
5.2.7.2  Alerts

These function calls can be found in the Dynamic C Rabbit4000\LIB\RCM4xxx\

RCM4xxx.LIB library.

                              timedAlert

void     timedAlert(unsigned        long  timeout);

DESCRIPTION

         Polls the real-time clock until a timeout occurs. The RCM4400W will be in a low-power

         mode during this time. Once the timeout occurs, this function call will enable the normal

         power source.

PARAMETER

         timeout         the duration of the timeout in seconds

RETURN VALUE

         None.

                              digInAlert

void     digInAlert(int  dataport,        int  portbit,          int        value,

unsigned           long  timeout);

DESCRIPTION

         Polls a digital input for a set value or until a timeout occurs. The RCM4400W will be

         in a low-power mode during this time. Once a timeout occurs or the correct byte is

         received, this function call will enable the normal power source and exit.

PARAMETERS

         dataport        the input port data register to poll (e.g., PADR)

         portbit         the input port bit (0–7) to poll

         value           the value of 0 or 1 to receive

         timeout         the duration of the timeout in seconds (enter 0 for no timeout)

RETURN VALUE

         None.

OEM User’s Manual                                                                                   51
5.3    Upgrading Dynamic C

Dynamic C patches that focus on bug fixes are available from time to time. Check the Web

site www.rabbit.com/support/ for the latest patches, workarounds, and bug fixes.

5.3.1  Add-On Modules

Dynamic C installations are designed for use with the board they are included with, and

are included at no charge as part of our low-cost kits. Rabbit offers for purchase add-on

Dynamic C modules including the popular µC/OS-II real-time operating system, as well

as PPP, Advanced Encryption Standard (AES), RabbitWeb, and other select libraries.

Each Dynamic C add-on module has complete documentation and sample programs to

illustrate the functionality of the software calls in the module. Visit our Web site at

www.rabbit.com for further information and complete documentation for each module.

In addition to the Web-based technical support included at no extra charge, a one-year

telephone-based technical support module is also available for purchase.

52                                                                        RabbitCore RCM4400W
                       6.   USING THE WI-FI FEATURES

6.1    Introduction to Wi-Fi

Wi-Fi, a popular name for 802.11b, refers to the underlying technology for wireless local

area networks (WLAN) based on the IEEE 802.11 suite of specifications conforming to

standards defined by IEEE. IEEE 802.11b describes the media access and link layer con-

trol for a 2.4 GHz implementation, which can communicate at a top bit-rate of 11 Mbits/s.

Other standards describe a faster implementation (54 Mbits/s) in the 2.4 GHz (802.11g)

and a 54 Mbits/s implementation in the 5.6 GHz band (802.11a). The adoption of 802.11

has been fast because it's easy to use and the performance is comparable to wire-based

LANs. Things look pretty much like a wireless LAN.

Wi-Fi (802.11b) is the most common and cost-effective implementation currently avail-

able. This is the implementation that is used with the RCM4400W RabbitCore module. A

variety of Wi-Fi hardware exists, from wireless access points (WAPs), various Wi-Fi

access devices with PCI, PCMCIA, CompactFlash, USB and SD/MMC interfaces, and

Wi-Fi devices such as Web-based cameras and print servers.

802.11b can operate in one of two modes—in a managed-access mode (BSS), called an

infrastructure mode, or an unmanaged mode (IBSS), called the ad-hoc mode. The 802.11

standard describes the details of how devices access each other in either of these modes.

6.1.1  Infrastructure Mode

The infrastructure mode requires an access point to manage devices that want to communi-

cate with each other. An access point is identified with a channel and service set identifier

(SSID) that it uses to communicate. Typically, an access point also acts as a gateway to a

wired network, either an Ethernet or WAN (DSL/cable modem). Most access points can

also act as a DHCP server, and provide IP, DNS, and gateway functions.

When a device wants to join an access point, it will typically scan each channel and look

for a desired SSID for the access point. An empty-string SSID (" ") will associate the

device with the first SSID that matches its capabilities.

Once the access point is discovered, the device will logically join the access point and

announce itself. Once joined, the device can transmit and receive data packets much like

an Ethernet-based MAC. Being in a joined state is akin to having link status in a

10/100Base-T network.

User’s Manual                                                                                  53
802.11b interface cards implement all of the 802.11b low-level configurations in firm-

ware. In fact, the 802.11b default configuration is often sufficient for a device to join an

access point automatically, which it can do once enabled. Commands issued to the chip set

in the interface allow a host program to override the default configurations and execute

functions implemented on the interface cards, for example, scanning for hosts and access

points.

6.1.2    Ad-Hoc Mode

In the ad-hoc mode, each device can set a channel number and an SSID to communicate

with. If devices are operating on the same channel and SSID, they can talk with each

other, much like they would on a wired LAN such as an Ethernet. This works fine for a

few devices that are statically configured to talk to each other, and no access point is

needed.

6.1.3    Additional Information

802.11 Wireless Networking; published by O'Reilly Media, provides further information about

802.11b wireless networks.

54                               RabbitCore RCM4400W
6.2  Running Wi-Fi Sample Programs

In order to run the sample programs discussed in this chapter and elsewhere in this manual,

1. Your module must be plugged in to the Prototyping Board as described in Chapter 2,

“Getting Started.”

2. Dynamic C must be installed and running on your PC.

3. The programming cable must connect the programming header on the module to your PC.

4. Power must be applied to the module through the Prototyping Board.

Refer to Chapter 2, “Getting Started,” if you need further information on these steps.

To run a sample program, open it with the File menu, then compile and run it by pressing F9.

Each sample program has comments that describe the purpose and function of the pro-

gram. Follow the instructions at the beginning of the sample program.

Complete information on Dynamic C is provided in the Dynamic C User’s Manual.

User’s Manual                                                                                 55
6.2.1   Wi-Fi Setup

Figure  11 shows how  your  development setup might  look       once you’re ready                                                                                                                                                                                                                                                                                                                                         to                               proceed.

                            Programming Cable

                                to PC COM1

                                                                                                                                                                                                                                                                             PWR

                                                                                                                                                                                                                                                                            R1                                      J1  U1

                                                                                                                                                                                                                                                                                            DS1

                                                                                                                                                                                                                                                                                                          C1                                    R2                                                    1

                                                                                                                                                                                                                                                                                 GND                      GND                                                                                                       S1

                                                                                                                                                                                     D1                                                                                                     C2                                                                                            BT1                       RESET

                                                                                                                                                                                                                                         DIAG                                                                  JP1                                                 UX47             UX49                 UX4                    RXD TXD           TXC RXC

                                                                                                                                                                                                         C5                                                                                                  C3          C4 V

                                                                                                                                                                                                                                 L1C6                                                       D2                           +3.3  J2

                                                                                                                                                                                                                                                                                                          JP2                                   +5 V                                                                      GND

                                                                                                                                                                                                                                                                                                                                   GND                                                                                                   UX29 J4

                                                                                                                                                                                                                                                                                                                                             GND

                                                                                                                                  J4                                                             U3                                                                         R14             C89    /RST_OUT                    /IORD

                                                                                                                                                                                                                        FICCC33ICD:ID7:1V4R13C8AB–55R442001dd11JP44244                      RCM1                                        +3.3 V                                                                RX81

                                                                                                                                                                                           C30                                                                                                            /IOWR                /RST_IN

                                                                                                                                                                                                                                                                             PROG           J2     R3V0BAT                                                                                                          RX87
                                                                                                                                                                                                                                                                                                   2                         PA0

                                                                                                                                                                                                                                                                        U2                                EXT

                                                                                                                                                  S1                                 C29                   C31   C32                                                                                  PA1                PA2

                                                                                                     J3                      C125                 C132      C124                                                                                                                            R19    PA3                  PA4                                                                                               CX41

                                                                                                                                             U22            U23                      U21                                   JP16                                             R22                                                                                                                 RX83

                                                                                                                                                                                                   C18       C17            JP6                                                                    PA5              PA6
                                                                                                                                                                                                                           JP5
                                                                                                                                                                             C20                                        JP12
                                                                                                                       RCMRAR714400W BBIT. CCC111003674C126             CC112129     U3                                 JP4                                             JP3                 PA7                     PB0

                                                                                                                 C127        C131                                 T1                 C123                              JP3                                                        JP1                                                                                                                               CX39
                                                                                                                                                                                                                      JP14
                                                                                                                                       RCC6L111766201 C129  L11     L10                                               JP8                                                                   PB1                  PB2

                                                                                                                                                                  C121                                     C16 JP7                                                                     PB3                     PB4

                                                                                                                                                            C128  C120    C155  C154                             JP18                                                                                                                                                                           RX11                      UX30

                                                                                                                                                                C116                                             JP9

                                                                                       LINK          DS1      C112                                                C19                C158                    JP10                                                                PB5                       PB6

                                                                                                                                                                             C117          SHIELDRF                                                                             PB7                       PC0

                                                                                                          L3                                                                                       R25                                                                                                                                                                                    UX45

                                                                                                           C114                                                           C115 C168  L9                                                                                      PC1                        PC2

                                                                                                           L8                                                           C15                      R26

                                                                                ACT    DS2                C111

                                                                                                          L4                                                            Q1                                                                                              PC3                        PC4                                                                                                        UX10

                                                                                                           L6       C1R0854                                 U20   R59                                 C150CD1249   R70 R27                       PC5                                               PC6

                                                                                                                             R53  R52  R51  R62

                                                                                                                                                                                             JP11    JP15  JP19  JP21      C169               PC7                                           PE0                                                                                           CX17
                                                                                                                                                                                R29                                    JJPP2202
                                                                                               C141                                                                       C148                                                   JP13JP17                                                                                                                                     RX67
                                                                                                                             R64
                                                                                C141                                                        C135                                U24                                                      C34  PE1                                           PE2                                                                                                       UX12

                                                                        C139    C140                                                                                                     C146                R1

                                                                                                                             C136                                                    R20   L17   R60                                     PE3                                                PE4
                                                                                                                                                                                           R18   R16  R14  R13     R15  R17
                                                                                                                                                                                           C147              U4                   R19

                                                                                L14                                  C163                                                    R10                       C35                               PE5                                      PE6
                                                                                                                                                                                L13
                                                                                                                                                                                         R8  R6      R4  R3  R5       R7         R9                                             LPND00
                                                                                                                                                                                                R61                               PE7
                                                                                                                                                                                                      JP4
                                                                                                               U18
                                                                                L16                       RX43 C143                                                          C145                            C36       C51       PD1                                           PD2

                                                                                                                    C145                                    C142                                 C8   C7   Y1                    LN1                                         LN2
                                                                                       C137    RX47  C138                                   C144                    C2       C14     C12   C10             C9      C11  C13
                                                                C46                                                          C7   C11             C4            JP24   JP23          C5    C1C3                                  LPND33                                 PD4                                                                                           RX85
                                                                                                                                                                                     C6                                      1                                                                                                                                                            UX14
                                                                                Q1 Y2                           R41          C10                                                                                                                                        LN4
                                                                                                                C8
                                                                                                                                                                                                                             PD5                                        LPND66
                                                                R2                             RX97                                                                                                                         LN5
                                                                                                                                                                                           CC2287
                                                                                       R10     C52        C50       RX49                    RX55                        RX57             RX59              RC1524         PD7                                                                                                  RX75                                           CX29

                                                                                                                UX33                              UX41                                             RX61      R9           LN7                    CVT                                                                                    RX73          CX27

                                                                                       UR1230              U12                                                                                  U11                VREF                       AGND                              LN5IN AGND

                                                                                                                                            UX42                                     C21                   C49                                                                                                                 CX25             CX2D3 SRX377          RX79

                                                                                       R17           R13   UX31                                                                                 U10                                        VREF                         LN7IN               LN3IN  LN1IN  AGND               DS2
                                                                                                     RX89
                                                                                                                                                                                             R8                                                                                                                                                 R21   R22                           UX16
                                                                                                                                                                                           RX65                                                                                                                          JP25           R23                   R24
                                                                                R16    R15                                             UX37
                                                                                                                                                                                                                                                                                                               R12
                                                                        CC5535                 C9                                                                                                                  J3
                                                                                                          UX3                                                             RX63
                                                                                                                                                                       C20      Q2                                                                                                                           R11
                                                                                               C12                                                                                                                                                                                                                                                                       GND
                                                                    U6                                    C14                C17                            U1                                                                   AGND    CVT     LN6IN                          LN4IN       LN2IN  LN0IN                                     1RR2287               1
                                                                                                                                                            C18
                                                           C41                                                      C15                           C19                                                                                                                                                                          S2                     S3      GND             GND
                                                           C42
                                                                                                           C13                    C16

        Infrastrcture Mode (via Ethernet connection)

                      Ethernet  Ethernet

                                        Hub

        Infrastrcture Mode (via wireless connection)

                                Ad-Hoc Mode

                            Figure 11.  Wi-Fi Host Setup

56                                                                                                                                                                                                                                                                                                                          RabbitCore RCM4400W
6.2.2  What Else You Will Need

Besides what is supplied with the RCM4400W Development Kit, you will need a PC with

an available USB port to program the RCM4400W module. You will need either an access

point for an existing Wi-Fi network that you are allowed to access and have a PC or note-

book connected to that network (infrastructure mode), or you will need at least a PDA or

PC with Wi-Fi to use the ad-hoc mode.

User’s Manual                                                                              57
6.2.3    Configuration Information

6.2.3.1  Network/Wi-Fi Configuration

Any device placed on an Ethernet-based Internet Protocol (IP) network must have its own

IP address. IP addresses are 32-bit numbers that uniquely identify a device. Besides the IP

address, we also need a netmask, which is a 32-bit number that tells the TCP/IP stack what

part of the IP address identifies the local network the device lives on.

The sample programs configure the RCM4400W modules with a default TCPCONFIG

macro from the Rabbit4000\LIB\TCPIP\TCP_CONFIG.LIB library. This macro

allows specific IP address, netmask, gateway, and Wi-Fi parameters to be set at compile

time. Change the network settings to configure your RCM4400W module with your own

Ethernet settings only if that is necessary to run the sample programs; you will likely need

to change some of the Wi-Fi settings.

•   Network Parameters

    These lines contain the IP address, netmask, nameserver, and gateway parameters.

       #define  _PRIMARY_STATIC_IP     "10.10.6.100"

       #define  _PRIMARY_NETMASK       "255.255.255.0"

       #define  MY_NAMESERVER          "10.10.6.1"

       #define  MY_GATEWAY             "10.10.6.1"

There are similar macros defined for the various Wi-Fi settings as explained in Section 6.3.1.

The Wi-Fi configurations are contained within TCPCONFIG  1 (no DHCP) and TCPCON-

FIG 5 (with DHCP, used primarily with infrastructure mode). You will need to #define

TCPCONFIG       1 or #define   TCPCONFIG  5 at the beginning of your program.

         NOTE:  TCPCONFIG      0 is not supported for Wi-Fi applications.

There are some other “standard” configurations for TCPCONFIG. Their values are docu-

mented in the Rabbit4000\LIB\TCPIP\TCP_CONFIG.LIB library. More information

is available in the Dynamic C TCP/IP User’s Manual.

58                                                                         RabbitCore RCM4400W
6.2.3.2  PC/Laptop/PDA Configuration

This section shows how to configure your PC or notebook to run the sample programs.

Here we’re mainly interested in the PC or notebook that will be communicating wirelessly,

which is not necessarily the PC that is being used to compile and run the sample program

on the RCM4400W module.

This section provides configuration

information for the three possible Wi-Fi

setups shown in Figure 11. Start by going

to the control panel (Start > Settings >

Control Panel) and click on Network

Connections. The screen shots shown

here are from Windows 2000, and the

interface is similar for other versions of

Windows.

Check with your administrator if you are

unable to change the settings as

described here since you may need

administrator privileges.

When you are using an access point with your setup in the infrastructure mode, you will also

have to set the IP address and netmask (e.g., 10.10.6.99 and 255.255.255.0) for the access

point. Check the documentation for the access point for information on how to do this.

Infrastructure Mode (via Ethernet connection)

1.  Go to the Local Area Connection to

    select the network interface card used you

    intend to use (e.g., TCP/IP Xircom Credit

    Card Network Adapter) and click on the

    “Properties” button. Depending on which

    version of Windows your PC is running,

    you may have to select the “Local Area

    Connection” first, and then click on the

    “Properties” button to bring up the Ether-

    net interface dialog. Then “configure”

    your interface card for an “Auto-Negotia-

    tion” or “10Base-T Half-Duplex” connec-

    tion on the “Advanced” tab.

         NOTE: Your network interface card will

          likely have a different name.

User’s Manual                                                                                 59
2. Now select the IP Address tab, and check

    Specify an IP Address, or select TCP/IP

    and click on “Properties” to fill in the fol-

    lowing fields:

    IP Address : 10.10.6.101

    Netmask : 255.255.255.0

    Default gateway : 10.10.6.1

    TIP: If you are using a PC that is already on

    a network, you will disconnect the PC

    from that network to run these sample

    programs. Write down the existing set-

    tings before changing them so that you

    can restore them easily when you are fin-

    ished with the sample programs.

    The IP address and netmask need to be set

    regardless of whether you will be using the

    ad-hoc mode or the infrastructure mode.

3. Click  or  to exit the various dialog boxes.

Infrastructure Mode (via wireless connection)

Set the IP address and netmask for your wireless-enabled PC or notebook as described in

Step 2 for Infrastructure Mode (via Ethernet connection) by clicking on Network

Connections, then on Local Area Connection. Now click on Wireless Network

Connection to select the wireless network you will be connecting to. Once a sample

program is running, you will be able to select the network from a list of available networks.

You will have set your wireless network name with the _WIFI_SSID macro for the infra-

structure mode as explained in Section 6.2.3.1, “Network/Wi-Fi Configuration.”

Ad-Hoc Mode

Set the IP address and netmask for your wireless-enabled PC or notebook as described in

Step 2 for Infrastructure Mode (via Ethernet connection) by clicking on Network

Connections, then on Local Area Connection. Now click on Wireless Network

Connection to select the wireless network you will be connecting to. Once a sample

program is running, you will be able to select the network from a list of available networks.

You will have set your wireless network name with the _WIFI_OWNCHANNEL macros for

the ad-hoc mode as explained in Section 6.2.3.1, “Network/Wi-Fi Configuration.”

60                                                          RabbitCore RCM4400W
Once the PC or notebook is set up, we're ready to communicate. You can use Telnet or a

Web browser such as Internet Explorer, which come with most Windows installations, to

use the network interface, and you can use HyperTerminal to view the serial port when

these are called for in some of the later sample programs.

Now we’re ready to run the sample programs in the Dynamic C Samples\TCPIP\WiFi

folder. The sample programs should run as is in most cases.

6.2.4    Wi-Fi Sample Programs

The sample programs in Section 6.2.4.1 show how to set up the country- or region-specific

attributes, but do not show the basic setup of a wireless network. The sample programs in

Section 6.2.4.2 show the setup and operation of a wireless network — the WIFISCAN.C

sample program is ideal to demonstrate that the RCM4400W has been hooked up correctly

and that the Wi-Fi setup is correct so that an access point can be found.

6.2.4.1   Wi-Fi Operating Region Configuration

The country or region you select will automatically set the power and channel require-

ments to operate the RCM4400W module. The following three options are available.

1. Country or region is set at compile time. This option is ideal when the end device is

   intended to be sold and used only in a single region. If the end device is to be deployed

   across multiple regions, this method would require an application image to be created for

   each region. This option is the only approved option for RCM4400W modules in Japan.

2. Country or region is set via the 802.11d feature of the access point. This option uses

   beacons from an access point to configure the RCM4400W country or region automati-

   cally. The end user is responsible for enabling 802.11d on the access point and then

   selecting the correct country to be broadcast in the beacon packets.

          NOTE: This option sets the power limit for RCM4400W to the maximum level permitted

          in the region or the capability of the RCM4400W, whichever is less. Since the beacons

          are being sent continuously, the wifi_ioctl  WIFI_TX_POWER function cannot be

          used with this option.

3. Country or region is set at run time. This is a convenient option when the end devices

   will be deployed in multiple regions. A serial user interface would allow the RCM4400W

   module to be configured via a Web page. Systems integrators would still have to make

   sure the end devices operate within the regulatory requirements of the country or region

   where the units are being deployed.

These options may be used alone or in any combination. The three sample programs in the

Dynamic C Samples\TCPIP\WiFi\Regulatory folder illustrate the use of these three

options.

•  REGION_COMPILETIME.C—demonstrates how you can set up your RCM4400W-

   based system at compile time to operate in a given country or region to meet power and

   channel requirements.

   The country or region you select will automatically set the power and channel require-

   ments to operate the RCM4400W module. Rabbit recommends that you check the reg-

User’s Manual                                                                                    61
    ulations for the country where your system incorporating the RCM4400W will be

    deployed for any other requirements. Any attempt to operate a device outside the

    allowed channel range or power limits will void your regulatory approval to operate

    the device in that country.

    Before you compile and run this sample program, uncomment the #define             _WIFI_

    REGION_REQ line corresponding to the region where your system will be deployed.

    The Americas region will be used by default if one of these lines is not uncommented.

    Now compile and run this sample program. The Dynamic C STDIO window will dis-

    play the region you selected.

    The sample program also allows you to set up the TCP/IP configuration, and set the IP

    address and SSID as shown in the sample code below.

    #define          TCPCONFIG   1

    #define          _PRIMARY_STATIC_IP       "10.10.6.170"

    #define          _WIFI_SSID     "olmtest"

•   REGION_MULTI_DOMAIN.C—demonstrates how the multi-domain options from the

    access point can be used to configure your RCM4400W-based system to meet regional

    regulations. The sample program includes pings to indicate that the RCM4400W-based

    system has successfully received country information from your access point.

    The country or region you select will automatically set the power and channel require-

    ments to operate the RCM4400W module. Rabbit recommends that you check the reg-

    ulations for the country where your system incorporating the RCM4400W will be

    deployed for any other requirements.

    Before you compile and run this sample program, verify that the access point has the

    802.11d option enabled and is set for the correct region or country. Check the TCP/IP

    configuration parameters, the IP address, and the SSID in the macros, which are repro-

    duced below.

    #define          TCPCONFIG   1

    #define          WIFI_REGION_VERBOSE

    #define          _PRIMARY_STATIC_IP       "10.10.6.170"

    #define          _WIFI_SSID     "deanap"

    Now compile and run this sample program. The #define     WIFI_REGION_VERBOSE

    macro will display the channel and power limit settings. The Dynamic C STDIO win-

    dow will then display a menu that allows you to complete the configuration of the user

    interface.

•   REGION_RUNTIME_PING.C—demonstrates how the region or country can be set at

    run time to configure your RCM4400W-based system to meet regional regulations. The

    sample program also shows how to save and retrieve the region setting from nonvola-

    tile memory. Once the region/country is set, this sample program sends pings using the

    limits you set.

    The country or region you select will automatically set the power and channel require-

    ments to operate the RCM4400W module. Rabbit recommends that you check the reg-

    ulations for the country where your system incorporating the RCM4400W will be

    deployed for any other requirements.

62                                                           RabbitCore RCM4400W
   Before you compile and run this sample program, check the TCP/IP configuration

   parameters, the IP address, and the SSID in the macros, which are reproduced below.

         #define  TCPCONFIG   1

         #define  WIFI_REGION_VERBOSE

         #define  PING_WHO   "10.10.6.1"

         #define  _PRIMARY_STATIC_IP       "10.10.6.170"

         #define  _WIFI_SSID     "deanap"

   Now compile and run this sample program. The #define           WIFI_REGION_VERBOSE

   macro will display the channel and power limit settings. The Dynamic C STDIO win-

   dow will then display a menu that allows you to complete the configuration of the user

   interface.

6.2.4.2  Wi-Fi Operation

•  WIFIPINGYOU.C—sends out a series of pings to a RabbitCore module on an ad-hoc

   Wi-Fi network.

   This sample program uses some predefined macros. The first macro specifies the

   default TCP/IP configuration from the Dynamic C Lib\TCPIP\TCP_CONFIG.LIB

   library.

         #define  TCPCONFIG   1

   Use the next macro unchanged as long as you have only one RCM4400W RabbitCore

   module. Otherwise use this macro unchanged for the first RabbitCore module.

         #define  NODE  1

   Then change the macro to #define         NODE  2 before you compile and run this sample

   program on the second RCM4400W RabbitCore module.

   The next macros assign an SSID name and a channel number to the Wi-Fi network.

         #define  _WIFI_SSID     "rab-hoc"

         #define  _WIFI_OWNCHANNEL  "5"

   Finally, IP addresses are assigned to the RabbitCore modules.

   #define        IPADDR_1   "10.10.8.1"

   #define        IPADDR_2   "10.10.8.2"

   As long as you have only one RCM4400W RabbitCore module, the Dynamic C STDIO

   window will display the pings sent out by the module. You may set up a Wi-Fi enabled

   laptop with the IP address in IPADDR_2 to get the pings.

   If you have two RCM4400W RabbitCore modules, they will ping each other, and the

   Dynamic C STDIO window will display the pings.

•  WIFISCAN.C—initializes the RCM4400W and scans for other Wi-Fi devices that are

   operating in either the ad-hoc mode or through access points in the infrastructure mode.

   No network parameter settings are needed since the RCM4400W does not actually join

   an 802.11b network. This program outputs the results of the scan to the Dynamic C

   STDIO window.

User’s Manual                                                                                63
•   WIFISCANASSOCIATE.C— demostrates how to scan Wi-Fi channels for SSIDs using

    the wifi_ioctl() function call with WIFI_SCAN. This takes a while to complete, so

    wifi_ioctl() calls a callback function when it is done. The callback function is

    specified using an wifi_ioctl()        WIFI_SCANCB function call.

    Before you run this sample program, configure the Dynamic C TCP_CONFIG.LIB

    library and your TCPCONFIG macro.

    1. Use macro definitions in the “Defines” tab in the Dynamic C Options > Project

    Options menu to modify any parameter settings.

    If you are not using DHCP, set the IP parameters to values appropriate to 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"

    Set the macro IFC_WIFI_SSID= to define a C-style string to set the SSID of your

    access point as, for example,

    IFC_WIFI_SSID                  =  "My     Access  Point"

    or use an empty string, "", to associate with the strongest BSS available.

    Alternatively, you may create your own CUSTOM_CONFIG.LIB library modeled on the

    Dynamic C TCP_CONFIG.LIB library. Then use a TCPCONFIG macro greater than or

    equal to 100, which will invoke your CUSTOM_CONFIG.LIB library to be used.

    Remember to add the CUSTOM_CONFIG.LIB library to LIB.DIR.

    2. If you are using DHCP, change the definition of the TCPCONFIG macro to 5. The default

    value of 1 indicates Wi-Fi with a static IP address.

    Now compile and run the sample program. Follow the menu options displayed in the

    Dynamic C STDIO window.

    Press  s  to               scan        available       access   points

    Press  a  to               scan        access     points  and   associate

    Press  m  to               print          WIFI    MAC  status

    Note that wifi_ioctl() function calls with WIFI_SCAN do not return data directly

    since the scan takes a fair amount of time. Instead, callback functions are used. The

    callback function is set with an earlier wifi_ioctl() function call.

    wifi_ioctl(IF_WIFI0,       WIFI_SCANCB,         scan_callback,  0);

    wifi_ioctl(IF_WIFI0,       WIFI_SCAN,     "0",    0);

    The data passed to the callback function are ephemeral since another scan may occur.

    Thus, the data need to be used (or copied) during the callback function.

    While waiting for user input, it is important to keep the network alive by calling

    tcp_tick(NULL) regularly.

64                                                                        RabbitCore RCM4400W
6.2.5    RCM4400W Sample Programs

The following sample programs are in the Dynamic C SAMPLES\RCM4400W\TCPIP\

folder.

•  BROWSELED.C—This program demonstrates a basic controller running a Web page.

   Two “device LEDs” are created along with two buttons to toggle them. Users can use

   their Web browser to change the status of the lights. The DS2 and DS3 LEDs on the

   Prototyping Board will match those on the Web page. As long as you have not modified

   the TCPCONFIG        1 macro in the sample program, enter the following server address in

   your Web browser to bring up the Web page served by the sample program. Remember

   to configure the access point to match the default settings of the TCPCONFIG       1 macro.

   http://10.10.6.100.

   Otherwise use the TCP/IP settings you entered in the in the “Defines” tab in the Dynamic C

   Options > Project Options menu.

•  PINGLED.C—This program demonstrates ICMP by pinging a remote host. It will flash

   LED DS2 on the Prototyping Board when a ping is sent and it will flash LED DS3

   when a ping is received.

   Before you compile and run this sample program, change PING_WHO to the host you

   want to ping. You may modify PING_DELAY define to change the amount of time in

   milliseconds between the outgoing pings.

   Uncomment the VERBOSE define to see the incoming ping replies.

•  PINGLED_STATS.C—This program is similar to PINGLED.C, but it also displays

   receiver/transmitter statistics in the Dynamic C STDIO window.

   Before you compile and run this sample program, change PING_WHO to the host you

   want to ping. You may modify PING_DELAY define to change the amount of time in

   milliseconds between the outgoing pings.

   Modify the value in the MOVING_AVERAGE macro to change the moving average filter-

   ing of the statistics. Also review the GATHER_INTERVAL and GRAPHICAL macros,

   which affect the number of samples to gather and create a bar graph display instead of a

   numeric display.

   Uncomment the VERBOSE define to see the incoming ping replies.

•  PINGLED_WPA_PSK.C—This program demonstrates the use of WPA PSK (Wi-Fi

   Protected Access with Pre-Shared Key). WPA is a more secure replacement for WEP.

   The implementation in the sample program supports use of the TKIP (Temporal Key

   Integrity Protocol) cypher suite.

   The sample program uses macros to configure the access point for WPA PSK, specify

   the TKIP cypher suite, assign the access point SSID, and set the passphrase.

         #define  WIFI_USE_WPA    //  Bring  in  WPA  support

         #define  _WIFI_WEP_FLAG      WIFICONF_WEP_TKIP    //  Define  cypher  suite

         #define  _WIFI_SSID  "parvati"

         #define  _WIFI_PSK_PASSPHRASE   "now    is   the  time"

User’s Manual                                                                                  65
    The next macro specifies a suitable pre-shared key. The key may be entered either as 64

    hexadecimal digits or as an ASCII string of up to 63 characters.

    #define  _WIFI_PSK_HEX

    When you assign your own key, there is a good chance of typos since the key is long. It

    is advisable to enter the key in this macro first, then copy and paste into your access

    point to ensures that both the RCM4400W and the access point have the same key.

    Initially, it may be easier to use the 64 hexadecimal digits form of the key rather than

    the ASCII passphrase. A passphrase requires considerable computation effort, which

    delays the startup of the sample by about 40 seconds.

    If you want to add authentication, set the authentication to “open system,” which basi-

    cally means that knowing the key is sufficient to allow access.

    #define  WIFI_AUTH         WIFICONF_AUTH_OPEN_SYS

    Change PING_WHO to the host you want to ping. You may modify PING_DELAY to

    change the amount of time in milliseconds between the outgoing pings.

    Uncomment the VERBOSE define to see the incoming ping replies.

    Once you have compiled the sample program and it is running, LED DS2 will flash

    when a ping is sent, and LED DS3 will flash when a ping is received.

•   POWERDOWN.C—This program demonstrates how to power down the FPGA chip in the

    Wi-Fi circuit to reduce power consumption. Note that powering down the Wi-Fi portion

    of the RCM4400W module results in a loss of the network interface (unlike an Ethernet

    connection), and so is only suitable for applications such as data logging where only

    intermittent network connectivity is required.

    The sample program demonstrates the powerdown operation as a simple sequential

    state machine. LED DS2 on the Prototyping Board will be on when the network inter-

    face is up, and LED DS3 will be on when the Wi-Fi circuit is powered up.

    Before you compile and run this sample program, modify the configuration macros,

    including the DOWNTIME and the UPTIME values. The interface will be powered up and

    down for these intervals.

•   SMTP.C—This program demonstrates using the SMTP library to send an e-mail when

    the S2 and S3 switches on the Prototyping Board are pressed. LEDs DS2 and DS3 on

    the Prototyping Board will light up when e-mail is being sent.

66                                                                        RabbitCore RCM4400W
6.3    Dynamic C Wi-Fi Configurations

Rabbit has implemented a packet driver for the RCM4400W that functions much like an

Ethernet driver for the Dynamic C implementation of the TCP/IP protocol stack. In addi-

tion to functioning like an Ethernet packet driver, this driver implements a function call to

access the functions implemented on the 802.11b interface, and to mask channels that are

not available in the region where the RCM4400W will be used.

The Wi-Fi interface may be used either at compile time using macro statements or at run

time with the wifi_ioctl() function call from the Dynamic C Rabbit4000\LIB\

TCPIP\WIFI\WIFI_WLN_API.LIB library.

6.3.1  Configuring Dynamic C at Compile Time

Rabbit has made it easy for you to set up the parameter configuration using already-

defined TCPCONFIG macros from the Dynamic C Rabbit4000\LIB\TCPIP\TCP_

CONFIG.LIB library at the beginning of your program as in the example below.

       #define  TCPCONFIG   1

There are two TCPCONFIG macros specifically set up for Wi-Fi applications with the

RCM4400W module. (TCPCONFIG         0 is not supported for Wi-Fi applications.)

                TCPCONFIG      1    No DHCP

                TCPCONFIG      5    DHCP enabled

These default IP address, netmask, nameserver, and gateway network parameters are set

up for the TCPCONFIG macros.

       #define  _PRIMARY_STATIC_IP  "10.10.6.100"

       #define  _PRIMARY_NETMASK    "255.255.255.0"

       #define  MY_NAMESERVER       "10.10.6.1"

       #define  MY_GATEWAY          "10.10.6.1"

The use of quotation marks in the examples described in this chapter is important since the

absence of quotation marks will be flagged with warning messages when encrypted librar-

ies such as the WIFI_WLN_API.LIB library are used.

Wi-Fi Parameters

•  Access Point SSID—_WIFI_SSID. This is the only mandatory parameter. Define the

   _WIFI_SSID macro to a string for the SSID of the access point in the infrastructure

   (BSS) mode, or the SSID of the ad-hoc network in the ad-hoc (IBSS) mode.

   The default is shown below.

       #define   _WIFI_SSID    "rabbitTest"

•  Mode—_WIFI_MODE determines the mode:

   WIFICONF_INFRASTRUCT for the infrastructure mode, or WIFICONF_ADHOC for the

   ad-hoc mode.

   The default is shown below.

       #define   _WIFI_MODE    WIFICONF_INFRASTRUCT

User’s Manual                                                                                  67
•   Your Own Channel—_WIFI_OWNCHANNEL determines the channel on which to operate.

    The default is shown below.

       #define     _WIFI_OWNCHANNEL   "0"

    The default "0" means that any valid channel may be used by the requested SSID. This

    parameter is mandatory when creating an ad-hoc network. While it is optional for the

    infrastructure mode, it is usually best left at the default "0".

    Note that there are restrictions on which channels may be used in certain countries.

    These are provided in Table 5 for some countries.

•   Region/Country—_WIFI_REGION_REQ sets the channel range and maximum power

    limit to match the region selected. Table 5 lists the regions that are supported and their

    corresponding macros.

    The region selected must match the region where the RCM4400W RabbitCore module

    will be used.

    The default is shown below.

       #define     _WIFI_REGION_REQ   _AMERICAS_REGION

•   Disable/enable WEP encryption—_WIFI_WEP_FLAG indicates whether or not WEP

    encryption is being used.

    The default (WEP encryption disabled) is shown below.

       #define     _WIFI_WEP_FLAG     WIFICONF_WEP_DISABLE

    The following WEP encryption options are available.

    •  WIFICONF_WEP_DISABLE — no WEP encryption is used.

    •  WIFICONF_WEP_ENABLE — use WEP encryption. You will need to define at least one

       WEP key (see below).

    •  WIFICONF_WEP_TKIP — use TKIP or WPA encryption. You will need to define a pass-

       phrase or a key for TKIP encryption, as well as define the WIFI_USE_WPA macro (see

       below).

•   The following four encryption keys are provided. If WEP encryption is enabled, at least

    one key should be specified — do not use the defaults. You will have to modify these

    keys according to the encryption keys in effect for the Wi-Fi network you wish to

    access. A key is specified as either 5 or 13 comma-separated byte values.

    #define        _WIFI_KEY0  0x01,  0x23,  0x45,  0x67,  0x89,      0xab,  0xcd,  0xef,  0x01,

       0x23,       0x45,   0x67,   0x89

    #define        _WIFI_KEY1  0x01,  0x23,  0x45,  0x67,  0x89,      0xab,  0xcd,  0xef,  0x01,

       0x23,       0x45,   0x67,   0x89

    #define        _WIFI_KEY2  0x01,  0x23,  0x45,  0x67,  0x89,      0xab,  0xcd,  0xef,  0x01,

       0x23,       0x45,   0x67,   0x89

    #define        _WIFI_KEY3  0x01,  0x23,  0x45,  0x67,  0x89,      0xab,  0xcd,  0xef,  0x01,

       0x23,       0x45,   0x67,   0x89

•   Select encryption key—_WIFI_USEKEY       indicates     which      _WIFI_KEYn key to use.

68                                                                           RabbitCore RCM4400W
   The default shown below indicates that key 0, defined by _WIFI_KEY0, will be used.

      #define   _WIFI_USEKEY   "0"

•  Use WPA encryption.

   The following macro must also be used with WPA encryption.

      #define   WIFI_USE_WPA

   When using WPA encryption, _WIFI_WEP_FLAG must be defined as WIFICONF_WEP_

   TKIP, and you must define a WPA key using _WIFI_PSK_PASSPHRASE or _WIFI_

   PSK_HEX:

•  Set WPA passphrase—_WIFI_PSK_PASSPHRASE is a string that matches the pass-

   phrase on your access point. It may also point to a variable.

   Define an ASCII passphrase here, from 1 to 63 characters long. This passphrase is only

   used if you did not specify a hexadecimal key for the _WIFI_PSK_HEX macro. The

   insecure default is shown below.

      #define   _WIFI_PSK_PASSPHRASE  "now     is  the  time"

•  Set WPA hexadecimal key—_WIFI_PSK_HEX is a string of hexadecimal digits that

   matches the 256-bit (64-byte) hexadecimal key used by your access point.

   Specify a 64 hexadecimal digit (32 bytes) key here. This key will be used and will over-

   ride any passphrase set with the _WIFI_PSK_PASSPHRASE macro. The example hex

   key shown below

      #define   _WIFI_PSK_HEX  \

      "57A12204B7B350C4A86A507A8AF23C0E81D0319F4C4C4AE83CE3299EFE1FCD27"

   is valid for the SSID "rabbitTest" and the passphrase "now     is  the    time".

   Using a passphrase is rather slow. It takes a Rabbit 4000 more than 20 seconds to gen-

   erate the actual 256-bit key from the passphrase. If you use a passphrase and #define

   WIFI_VERBOSE_PASSPHRASE, the Wi-Fi library will helpfully print out the hex key

   corresponding to that passphrase and SSID.

   If both _WIFI_PSK_HEX and _WIFI_PSK_PASSPHRASE are defined, _WIFI_PSK_HEX

   will be used, and _WIFI_PSK_PASSPHRASE will be ignored.

•  Authentication algorithm—_WIFI_AUTH_MODE can be used to limit the authentication

   modes used.

   The default shown below allows enables both open-system authentication and shared-

   key authentication.

      #define   _WIFI_AUTH_MODE      WIFICONF_AUTH_ALL

   The following authentication options are available.

   •  WIFICONF_AUTH_OPEN_SYS — only use open authentication.

   •  WIFICONF_AUTH_SHARED_KEY — only use shared-key authentication (useful for

      WEP only).

User’s Manual                                                                                69
•   Fragmentation threshold—_WIFI_FRAG_THRESH sets the fragmentation threshold.

    Frames (or packets) that are larger than this threshold are split into multiple fragments.

    This can be useful on busy or noisy networks. The value can be between "256" and

    "2346".

    The default, "0", means no fragmentation.

    #define      _WIFI_FRAG_THRESH  "0"

•   RTS threshold—_WIFI_RTS_THRESH sets the RTS threshold, the frame size at which

    the RTS/CTS mechanism is used. This is sometimes useful on busy or noisy networks.

    Its range is "1" to "2347".

    The default, "0", means no RTS/CTS.

    #define      _WIFI_RTS_THRESH   "0"

Examples are available within Dynamic C. Select “Function Lookup” from the Help

menu, or press . Type “TCPCONFIG” in the Function Search field, and hit

. Scroll down to the section on “Wi-Fi Configuration.” The Dynamic C TCP/IP

User’s Manual.(Volume 1) provides additional information about these macros and Wi-Fi.

It is also possible to redefine any of the above parameters dynamically using the wifi_

ioctl() function call. Macros for alternative Wi-Fi configurations are provided with the

wifi_ioctl() function call, and may be used to change the above default macros or

configurations.

70                                             RabbitCore RCM4400W
6.3.2  Configuring Dynamic C at Run Time

There is one basic function call used to configure the Wi-Fi settings.

                                  wifi_ioctl

int    wifi_ioctl(int   iface,    int     cmd,  char*        data,      int  len);

DESCRIPTION

       This function call is used to configure the Wi-Fi interface, including setting the SSID,

       the mode, WEP keys, etc. It can also be used to get status information and to request a

       Wi-Fi scan.

       Note that the Wi-Fi interface must be down when you are using the following commands

       that change the configuration — WIFI_SSID, WIFI_MULTI_DOMAIN, WIFI_

       COUNTRY_SET, WIFI_MODE, WIFI_OWNCHAN, and WIFI_WEP_FLAG. The

       wifi_ioctl() function description in the WIFI_WLN_API.LIB library provides

       sample code to demonstrate how to bring down the Wi-Fi interface to change these

       configurations.

PARAMETERS

       iface            specifies the Wi-Fi interface number for the RCM4400W (use

                        IF_WIFI0 or IF_DEFAULT)

       The cmd, data, and len parameters are described in detail below. Each cmd (command)

       has different requirements for the data and len parameters. Note that these parameters

       are strings in all cases, even for “numeric” parameters. The Wi-Fi interface must

       be down when you are using the shaded commands that change the configuration.

        cmd             data      len                             Description

WIFI_SSID               char*     0–32          Sets SSID string

WIFI_MULTI_             char*          0        "0"—disable 802.11d country info capability

DOMAIN                                          "1"—enable 802.11d country info capability

WIFI_COUNTRY_           int*           0        0 through 9 to set channel range and power

SET                                             limits for selected country (see Table 5)

WIFI_COUNTRY_           _wifi_         0        Data structure with country-specific

GET                     country*                information

WIFI_MODE               char*          0        WIFICONF_INFRASTRUCT or

                                                WIFICONF_ADHOC

WIFI_OWNCHAN            char*          0        "0" through "13" decimal-coded string

                                                WIFICONF_WEP_DISABLE,

WIFI_WEP_FLAG           char*          0        WIFICONF_WEP_ENABLE, or

                                                WIFICONF_WEP_TKIP

User’s Manual                                                                                    71
     cmd                 data          len                       Description

WIFI_WEP_USEKEY          char*         0        "0" through "3"

WIFI_WEP_KEY0            char[]        5 or 13  64-bit or 128-bit key

WIFI_WEP_KEY1            char[]        5 or 13  64-bit or 128-bit key

WIFI_WEP_KEY2            char[]        5 or 13  64-bit or 128-bit key

WIFI_WEP_KEY3            char[]        5 or 13  64-bit or 128-bit key

                                                WIFICONF_AUTH_OPEN_SYS,

WIFI_AUTH                char*         0        WIFICONF_AUTH_SHARED_KEY, or

                                                WIFICONF_AUTH_ALL

WIFI_WPA_PSK_                                   ASCII string of 1 to 63 characters, null

PASSPHRASE               char*         0        terminated, sets a key for the previously

                                                specified WIFI_SSID value

WIFI_WPA_PSK_                                   ASCII string of exactly 64 hexadecimal

HEX                      char*         0        characters, null terminated, sets the WPA         PSK

                                                master key

                                                WIFICONF_RATE_1MBPS, WIFICONF_

WIFI_TX_RATE             char*         0        RATE_2MBPS, WIFICONF_RATE_5_

                                                5MBPS WIFICONF_RATE_11MBPS or

                                                WIFICONF_RATE_ANY

WIFI_TX_POWER            char*         0        "0" through "15" (the actual range used

                                                depends on the country setting)

WIFI_FRAG_               char*         0        "0" (off) or "256" through "2346"

THRESH

WIFI_RTS_                char*         0        "0" through "2347"

THRESH

WIFI_SCANCB              void*         0        Pointer to the scan callback function call

WIFI_SCAN                NULL          0        Initiates a Wi-Fi scan

WIFI_STATUSGET           wifi_status*  0        Returns status information

    In the data column:

     char* indicates that data argument is a string, and the len field is ignored

     char[] indicates that the argument is a character array, and len indicates the size

    If you don’t want encryption enabled, do not execute the WIFI_WEP_FLAG command in the table.

RETURN VALUE

     0 = success

     -1 = error (invalid command or parameter)

72                                                                      RabbitCore RCM4400W
Use each command macro in its own wifi_ioctl() function call. For example, to name

the “rabbit” access point and set a transmit rate of 11 Mbits/s, you would have these two

lines of code in your program.

int  wifi_ioctl(IF_WIFI0,           WIFI_SSID,  "rabbit",  0);

int  wifi_ioctl(IF_WIFI0,           WIFI_TX_RATE,  WIFICONF_RATE_11MBPS,  0);

Let’s look at the individual wifi_ioctl() commands and their macro options.

WIFI_SSID

An SSID (service set identifier) names a specific wireless LAN (WLAN). All devices on a

single WLAN must share a common SSID. Set this value to your WLAN’s SSID. If you

leave the SSID blank, the Rabbit-based device will associate automatically with the access

point that has the strongest signal. Generally, it is best to set the SSID explicitly so that the

device does not join a WLAN that you were not expecting it to join.

For an infrastructure network (one that uses an access point), this is the name of the network

as configured on the access point.

For an ad-hoc network, this is the name that you want to give the network you created. All

devices on the ad-hoc network must use the same SSID.

WIFI_MULTI_DOMAIN

This command enables or disables your device to be configured by an access point that is

capable of supporting multiple domains according to the 802.11d standard. When your

device is enabled, the access point will provide country information to your device to

identify the regulatory domain in which it is located and to configure its PHY for opera-

tion in that regulatory domain.

NOTE: The access point must have the 802.11d option enabled with the country selected

     according to where your wireless device is deployed.

User’s Manual                                                                                      73
WIFI_COUNTRY_SET

This command sets the channel range and maximum power limit for the country selected.

The country you select will set the maximum power limit and channel range automatically,

Rabbit strongly recommends checking the regulations for the country where your wireless

devices will be deployed for any specific requirements. Any attempt to operate a device

outside the allowed channel range or power limits will void your regulatory approval to

operate the device in that country.

The following regions have macros and region numbers defined for convenience.

               Table 5.       Worldwide Wi-Fi Macros and Region Numbers

           Region                    Macro              Region Number    Channel Range

Americas                      _AMERICAS_REGION          0                      1–11

                              _MEXICO_REGION_INDOORS    1                1–11 (indoors)

Mexico

                              _MEXICO_REGION_OUTDOORS   2                9–11 (outdoors)

Canada                        _CANADA_REGION            3                      1–11

Europe, Middle East, Africa,  _EMEA_REGION              4                      1–13

except France

France                        _FRANCE_REGION            5                      10–13

Israel                        _ISRAEL_REGION            6                      3–11

China                         _CHINA_REGION             7                      1–11

Japan                         _JAPAN_REGION             8                      1–13

Australia                     _AUSTRALIA_REGION         9                      1–11

The following sample code shows how to set Australia.

        auto   int  country;

           country  =  _AUSTRALIA_REGION;

           wifi_ioctl(IF_WIFI0,      WIFI_COUNTRY_SET,  &country,  0);

74                                                                      RabbitCore RCM4400W
WIFI_COUNTRY_GET

This command returns country-specific information into the user-supplied buffer (or data

structure) area. Accordingly, you must ensure there is enough space in the buffer for the

entire data structure. Be sure the data pointer points to a buffer that is large enough to hold

sizeof(_wifi_country).

The wifi_status structure has the following definition.

typedef        struct    {

char           id;                         //  Country  ID

char           country[16];                //  Country  name

int            first_channel;              //  First  channel

int            last_channel;               //  Last   channel

unsigned            int     channel_mask;  //  Channel  mask

int            max_pwr_dBm;                //  Max   power,  dBm

int            max_pwr_index;              //  Max   Power   index

_wifi_country;

WIFI_MODE

Sets whether the Wi-Fi device should attach to an infrastructure network (WIFICONF_

INFRASTRUCT), which is the most common configuration, or an ad-hoc network

(WIFICONF_ADHOC). Access points are used with infrastructure networks, and coordinates

communication among all the associated devices. No wireless access points are associated

with the ad-hoc mode. This allows devices (such as Rabbit-based devices and notebooks)

to communicate with each other directly as peer devices without an access point.

WIFI_OWNCHAN

This parameter specifies the channel the Wi-Fi device uses in your network when operat-

ing in the ad-hoc mode. Set this parameter to "0" in an infrastructure network to allow the

Wi-Fi driver to pick the channel automatically for the given SSID. For an ad-hoc network,

this channel must be set to "1" through "13". Use the WIFI_COUNTRY_GET command to

get the valid range of channels for the country where the device will be used.

NOTE: Regional regulations may not allow some channels to be used.

WIFI_WEP_FLAG

The encryption flag can have one of three values—disabled (WIFICONF_WEP_DISABLE),

WEP encryption enabled (WIFICONF_WEP_ENABLE), or TKIP/WPA encryption enabled

(WIFICONF_WEP_TKIP). You can use either 40-bit (5-byte) or 104-bit (13-byte) keys for

WEP (Wired Equivalent Privacy).

WIFI_WEP_USEKEY

Indicates which key ("0"–"3") is the default transmission key. The setting may be left at

the "0" default. The setting of the WEP keys is described below.

User’s Manual                                                                                    75
WIFI_WEP_KEY0–3

These are the secret keys that are programmed into each device on a WLAN to use WEP

(Wired Equivalent Privacy). Each of these keys must be entered correctly in order for

WEP to work.

Each of the four WEP keys is an array of either 5 or 13 binary bytes, not an ASCII string.

Set len to 5 for a 40-bit key, or 13 for a 104-bit key. Marketing literature sometimes refers

to these as 64-bit or 128-bit keys. The 24 “extra” bits that are included in the marketing

description serve as a cryptographic initialization vector.

WIFI_AUTH

The authentication option is used to configure different types of authentication that the

Wi-Fi device supports. There are three types of authentication that are supported—open-

system authentication (WIFICONF_AUTH_OPEN_SYS), shared-key authentication

(WIFICONF_AUTH_SHARED_KEY), or both (WIFICONF_AUTH_ALL). The most important

consideration is to use the same type of authentication as the access point you are planning

on using; hence, WIFICONF_AUTH_ALL is the most flexible value.

WIFI_WPA_PSK_PASSPHRASE

This WPA option is only available if the WIFI_USE_WPA macro has been defined.

The command sets a key for the previously specified WIFI_SSID value. The key is com-

puted as a hash of the passphrase and the target SSID, which could potentially take a long

time to run. See the PASSPHRASE.C sample program for alternatives.

If your program (or TCP configuration) defines _WIFI_PSK_PASSPHRASE to a quoted

string, then that string will be used automatically as a pass phrase, unless _WIFI_PSK_HEX

is also defined (see the following command description).

WIFI_WPA_PSK_HEX

This WPA option is only available if the WIFI_USE_WPA macro has been defined.

The command sets a hexadecimal WPA  PSK master key. The string must be exactly 64

hexadecimal digits (using the characters 0–9 and a–f or A–F). This is interpreted as a byte

string and parsed into the appropriate 32-byte binary key.

If your program (or TCP configuration) defines _WIFI_PSK_HEX to a quoted string of 64

hex digits, then that string will be used automatically as the PSK master key.

76                                                                  RabbitCore RCM4400W
WIFI_TX_RATE

This command macro specifies the maximum transmit rate for the Wi-Fi device. This rate is

reduced as necessary depending on the quality of the wireless connection. The options are:

1 Mbits/s (WIFICONF_RATE_1MBPS)

2 Mbits/s (WIFICONF_RATE_2MBPS)

5.5 Mbits/s (WIFICONF_RATE_5_5MBPS)

11 Mbits/s (WIFICONF_RATE_11MBPS)

WIFICONF_RATE_ANY to use the highest data rate available.

WIFI_TX_POWER

Sets the transmit power for the Wi-Fi device. A higher transmit power will result in higher

dBm. Use the WIFI_COUNTRY_GET command to get the power limit setting for the

country where the device will be used.

NOTE: Regional regulations may not allow the full range of possible power settings to

be used.

WIFI_FRAG_THRESH

Sets the threshold (in bytes) beyond which a frame must be fragmented when transmitted.

This can be useful on a very busy or noisy network, since frame corruption will be limited

to the size of a fragment rather than the whole frame. This means that only the fragment

will need to be retransmitted. To be effective, the fragmentation threshold will need to be

set on all wireless devices on the network as well as on the access point.

WIFI_RTS_THRESH

Sets the threshold (in bytes) beyond which an RTS (request to send) frame must be sent

before the data frame can be sent. This can sometimes help performance with busy net-

works, although it is not used frequently.

User’s Manual                                                                                77
WIFI_SCANCB

Sets up a user callback function that will be called when a user-requested scan has com-

pleted. The callback function must have the following function prototype. (The name of

the function may be different.)

    root     void    scan_callback(far      wifi_scan_data*          data);

The scan data will be provided in the data parameter. This structure has the following

definition.

    #define         _WIFI_SCAN_NUM

    typedef         struct   {

             int   count;

             _wifi_wln_scan_bss      bss[_WIFI_SCAN_NUM];

    }  wifi_scan_data;

    count will have the number of access points that were detected.

    bss is an array where each element corresponds to a detected access point.

    _wifi_wln_scan_bss is a structure that has the following definition.

    typedef         struct   {

             uint8   ssid[WLN_SSID_SIZE];

             int   ssid_len;

             int   channel;

             mac_addr  bss_addr;

             uint16  bss_caps;

             uint8   wpa_info[WLN_WPAIE_SIZE];

             uint8   erp_info;

             uint16  rates;

             uint16  rates_basic;

             uint16  atim;

             int   tx_rate;

             int   rx_signal;

    }  _wifi_wln_scan_bss;

The structure elements have the following definitions:

    ssid = service set ID (max. length 32)

    ssid_len = SSID length in bytes

    channel = channel number (1–13)

    bss_addr = BSS ID (access point MAC address)

    bss_caps reserved

    wpa_info reserved

    erp_info reserved

    rates reserved

    rates_basic reserved

    atim reserved

    tx_rate = maximum transmit rate (in 100 kbps)

    rx_signal = received signal strength (0–107)

78                                                                              RabbitCore RCM4400W
WIFI_SCAN

Initiates a Wi-Fi scan. When the scan has been completed, the configured scan callback

function (see above) will be called. The callback function must have already been config-

ured before using this command. A Wi-Fi scan will interrupt the network connectivity

briefly since the scan must iterate through the channels on the wireless network.

WIFI_STATUSGET

When using this command, you must ensure there is enough space for the entire data

structure. Be sure the data pointer points to a buffer that is large enough to hold

sizeof(wifi_status).

This command returns status information into the user-supplied buffer (or data structure)

area. The wifi_status structure has the following definition.

     typedef   struct    {

        wln_state  state;

        uint8   ssid[WLN_SSID_SIZE];

        int    ssid_len;

        int    channel;

        mac_addr   bss_addr;

        uint16   bss_caps;

        uint8   wpa_info[WLN_WPAIE_SIZE];

        uint32   authen;

        uint32   encrypt;

        int    tx_rate;

        int    rx_rate;

        int    rx_signal;

        int    tx_power;

        uint8   country_info[WLN_COUNTRY_STRLEN];

     }  wifi_status;

The  structure elements have the following definitions.

state = association state: one of WLN_ST_xxx (see below)

ssid = current service set ID (SSID)

ssid_len = service set ID length

channel = current channel (1–13)

bss_addr = BSS ID (access point MAC address)

bss_caps reserved

wpa_info reserved

authen reserved

encrypt reserved

tx_rate = current transmit rate (in 100 kbps)

rx_rate = last received rate (in 100 kbps)

rx_signal = last received signal strength (0–107)

tx_power reserved

country_info reserved

User’s Manual                                                                              79
The state structure element can provide more information  on  the  current state of the Wi-Fi

driver. It can have the following values.

    WLN_ST_STOPPED = Wi-Fi driver is stopped

    WLN_ST_SCANNING = currently performing a scan

    WLN_ST_ASSOC_ESS = associated with an access point

    WLN_ST_AUTH_ESS = authenticated with an access point

    WLN_ST_JOIN_IBSS = joined an existing ad-hoc network

    WLN_ST_START_IBSS = started an ad-hoc network

80                                                                 RabbitCore RCM4400W
6.3.3  Other Key Function Calls

Remember to call sock_init() after all the Wi-Fi parameters have been defined. The

Wi-Fi interface will be up automatically as long as you configured Dynamic C at compile

time with one of the TCPCONFIG macros. Otherwise the Wi-Fi interface is neither up nor

down, and must be brought up explicitly by calling either ifup(IF_WIFI0) or

ifconfig(IF_WIFI0,…). You must bring the interface down when you configure

Dynamic C at run time before modifying any parameters that require the interface to be

down (see Section 6.3.2) by calling ifdown(IF_WIFI0) or ifconfig(IF_WIFI0,…).

Then bring the interface back up.

Finally, no radio transmission occurs until you call tcp_tick(NULL).

Instead of executing the above sequence based on sock_init(), you could use sock_

init_or_exit(1) as a debugging tool to transmit packets (ARP, DHCP, association,

and authentication) while bringing up the interface and to get the IP address.

User’s Manual                                                                            81
6.4  Where Do I Go From Here?

     NOTE: If you purchased your RCM4400W through a distributor or through a Rabbit part-

           ner, contact the distributor or partner first for technical support.

If there are any problems at this point:

• Use the Dynamic C Help menu to get further assistance with Dynamic C.

•   Check the Rabbit Technical Bulletin Board and forums at www.rabbit.com/support/bb/

    and at www.rabbitcom/forums/.

•   Use the Technical Support e-mail form at www.rabbit.com/support/.

If the sample programs ran fine, you are now ready to go on.

An Introduction to TCP/IP and the Dynamic C TCP/IP User’s Manual.provide

background and reference information on TCP/IP, and are available on the CD and on our

Web site.

82                                                                               RabbitCore RCM4400W
                   APPENDIX A.        RCM4400W

                                      SPECIFICATIONS

Appendix A provides the specifications for the RCM4400W,

and describes the conformal coating.

OEM User’s Manual                                         83
84                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             Figure A-1 shows the mechanical dimensions for the RCM4400W.  A.1

                                                                                         NOTE: All measurements are in inches followed by millimeters enclosed                                                                                                                                                                                           (3.2)     0.125 dia                                                                                                                                                                                                                                                 Electrical and Mechanical Characteristics

                     All dimensions have a manufacturing tolerance of ±0.01" (0.25 mm).                                                                                                                                                                        0.19                                                                                           ×                                                                                                                                                                                    0.19

                                                                                                                                                                                                                                                               (5)                                                                                            3                                                                                                                                                                                    (5)

                                                                                                                                                                                                                                                                    R19                   JP1                                                                                   C34                                            1

                                                                                                                                                                                                                                                          2                                                                                                                                                         C51                                                           R9   C49

                                                                                                                                                                                           J1                                            (13)  0.50       J2                   R22                                                                                   C169                                                                        C54 R12                                    U10

                                                                                                                                                                                                                                                     C89                            JP3                                                                                                                       C36    Y1                                                                                         R8

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  U11

                                                                                                                                                                                                                                                                               R21  JP2                                                                                            R1    U4         C35                                          C28                                                                          Q2

                                                                                                                                                                                                                                                     R14       R18                                                                                       R70    R27                                      JP4                                     C27                                   C21                                     C20

                                                                                                                                                                                                                                                                                                                                                                C149                                     R61              C3

                                                                                                                                                                                                                                                     FCC ID: VCB–540D144                                                                                                                                                  C1                                                                                                      U1C18  C19

                                                                                                                                                                                                                                                                                                                                                         C150   D2                     R60    C147                        C5   C6

                                                                                                                                                                                                                                                     IC ID: 7143A–540D144                                                                                                          C146  L17                  C145

                                                                                                                                                                                                                                                                                                                                                                                                    L13

                                                                                                                                                                                                                                                     C33                                                                     RF                                               U24                                        C2                                                                                                                   C16

                                                                                                                                                                                                                                                                                                                             SHIELD                                       C148                                      C142                                                                                                          C17

                                                                                                                                                                                                                                               0.72            C32                                                                                                                                                        C4                                                                                                             C15

                                                                                                                                                                                           1.84                                          (18)                  C31                                                     C158          L9                                                                                                                                                                                                                  1.84

                                                                                                                                                                                     (47)                                                                                                 C123                                             C115  C168                                                                    C144                                                                                                              C13     (47)

                                                                                                                                                                Figure A-1.                                                                                                                                C154              C117                        R59

                                                                                                                                                                                                                                                                                    C122                   C155                                          U20               C135                                           C11  C10                                                                                                C14

                                                                                                                                                                                                                                                     U3        C29      U21                          RABBIT ®                                                                                                             C7

                                                                                                                                                                                                                                                          C30                       C119        L10  C121  C120  C116                                           R62                                                 C145                                                          U12                                          C12

                                                                                                                                                                                                                                                                                    RCM4400WT1                                                                                           C136                 C143             R41C8                 C50                                    R13                           C9

                                                                                                                                                                                                                                                                                                L11        C128                                                            R64                      C163

                                                                                                                                                                                                                                                                               U23                                                                            R51

                                                                                                                                                                                                                                                                    C132 C124                              C129                                               R52                                             U18                                    C52                                                             R15

                                                                                                                                                                                                                                                                                                L12                                                           R53                                                        C138                                                                                   R17
                                                                                                                                                                                                                                                                                                C160
                                                                                                                                                                                                                                                                                    C126
                                                                                                                                                                                                                      2.85                                                                      C161                                                          R54                                                                                    R10                          U13                                R16

                                                                                                                                                                                                                (72)                                                           U22            R67                      C134                              C108                                                                                                                     R20

                                                                                                                                                                                                                                                               S1                         C131                         C107                                                                                              C137                                                                                             C53

                                                                                                                                                                                                                                               0.62                                                  R71 C106                                            L6                C141                                                                                                                                           C55     U6

                                                                                                                                                                                                                                         (16)                       C125                                                             C114  L8  C111  L4                                                                           Q1 Y2

                                                                                                                                                                                                                                                                                          C127                         C112      L3                                                                             L16                                                                                                                   C41  C42

                                                                                                                                                                                                                                                     J4                                                                DS1                     DS2                         C141  C140               L14

                                                                                                                                                                                                                                                                                                                       LINK                      ACT                               C139                                   C46                    R2

                                                                                                                                                                RCM4400W Dimensions                                                                                 J3

                                                                                                                                                                                                                                         (13)  0.50

                                                                                                                                                                                                        0.187                                             0.508                                                        0.335                                    0.17 dia

                                                                                                                                                                                                        (4.74)                                            (12.9)                                                       (8.5)                             (4.3)

                                                                                                                                                                                                        0.20                                                            1.10

                                                                                                                                                                                     0.064              (5.0)                                                                  (28)

                                                                                                                                                                                     (1.6)                                        0.20                                                                                                                        2.85

                                                                                                                                                                                                                0.064             (5.0)                                                                                                                       (72)

                                                                                                                                                                                           0.11                 (1.6)                                                                                                                                                                               locations.      appendix for precise header  footprint diagram later in this  Please refer to the RCM4400W

                                       &