By Rick Lehrbaum
Since the invention of the microprocessor in the mid-1970s, there has been continuous exponential growth in CPU performance and memory capacity for program execution and data storage. By the late `70s, a few megahertz and a few kilobytes were the norm. Today, embedded CPUs clock upwards of 200 MHz, RAM capacities can easily exceed 64 megabytes, and mass storage is measured in gigabytes.
As embedded computer speeds and memories have gone through explosive growth, embedded applications have become increasingly decoupled from the underlying embedded computer architecture. As a result, the "magic" of an embedded system is now mainly in its software, interfaces, peripherals, and packaging; the embedded computer is now perceived as a platform on which to run software. It is software development - rather than hardware development - that has become the area of greatest investment and therefore the primary risk factor.
It is therefore highly desirable to choose an embedded computer architecture that minimizes the complexity and risk of application software development, so embedded system developers wanting to simplify and accelerate product development cycles have turned to the enormously popular IBM PC architecture as a prospective source for components and standards. The PC`s benefits include powerful and cost-effective CPUs, sophisticated operating systems, user-friendly applications, large and inexpensive mass storage, flexible communications and networking, next-generation system interfaces, next-generation high-speed system buses, and plentiful development tools and support.
Military and aerospace applications place demands on embedded computer size, weight, and operating conditions. These factors differ greatly from the requirements of the desktop PC market, wherein price pressures impose severe limitations on reliability, ruggedness, and quality. Physical needs of military and aerospace systems designers include small size and weight, low power consumption, high mean-time-between-failures, low mean-time-to-repair, and resistance to shock, vibration, temperature extremes, humidity, electromagnetic interference, and electrostatic discharge.
There is little incentive for manufacturers of desktop-PC systems, boards, and peripherals to satisfy these requirements of military and aerospace applications; doing so would raise system costs and render the resulting systems uncompetitive in the consumer market.
Yet short of disassembling a laptop PC and building its components into an embedded system, there is a way for designers of embedded military and aerospace systems to take advantage of PC technology; it is called PC/104.
The PC/104 embedded computer module standard was introduced in 1992 to provide a compact modular building-block approach to incorporating PC hardware and software technologies into embedded systems. PC/104 modules are intended for a wide range of embedded systems applications - including fixed, mobile, and portable environments.
Basically, PC/104 defines how to repackage desktop PC functions in a manner that satisfies the ruggedness, reliability, and size constraints of embedded systems. PC/104 is compatible with the desktop PC architecture, but in a 3.6-by-3.8-inch self-stacking modules.
Prior to the availability of PC/104, the only choices for embedding a PC architecture were to use a motherboard or backplane approach, which is bulky and unreliable, or to create a custom embedded-PC based on individual chips, which is costly and time consuming. PC/104 modules are small enough to fit where a backplane-based approach won`t, so they provide an excellent space-efficient "middle ground" for most aerospace and military applications.
In 1996, Ampro Computers Inc. of Sunnyvale, Calif., introduced an enhanced version of PC/104, called PC/104-Plus, which incorporates the desktop-PC`s 133 megabytes per second PCI bus into PC/104. PC/104-Plus is appropriate for performance-intensive commercial off-the-shelf applications that would otherwise be unduly burdened by the costs and bulk of a backplane and card cage approach like VME.
PC/104 and PC/104-Plus
The difference between PC/104 and "normal" desktop PC technology is essentially mechanical. There are no inherent software differences. Here is a summary of what is contained within the PC/104 and PC/104-Plus specifications:
n Miniature form-factor - instead of the usual PC or PC/AT expansion card form-factor (12.5 by 4.8 inches), PC/104 modules are just 3.550 by 3.775 inches. Options are included in the PC/104 and PC/104-Plus specifications for 8-, 16-, and 32-bit modules; but, unlike their desktop PC counterparts, all PC/104 module types are the same size.
n Self-stacking bus - to eliminate complexity, cost, and bulk associated with conventional motherboards, backplanes, and cardcages, the expansion buses of PC/104 and PC/104-Plus are implemented with unique self-stacking ("stackthrough") bus connectors. Multiple modules stack directly with each other. Stacked modules are spaced 0.6 inches apart and are securely attached to each other with four metal or nylon standoffs.
n Pin-and-socket connectors - rugged and reliable pin-and-socket male/female "header" connectors substitute for the standard PC motherboard`s edgecard connectors.
n Bus signal functions and pin assignments - all PC/104 and PC/104-Plus bus signal functions are identical to their respective counterparts on the ISA and PCI backplane connectors of a desktop PC. Their assignments to pin-and-socket connector pins are given in the PC/104 and PC/104-Plus specifications, available from the PC/104 Consortium.
n Reduced Bus Drive - to minimize power consumption and chip count, PC/AT (ISA) bus drive was lowered to 4 milliamps. Another benefit of the reduced bus drive is lessened electromagnetic emissions. No change to PCI bus drive was required, since it is already minimized.
PC/104 modules match the environmental requirements of military and aerospace applications quite well. Note, however, that the degree to which specific modules comply with particular environmental specifications (e.g. temperature, shock, vibration, ESD, etc.) varies according to the module manufacturers` published standards. Therefore, be sure to check with the manufacturers of the modules for information regarding their products` respective environmental specifications.
Although configuration and application possibilities are practically limitless, there are two fundamental ways PC/104 modules tend to be used in typical military and aerospace systems.
PC/104 modules are sometimes used like ultra-compact bus boards, except that they form compact stacks without the need for backplanes and card cages. PC/104 stacks can be bolted inside an embedded system`s enclosure, in an otherwise empty space. In this manner, the equivalent of an entire PC is often embedded directly within a system that would otherwise require an external, attached PC for its operation. PC/104 stack enclosures are available from several vendors, for packaging PC/104-based subsystems in fixed and mobile environments.
Despite the familiar image of a stack of PC/104 modules equivalent to a desktop PC that fits in the palm of your hand, most PC/104-based system designs aren`t actually based on module stacks. Instead, PC/104 modules are more often distributed horizontally - plugged into custom, "application baseboards" like multichip "macrocomponents."
The PC/104 application baseboard usually contains all interfaces and logic that are not available on - or, for whatever reason, are not desired on - PC/104 modules. In military or aerospace applications, the baseboard generally includes: power conversion or power supply components; signal conditioning logic; specialized interfaces such as Mil-Std-1553; "real-world" I/O connectors; a global positioning system receiver; etc. Devices on the baseboard don`t necessarily need to interface with the PC/104 bus, but might be included there to eliminate unnecessary electronic assemblies.
What size and shape should the application baseboard be? Generally, it takes the shape of the system, which may be square, rectangular, or even round. Whatever fits best. Often, the application baseboard provides multiple PC/104 stack locations. This approach allows the PC/104 modules to be distributed side-by-side (instead of stacked on top of each other), resulting in a flatter or thinner system profile. It`s always a good idea to provide a spare PC/104 module location.
Rick Lehrbaum is executive vice president, strategic development, of Ampro Computers, Inc. of Sunnyvale, Calif. He co-founded Ampro in 1983 and was the company`s vice president of engineering until 1991. He serves as the company`s chief "evangelist." In 1992 he organized the PC/104 Consortium and has been its chairman since that time; he also formed the IEEE P996.1 Working Group, which is transforming PC/104 into an IEEE standard. Lehrbaum formerly held senior engineering positions at Telesensory Systems, Dynabyte Corporation, Advanced Micro Devices, and Data General. He holds a bachelor`s in physics from New York University and a master`s in physics from Northeast Louisiana University.