|
||||||
Bridging the Wi-Fi/Embedded Divide
Bridging the Wi-Fi/Embedded Divide Incorporating wireless connectivity in embedded systems is becoming very popular, but it faces challenges. A major concern is that the embedded processor's bus structure is often incompatible with the wireless device's interface. Fortunately, programmable logic can be used to bridge the two buses, but the selection of a bridge architecture and logic technology will have a significant impact on the design's cost, the software development effort, and battery life. Ubiquitous connectivity is becoming widespread as consumers and enterprises get accustomed to continual access to information resources. As a result, traditional information appliances, such as PDAs, are adding telephony capability for voice and data transmission. In more traditional embedded systems, connectivity allows devices to report information to a central clearinghouse as well as obtain information from outside sources. The many benefits of connectivity are quickly turning it into a "must-have" feature. Wireless connectivity is now an essential feature for portable embedded systems, which by definition must operate without cables. But wireless also has its benefits for stationary systems when cabling is impractical or costs are high. Systems such as point-of-sale terminals and surveillance cameras, for instance, become easier to implement when they offer wireless connectivity instead of requiring cable connections. The Wireless/Embedded Dilemma Embedded systems, on the other hand, use a wide range of low-and mid-performance processors that often have only a simple memory-mapped interface. The interface seldom matches the bus structures of high-performance processors for which bridge chips may already be available. This leaves embedded system designers with the dilemma that many of the wireless chipsets they need cannot directly connect to the processors they want to use. For SDIO chipsets, the serial peripheral interconnect (SPI) bus available on many embedded processors may be an option, but the performance of the interface is limited. Cost considerations as well as the existence of legacy software make changing processors an undesirable option. The only other alternative is for designers to implement logic that will bridge the CPU interface to the wireless chipset's bus structure. This is often a challenging task. For one thing, the two buses may not have the same bit width, requiring that the bridge provide data formatting. Further, the PCI and SDIO buses do not allow for the simple memory-mapping typically used in embedded systems. The PCI bus, for instance, requires a complex protocol for the transfer of data. The SDIO bus requires frequent polling, tying up the CPU resources. In both cases the bridge needs to provide data buffering along with the protocol logic so that the CPU can be performing other tasks during the data transfer. Another constraint on the bridge design comes from power concerns, especially for portable systems. Most portable designs now use active power management to extend battery life. Active power management shuts down circuit blocks when they are not actively engaged in their function. This means that both the wireless chip set and the bus bridge logic must be able to be powered-down and re-activated at will. The bridge design, therefore, must be amenable to being turned off and on. As with nearly every other design, cost is yet another constraint on the bridge design. Many embedded systems for the consumer market are under market pressure to minimize cost. For them, component cost and the costs associated with extra board space are critical elements, so the bridge design needs to be as compact as possible. This implies a single-chip solution instead of discrete logic. Yet development cost is also a major concern in many embedded systems. Most designs simply cannot justify the mask charges for an ASIC-based approach, even structured ASICs, because rapid changes in technology and feature set requirements make product lifetimes too short to amortize the costs. FPGA Bridges Buses Designers seeking to utilize FPGAs have several choices to consider when implementing bridges to wireless devices. One choice is the type of FPGA to use. Another is the architecture of the bus bridge; both simple and bus-master styles are candidates. The impact of these choices on the design's cost, performance, power demands, and software compatibility must be considered. For choosing an FPGA, the market offers three base technologies: SRAM-based, EEPROM-based, and anti-fuse based (Figure 1). SRAM-based devices use SRAM cells to hold the programmed values controlling the switch transistors that make the logic circuit connections within the array. EEPROM-based devices use the same basic approach, but employ non-volatile EEPROM cells to hold the programmed values. Anti-fuse-based devices do not have memory cells or switch transistors. Instead, programming an anti-fuse-based device creates permanent logic circuit connections directly. Each technology has its benefits. For instance, SRAM-based devices have large amounts of memory available and support dynamic reconfiguration of the logic design. EEPROM devices are non-volatile, keeping their configuration without requiring constant power, and can be reprogrammed in-circuit. Anti-fuse devices are also non-volatile, but can only be programmed once. Their major advantages are compact logic, resulting in lower cost, and low power demands. Standby Power Rules Portable Designs SRAM-Based FPGAs The most important drawback to the SRAM-based FPGA, however, is its inherently high power demand, particularly its standby and leakage currents. The use of an SRAM memory cell and switch transistor to control each connection point in the array adds up to a significant number of active elements in the array above and beyond the logic itself. In addition, SRAM-based devices with the logic capacity needed for bridge designs are typically manufactured with deep submicron semiconductor processes. Finer geometry processes have larger leakage currents, adding to the device's standby power demand. A typical SRAM-based FPGA's standby current is 50 mA, an order of magnitude greater than is needed to achieve acceptable battery lifetime. EEPROM-based FPGAs Anti-Fuse-Based FPGA Defining the Bridge Architecture
The bus mastering bridge, like the PCI example shown in Figure 3, includes a memory controller block. This additional function enables the bridge to move data between the system memory and the wireless connection without processor intervention. This bridge architecture is more complex, but frees the CPU from having to be involved in the data transfer and leaves it more time to handle the remaining system functions.
In evaluating the choices for both bridge architecture and FPGA technology, designers have many design parameters to consider. System performance, including the network data rate and latency, may be important in some applications. System complexity, which impacts the cost and design time required, is another factor. Finally, along with the hardware design effort, developers need to consider the impact of design choices on the software development effort.
When the embedded system needs the highest networking performance, for instance, the bus master bridge architecture is the optimal choice. The simple bridge design has both data rate and latency issues because it requires the processor's intervention to move data across the bridge. As illustrated in Figure 4, the time required for the CPU to respond to an interrupt and retrieve the buffered data directly adds to the latency of the wireless chipset in communicating over the network. This may not pose a problem for data logging systems where communications are intermittent, but it can compromise the effectiveness of systems such as point-of-sale kiosks that may need an interactive audio link between the customer and a remote salesperson.
The CPU's latency in handling data moving across the bridge can also impose a bandwidth limitation on the system. As shown in Figure 5, the size of the simple bridge's buffer memory together with the system's network bandwidth requirement set an upper bound on the time available for the CPU to respond before data is lost.
The larger the memory, the more time the CPU has available. Because the amount of memory available for buffers in the FPGA is limited, simple bridge designs may require external memory to achieve the performance a system requires. A bus master bridge design has none of these issues. The FPGA logic can handle virtually any data rate that the wireless chipset can provide. The speed of the system memory then becomes the main limitation to performance. Complexity Equals Cost The bus master bridge, on the other hand, needs both the CPU interface and a system memory interface (either an SRAM controller or a DMA channel). This makes it too complex for the smallest FPGAs, requiring a medium-sized FPGA for its implementation. The choice of FPGA technology can also affect system complexity. An SRAM-based FPGA needs to be configured each time it powers up. This need forces the use of an external boot ROM to supply the FPGA configuration data. EEPROM and anti-fuse FPGAs are non-volatile, avoiding the need for this additional component. System complexity affects system cost. A more complex design may require a larger, more expensive FPGA. The need for additional components also affects system cost, both in terms of parts costs and in board costs. Each square inch of board space adds to total system cost. While that may not seem significant in some applications, consumer devices are under such tremendous cost pressure that pennies count. The FPGA choice also affects the system cost for bridge designs, both the cost of the component count and of the board space needed. The least expensive is the anti-fuse-based FPGA. Compared to memory-based FPGAs, anti-fuse technology is able to achieve a higher logic circuit density using a larger process geometry. This cuts component cost in two ways. First, the higher density produces a smaller die for a given level of complexity, and smaller die size translates directly into lower component cost. The other savings comes with the cost of the fabrication technology. Deep submicron processes are expensive to implement and mask costs for chips are high in comparison to older process technologies. The compact nature of anti-fuse arrays allows them to be implemented on older technologies, resulting in a greatly reduced cost per unit die area as well as lower mask cost. Bridge Architecture Selection Sets Software Effort Systems using a simple bridge, however, will need entirely new drivers to handle the need for buffering. Creating such drivers will require both time and expertise that the design team must provide. Wireless chipset manufacturers are often hesitant to support the rewrite of their existing drivers for these unintended applications. Perhaps surprisingly, FPGA technology choices can also affect software development. The SRAM-based FPGAs require time to load their program from the boot ROM before they are ready for operation. The system start-up software supplied with the wireless chipset may not be able to handle the delay, causing a software failure during system initialization. This, too, forces additional software development. By considering such costs along with power, performance, and the complexity of both hardware and software design, designers will be able to choose the architecture and FPGA technology best suited to their designs. The architectural choices allow tradeoffs among hardware complexity and cost, software development effort, and performance. The technology choices favor the anti-fuse approach for its lower power and implementation cost. The right combination of technology and architecture, however, can provide embedded system designers with a bridge to wireless connectivity, regardless of the CPU their system employs. About the Author Copyright 2005 © CMP Media LLC
|
Home | Feedback | Register | Site Map |
All material on this site Copyright © 2017 Design And Reuse S.A. All rights reserved. |