MiniCore RCM5600W C-Programmable Wi-Fi Core Module User’s Manual 019–0174 • 090128–B
MiniCore RCM5600W User’s Manual Part Number 019-0174 • 090128–B • Printed in U.S.A. ©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.
TABLE OF CONTENTS Chapter 1. Introduction 1 1.1 RCM5600W Features ...........................................................................................................................2 1.2 Advantages of the RCM5600W............................................................................................................3 1.3 Development and Evaluation Tools......................................................................................................4 1.3.
.6 Memory .............................................................................................................................................. 37 4.6.1 SRAM......................................................................................................................................... 37 4.6.2 Flash Memory............................................................................................................................. 37 4.6.3 Encryption RAM Memory .............................
Appendix C. Prototyping Board 91 C.1 Introduction ........................................................................................................................................92 C.1.1 Prototyping Board Features........................................................................................................92 C.2 Mechanical Dimensions and Layout..................................................................................................93 C.2.1 Headers ...............................
MiniCore RCM5600W
1. INTRODUCTION The RCM5600W MiniCore module provides a compact module in a mini PCI Express form factor with integrated Wi-Fi/802.11b/g functionality to allow you to create a low-cost, low-power, Wi-Fi based control and communications solution for your embedded system. A Development Kit is available with the essentials that you need to design your own microprocessor-based system, and includes a complete Dynamic C software development system.
1.1 RCM5600W Features • Small size: 1.20" × 2.00" × 0.40" (30 mm × 51 mm × 10 mm) • Microprocessor: Rabbit 5000 running at 73.73 MHz • Up to 35 general-purpose I/O lines each configurable with up to four alternate functions • 3.3 V I/O lines • 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. • Airoha single-chip 802.
1.2 Advantages of the RCM5600W • Fast time to market using a fully engineered, “ready-to-run/ready-to-program” microprocessor core. • 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. • Generous memory size allows large programs with tens of thousands of lines of code, and substantial data storage.
1.3 Development and Evaluation Tools 1.3.1 RCM5600W Standard Development Kit The RCM5600W Standard Development Kit contains the hardware essentials you will need to use your RCM5600W module. These items are supplied in the standard version of the Development Kit. • RCM5600W module. • 2.4 GHz dipole antenna with mounting bracket and U.FL to RP-SMA connector cable. • Interface Board with standoffs/connectors. • Prototyping Board with standoffs/connectors. • USB cable to program RCM5600W via Interface Board.
1.3.3 Optional Add-Ons Rabbit has a power supply and an Antenna Add-On Kit available for the RCM5600W. • Separate power supply (Part No. 101-1273) The universal AC adapter is available for customers who purchased the Standard Development Kit. This universal AC adapter may be used if your RCM5600W does not work when you power it through the USB cable, and you do not have your own +5 V DC power supply. • Antenna Add-On Kit (Part No. 101-1295) X 2.4 GHz dipole antenna X U.
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.
Labeling Requirements (FCC 15.19) FCC ID: MCQ-MCWIFI 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.
1.4.3 Europe The marking shall include as a minimum: • the name of the manufacturer or his trademark; • the type designation; • equipment classification, (see below). Receiver Class Risk Assessment of Receiver Performance 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.
2. GETTING STARTED This chapter describes the RCM5600W hardware in more detail, and explains how to set up and use the accompanying Interface Board. NOTE: This chapter (and this manual) assume that you have the RCM5600W Development Kit. If you purchased an RCM5600W module by itself, you will have to adapt the information in this chapter and elsewhere to your test and development setup. 2.
2.2 Hardware Connections There are four4 steps to connecting the Interface Board for use with Dynamic C and the sample programs: 1. Insert standoffs/connectors on the Interface Board. 2. Install the RCM5600W module on the Interface Board. 3. Connect antenna. 4. Connect the USB cable between the Interface Board and the workstation PC. CAUTION: Provide ESD protection such as smocks and grounding straps on your footwear.
2.2.2 Step 2 — Install Module on Interface Board Position the RCM5600W module with the edge connectors facing the mini PCI Express socket J1A at an angle as shown in Figure 3 below. Insert the edge connectors into the mini PCI Express socket J1A, then press down on the opposite edge of the RCM5600W module to snap it into place in holder J1B. RCM5600W J1A J1B RCM 560 0W J1A J1B Interface Board Figure 3.
2.2.3 Step 3 — Connect Antenna Install the antenna U.FL to RP-SMA connector cable in the bracket using two lockwashers and the nut as shown in the insert in Figure 4. Connect the wire to connector P1 on the RCM5600W, then attach the antenna to the antenna RP-SMA connector. Any regulatory certification is voided if the RF shield on the RCM5600W module is removed.
Your PC should recognize the new USB hardware, and the LEDs next to the USB connector on the Interface Board 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.
First, prepare the AC adapter for the country where it will be used by selecting the plug. The deluxe Development Kit presently includes Canada/Japan/U.S., Australia/N.Z., U.K., and European style plugs. 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 spring-loaded clip below the plug assembly to allow the plug assembly to click into place. Release the clip to secure the plug assembly in the AC adapter.
2.3.1 Troubleshooting It may be possible that your PC or laptop is unable to deliver enough current through the USB connection if you are not using a separate power supply. The RCM5600W will not operate in this case, and the solution is to use a separate 5 V power supply as described in the Alternate Power Supply Connections section. Contact Technical Support (see Section 2.4.1) or visit our Web site if you would like to get the universal AC adapter from the Deluxe Development Kit.
2.4 Where Do I Go From Here? If the sample program ran fine, you are now ready to go on to other sample programs and to develop your own applications. The source code for the sample programs is provided to allow you to modify them for your own use. The RCM5600W User’s Manual also provides complete hardware reference information for the RCM5600W, the Interface Board, the Prototyping Board, and the accessory boards in the Deluxe Development Kit.
3. RUNNING SAMPLE PROGRAMS To develop and debug programs for the RCM5600W (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 RCM5600W. 3.1 Introduction To help familiarize you with the RCM5600W modules, Dynamic C includes several sample programs.
3.2 Sample Programs Of the many sample programs included with Dynamic C, several are specific to the RCM5600W. These programs will be found in the SAMPLES\RCM5600W folder. Sample programs in the SAMPLES folder one level up are generic samples that can be run on any Rabbit-based product. Before you compile and run the following sample programs, make sure that pins 1–2, 5–6, and 7–8 on header JP1 of the Interface Board are jumpered. The pins on header JP2 must also be jumpered.
The Digital I/O accessory board may also be used to run the TOGGLESWITCH.C and the SERIALTOSERIAL.C sample programs. This accessory board is included only with the Deluxe Development Kit. To install the Digital I/O accessory board, insert the strip of header pins included with the accessory board into the socket at J12 on the bottom side of the Digital I/O accessory board.
The SERIALTOSERIAL.C sample program is in the SAMPLES\RCM5600W\SERIAL folder. • SERIALTOSERIAL.C—monitors switches S1, S2, S3, and S4 on the Digital I/O accessory board and lights LEDs DS1–DS4 when the corresponding pushbutton switch is pressed. LEDs DS1–DS2 on the Digital I/O accessory board are controlled by PA4–PA7, and switches S1–S4 are controlled by PB4–PB7 respectively. The sample program sends messages from Serial Port B to Serial Port C to indicate that a switch was pressed.
4. HARDWARE REFERENCE Chapter 4 describes the hardware components and principal hardware subsystems of the RCM5600W. Appendix A, “RCM5600W Specifications,” provides complete physical and electrical specifications. Figure 7 shows the Rabbit-based subsystems designed into the RCM5600W. Wi-Fi Serial Flash SRAM Real-Time Clock Main Clock RABBIT ® 5000 +3.3 V CMOS-level signals Customer-specific applications RCM5600W MiniCore Module Figure 7.
4.1 RCM5600W Digital Inputs and Outputs Figure 8 shows the RCM5600W pinouts for the edge connector. Bottom Top 1 2 52 +3.3 V n.c. n.c. ACT PE1 PE3 PE6 /RESET_IN GND n.c. n.c. LNK PE0 PE2 PE5 PE7 PD1 PD3 PC1 PC3 PC5/RxB /RESET PB3 PB5 PB7 PA1 PA3 PA5 PA7 VBAT_EXT PB1/CLKA PC6/TxA PC7/RxA +3.3 V PD0 PD2 PC0 PC2 PC4/TxB PB0/SCLK PB2 PB4 PB6 PA0 PA2 PA4 PA6 /IORD /IOWR STATUS SMODE GND n.c. = not connected 51 Figure 8.
Figure 9 shows the use of the Rabbit 5000 microprocessor ports in the RCM5600W modules. PC0, PC2, PC4 PC1, PC3, PC5 PA0PA7 PB0PB7 PD0PD3 Port A Port B Port D Port C RABBIT ® Port E (Serial Ports B, C & D) Serial Ports E & F PB1, PC6, STATUS PC7, /RESET_IN, SMODE0, SMODE1 Programming Port (Serial Port A) Wi-Fi RAM PE0PE3 PE5PE7 5000 Real-Time Clock Watchdog 11 Timers Slave Port Clock Doubler Backup Battery Support /RESET_IN Misc.
Table 2. RCM5600W Pinout Configurations Pin Pin Name 1 GND 2 +3.3 V 3–6 n.c.
Table 2.
Table 2.
Table 2. RCM5600W Pinout Configurations (continued) Pin 34 Pin Name PB7 Default Use Input/Output /SLAVATN External I/O Address IA5 Slave port data bus (SD0–SD7) External I/O data bus (ID0–ID7) 35–42 PA[0:7] Input/Output 43 /IORD Output 44 VBAT_EXT Battery input 45 /IOWR Output 46 PB1 Input/Output 47 STATUS Output 48 PC6 Input/Output 49 SMODE Input 50 PC7 51 GND 52 +3.
4.1.1 Memory I/O Interface The Rabbit 5000 address lines (A0–A19) and data lines (D0–D7) are routed internally to the onboard SRAM. I/0 write (/IOWR) and I/0 read (/IORD) are available for interfacing to external devices. 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 external address bus.
4.2 Serial Communication The RCM5600W board does not have any serial level converters directly on the board. However, an Ethernet or other serial interface may be incorporated on the board the RCM5600W is mounted on. For example, the Serial Communication accessory board in the Deluxe Development Kit has an RS-232 transceiver, and the Interface Board has Ethernet and USB connections. 4.2.1 Serial Ports There are six serial ports designated as Serial Ports A, B, C, D, E, and F.
Table 3 summarizes the possible parallel port pins for the serial ports and their clocks. Table 3.
4.3 Wi-Fi Figure 10 shows a functional block diagram for the Wi-Fi circuits. U4 Serial Flash U10 SRAM Rx Baseband Tx Baseband U15 P1 Rx Path U8 AL2236 XCVR Antenna Switch Tx Path 3-wire serial bus Figure 10. RCM5600W Wi-Fi Block Diagram The Wi-Fi transmission is controlled by the Rabbit 5000 chip, which contains the Wi-Fi Media Access Control (MAC). The Rabbit 5000 implements the 802.11b/g baseband MAC functionality, and controls the 802.11b/g integrated Airoha AL2236 transceiver.
Table 4. Wi-Fi Channel Allocations Channel Center Frequency (GHz) Frequency Spread (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 (not used) 2.484 2.473–2.
The following regions have macros and region numbers defined for convenience. Table 5.
4.4 Programming Modes The USB cable is used to connect the programming port of the RCM5600W to a PC USB port via the Interface Board. Whenever the RCM5600W is reset, the operating mode is determined by the state of the SMODE pins. The RCM5600W is automatically in Program Mode when the SMODE pins, which are tied together, are pulled up to +3.3 V. This happens when the RCM5600W is installed on the Interface Board, and pins 1–2 on header JP1 on the Interface Board are jumpered.
4.4.1 Standalone Operation of the RCM5600W The RCM5600W must be programmed via the Interface Board or via a similar arrangement on a customer-supplied board. Once the RCM5600W has been programmed successfully, reset the RCM5600W. The RCM5600W may be reset by cycling power off/on or by pressing the RESET button on the Interface Board. The jumper across pins 1–2 on header JP1 on the Interface Board must be removed in order for the RCM5600W to operate in the Run Mode after it is reset.
4.5 Other Hardware 4.5.1 Clock Doubler The RCM5600W takes advantage of the Rabbit 5000 microprocessor’s internal clock doubler. A built-in clock doubler allows half-frequency crystals to be used to reduce radiated emissions. The 73.73 MHz frequency specified for the RCM5600W model is generated using a 36.864 MHz crystal. The clock doubler should not be disabled since Wi-Fi operations depend highly on CPU resources. 4.5.
4.6 Memory 4.6.1 SRAM RCM5600W boards have 1MB of SRAM installed at U10. 4.6.2 Flash Memory RCM5600W boards have 1MB of serial flash memory installed at U4. A “user block” area is defined to store persistent data. The function calls writeUserBlock() and readUserBlock() are provided for this. Refer to the Rabbit 5000 Microprocessor Designer’s Handbook for additional information. 4.6.
38 MiniCore RCM5600W
5. SOFTWARE REFERENCE Dynamic C is an integrated development system for writing embedded software. It runs on a Windows-based 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 RCM5600W. 5.1 More About Dynamic C Dynamic C has been in use worldwide since 1989. It is specially designed for programming embedded systems, and features quick compile and interactive debugging.
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.
5.2 Dynamic C Function Calls 5.2.1 Digital I/O The RCM5600W was designed to interface with other systems, and so there are no drivers written specifically for the Rabbit 5000 I/O. The general Dynamic C read and write functions 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.
5.2.3 Serial Flash Memory Use The RCM5600W module has a serial flash memory that contains the user block and stores the application program. Two function calls are provided to work with the serial boot flash. These function calls are in the Dynamic C LIB\Rabbit4000\BIOSLIB\ BOOTDEV_SFLASH.LIB library. sbfRead int sbfRead(void *dest, unsigned long offset, unsigned nbytes); DESCRIPTION Reads up to 64K from anywhere on the serial boot flash.
sbfWriteFlash int sbfWriteFlash(unsigned long flashDst, void* Src, unsigned len); DESCRIPTION Writes len bytes (up to 64K) to physical address flashDst from Src. Keep calling sbfWriteFlash() until it returns zero or a negative error code. A positive return value indicates that the serial flash SPI port is being used by another device. If you are using µC/OS-II and _SPI_USE_UCOS_MUTEX is #defined, you may call sbfWriteFlash()just once.
5.2.4 User and ID Blocks 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 mirrored, the total amount of flash memory used by the ID and user blocks, and the area of the user block available for your application. The USERBLOCK_CLEAR.
5.2.6 Interface Board Function Calls The function calls described in this section are for use with the Interface Board features. The source code is in the Dynamic C LIB\Rabbit4000\RCM5xxx\RCM56xxW.LIB library if you need to modify it for your own board design. The sample programs in the Dynamic C SAMPLES\RCM5600W 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.6.
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 Starting with Dynamic C version 10.40, Dynamic C includes the popular µC/OS-II realtime operating system, point-to-point protocol (PPP), FAT file system, RabbitWeb, and other select libraries.
6. USING THE WI-FI FEATURES 6.1 Introduction to Wi-Fi Wi-Fi, a popular name for 802.11b/g, 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 control 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 band (802.11g).
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.
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 Interface Board as described in Chapter 2, “Getting Started.” 2. Dynamic C must be installed and running on your PC. 3. The USB cable must connect the USB connector on the Interface Board to your PC. 4. Power must be applied to the module through the Interface Board.
6.2.1 Wi-Fi Setup Figure 12 shows how your development setup might look once you’re ready to proceed. USB Cable to PC USB port Infrastructure Mode (via Ethernet connection) Ethernet Ethernet Hub Infrastructure Mode (via wireless connection) Ad-Hoc Mode Figure 12.
6.2.2 What Else You Will Need Besides what is supplied with the RCM5600W Development Kits, you will need a PC with an available USB port to program the RCM5600W 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.
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 RCM5600W modules with a default TCPCONFIG macro from the LIB\Rabb
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 RCM5600W module. This section provides configuration information for the three possible Wi-Fi setups shown in Figure 12.
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 following 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 settings before changing them so that you can restore them easily when you are finished with the sample programs.
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.
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 IFC_ WIFI_REGION 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.
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 IFC_WIFI_SSID "rabbitTest" Now compile and run this sample program. Uncomment the #define WIFI_REGION_ VERBOSE macro to display the channel and power limit settings.
You do not need to configure the SSID of your network since that is done from the access point names. Now configure the access to the two access points. // First Access Point #define AP_0 "test1" #define AP_0_LEN strlen(AP_0) #define MY_ADDRESS_0 "10.10.6.250" // use this static IP when connected to AP 0 #define PING_ADDRESS_0 "10.10.6.1" // address on AP 0 to ping #define KEY_0 "0123456789abcdef0123456789" // Second Access Point #define AP_1 "test2" #define AP_1_LEN strlen(AP_1) #define MY_ADDRESS_1 "10.
• WIFISCAN.C—initializes the RCM5600W 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 RCM5600W does not actually join an 802.11 network. This program outputs the results of the scan to the Dynamic C STDIO window. • WIFISCANASSOCIATE.C— demostrates how to scan Wi-Fi channels for SSIDs using ifconfig IFS_WIFI_SCAN.
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. 6.2.5 RCM5600W Sample Programs The following sample programs are in the Dynamic C SAMPLES\RCM5600W\TCPIP\ folder. The Interface Board must be set up as described in Section 3.2. • PINGLED.
Once you have compiled the sample program and it is running, LED DS1 will go on with a brief toggle off when a ping is sent. LED DS1 will go off for a longer duration when a ping is received. LED DS1 is controlled by PD0. • PINGLED_WPA2_CCMP.C—This sample program demonstrates the use of WPA2 PSK (Wi-Fi Protected Access with Pre-Shared Key).). WPA is a more secure replacement for WEP.
• 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 and IFC_WIFI_ SSID to the host and SSID you want to ping. You may modify PING_DELAY 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 filtering of the statistics.
The Digital I/O accessory board may also be used to run the BROWSELED.C, PINGLED.C, and PINGLED_STATS.C sample programs. This accessory board is included only with the Deluxe Development Kit. To install the Digital I/O accessory board, insert the strip of header pins included with the accessory board into the socket at J12 on the bottom side of the Digital I/O accessory board.
• BROWSELED.C—This program demonstrates a basic controller running a Web page. Four “device LEDs” are created along with four buttons to toggle them. Users can use their Web browser to change the status of the lights. The DS1, DS2, DS3, and DS4 LEDs on the Digital I/O accessory 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.
The Serial Communication accessory board needs to be installed to run the SERIAL_TO_ WIFI.C sample program. This accessory board is included only with the Deluxe Development Kit. To install the Serial Communication accessory board, insert the strip of header pins included with the accessory board into the socket at J12 on the bottom side of the Serial Communication accessory board.
Each serial port can be associated with a specific TCP port. The Rabbit will listen on each of these TCP ports for a connection, which will then be associated with a specific serial port. Data will then be shuttled between the serial and Wi-Fi connections. Before you compile and run this sample program, define the _PRIMARY_STATIC_IP and IFC_WIFI_SSID in the sample program to match your network settings. Now compile and run this program.
6.3 Dynamic C Wi-Fi Configurations Rabbit has implemented a packet driver for the RCM5600W that functions much like an Ethernet driver for the Dynamic C implementation of the TCP/IP protocol stack. In addition to functioning like an Ethernet packet driver, this driver implements a function call to access the functions implemented on the 802.11b/g interface, and to mask channels that are not available in the region where the RCM5600W will be used.
• Your Own Channel—IFC_WIFI_CHANNEL determines the channel on which to operate. The default is shown below. #define IFC_WIFI_CHANNEL 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.
These macros specify the WEP keys to use for WEP encryption. These keys can be either 40-bit or 104-bit (i.e., 5 bytes or 13 bytes). They must be defined as a commaseparated list of byte values. Note that you do not necessarily need to define all four WEP keys. You may typically just define one key, but make sure it matches the key used on all other devices, and set IFC_WIFI_WEP_KEYNUM to point to the correct key.
The following authentication options are available. • IFPARAM_WIFI_AUTH_OPEN — only use open authentication. • IFPARAM_WIFI_AUTH_SHAREDKEY — only use shared-key authentication (useful for WEP only). • IFPARAM_WIFI_WPA_PSK — use WPA preshared-key authentication (useful for TKIP and CCMP only). • Fragmentation threshold—IFC_WIFI_FRAG_THRESHOLD sets the fragmentation threshold. Frames (or packets) that are larger than this threshold are split into multiple fragments.
6.3.2 Configuring TCP/IP at Run Time There is one basic function call used to configure Wi-Fi and other network settings — ifconfig(). See the Dynamic C TCP/IP User’s Manual, Volume 1 for more information about this function call. 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.
6.4 Where Do I Go From Here? NOTE: If you purchased your RCM5600W 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.rabbit,com/forums/. • Use the Technical Support e-mail form at www.rabbit.com/support/.
APPENDIX A. RCM5600W SPECIFICATIONS Appendix A provides the specifications for the RCM5600W.
A.1 Electrical and Mechanical Characteristics Figure A-1 shows the mechanical dimensions for the RCM5600W. 0.157 0.125 dia × 2 0.114 (4.0) (3.2) (2.9) 0.085 (2.2) (24.3) (30) (16.3) 0.958 1.20 0.642 0.050 (1.3) 0.324 (8.2) 0.085 (2.2) 0.114 (2.9) 0.130 1.762 0.114 (3.3) (44.8) (2.9) 2.00 (8.3) 0.326 (51) 0.40 0.039 (10) (1.0) 2.00 (8.3) 0.326 (51) 0.40 (30) (1.0) 1.20 0.039 (10) Figure A-1.
(8.3) 0.326 (2) 0.08 (2) 0.08 It is recommended that you allow for an “exclusion zone” of 0.08" (2 mm) around the RCM5600W top and bottom and 0.04" (1 mm) around the three non-connector edges when the RCM5600W is incorporated into an assembly that includes other printed circuit boards. This “exclusion zone” that you keep free of other components and boards will allow for sufficient air flow, and will help to minimize any electrical or electromagnetic interference between adjacent boards.
Table A-1 lists the electrical, mechanical, and environmental specifications for the RCM5600W. Table A-1. RCM5600W Specifications Parameter RCM5600W Microprocessor Rabbit® 5000 at 73.
Table A-1. RCM5600W Specifications (continued) Parameter Power RCM5600W 3.15 V DC (min.) – 3.45 V DC (max.) 625 mA @ 3.3 V while transmitting/receiving 85 mA @ 3.3 V while not transmitting/receiving Operating Temperature Humidity Connectors Board Size –30°C to +55°C 5% to 95%, noncondensing Edge connectors for interface with 52-pin mini PCI Express socket 1.20" × 2.00" × 0.40" (30 mm × 51 mm × 10 mm) Wi-Fi Typical Average Antenna Output Power Compliance User’s Manual Region 802.
A.1.1 mini PCI Express Connector Design Recommendations The RCM5600W is mounted on the Interface Board via a mini PCI Express connector and a corresponding locking latch connector. These are offered by manufacturers as a matched set, although in some cases different manufacturer’s parts may be interchangeable. Table A-2 lists the recommended parts for the mini PCI Express connector and the locking latch connector used for the Interface Board. Table A-2.
A.2 Rabbit 5000 Microprocessor Characteristics The Rabbit 5000 Microprocessor User’s Manual, which is included with the online documentation, provides complete specifications and timing diagrams for the Rabbit 5000 microprocessor. Rabbit’s Technical Note TN227, Interfacing External I/O with Rabbit Microprocessor Designs, which is also included with the online documentation, contains suggestions for interfacing I/O devices to the Rabbit 5000 microprocessors.
80 MiniCore RCM5600W
APPENDIX B. INTERFACE BOARD Appendix B describes the features and accessories of the Interface Board, and explains the use of the Interface Board to demonstrate the RCM5600W. The Interface Board has power-supply connections and a USB interface to program the RCM5600W.
B.1 Introduction The Interface Board included in the Development Kit makes it easy to connect an RCM5600W module to a power supply and a PC workstation for development. The Interface Board is shown below in Figure B-1, with its main features identified.
B.1.1 Interface Board Features • Power Connection—Power is supplied to the Interface Board either from the PC via the USB connection or through a power supply jack, J6. A chip at U4 disconnects the USB power supply from the rest of the Interface Board when power is supplied through jack J6. Users providing their own power supply should ensure that it delivers +5 V DC at 10 W. • Regulated Power Supply—The raw DC voltage is routed to a 3.3 V linear regulator.
B.2 Mechanical Dimensions and Layout 0.175 Figure B-2 shows the mechanical dimensions and layout for the Interface Board. (4.4) 0.125 dia × 4 (3.2) 0.181 (15.9) 0.628 (4.6) 0.130 (64) (7.7) 2.50 (3.3) 0.304 0.317 (8.1) 0.360 (9.1) 0.230 3.45 0.15 0.15 (88) (3.8) (3.8) (4.4) 0.175 (5.8) 3.75 (95) Figure B-2. Interface Board Dimensions Table B-1 lists the electrical, mechanical, and environmental specifications for the Interface Board. Table B-1.
B.2.1 Headers The Interface Board has a header socket at J2 for physical connection to other boards. J2 is a 2 × 25 SMT header socket with a 0.1" pin spacing. Figure B-3 shows the layout of another board to be plugged into the Interface Board — this footprint is identical for the Interface Board and the two accessory boards. The values are relative to the mounting hole. 0.275 (1.27) 0.110 (2.8) J2 MiniCore Boards Footprint Figure B-3.
B.3 Power Supply The RCM5600W requires a regulated 3.15 V – 3.45 V DC power source to operate. Depending on the amount of current required by the application, different regulators can be used to supply this voltage. The Interface Board has an onboard +3.3 V linear regulator. The Interface Board is protected against reverse polarity by a Shottky diode at D3 as shown in Figure B-4. LINEAR POWER REGULATOR +3.
B.4 Using the Interface Board The Interface Board is also a demonstration board. It can be used to demonstrate the functionality of the RCM5600W right out of the box without any modifications to either board. The Interface Board comes with the basic components necessary to demonstrate the operation of the RCM5600W. One LEDs (DS1) is connected to PD0, and one switch (S1) is connected to PD1 to demonstrate the interface to the Rabbit 5000 microprocessor. Reset switch S2 is the hardware reset for the RCM5600W.
B.4.1 Add Additional Boards The Prototyping Board and the two accessory boards included with the Deluxe Development Kit may be installed on the Interface Board as shown in Figure B-6. Install header connector strip in bottom socket Figure B-6. Install Additional Boards on Interface Board 1. Insert the header strip into header socket J2 on the Interface Board or the board already installed above the Interface Board. 2.
B.5 Interface Board Jumper Configurations Figure B-7 shows the header locations used to configure the various Interface Board options via jumpers. JP1 JP2 Figure B-7. Location of Configurable Jumpers on Interface Board Table B-2 lists the configuration options using either jumpers or 0 Ω surface-mount resistors. Table B-2.
90 MiniCore RCM5600W
APPENDIX C. PROTOTYPING BOARD Appendix C describes the features and accessories of the Prototyping Board, and explains the use of the Prototyping Board to build prototypes of your own circuits. The Prototyping Board mounts on the Interface Board from which it receives its power and signals.
C.1 Introduction The Prototyping Board included in the Development Kit provides a prototyping area for more advanced hardware development. The Prototyping Board is shown below in Figure C-1, with its main features identified. RCM5600W Module Extension Header Stacking User Interface Connector Power LED Through-Hole Prototyping Area SMT Prototyping Area 3.3 V and GND Buses Figure C-1. Prototyping Board C.1.
C.2 Mechanical Dimensions and Layout 0.175 Figure C-2 shows the mechanical dimensions and layout for the Prototyping Board. (3.8) 3.45 (88) 0.15 (3.8) (64) (4.4) 0.15 0.175 (55) 2.15 (3.2) 2.50 (4.4) 0.125 dia × 4 3.75 (95) Figure C-2.
Table C-1 lists the electrical, mechanical, and environmental specifications for the Prototyping Board. Table C-1. Prototyping Board Specifications Parameter 94 Specification Board Size 2.50" × 3.75" × 0.52" (64 mm × 95 mm × 13 mm) Operating Temperature –40°C to +85°C Humidity 5% to 95%, noncondensing Operating Voltage +3.3 V DC Current Draw from Interface Board (excluding user-added circuits) 2 mA Prototyping Area 1.7" × 2.7" (40 mm × 70 mm) throughhole, 0.
C.2.1 Headers The Prototyping Board has a header socket at J2 for physical connection to other boards above it, and a header socket at J12 on the bottom side to connect to boards below it. J2 and J12 are 2 × 25 SMT header sockets with a 0.1" pin spacing. Figure C-3 shows the layout of another board to be plugged into the Interface Board — this footprint is identical for the Prototyping Board and the two accessory boards. The values are relative to the mounting hole. 0.275 (1.27) 0.110 (2.
C.3 Using the Prototyping Board The Prototyping Board provides the user with RCM5600W connection points brought out conveniently to labeled points below header J2. The pinouts for header socket J2 are shown in Figure C-4. J2 GND PE1 PE3 PE6 SMODE PD1 PD3 /RESET GND PC1 PC3 PC5/RxB PC7/RxA PB1/SCLKA PB3 PB5 PB7 GND PA1 PA3 PA5 PA7 /IOWR VBAT_EXT GND +3.3 V PE0 PE2 PE5 PE7 PD0 PD2 /RESET_IN +3.3 V PC0 PC2 PC4/TxB PC6/TxA PB0/SCLKB PB2 PB4 PB6 +3.3 V PA0 PA2 PA4 PA6 /IORD STATUS +3.
C.3.1 Add Additional Boards The Prototyping Board and the two accessory boards included with the Deluxe Development Kit may be installed on the Interface Board as shown in Figure C-5. Install header connector strip in bottom socket Figure C-5. Install Additional Boards 1. Insert the header strip into header socket J2 on the Interface Board or the board already installed above the Interface Board. 2.
98 MiniCore RCM5600W
APPENDIX D. DIGITAL I/O ACCESSORY BOARD Appendix D describes the features and accessories of the Digital I/O accessory board, and explains how to use the Digital I/O accessory board. The Digital I/O accessory board mounts on the Interface Board or other board already installed on the Interface Board from which it receives its power and signals.
D.1 Introduction The Digital I/O accessory board included in the Deluxe Development Kit provides Pushbutton switches and LEDs to use in conjunction with selected sample programs. The Digital I/O accessory board is shown below in Figure D-1, with its main features identified. RCM5600W Module Extension Header Stacking User Interface Connector Power LED Pullup/ Pulldown Jumper Configuration User Switches and LEDs LED and Switch Signal Connections Figure D-1. Digital I/O Accessory Board D.1.
D.2 Mechanical Dimensions and Layout 0.175 Figure D-2 shows the mechanical dimensions and layout for the Digital I/O accessory board. 3.45 0.15 0.15 (88) (3.8) (3.8) (64) (4.4) 0.175 (55) 2.15 (3.2) 2.50 (4.4) 0.125 dia × 4 3.75 (95) Figure D-2. Digital I/O Accessory Board Dimensions Table D-1 lists the electrical, mechanical, and environmental specifications for the Digital I/O accessory board. Table D-1.
D.2.1 Headers The Digital I/O accessory board has a header socket at J2 for physical connection to other boards above it, and a header socket at J12 on the bottom side to connect to boards below it. J2 and J12 are 2 × 25 SMT header sockets with a 0.1" pin spacing. Figure D-3 shows the layout of another board to be plugged into the Digital I/O accessory board — this footprint is identical for the Prototyping Board and the two accessory boards. The values are relative to the mounting hole. 0.275 (1.27) 0.
D.3 Using the Digital I/O Accessory Board The Digital I/O accessory board provides the user with RCM5600W connection points brought out conveniently to labeled points below header J2. The pinouts for header socket J2 are shown in Figure D-4. J2 GND PE1 PE3 PE6 SMODE PD1 PD3 /RESET GND PC1 PC3 PC5/RxB PC7/RxA PB1/SCLKA PB3 PB5 PB7 GND PA1 PA3 PA5 PA7 /IOWR VBAT_EXT GND +3.3 V PE0 PE2 PE5 PE7 PD0 PD2 /RESET_IN +3.3 V PC0 PC2 PC4/TxB PC6/TxA PB0/SCLKB PB2 PB4 PB6 +3.3 V PA0 PA2 PA4 PA6 /IORD STATUS +3.
D.3.1 Configuration The pushbutton switches may be configured active high (pulled down) or active low (pulled up) via jumper settings on header JP7 for the four switches installed. Jumpers on JP12 may be set up in a similar way after additional switches are installed at S5–S8. ACTIVE LOW JP7 +V 47 kW S1S4 ACTIVE HIGH +V JP7 47 kW S1S4 Figure D-5. Pushbutton Switch Configuration The four LED output indicators are set up as sinking outputs. Four additional LEDs may be installed at DS5–DS8.
Table D-2. Digital I/O Accessory Board Switch/LED Connection Options (cont’d) Connected via Default RCM5600W Signal Switch/LED PA4 DS1 PA5 DS2 Header Alternate Connection Pins Header 1–2 Pin 1 3–4 2 JP8 JP9 PA6 DS3 5–6 3 PA7 DS4 7–8 4 PB0 S5† 1–2 1 PB1 S6 PB2 S7 5–6 3 PB3 S8 7–8 4 PA0 DS5 1–2 1 PA1 DS6 3–4 JP10 JP11 3–4 2 2 JP13 JP14 PA2 DS7 5–6 3 PA3 DS8 7–8 4 * Switches S1–S4 are pulled high or low via jumpers on header JP7.
D.3.2 Add Additional Boards The Prototyping Board and the two accessory boards included with the Deluxe Development Kit may be installed on the Interface Board as shown in Figure D-7. Install header connector strip in bottom socket Figure D-7. Install Additional Boards 1. Insert the header strip into header socket J2 on the Interface Board or the board already installed above the Interface Board. 2.
APPENDIX E. SERIAL COMMUNICATION ACCESSORY BOARD Appendix E describes the features and accessories of the Serial Communication accessory board, and explains how to use the Serial Communication accessory board. The Serial Communication accessory board mounts on the Interface Board or other board already installed on the Interface Board from which it receives its power and signals.
E.1 Introduction The Serial Communication accessory board included in the Deluxe Development Kit provides two 3-wire serial ports to use in conjunction with selected sample programs. The Serial Communication accessory board is shown below in Figure E-1, with its main features identified. RCM5600W Module Extension Header Stacking User Interface Connector Power LED PC0PC3 Brought Out to J3 and J4 CTS/RTS Available on J3 Serial Port D Serial Port C RS-232 Headers Figure E-1.
E.2 Mechanical Dimensions and Layout 0.175 Figure E-2 shows the mechanical dimensions and layout for the Serial Communication accessory board. 3.45 0.15 0.15 (88) (3.8) (3.8) (64) (4.4) 0.175 (55) 2.15 (3.2) 2.50 (4.4) 0.125 dia × 4 3.75 (95) Figure E-2. Serial Communication Accessory Board Dimensions Table E-1 lists the electrical, mechanical, and environmental specifications for the Serial Communication accessory board. Table E-1.
E.2.1 Headers The Serial Communication accessory board has a header socket at J2 for physical connection to other boards above it, and a header socket at J12 on the bottom side to connect to boards below it. J2 and J12 are 2 × 25 SMT header sockets with a 0.1" pin spacing. Figure E-3 shows the layout of another board to be plugged into the Serial Communication accessory board — this footprint is identical for the Prototyping Board and the two accessory boards. The values are relative to the mounting hole.
E.3 Using the Serial Communication Accessory Board The Serial Communication accessory board provides the user with RCM5600W connection points brought out conveniently to labeled points below header J2. The pinouts for header socket J2 and the RS-232 headers at J3 and J4 are shown in Figure E-4. TxD RxD GND GND J3 TxC RxC +3.3 V PE0 PE2 PE5 PE7 PD0 PD2 /RESET_IN +3.3 V PC0 PC2 PC4/TxB PC6/TxA PB0/SCLKB PB2 PB4 PB6 +3.3 V PA0 PA2 PA4 PA6 /IORD STATUS +3.
E.3.1 Configuration Serial Ports C and D are brought out as 3-wire RS-232 serial ports on headers J4 and J3 respectively. Jumpers may be installed on header JP7 to use header J3 as a 5-wire RS-232 serial port with flow control provided by Serial Port C. Jumpers on headers JP5 connect the RCM5600W signals to the RS-232 transceiver. Jumpers may be installed on header JP7 to use header J3 as a 5-wire RS-232 serial port with flow control provided by Serial Port C.
Figure E-5 shows the locations of the configurable header positions. JP11 JP12 JP13 JP7 JP6 JP9 JP5 JP8 JP10 Figure E-5.
E.3.2 Add Additional Boards The Prototyping Board and the two accessory boards included with the Deluxe Development Kit may be installed on the Interface Board as shown in Figure E-6. Install header connector strip in bottom socket Figure E-6. Install Additional Boards 1. Insert the header strip into header socket J2 on the Interface Board or the board already installed above the Interface Board. 2.
APPENDIX F. POWER SUPPLY Appendix G provides information on the current requirements of the RCM5600W, and includes some background on the chip select circuit used in power management. F.1 Power Supplies The RCM5600W requires a regulated 3.15 V – 3.45 V DC power source. The MiniCore design presumes that the voltage regulator is on the user board, and that the power is made available to the RCM5600W board through the edge connectors. An RCM5600W with no loading at the outputs operating at 73.
F.1.1 Battery Backup The RCM5600W does not have a battery, but there is provision for a customer-supplied battery to keep the Rabbit 5000 real-time clock running. The edge connector, shown in Figure F-1, allows access to the external battery. This makes it possible to connect an external 3 V power supply. This allows the internal Rabbit 5000 real-time clock to retain data with the RCM5600W powered down. Bottom Top 1 2 External Battery 52 +3.3 V n.c. n.c. ACT PE1 PE3 PE6 /RESET_IN GND n.c. n.c.
The actual life in your application will depend on the current drawn by components not on the RCM5600W and on the storage capacity of the battery. The RCM5600W does not drain the battery while it is powered up normally. Cycle the main power off/on on the RCM5600W after you install a backup battery for the first time, and whenever you replace the battery.
118 MiniCore RCM5600W
INDEX A accessory boards Digital I/O ....................... 100 configuration options .. 104 LED outputs ............ 104 pushbutton switches 104 dimensions .................. 101 specifications ............... 101 Serial Communication .... 108 configuration options .. 112 RTS/CTS ................. 112 dimensions .................. 109 specifications ............... 109 additional information online documentation .......... 5 antenna extension .............................
J jumper configurations accessory boards Digital I/O ....................104 Serial Communication .112 Interface Board ..................89 Prototyping Board JP2 (analog inputs reference) ....................89 L labeling requirements ..............7 LEDs Wi-Fi association and activity ........................................33 O operating region configuration ................................55 optional add-ons ......................5 antenna and connector cable 5 power supply .......................
network configuration ... 67 TCPCONFIG macro ..... 67 Wi-Fi configuration at run time ............................... 71 Wi-Fi drivers ..................... 44 specifications ........................ 73 accessory boards headers ................ 102, 110 Digital I/O accessory board ..................................... 101 dimensions ........................ 74 electrical, mechanical, and environmental ............... 76 exclusion zone ................... 75 Interface Board ................. 84 headers .....
122 MiniCore RCM5600W
SCHEMATICS 090-0280 RCM5600W Schematic www.rabbit.com/documentation/schemat/090-0280.pdf 090-0281 Interface Board Schematic www.rabbit.com/documentation/schemat/090-0281.pdf 090-0270 Prototyping Board Schematic www.rabbit.com/documentation/schemat/090-0270.pdf 090-0272 Digital I/O Accessory Board Schematic www.rabbit.com/documentation/schemat/090-0272.pdf 090-0271 Serial Communication Accessory Board Schematic www.rabbit.com/documentation/schemat/090-0271.