Rabbit RabbitCore RCM4400W Product Manual

C-programmable wi-fi core module
Table of Contents

Advertisement

Quick Links

RabbitCore RCM4400W
C-Programmable Wi-Fi Core Module
OEM User's Manual
019–0160 • 080131–F

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the RabbitCore RCM4400W and is the answer not in the manual?

Questions and answers

Summary of Contents for Rabbit RabbitCore RCM4400W

  • Page 1 RabbitCore RCM4400W C-Programmable Wi-Fi Core Module OEM User’s Manual 019–0160 • 080131–F...
  • Page 2 Wi-Fi is a registered trademark of the Wi-Fi Alliance. Rabbit 4000 is a trademark of Rabbit Semiconductor Inc. The latest revision of this manual is available on the Rabbit Semiconductor Web site, www.rabbit.com, for free, unregistered download. Rabbit Semiconductor Inc.
  • Page 3: Table Of Contents

    ABLE OF ONTENTS Chapter 1. Introduction 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...
  • Page 4 Appendix A. RCM4400W Specifications A.1 Electrical and Mechanical Characteristics ..................82 A.1.1 Antenna............................86 A.1.2 Headers ............................87 A.2 Rabbit 4000 DC Characteristics ......................88 A.3 I/O Buffer Sourcing and Sinking Limit..................... 89 A.4 Bus Loading ............................89 A.5 Conformal Coating ..........................92 A.6 Jumper Configurations ........................
  • Page 5 B.4 Using the Prototyping Board......................101 B.4.1 Adding Other Components.......................103 B.4.2 Measuring Current Draw......................103 B.4.3 Analog Features........................104 B.4.4 Serial Communication ......................104 B.4.4.1 RS-232 ..........................104 B.5 Prototyping Board Jumper Configurations ..................106 Appendix C. Power Supply C.1 Power Supplies..........................109 C.1.1 Battery-Backup.........................109 C.1.2 Battery-Backup Circuit......................110 C.1.3 Reset Generator ........................111 C.1.4 Onboard Power Supplies ......................111 Index...
  • Page 6 RabbitCore RCM4400W...
  • Page 7: Chapter 1. Introduction

    (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.
  • Page 8: 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 •...
  • Page 9: Advantages Of The Rcm4400W

    • 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.
  • Page 10: Development And Evaluation Tools

    CD. Install any Dynamic C modules after you UX12 the latest information on peripherals and accessories that install Dynamic C . are available for the RCM4400W RabbitCore modules. RX43 Rabbit and Dynamic C are registered trademarks of Rabbit Semiconductor Inc. UX14 RX97 RX59 RX75 RX49...
  • Page 11: Software

    FCC certification markings. These “For development use only” modules were only sold in 2007. Rabbit Semiconductor 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.
  • Page 12: Certifications

    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 Semiconductor may void the user's authority to operate this equipment.
  • Page 13: Industry Canada Labeling

    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.
  • Page 14: Japan Labeling

    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. RabbitCore RCM4400W...
  • Page 15: Chapter 2. Getting Started

    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.
  • Page 16: Hardware Connections

    RX81 RCM1 /IOWR /RST_IN VBAT JP16 RX83 JP12 JP14 UX30 JP18 RX11 JP10 UX10 RX67 UX12 RX43 UX14 RX97 RX59 RX75 RX49 RX55 RX57 RX73 CX27 VREF AGND CX25 CX23 RX77 RX79 UX16 JP25 Figure 2. Insert Standoffs RabbitCore RCM4400W...
  • Page 17: Step 2 - Attach The Antenna To The Rcm4400W Module

    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. C124 C132 C126 C131 C123 C121 C120 C116 LINK C158 C117 C114 C111 C169 C141 C148...
  • Page 18: Step 3 - Attach Module To Prototyping Board

    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. RabbitCore RCM4400W...
  • Page 19: Step 4 - Connect Programming Cable

    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 folder — double-click Drivers\Rabbit USB Programming Cable\WinXP_2K to install the USB drivers. Drivers for other operating systems are available DPInst.exe online at www.ftdichip.com/Drivers/VCP.htm.
  • Page 20: Step 5 - Connect Power

    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. RabbitCore RCM4400W...
  • Page 21: Run A Sample Program

    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 menu.
  • Page 22: Troubleshooting

    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.
  • Page 23: Where Do I Go From Here

    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: •...
  • Page 24 RabbitCore RCM4400W...
  • Page 25: Chapter 3. Running Sample Programs

    AMPLE ROGRAMS To develop and debug programs for the RCM4400W (and for all other Rabbit Semiconductor 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.
  • Page 26: Sample Programs

    —demonstrates the use of cofunctions and costatements to flash LEDs • FLASHLED2.C 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. RabbitCore RCM4400W...
  • Page 27 TAMPERDETECTION.C 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.
  • Page 28: Serial Communication

    115,200 bps. You can observe the output in the Dynamic C STDIO window as you type in Tera Term, and you can also use the Dynamic C STDIO window to clear the buffer. The Tera Term utility can be downloaded from hp.vector.co.jp/authors/VA002416/teraterm.html. RabbitCore RCM4400W...
  • Page 29 —This program demonstrates basic RS-232 serial • SIMPLE3WIRE.C communication. Lower case characters are sent on TxC, and are RxC TxC received by RxD. The received characters are converted to upper case TxD RxD and are sent out on TxD, are received on RxC, and are displayed in the Dynamic C window.
  • Page 30 STDIO 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 that was generated by the Rabbit 4000...
  • Page 31: Real-Time Clock

    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 sample program from the Dynamic C SETRTCKB.C folder, and follow the onscreen prompts. The sample SAMPLES\RTCLOCK RTC_TEST.C program in the Dynamic C...
  • Page 32 RabbitCore RCM4400W...
  • Page 33: Chapter 4. Hardware Reference

    EFERENCE 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. 32 kHz 58.98 MHz Wi-Fi...
  • Page 34: Rcm4400W Digital Inputs And Outputs

    * 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 standard 2 × 25 IDC header with a nominal 1.27 mm pitch. Headers J1 is a RabbitCore RCM4400W...
  • Page 35 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.
  • Page 36 SCLKA Programming port Input/Output External I/O Address CLKA /SWR Input/Output External I/O Address /SRD Input/Output External I/O Address Input/Output External I/O Address Input/Output External I/O Address /SCS Input/Output External I/O Address /SLAVATN Input/Output External I/O Address RabbitCore RCM4400W...
  • Page 37 Table 2. RCM4400W Pinout Configurations (continued) Pin Name Default Use Alternate Use Notes I/O Strobe I0 Input/Output Timer C0 TCLKF Serial Port D RXD/TXD I/O Strobe I1 Input/Output Timer C1 RCLKF Input Capture TXC/TXF Input/Output I/O Strobe I2 Timer C2 RXC/TXC/RXF Serial Port C I/O Strobe I3...
  • Page 38 FPGA Interrupt Output/PE5/ Input/Output PWM1 Not connected SMODE0 RXB/RCLKE Input Capture I/O Strobe I6 FPGA Chip PWM2 Select/PE6/ Input/Output Not connected SMODE1 DREQ0 I/O Strobe I7 PWM3 PE7 is the default PE7/STATUS Input/Output RXA/RXE/SCLKC configuration DREQ1 Input Capture RabbitCore RCM4400W...
  • Page 39 Table 2. RCM4400W Pinout Configurations (continued) Pin Name Default Use Alternate Use Notes I/O Strobe I0 Timer C0 Input/Output INT0 SCLKD/TCLKF QRD1B I/O Strobe I1 Timer C1 Input/Output INT1 RXD/RCLKF QRD1A Input Capture I/O Strobe I2 Timer C2 Input/Output DREQ0 TXF/SCLKC QRD2B I/O Strobe I3...
  • Page 40 Table 2. RCM4400W Pinout Configurations (continued) Pin Name Default Use Alternate Use Notes I/O Strobe I6 Input/Output PWM2 TXA/TXE Serial Port E I/O Strobe I7 Input/Output PWM3 RXA/RXE Input Capture Not Connected Not Connected RabbitCore RCM4400W...
  • Page 41: Memory I/O Interface

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

    SDLC format by these two ports. Serial Ports E and F must be con- figured before they can be used. The sample program in the IOCONFIG_SWITCHECHO.C Dynamic C folder shows how to configure Serial Ports E SAMPLES\RCM4400W\SERIAL and F. RabbitCore RCM4400W...
  • Page 43: Using The Serial Ports

    Table 3 summarizes the possible parallel port pins for the serial ports and their clocks. Table 3. Rabbit 4000 Serial Port and Clock Pins PC6, PC7, PD6 PD6, PE6, PC6 Serial Port A PC7, PD7, PE7 PD7, PE7, PC7 Serial Port E...
  • Page 44: Wi-Fi

    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. RabbitCore RCM4400W...
  • Page 45 Table 4. Wi-Fi Channel Allocations Center Frequency Frequency Spread Channel (GHz) (GHz) 2.412 2.401–2.423 2.417 2.406–2.428 2.422 2.411–2.433 2.427 2.416–2.438 2.432 2.421–2.443 2.437 2.426–2.448 2.442 2.431–2.453 2.447 2.436–2.458 2.452 2.441–2.463 2.457 2.446–2.468 2.462 2.451–2.473 2.467 2.456–2.478 2.472 2.461–2.483 2.484 2.473–2.495 (not used) * These channels are disabled for units delivered for sale in the United States and Canada.
  • Page 46: 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.
  • Page 47: 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...
  • Page 48: Standalone Operation Of The Rcm4400W

    A program “runs” in either mode, but can only be downloaded and debugged when the RCM4400W is in the Program Mode. Refer to the for more information on the pro- Rabbit 4000 Microprocessor User’s Manual 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.
  • Page 49: Other Hardware

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

    4.5.2 Flash EPROM All RCM4400W modules also have 512K of flash EPROM installed at U5. NOTE: Rabbit Semiconductor 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.
  • Page 51: Chapter 5. Software Reference

    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.
  • Page 52 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”...
  • Page 53: Dynamic C Function Calls

    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);...
  • Page 54: Sram Use

    5.2.5 Wi-Fi Drivers The Wi-Fi drivers are located in the folder. Complete information on the Wi-Fi LIB\TCPIP libraries and function calls is provided in Chapter 6. Additional information on TCP/IP is provided in the Dynamic C TCP/IP User’s Manual. RabbitCore RCM4400W...
  • Page 55: Prototyping Board Function Calls

    The sample programs in the Dynamic C folder illustrate the use of SAMPLES\RCM4400W 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.6.1 Board Initialization brdInit void brdInit(void);...
  • Page 56: Alerts

    (e.g., PADR) dataport the input port bit (0–7) to poll portbit the value of 0 or 1 to receive value the duration of the timeout in seconds (enter 0 for no timeout) timeout RETURN VALUE None. RabbitCore RCM4400W...
  • Page 57: Upgrading Dynamic C

    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 Semiconductor 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.
  • Page 58 RabbitCore RCM4400W...
  • Page 59: Chapter 6. Using The Wi-Fi Features

    6. U SING THE EATURES 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.
  • Page 60: Ad-Hoc Mode

    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. RabbitCore RCM4400W...
  • Page 61: Running Wi-Fi Sample Programs

    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.
  • Page 62: Wi-Fi Setup

    C1 1 C144 UX14 RX97 RX59 RX75 RX49 RX55 RX57 RX73 CX27 VREF AGND CX25 CX23 RX77 RX79 JP25 UX16 Infrastrcture Mode (via Ethernet connection) Ethernet Ethernet Infrastrcture Mode (via wireless connection) Ad-Hoc Mode Figure 11. Wi-Fi Host Setup RabbitCore RCM4400W...
  • Page 63: What Else You Will Need

    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 COM or 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 notebook 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.
  • Page 64: Configuration Information

    NOTE: TCPCONFIG 0 is not supported for Wi-Fi applications. There are some other “standard” configurations for . Their values are docu- TCPCONFIG mented in the library. More information is available in LIB\TCPIP\TCP_CONFIG.LIB the Dynamic C TCP/IP User’s Manual. RabbitCore RCM4400W...
  • Page 65: Pc/Laptop/Pda Configuration

    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.
  • Page 66 You will have set your wireless network name with the macros for _WIFI_OWNCHANNEL the ad-hoc mode as explained in Section 6.2.3.1, “Network/Wi-Fi Configuration.” RabbitCore RCM4400W...
  • Page 67: Wi-Fi Sample Programs

    The country or region you select will automatically set the power and channel require- ments to operate the RCM4400W module. Rabbit Semiconductor recommends that you User’s Manual...
  • Page 68 The country or region you select will automatically set the power and channel require- ments to operate the RCM4400W module. Rabbit Semiconductor recommends that you check the regulations for the country where your system incorporating the RCM4400W will be deployed for any other requirements.
  • Page 69: Wi-Fi Operation

    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.
  • Page 70 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 regularly. tcp_tick(NULL) RabbitCore RCM4400W...
  • Page 71: Rcm4400W Sample Programs

    6.2.5 RCM4400W Sample Programs The following sample programs are in the Dynamic C SAMPLES\RCM4400W\TCPIP\ folder. —This program demonstrates a basic controller running a Web page. • BROWSELED.C 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.
  • Page 72 —This program demonstrates using the SMTP library to send an e-mail when • SMTP.C 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. RabbitCore RCM4400W...
  • Page 73: Dynamic C Wi-Fi Configurations

    LIB\TCPIP\WIFI\ library. WIFI_WLN_API.LIB 6.3.1 Configuring Dynamic C at Compile Time Rabbit Semiconductor has made it easy for you to set up the parameter configuration using already-defined macros from the Dynamic C TCPCONFIG LIB\TCPIP\TCP_CON- library at the beginning of your program as in the example below.
  • Page 74 #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 RabbitCore RCM4400W...
  • Page 75 "rabbitTest" "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...
  • Page 76 It is also possible to redefine any of the above parameters dynamically using the wifi_ function call. Macros for alternative Wi-Fi configurations are provided with the ioctl() function call, and may be used to change the above default macros or wifi_ioctl() configurations. RabbitCore RCM4400W...
  • Page 77: Configuring Dynamic C At Run Time

    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.
  • Page 78 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) RabbitCore RCM4400W...
  • Page 79 Use each command macro in its own function call. For example, to name wifi_ioctl() 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);...
  • Page 80 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 Semiconductor strongly recommends checking the regulations for the country where your wireless devices will be deployed for any specific requirements. Any attempt to oper- ate a device outside the allowed channel range or power limits will void your regulatory approval to operate the device in that country.
  • Page 81 WIFICONF_ADHOC 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.
  • Page 82 (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 to a quoted string of 64 _WIFI_PSK_HEX hex digits, then that string will be used automatically as the PSK master key. RabbitCore RCM4400W...
  • Page 83 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...
  • Page 84 = 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) RabbitCore RCM4400W...
  • Page 85 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.
  • Page 86 = 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 RabbitCore RCM4400W...
  • Page 87: Other Key Function Calls

    6.3.3 Other Key Function Calls Remember to call after all the Wi-Fi parameters have been defined. The sock_init() Wi-Fi interface will be up automatically as long as you configured Dynamic C at compile time with one of the macros. Otherwise the Wi-Fi interface is neither up nor TCPCONFIG down, and must be brought up explicitly by calling either ifup(IF_WIFI0)
  • Page 88: Where Do I Go From Here

    6.4 Where Do I Go From Here? NOTE: If you purchased your RCM4400W through a distributor or through a Rabbit Semi- conductor partner, contact the distributor or partner first for technical support. If there are any problems at this point: •...
  • Page 89: Appendix A. Rcm4400W Specifications

    A. RCM4400W PPENDIX PECIFICATIONS Appendix A provides the specifications for the RCM4400W, and describes the conformal coating. OEM User’s Manual...
  • Page 90: Electrical And Mechanical Characteristics

    0.72 0.62 0.50 0.50 (13) (18) (16) (13) 2.85 (72) 1.84 (47) Figure A-1. RCM4400W Dimensions NOTE: All measurements are in inches followed by millimeters enclosed in parentheses. All dimensions have a manufacturing tolerance of ±0.01" (0.25 mm). RabbitCore RCM4400W...
  • Page 91 It is recommended that you allow for an “exclusion zone” of 0.04" (1 mm) around the RCM4400W in all directions when the RCM4400W is incorporated into an assembly that includes other printed circuit boards. An “exclusion zone” of 0.08" (2 mm) is recom- mended below the RCM4400W when the RCM4400W is plugged into another assembly.
  • Page 92 Pulse-Width Modulators 4 channels variable-phase or synchronized PWM with 16-bit counter 2-channel input capture can be used to time input Input Capture signals from various port pins 2-channel quadrature decoder accepts inputs Quadrature Decoder from external incremental encoder modules RabbitCore RCM4400W...
  • Page 93 Table A-1. RCM4400W Specifications (continued) Parameter RCM4400W 3.3 V.DC ±5% Power (pins unloaded) 450 mA @ 3.3 V while transmitting/receiving 80 mA @ 3.3 V while not transmitting/receiving Operating Temperature -30°C to +75°C Humidity 5% to 95%, noncondensing One RP-SMA antenna connector Connectors One 2 ×...
  • Page 94: Antenna

    Figure A-3. 0.28 (7.2) 0.39 (10.0) Figure A-3. RCM4400W Development Kit Dipole Antenna NOTE: All measurements are in inches followed by millimeters enclosed in parentheses. All dimensions have a manufacturing tolerance of ±0.01" (0.25 mm). RabbitCore RCM4400W...
  • Page 95: Headers

    A.1.2 Headers The RCM4400W uses a header at J1 for physical connection to other boards. J1 is a 2 × 25 SMT header with a 1.27 mm pin spacing. J2, the programming port, is a 2 × 5 header with a 1.27 mm pin spacing Figure A-4 shows the layout of another board for the RCM4400W to be plugged into.
  • Page 96: Rabbit 4000 Dc Characteristics

    Stresses beyond those listed in Table A-2 may cause permanent damage. The ratings are stress ratings only, and functional operation of the Rabbit 4000 chip at these or any other conditions beyond those indicated in this section is not implied. Exposure to the absolute maximum rating conditions for extended periods may affect the reliability of the Rabbit 4000 chip.
  • Page 97: I/O Buffer Sourcing And Sinking Limit

    A.3 I/O Buffer Sourcing and Sinking Limit Unless otherwise specified, the Rabbit I/O buffers are capable of sourcing and sinking 8 mA of current per pin at full AC switching speed. Full AC switching assumes a 29.4 MHz CPU clock with the clock doubler enabled and capacitive loading on address and data lines of less than 70 pF per pin.
  • Page 98 Figure A-5 shows a typical timing diagram for the Rabbit 4000 microprocessor external I/O read and write cycles. External I/O Read (no extra wait states) A[15:0] valid T adr /CSx T CSx T CSx /IOCSx T IOCSx T IOCSx /IORD...
  • Page 99 The maxi- mum shortening for a pair of clocks combined is shown in the table. Rabbit Semiconductor’s Technical Note TN227, Interfacing External I/O with Rabbit Microprocessor Designs...
  • Page 100: Conformal Coating

    A new conformal coating should then be applied to offer continuing protection against the effects of moisture and contaminants. Rabbit Semiconductor’s NOTE: For more information on conformal coatings, refer to Technical Note 303, Conformal Coatings, which is included with the online documentation. RabbitCore RCM4400W...
  • Page 101: Jumper Configurations

    A.6 Jumper Configurations Figure A-7 shows the header locations used to configure the various RCM4400W options via jumpers. RCM4400W Figure A-7. Location of RCM4400W Configurable Positions Table A-7 lists the configuration options. Table A-7. RCM4400W Jumper Configurations Factory Header Description Pins Connected Default 1–2 PE6...
  • Page 102 RabbitCore RCM4400W...
  • Page 103: Appendix B. Prototyping Board

    B. P PPENDIX ROTOTYPING OARD Appendix B describes the features and accessories of the Proto- typing Board, and explains the use of the Prototyping Board to demonstrate the RCM4400W and to build prototypes of your own circuits. The Prototyping Board has power-supply connec- tions and also provides some basic I/O peripherals (RS-232, LEDs, and switches), as well as a prototyping area for more advanced hardware development.
  • Page 104: Introduction

    Area RX67 Mounting UX12 RX43 UX14 RX97 RX59 RX75 RX57 RX49 RX55 RX73 CX27 VREF AGND CX25 CX23 RX77 RX79 UX16 JP25 Analog User LEDs RCM4400W SMT Prototyping User Module Area Switches Extension Header Figure B-1. Prototyping Board RabbitCore RCM4400W...
  • Page 105: Prototyping Board Features

    B.1.1 Prototyping Board Features —A a 3-pin header is provided for connection to the power supply. Power Connection • Note that the 3-pin header is symmetrical, with both outer pins connected to ground and the center pin connected to the raw V+ input. The cable of the AC adapter provided with the North American version of the Development Kit is terminated with a header plug that connects to the 3-pin header in either orientation.
  • Page 106 • at header J3 on the Prototyping Board. These analog signals are connected via attenuator/ filter circuits on the Prototyping Board to the corresponding analog inputs on the Rabbit- Core module. NOTE: No analog signals are available on the Prototyping Board with the RCM4400W RabbitCore module installed since no analog signals are present on the RCM4400W’s...
  • Page 107: Mechanical Dimensions And Layout

    B.2 Mechanical Dimensions and Layout Figure B-2 shows the mechanical dimensions and layout for the Prototyping Board. 2.735 (69.5) 1.935 (49.1) RESET UX49 UX47 +5 V /RST_OUT /IORD +3.3 V RX81 RCM1 /IOWR /RST_IN VBAT RX83 JP16 JP12 JP14 RX11 UX30 JP18 JP10...
  • Page 108: Power Supply

    Figure B-3. Prototyping Board Power Supply TIP: When you lay out your own power-supply circuit, place the switching voltage regu- lator as far away from the RCM4400W as possible to minimize RF noise, and use low- noise components such as a toroid coil. RabbitCore RCM4400W...
  • Page 109: Using The Prototyping Board

    RCM4400W. Two LEDs (DS2 and DS3) are connected to PB2 and PB3, and two switches (S2 and S3) are connected to PB4 and PB5 to demonstrate the interface to the Rabbit 4000 microprocessor. Reset switch S1 is the hardware reset for the RCM4400W.
  • Page 110 All signals from the RCM4400W module are available on header J2 of the Prototyping Board. The remaining ports on the Rabbit 4000 microprocessor are used for RS-232 serial communication. Table B-2 lists the signals on header J2 as configured by the brdInit() function call where applicable, and explains how they are used on the Prototyping Board.
  • Page 111: Adding Other Components

    B.4.1 Adding Other Components There are pads for 28-pin TSSOP devices, 16-pin SOIC devices, and 6-pin SOT devices that can be used for surface-mount prototyping with these devices. There are also pads that can be used for SMT resistors and capacitors in an 0805 SMT package. Each component has every one of its pin pads connected to a hole in which a 30 AWG wire can be soldered (standard wire wrap wire can be soldered in for point-to-point wiring on the Prototyping Board).
  • Page 112: Analog Features

    B.4.3 Analog Features The Prototyping Board has typical support circuitry installed to complement the ADS7870 A/D converter chip, which is available on other RabbitCore modules based on the Rabbit 4000 microprocessor, but is not installed on the RCM4400W. Since the RCM4400W Rabbit- Core module does not have the ADS7870 A/D converter chip, the Prototyping Board will not provide A/D converter capability with the RCM4400W RabbitCore module.
  • Page 113 RS-232 flow control on an RS-232 port is initiated in software using the serXflowcon- function call from , where is the serial port (C or D). The locations trolOn RS232.LIB of the flow control lines are specified using a set of five macros. SERX_RTS_PORT—Data register for the parallel port that the RTS line is on (e.g., PCDR).
  • Page 114: Prototyping Board Jumper Configurations

    +5 V Current Measurement 1–2 Via trace or jumper Connected +3.3 V Current Measurement 1–2 Via trace or jumper Connected × TxD on header J4 1–2 PC0/TxD/LED DS2 PC0 to LED DS2 1–2 n.c. PC0 available on header J2 RabbitCore RCM4400W...
  • Page 115 Table B-4. RCM4400W Prototyping Board Jumper Configurations (continued) Factory Header Description Pins Connected Default × RxD on header J4 1–2 PC1/RxD/Switch S2 PC1 to Switch S2 1–2 n.c. PC1 available on header J2 × TxC on header J4 1–2 PC2/TxC/LED DS3 PC2 to LED DS3 1–2 n.c.
  • Page 116 JP25 Thermistor Location 1–2 n.c. NOTE: Jumper connections JP3–JP10, JP12, JP14, JP16, JP18, JP23, and JP24 are made using 0 Ω surface-mounted resistors. Jumper connections JP11, JP13, JP15, JP17, and JP19–JP22 are made using 470 Ω surface-mounted resistors. RabbitCore RCM4400W...
  • Page 117: Power Supplies

    C.1.1 Battery-Backup The RCM4400W does not have a battery, but there is provision for a customer-supplied battery to back up the data SRAM and keep the internal Rabbit 4000 real-time clock running. Header J1, shown in Figure C-1, allows access to the external battery. This header makes it possible to connect an external 3 V power supply.
  • Page 118: Battery-Backup Circuit

    NOTE: Remember to cycle the main power off/on any time the RCM4400W is removed from the Prototyping Board or motherboard since that is where the backup battery would be located. Rabbit Semiconductor’s Technical Note TN235, External 32.768 kHz Oscillator Circuits, provides additional information about the current draw by the real-time clock oscillator circuit.
  • Page 119: Reset Generator

    The +3.3 V supplied to the RCM4400W via header J1 powers most of the onboard circuits. In addition, there is a +1.8 V DC linear regulator that provides the core voltage to the Rabbit 4000 microprocessor. Other linear regulators supply the additional voltage levels needed by the Wi-Fi circuits.
  • Page 120 RabbitCore RCM4400W...
  • Page 121: Index

    NDEX digital I/O ......26 function calls ..... 45 additional information I/O buffer sourcing and sinking digInAlert() ....48 online documentation ..5 limits ......89 timedAlert() ....48 antenna ........86 I/O buffer sourcing and sink- extension ......38 ing limits .......
  • Page 122 .......101 region/country ....66 WIFI_SCAN.C ..59, 61 power supply ....100 RTS threshold ....68 WIFI_SCANASSOCI- prototyping area ....102 select encryption key .67 ATE.C ......62 specifications ....100 set WPA hex key ..67 WIFIPINGYOU.C ..61 use of Rabbit 4000 signals 102 RabbitCore RCM4400W...
  • Page 123 ....89 ......... 73 exclusion zone ....83 WIFI_COUNTRY_SET header footprint ....87 ......... 72 Prototyping Board ... 100 WIFI_FRAG_THRESH Rabbit 4000 DC characteris- ......... 75 tics ......... 88 WIFI_MODE .... 73 Rabbit 4000 timing diagram WIFI_MULTI_DOMAIN ........90 ......... 71 RCM4400W ......
  • Page 124 RabbitCore RCM4400W...
  • Page 125: Schematics

    CHEMATICS 090-0239 RCM4400W Schematic www.rabbit.com/documentation/schemat/090-0239.pdf 090-0230 Prototyping Board Schematic www.rabbit.com/documentation/schemat/090-0230.pdf 090-0128 Programming Cable Schematic www.rabbit.com/documentation/schemat/090-0128.pdf 090-0252 USB Programming Cable Schematic www.rabbit.com/documentation/schemat/090-0252.pdf You may use the URL information provided above to access the latest schematics directly. OEM User’s Manual...

Table of Contents