 |

Integrated DSP System on a Single COTS Board
Jeffry Milrod
President, BittWare, Inc.
The 'Extreme Solution' Problem
The vast majority of today's embedded commercial-off-the-shelf (COTS) systems using DSP are integrated using several separate subsystem boards based on one or more industry standards such as VME, Compact PCI (cPCI), PMC, or PC/104. Since there are a great number of DSP boards, I/O boards, and host boards available in any given standard-bus format, the modularity afforded by this common approach offers a wide spectrum of possible solutions to the system designer.
In practice, however, interoperability issues (hardware and software) can greatly reduce the available options. This is particularly true regarding the real-time I/O needed by most DSP systems. While it is clearly possible to implement a DSP system using standard-bus COTS boards, it will almost certainly be at the expense of recurring cost and size; these systems are almost always large and fairly expensive. Furthermore, it is not uncommon for the integration effort to become so complex that it minimizes the intended benefits of this system building approach: reduced development cost and improved time-to-market. For many moderate-level applications, this approach can be likened to killing an ant with a sledgehammer - it gets the job done, but it's not very efficient.
Despite the shortcomings of standard-bus COTS integration of DSP systems, it has become prevalent due to a lack of alternatives. Full custom solutions can greatly reduce recurring cost and size, but they typically require much higher development costs (particularly low-level software) and longer time-to-market.
At the risk of over-simplification, this situation has lead to what can be referred to as 'extreme solutions' to embedded DSP system implementation:
- Standard-bus COTS integration for relatively low volume, cost-insensitive, or complex systems (such as 3-D radar, sonar, CT scanners, or instrumentation);
- Full custom solutions for relatively high volume, space-conscious, cost-sensitive, or simple systems (such as printers, copiers, consumer audio, or mobile phones).
Either of these extremes forces undesirable tradeoffs on the system designer implementing a more typical, moderate system.
A Moderate Approach for Moderate Systems
With the market aggressively pursuing both 'extreme' approaches for over a decade, systems designers have had few alternatives. Fortunately, a unique, more moderate, approach has recently emerged: integrated COTS DSP systems on a board. While this approach is not ideal for extreme system requirements, it represents an attractive alternative for a broad range of moderate systems including industrial controls, communications, test & measurement, high-end audio, medical instruments, and simple radar/sonar.
Sort of a 'one size fits many' approach, a DSP system on a board is inexpensive, small, and convenient, while providing the system designer with all the pieces needed to implement a complete DSP system solution:
- General Purpose DSP(s);
- Real-Time I/O;
- Host & Peripherals.
General Purpose DSPs
Obviously, the system's DSPs are used to do the real-time signal processing for which they are designed. Different applications typically require different amounts of processing power, memory, and I/O bandwidth. These differences have historically been one of the main reasons why 'one size' hasn't fit all for DSP systems. However, recent advancements in DSP processor offerings and memory technologies have changed this somewhat. Some of the new floating point DSPs can be gluelessly coupled with SDRAM to provide a tremendous amount of general-purpose DSP processing power and memory for surprisingly low costs; the 'bang for the buck' is unprecedented.
Note that this isn't simply about cheaper DSPs, usability is also extremely important. High clock rate, low-cost fixed point DSPs have been widely available for some time, but tend to be more application targeted and don't provide the general purpose performance, bandwidth, or ease-of-use that is offered by floating point DSPs. For example, a common rule of thumb is that it takes roughly three times longer to implement, optimize, and debug an algorithm on a fixed point DSP than it would on a floating point DSP. Once again risking the perils of oversimplification, fixed point DSPs are best suited to extremely cost sensitive, high volume applications; all other applications (moderate to extremely complex) are better served by floating point DSPs.
Real-Time I/O
Generic real-time I/O is an oxymoron, every signal has specific characteristics that must be specifically handled. It is reasonable, however, to integrate a broad enough set of real-time I/O interfaces on a COTS DSP system board so as to make it useful for a wide range of applications. Reconfigurable, high performance real-time digital I/O can be readily achieved using FPGAs. If they are intelligently connected to the DSP(s) and memory, these devices can be used to implement a multitude of high-speed digital interfaces; off-board connectors can be used to directly interface external digital signals. The FPGA can also be connected to on-board analog-to-digital converters (ADCs) and digital-to-analog converters (DACs) to interface external analog signals to the DSP(s).
No matter how numerous or flexible the on-board interfaces, the system I/O will be finite and thus limited. To avoid the 'extreme' solution of customizing the DSP system board for various I/O requirements, an industry standard I/O expansion site can be provided that allows system designers to extend the real-time I/O capabilities via COTS or custom I/O. Popular formats include PC/104 (ISA), PC/104-plus (ISA/PCI), and PMC (PCI). While these standard interfaces were not really designed to handle true real-time interfacing, they have proven quite practical and successful for moderate bandwidth application-specific interfaces such as imaging, telecom, and instrumentation.
Host & Peripherals
While not always necessary, most DSP systems require some sort of system host processor to perform task not well suited to DSPs such as user interfaces (e.g. GUI) and network communication (e.g. TCP/IP). The vast majority of embedded systems use one of four host processor families: Pentium, PowerPC, MIPs, or ARM. In general, the standard-bus COTS approach favors Pentium and PowerPC, while full custom solutions use more MIPs and ARMs. The major issues evaluated when choosing the host for an embedded DSP system are usually operating system (OS) support, standard bus interface (PCI), hardware peripherals, and power dissipation; processing power tends to be a secondary issue since the DSP(s) do most of the processing.
Requirements for host peripherals can vary greatly from system to system. Unlike the unlimited variety seen in the needs of real-time I/O, host peripherals tend to be picked from a more standard list of options: Keyboard/mouse interface, ethernet, video, bulk storage (solid state or Hard Disk), USB, etc
Some systems need all of them, some need only one or two. With some allowance for cost, size, and power, generally more is better regarding the host peripherals available on a COTS DSP system board.
Real-World Example of a COTS DSP System Board
One example of a stand-alone, integrated DSP COTS system is BittWare's Tiburon board, shown in Figure 1. The Tiburon provides a complete DSP system, including a full 'Pentium' class PC, on a single board just 7" x 7" x 1.5" in size. Features include:
Floating Point DSPs
- 4 Analog Devices ADSP-21161 DSPs (@100 MHz; 2,400 MFLOPS total)
- 64 MB SDRAM
- 512 kW SBSRAM
- 8 MB Flash
Real-Time I/O
- 32-bits of Reconfigurable Digital I/O (Xilinx Spartan-II)
- 6 External DSP Link Ports (100 MB/sec each)
- 2 SPI Serial Ports
- TDM Serial Port
- 1-channel of high-speed (20 MHz), 12-bit ADC & DAC
- 4-channels of general-purpose (50KHz), 12-bit ADCs & DACs
- PMC+ site for expansion mezzanine boards
Embedded host PC & Peripherals
- National Semiconductor Geode ('586, 266 MHz)
- 128MB SDRAM (So-DIMM)
- Socketed BIOS Flash
- VGA & TFT display interfaces
- Keyboard & Mouse interfaces
- Ethernet 10/100
- Dual USB
- Dual RS-232
- On-board CompactFlash/MicroDrive
- IDE connector for external drives
As shown in the block diagram in Figure 2, the Geode host connects to the DSPs via PCI and BittWare's SharcFIN DSP interface ASIC. The DSPs and memories are then tightly coupled to the wide variety of real-time I/O via a Xilinx Spartan-II FPGA. This implementation provides tremendous flexibility in moving external signals (analog and/or digital) in or out of the DSPs. Data can go directly into, or out of, the DSPs via the external link ports or through link port cores on the FPGA. In addition, external data can move through the FPGA to the DSP bulk memory via the parallel cluster bus. Yet another option is to bring data in/out the DSPs using the PCI bus interface to the PMC or host/peripherals.
The popularity of the Geode embedded host processor ensures a broad choice of OS, real-time OS (RTOS), and driver support, providing a stable, comprehensive development environment. Analog Devices VisualDSP integrated development environment can run directly on the host under Windows; BittWare's drivers and development tools directly support various versions of Windows or Linux. This provides the developer with a completely integrated in-situ development environment from code editing to deployment - simply plug-in a monitor, keyboard, and mouse, and go for it! Alternatively, remote development, debugging, command, and control are also supported via ethernet.
Because this DSP system is already integrated, developers will be able to cost-effectively achieve rapid time-to-market; because of the performance, bandwidth, and flexibility, it can address a broad range of applications. Furthermore, since pricing for the Tiburon can be under $1,000 in quantities, this system on a board approach to DSP systems building is, indeed, quite an attractive alternative to the 'extreme solutions' that have previously dominated the COTS marketplace.
|
 |

Media Center


Global Partners


|