Page 1
® 802.11b (Wi-Fi ) Add-On Kits for RabbitCore and PowerCore Modules User’s Manual 019–0092 • 051130–D...
Page 2
Rabbit is a registered trademark of Rabbit Semiconductor. Rabbit 3000 is a trademark of Rabbit Semiconductor. Dynamic C and Z-World are registered trademarks of Z-World Inc. Wi-Fi and the Wi-Fi logo are registered trademarks of the Wi-Fi Alliance Z-World, Inc.
1. I NTRODUCTION Z-World’s Wi-Fi Add-On Kits allow embedded system integra- tors to add Wi-Fi (IEEE 802.11b) to an existing embedded con- trol system that uses a RabbitCore or PowerCore module based on the Rabbit ® 3000 microprocessor. Wireless connectivity eliminates Ethernet cables, allowing for the greater flexibility and mobility associated with wireless embedded networks.
All Wi-Fi development involving the Wi-Fi Add-On Kits is done using version 9.21 or later of Z-World’s Dynamic C. A Dynamic C upgrade CD is included with the Wi-Fi Add- On Kits to allow you to upgrade your existing Dynamic C installation prior to installing the software from the supplementary CD-ROM in the Add-On Kits that contains the Wi-Fi sample programs and drivers.
1.4 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 in the default.htm docs...
2. G ETTING TARTED This chapter explains how to set up and use a RabbitCore or PowerCore module based on a Rabbit 3000 microprocessor with an Interposer Board from the corresponding Wi-Fi Add-On Kit. NOTE: To use a Wi-Fi Add-On Kit, you must already have a RabbitCore or PowerCore module based on the Rabbit 3000 microprocessor, the Prototyping Board for that Rab- bitCore or PowerCore module, a programming cable, and Dynamic C.
To develop and debug programs for RabbitCore or PowerCore modules (and for all other Z-World and Rabbit Semiconductor hardware), you must install and use Dynamic C. If you have not yet installed Dynamic C, do so now by inserting the Dynamic C CD from the Development Kit in your PC’s CD-ROM drive.
2.2 Hardware Connections There are four steps to connecting the Prototyping Board for use with Dynamic C and the sample programs: 1. Insert the Interposer Board between the RabbitCore or PowerCore module and the Prototyping Board. 2. Use the ribbon cable from the Wi-Fi Add-On Kit to connect the Interposer Board to the Com- pactFlash Wi-Fi Board with a Wi-Fi CompactFlash card installed.
Interposer Board with the 2-56 × 3/16" screws included in the Add-On Kit as shown in Figure 2. Then place a 2-56 × 3/16" screw from the bottom side of the RCM3000 Proto- typing Board into one standoff to secure the Interposer Board to the RCM30/31/32XX Prototyping Board, and add a 2-56 ×...
Page 13
DIAG connector, which is used for a normal serial connection.) NOTE: Be sure to use the programming cable supplied with your RabbitCore module. Programming cables from other Z-World or Rabbit Semiconductor kits might not be compat- ible with your RabbitCore module. Compact- Flash Wi-Fi NOTE: Some PCs now come equipped only with a USB port.
2.2.2 RCM3400 Wi-Fi Add-On Kit 1. Install RCM3400 Module and Interposer Board on Prototyping Board Attach the plastic shock-absorber bumper to the bottom side of the Interposer Board under the 20-pin header as shown in Figure 5. Turn the RCM3400 Interposer Board so that the header with pins is on the left as shown in Figure 5 below.
Page 15
NOTE: Be sure to use the programming cable supplied with your RabbitCore module—the pro- gramming cable has blue shrink wrap around the RS-232 converter section located in the mid- dle of the cable. Programming cables from other Z-World or Rabbit Semiconductor kits might not be compatible with your RabbitCore module.
2.2.3 RCM3600–RCM3700 Wi-Fi Add-On Kit 1. Install RabbitCore module and Interposer Board on Prototyping Board Turn the RCM3600–RCM3700 series Interposer Board so that the header with pins is on the right as shown in Figure 7 below. Press the Interposer Board’s pins on the bottom side of the Interposer Board into the TCM_SMT_SOCKET socket on the Prototyping Board.
Page 17
NOTE: Be sure to use the programming cable supplied with your RabbitCore module—the pro- gramming cable has blue shrink wrap around the RS-232 converter section located in the mid- dle of the cable. Programming cables from other Z-World or Rabbit Semiconductor kits might not be compatible with your RabbitCore module.
2.2.4 PowerCore Wi-Fi Add-On Kit 1. Install PowerCore module and Wi-Fi Interposer Board on Prototyping Board Snap in at least one standoff to each side of the Interposer Board as shown in Figure 9. Turn the Interposer Board so that the header with pins is on the bottom as shown in Figure 9 below. Press the Interposer Board’s pins on the bottom side of the Interposer Board into the PC1 socket on the Prototyping Board.
Page 19
USB port. It may be possible to use an RS-232/USB CompactFlash converter with the programming cable. An RS-232/ Wi-Fi Board USB converter is available through the Z-World Web store. 4. Connect Power Supply Finally, connect the wall transformer to the J3 locking...
2.3 Starting Dynamic C Once the RabbitCore or PowerCore module and the Interposer Board are connected as described in the preceding pages, start Dynamic C by double-clicking on the Dynamic C icon or by double-clicking on dcrabXXXX.exe in the Dynamic C root directory, where XXXX are version-specific characters.
2.4.1 Troubleshooting 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.
Dynamic C TCP/IP User’s Manual, also in the online documentation set. 2.5.1 Technical Support NOTE: If you purchased your Wi-Fi Add-On Kit through a distributor or through a Z-World or Rabbit Semiconductor partner, contact the distributor or partner first for technical support. If there are any problems at this point: •...
LANs. Wi-Fi (802.11b) is one of the most common and cost-effective implementations currently available. This is the implementation that is used with Z-World’s Wi-Fi Add-On Kits. A variety of Wi-Fi hardware exists, from wireless access points (WAPs), various Wi-Fi access devices with PCI, PCMCIA, CompactFlash, USB and SDIO interfaces, and Wi-Fi devices such as Web-based cameras and print servers.
Page 25
The other important configuration parameter is wireless encryption (WEP or Wired Equivalent Privacy). In general, you should enable encryption to prevent just any device from joining your WLAN. To enable WEP, you will need to create a common encryption key that must be entered into each access point and wireless client on the WLAN, includ- ing the Rabbit-based device.
VBAT VRAM /RES /IORD RC25 DISPLAY BOARD /IOWR RC27 RC28 RC29 RC26 RCM3000 PROTOTYPING BOARD UX13 RESET RxC TxC /RES RS-232 DISPLAY BOARD DISPLAY BOARD TxB RxB R2 C3 Figure 13. Ad-Hoc Wi-Fi Network As for the infrastructure mode, a name (the SSID or Service Set Identifier) must be assigned for the ad-hoc network.
3.3 Roaming A Wi-Fi device may need to roam outside the range of a specific access point in order to perform its functions. Roaming is built into the Wi-Fi CompactFlash cards. As long as cer- tain conditions are met, the Wi-Fi device will be able to roam from one access point to another access point.
AMPLE ROGRAMS To develop and debug Wi-Fi programs for your RabbitCore or PowerCore module (and for all other Z-World and Rabbit Semi- conductor hardware), you must install and use Dynamic C. 4.1 Introduction Dynamic C includes several sample programs to help you understand how to use Wi-Fi with your RabbitCore- or PowerCore-based system.
PDA or PC with a Wi-Fi CompactFlash card to use the ad-hoc mode. If your PC only has a USB port, you will also need an RS-232/USB converter (Z-World Part No. 540-0070). You will also need an LCD/keypad module if you wish to run the WIFI_SCAN_LCD.C...
4.3 Configuration Information 4.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.
Page 33
• Encryption macro is used to enable ( ) or disable _WIFI_WEP_FLAG WIFICONF_WEP_ENABLE ) key-based encryption. The example shows how to dis- WIFICONF_WEP_DISABLE able encryption. #define _WIFI_WEP_FLAG WIFICONF_WEP_DISABLE • Encryption Keys The following four keys can be selected when using WEP encryption. The keys can be modified to match your access point or peer.
4.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 RabbitCore or PowerCore module.
Page 35
Now select the tab, and check IP Address , or select TCP/IP Specify an IP Address 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.
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.
Page 37
WIFI_SCAN_LCD.C illustrates the scan function of the Wi-Fi CompactFlash card to look WIFI_SCAN_LCD.C for access points or ad-hoc devices. This sample program does not require additonal con- figuration of the Wi-Fi CompactFlash card, such as setting the IP number or SSID/channel in order to function, since the Wi-Fi CompactFlash card does not actually join an 802.11b network.
Page 38
WPINGME.C This sample program initializes the TCP/IP protocol stack and prints out Wi-Fi status information to allow you to determine if your configuration can join an access point or ad-hoc network. The sample program allows pinging from a remote host on the network. To run this sample program, you will need an access point and PC/notebook (infrastructure mode) or a notebook with 802.11b wireless compatibility working in the ad-hoc mode.
Page 39
DYNAMIC_WIFI.C This sample program initializes the Wi-Fi CompactFlash card and scans for other Wi-Fi devices that are operating in either the ad-hoc mode or through access points in the infra- structure mode. You will then be able to select which Wi-Fi device/network to connect to. allows specific IP address, netmask, The TCPCONFIG 0 macro used in the sample program gateway, and other network parameters to be set at runtime.
Page 41
DATALOGGER.C This sample program illustrates the use of embedded Web servers and downloadable data via wireless by implementing a prototype wireless datalogger. A PC or notebook can dis- play or download the log file, reset the log files, and set the current date/time via a Web browser.
Page 42
The output from this sample program in your Web browser will resemble the following sample output. Web Log 12/20/2004 11:01:50 - Switch Pressed 12/20/2004 11:01:59 - Switch Pressed 12/20/2004 13:34:14 - 10.10.6.101 12/20/2004 13:36:41 - Switch Pressed 12/20/2004 14:42:06 - Switch Pressed Change Date link in the Web browser can be used to reset the date and time for subse- quent data logging.
Page 43
/RES RC25 /IORD DISPLAY BOARD /IOWR RC27 RC28 RC29 RC26 serial cable supplied with the UX13 RCM3000 PROTOTYPING BOARD RESET RxC TxC /RES TxB RxB RS-232 DISPLAY BOARD DISPLAY BOARD Add-On Kits as shown in R2 C3 Prototyping Board Figure 15. If your PC only has...
Page 44
Figure 16. The locations of the serial headers and their pin 1 locations are shown in Figure 16 for the various Prototyping Boards. RCM3300 PROTOTYPING BOARD RS-232 RCM3000RCM3200 RESET PROTOTYPING RCM3400 BOARD PROTOTYPING CORE MODULE...
Page 45
Cable Figure 17. How to Identify Straight-Through and Crossover Ethernet Cables Ethernet cables and a 10Base-T Ethernet hub are available from Z-World in a TCP/IP tool kit. More information is available at www.zworld.com. You may use the same PC that is running the sample program and is connected to the Rabbit- Core or PowerCore module via the programming cable.
Page 46
If your access point has encryption turned on for the infrastructure mode, you will have to set the flag to in the following line in the WIFICONF_WEP_DISABLE WIFICONF_WEP_ENABLE Dynamic C library to enable encryption. TCP_CONFIG.LIB #define _WIFI_WEP_FLAG WIFICONF_WEP_ENABLE You may also need to change the encryption keys and select one of the four keys with .
4.5 Where Do I Go From Here? Most of the TCP/IP sample programs, including the TCP/IP sample programs specific to your User’s RabbitCore or PowerCore module that are described in the RabbitCore or PowerCore Manual , can be run as Wi-Fi sample programs. Just change #define TCPCONFIG macro call in the sample program to TCPCONFIG 9 .
4.6 Helpful Hints 1. When an access point/ad-hoc host is turned off after a Wi-Fi CompactFlash card has joined it, the Linksys WCF12 card will remain in the “joined” state and will wait for the access point/ad-hoc host to become alive again. This may require cycling of the MAC interface to find a new access point using the following code sequence.
Rabbit microprocessor. Chapter 5 describes the software associated with the Wi-Fi Add-On Kits. 5.1 Dynamic C Functions Z-World has implemented a packet driver for PRISM-based 802.11b CompactFlash cards, , which functions much like an Ethernet driver for the Dynamic C CFPRISMINTERP.LIB implementation of the TCP/IP protocol stack.
These default Wi-Fi parameters are set up for the macros. TCPCONFIG • Infrastructure Mode— #define _WIFI_MODE WIFICONF_INFRASTRUCT • No Access Point SSID— #define _WIFI_SSID "" • Your Own SSID is RabbitTest— #define _WIFI_OWNSSID "RabbitTest" • Your Own Channel is 10— #define _WIFI_OWNCHANNEL "10"...
Page 51
This table describes the various requests that can be made for the remaining parameters. Description *data 0–32 characters Set SSID string WIFI_SSID char* WIFICONF_INFRASTRUCT WIFI_MODE char* WIFICONF_ADHOC 1–32 characters Set SSID string for ad-hoc mode WIFI_OWNSSID char* "0" through "14" WIFI_OWNCHAN char* WIFICONF_WEP_ENABLE...
Page 52
You would use each command macro in its own function call. For exam- wifi_ioctl() ple, 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);...
Page 53
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 ( ), shared-key authentication WIFICONF_AUTH_OPEN_SYS ), or both ( ). The most important WIFICONF_AUTH_SHARED_KEY WIFICONF_AUTH_ALL consideration is to use the same type of authentication as the access point you are planning...
Page 54
WIFI_SCANRES This command macro returns the scan result into a user-supplied structure. The structure is defined in the Wi-Fi libraries as follows. typedef struct { unsigned int len; unsigned int rid; unsigned int rffu; unsigned int reason; _wifi_ScanEntry table[4]; _wifi_ScanResult; is a value from 0–4 that indicates how many valid BSS (access points and ad-hoc sta- tions) have been returned by the scan request.
Page 55
is a bit-mapped integer indicating the capability information attained from capability the probe response. It can have a combination of the following values ORed together. 0x0001 ESS (“Infrastructure Mode”) 0x0002 IBSS (“Ad-Hoc Mode”) 0x0004 CF-Pollable 0x0008 CF-Poll Request 0x0010 Encryption (WEP) Enabled 0x0020 Short Preamble 0x0040 PBCC 0x0080 Channel Agility...
6. I NSTALLATION AND OUNTING UIDELINES The CompactFlash Wi-Fi Boards supplied with the Wi-Fi Add-On Kits may be panel-mounted. This chapter describes some mount- ing considerations and includes detailed mounting instructions. 6.1 Mounting Instructions 6.1.1 Mounting Brackets You may use either the nylon brackets or the metal brackets supplied with the Wi-Fi Add-On Kit, but not both.
6.1.2 Panel Opening and Mounting Holes Figure 19 shows the opening in the panel for the Wi-Fi CompactFlash card and the two holes to use to mount the CompactFlash Wi-Fi Board with the corresponding bracket option you selected. 0.300 0.300 (7.6) (7.6) 1.750...
Figure 21. Inserting/Removing Wi-Fi CompactFlash Card 6.2 Grounding In keeping with good electrical engineering practices, Z-World recommends that the panel to which the CompactFlash Wi-Fi Board is mounted be connected to an earth ground. User’s Manual...
A. S PPENDIX PECIFICATIONS Appendix A provides the specifications for the Interposer Boards and the CompactFlash Wi-Fi Board included with the various Wi-Fi Add-On Kits. User’s Manual...
(47.0) Figure A-2. RCM3000–RCM3300 Interposer Board Dimensions NOTE: All measurements are in inches followed by millimeters enclosed in parentheses. The footprint for the RCM3000–RCM3300 Interposer Board is the same as the footprint for the corresponding RCM3000–RCM3300 RabbitCore module. User’s Manual...
A.1.2.2 RCM3400 Interposer Board Figure A-3 shows the dimensions for the RCM3400 Interposer Board. RCM1JA RCM1JB M_CS M_A0 M_A2 M_A1 M_/RD M_/WR 1.375 (34.9) 1.375 (34.9) Figure A-3. RCM3400 Interposer Board Dimensions NOTE: All measurements are in inches followed by millimeters enclosed in parentheses. The footprint for the RCM3400 Interposer Board is the same as the footprint for the corresponding RCM3400 RabbitCore module.
A.1.2.3 RCM3600–RCM3700 Interposer Board Figure A-4 shows the dimensions for the RCM3600–RCM3700 Interposer Board. 0.315 (8.0) M_/RD M_/WR C7 U1 M_A2 M_A1 M_A0 M_CS 1.375 (61.6) 1.375 (61.6) Figure A-4. RCM3600–RCM3700 Interposer Board Dimensions NOTE: All measurements are in inches followed by millimeters enclosed in parentheses. The footprint for the RCM3600–RCM3700 Interposer Board is the same as the footprint for the corresponding RCM3600–RCM3700 RabbitCore module.
A.2 Electrical, Mechanical, and Wi-Fi Specifications The following specifications are based on the Linksys WCF12 Wi-Fi CompactFlash card included in the Wi-Fi Add-On Kits. Table A-1. Wi-Fi Add-On Kits Electrical, Mechanical, and Wi-Fi Specifications Interposer Board Parameter RCM3000– RCM3600– RCM3400 PowerCore RCM3300 RCM3700 Current 285 mA @ 3.3 V 285 mA @ 3.3 V 300 mA @ 5 V...
/IOWR line as a write strobe. If any external I/O accesses are used in your program with the IA5 address line high on the RCM3000–RCM3300 Interposer Board or the RCM3400 Interposer Board, the Interposer Board may be accessed inad- vertently, potentially causing problems for the Wi-Fi operation.
B.1 RCM3000–RCM3300 Interposer Board Interposer RCM3000–RCM3200 RCM3300 Rabbit 3000 Board Signal Prototyping Board Prototyping Board Name Signal Name Name M_D0 M_D1 M_D2 M_D3 M_D4 M_D5 M_D6 M_D7 — not used Core SF_CLK M_A0 M_A1 M_A2 — — not used not used...
Page 71
The assignments from the library are shown below for WIFI_INTERP_PINCONFIG.LIB the factory configuration, and would have to be changed according to any changes you make to the pins used on Parallel Port B. #define INTERP0_ADDR0_PORTB_PIN 2 // indicates which PB pin connects to M_A0 #define INTERP0_ADDR1_PORTB_PIN 3 // indicates which PB pin connects to M_A1 #define INTERP0_ADDR2_PORTB_PIN 4 // indicates which PB pin connects to M_A2 #define INTERP0_CS_PORTB_PIN 7 // indicates which PB pin connects to M_CS...
B.2 RCM3400 Interposer Board Interposer RCM3400 Rabbit 3000 Board Signal Prototyping Board Name Signal Name M_D0 M_D1 M_D2 M_D3 M_D4 M_D5 M_D6 M_D7 — CLKA M_A0 M_A1 M_A2 — — not used M_CS not used — Optional SMSC interrupt — not used —...
Page 73
The assignments from the library are shown below for WIFI_INTERP_PINCONFIG.LIB the factory configuration, and would have to be changed according to any changes you make to the pins used on Parallel Port B. #define INTERP0_ADDR0_PORTB_PIN 2 // indicates which PB pin connects to M_A0 #define INTERP0_ADDR1_PORTB_PIN 3 // indicates which PB pin connects to M_A1 #define INTERP0_ADDR2_PORTB_PIN 4 // indicates which PB pin connects to M_A2 #define INTERP0_CS_PORTB_PIN 7 // indicates which PB pin connects to M_CS...
B.3 RCM3600–RCM3700 Interposer Board Interposer RCM3600–RCM3700 Rabbit 3000 Board Signal Prototyping Board Name Signal Name M_D0 M_D1 M_D2 M_D3 M_D4 M_D5 M_D6 M_D7 — Serial flash SCLK M_A0 M_A1 M_A2 M_CS — Switch S2 M_/RD IrDA — IrDA M_/WR IrDA —...
Page 75
The assignments from the library are shown below for WIFI_INTERP_PINCONFIG.LIB the factory configuration, and would have to be changed according to any changes you make to the pins used on Parallel Port B. #define INTERP0_ADDR0_PORTB_PIN 2 // indicates which PB pin connects to M_A0 #define INTERP0_ADDR1_PORTB_PIN 3 // indicates which PB pin connects to M_A1 #define INTERP0_ADDR2_PORTB_PIN 4 // indicates which PB pin connects to M_A2 #define INTERP0_CS_PORTB_PIN 5 // indicates which PB pin connects to M_CS...
B.4 PowerCore Interposer Board Interposer PowerCore Rabbit 3000 Board Signal Prototyping Board Name Signal Name M_D0 M_D1 M_D2 M_D3 M_D4 M_D5 M_D6 M_D7 M_A0 M_A1 M_A2 — — not used M_CS not used M_/RD Sinking Output — Sourcing Output — RabbitNet RS-422 —...
Page 77
The assignments from the library are shown below for WIFI_INTERP_PINCONFIG.LIB the factory configuration, and would have to be changed according to any changes you make to the pins used on Parallel Port B. #define INTERP0_ADDR0_PORTB_PIN 2 // indicates which PB pin connects to M_A0 #define INTERP0_ADDR1_PORTB_PIN 3 // indicates which PB pin connects to M_A1 #define INTERP0_ADDR2_PORTB_PIN 4 // indicates which PB pin connects to M_A2 #define INTERP0_CS_PORTB_PIN 7 // indicates which PB pin connects to M_CS...
C. C PPENDIX OMPACT LASH ARDS The following CompactFlash cards were evaluated by Z-World for the Wi-Fi Add-On Kits, and were found to provide satisfactory results. Onboard Manufacturer and Model Hardware Comments Firmware Belkin F5D6060 — — Type 1.5 D-Link DCF-660W v.
“reasonable commercial efforts.” All Rabbit and Z-World products are functionally tested. Although our tests are comprehensive and carefully constructed, 100% test coverage of every possible defect is not practical. Our products are specified for operation under certain environmental and electrical conditions.
CHEMATICS 090-0201 CompactFlash Wi-Fi Board Schematic www.rabbitsemiconductor.com/documentation/schemat/090-0201.pdf 090-0200 RCM3000–RCM3300 Interposer Board Schematic www.rabbitsemiconductor.com/documentation/schemat/090-0200.pdf 090-0205 RCM3400 Interposer Board Schematic www.rabbitsemiconductor.com/documentation/schemat/090-0205.pdf 090-0202 RCM3600–RCM3700 Interposer Board Schematic www.rabbitsemiconductor.com/documentation/schemat/090-0202.pdf 090-0204 PowerCore Interposer Board Schematic www.rabbitsemiconductor.com/documentation/schemat/090-0204.pdf The schematics included with the printed manual were the latest revisions available at the time the manual was last revised.
Need help?
Do you have a question about the RCM3000 and is the answer not in the manual?
Questions and answers