When Bluetooth was first announced, many considered it the last word in short-range wireless systems. In recent years, however, the Bluetooth hype has worn off, as people have realized that one size doesn't fit all when it comes to short-range wireless systems. IrDA is still the hands-down winner for point-and-shoot applications, Wi-Fi continues to be the best for wireless local-area networks and Bluetooth is quickly becoming the standard for ad hoc networks involving cell phones, PDAs or both.
But even with Bluetooth, IrDA and Wi-Fi filling the needs of many applications, there are many situations where these technologies are too costly and complex. A new wireless technology, called WirelessUSB, has been built on the premise that a complex networking protocol (such as those weighing down Bluetooth with processing overhead and additional cost) is not required for simple point-to-point applications such as mice, keyboards and sensor networks. This article will examine the key requirements of multipoint-to-point systems, including channel selection, co-location, interference avoidance, increased range and protocol minimization, and then provide a design example.
WirelessUSB splits the 2.4-GHz ISM band into eighty 1-MHz channels, similar to Bluetooth. But, unlike Bluetooth, WirelessUSB does not use frequency-hopping spread spectrum (FHSS). By continually hopping between carrier frequencies, FHSS systems aim to ensure that some part of the transmitted data will be received correctly. Even if some channels are fully blocked, the data sent on other channels will go through.
Instead, WirelessUSB uses a single channel with direct-sequence spread-spectrum (DSSS) modulation to avoid interference. Before using a channel, WirelessUSB devices check for other traffic on the channel. The signal strength is also measured to determine the noise floor. If there is another WirelessUSB or another 2.4-GHz device using the channel, the device moves to another channel to successfully coexist with them.
The DSSS system increases range and reduces bit error rate. Such systems transmit each data bit as a pseudorandom-noise (PN) code; each element of the PN code is called a chip. In the presence of interference (or near the limits of range), the transmitted PN code will often be received with some PN code chips corrupted. DSSS receivers use a data correlator to decode the incoming data stream. If the number of chip errors is less than the correlator error threshold, the data will be correctly received.
If the correlator threshold is exceeded, the received data bit is not corrupted; it is "erased." There is a negligible probability of data being corrupted rather than erased.
Erasures are much easier to correct than errors. By XORing each data byte, and transmitting the resulting checksum as the last byte of each packet, it is possible to use this checksum to correct one error in each bit position in a received packet.
It is, therefore, possible for WirelessUSB systems to successfully receive data without error on frequencies that suffer from interference causing chip error rates in excess of 10 percent. This makes WirelessUSB unusually resistant to interference and makes it possible to achieve indoor ranges of 50 meters or more.
Because the 2.4-GHz ISM band is so widely used, there could be cases where the interference is so great that despite these powerful error correction features, an unacceptable number of packets may not be correctable. In this case, the WirelessUSB protocol enables the transmitter and receiver to avoid the interference by automatically changing to a clear channel.
The PN code system eases the co-location of multiple users. In this situation, multiple WirelessUSB systems can use the same channel, provided they use different PN codes and neighboring systems are at least three times the distance away from the receiver as devices in the local system. By splitting the 2.4-GHz ISM band into 80 distinct channels and allowing channel reuse by neighboring systems, many WirelessUSB systems can be located in the same area, making the technology deployable in classroom or office environments.
Finally, the WirelessUSB protocol has been optimized for low-power devices. Only a handful of 1- to 4-byte packets are necessary to create a connection. Once a connection is established, there are no beacon packets or other unnecessary traffic. Each application data packet contains a 1-byte header and the 1-byte checksum used for error correction. The protocol is robust yet lightweight enough so that a WirelessUSB optical mouse can operate up to six months on two AA batteries. Chips that embody the technology are priced at under $2 in volume.
Many point-to-point systems implement a low-throughput RS-232 link. Often, it would be desirable to replace the cable with a wireless link, but traditionally this has been costly and complex. WirelessUSB makes designing this cable cutter a straightforward task, even for engineers without prior RF experience.
An example two-layer pc-board layout including a pcb trace antenna for the radio portion of the design is provided as part of the WirelessUSB Developer Kit. This eliminates the need to undertake complex RF layout and antenna design. When a pcb trace antenna is used, no knowledge of 2.4-GHz antenna design is required. The only external components the WirelessUSB IC needs are decoupling capacitors, a four-element passive antenna-matching network and an inexpensive 13-MHz, 50-ppm crystal. This design approach lets the whole RF pcb area, including antenna and IC, fit into a space measuring approximately 1 square inch.
The WirelessUSB IC connects to the controlling MCU using an SPI interface. It is used to configure the radio and transmit/receive data from the radio. An interrupt request signals when data has been received and when data transmission is complete. These activities are all handled by the protocol firmware.
In this example, data for transmission is received from the RS-232 port and buffered for transmission by the MCU. The MCU sends an 18-byte packet as soon as 18 bytes have been received, or a short packet if a timeout is exceeded since the receipt of the last RS-232 byte.
When not transmitting, the MCU listens for packets from the other node. If a packet is correctly received the MCU buffers the data, then transmits it over RS-232. If there is an uncorrectable error in the packet, the protocol firmware automatically requests retransmission, with no intervention required by the application firmware.
Including the turnaround time of the radio, this enables 18 bytes of payload data to be transmitted in approximately 3 milliseconds. This is equivalent to the throughput achieved by a 66-kbaud RS-232 connection, with one start, one stop and one parity bit. Thus, the design can support an RS-232 baud rate of 56 kbaud with occasional retransmission of packets.
David Wright (DGW@cypress.com) is wireless-systems engineering manager and Ryan Winfield-Woodings (RWW@cypress.com) is a software engineer at Cypress Semiconductor Corp. (San Jose, Calif.).
See related chart