The past, present, and future of PC104 for small-form-factor designs
PC104 has been around for over 30 years. That’s a long time, even for embedded systems. Despite its age, PC104 remains a viable and important architecture for embedded systems.
PC104 – formerly styled as PC/104 – has been around in some form for over 30 years. That’s a long time, even for embedded systems. Despite its age, PC104 remains a viable and important architecture for embedded systems. The spec defines a stackable architecture whereby boards are literally stacked upon each other to add functionality.
A typical stack may contain a CPU board, a power-supply board, and one or more peripheral boards that serve a specific purpose. Such boards are available from a host of vendors and many OEMs design their own peripherals boards if specialized functions are needed.
The spec, originally developed through the PC104 Consortium, has evolved over time to keep up with the latest available technologies. The specification defines the form factors and the buses employed, detailing the pinouts. Products that fit this category are intended for rugged industrial and military applications. Originally, two versions were defined, one at 8 bits and one at 16 bits. The latter, being more popular, contained 104 pins and gave rise to the “104” designation. It came in at 3.550 by 3.775 inches, or 90 by 96 mm, which offered a nice alternative for OEMs looking for reduced SWaP [size, weight, and power].
Originally, most of the available CPU boards available were based on the x86 architecture and ISA bus. Today, a host of Arm-based CPU boards are available from multiple vendors. Back in the day, it was typical to run a DOS- or Windows-based operating system (OS); in contrast, today we see PC104 systems running all versions of Linux and real-time OSs. Later standards, like EBX and EPIC, enabled larger CPU boards but still contained a PC104 connector, enabling the use of standard I/O boards.
The ISA implementation is still widely supported today. Variations have arisen, partly to maintain backward compatibility with existing boards and partly to allow for the use of current technology. For example, the WinSystems PCM-C418 (Figure 1) single-board computer (SBC) fits the PC104 form factor and features the latest generation DM&P Vortex86DX3 SoC [system-on-chip] processor. The SBC’s combination of ample memory (2 Gbytes DDR3-LV soldered and 1 Mbyte of battery-backed SRAM) plus small size, low power, rugged design, and extended operational temperature range suit it for industrial control, transportation, military/COTS, and energy applications.
When higher performance was needed from PC104, the PC104-Plus architecture came into being. This incarnation added 32-bit PCI connectivity, giving OEMs higher speeds while maintaining backward compatibility to existing boards. This was followed by the PCI-104 spec, which is essentially PC104-Plus without the PC104 ISA connector. Products fitting PCI-104, while still available, require the use of a PCIe-to-PCI bridge.
Moving forward, PCIe/104 added PCI Express signaling. This spec originally focused on high-performance CPUs with what is now known as the PCIe/104 Type 1 specification, which permits x16 PCIe lanes on the three-bank, high-speed connector. A PCI-104 connector can be included as well. A future version of this spec (Type 2) allowed for other types of I/O, so designers could move both up and down the CPU performance chart. This is likely the most commonly used standard for PCI Express on PC104.
Even with the Type 2 pinout, many CPUs couldn’t handle the full three-bank, high-speed connector. So the PC104 Consortium approved the Type 3 (OneBank) connector option. OneBank supports the signals of the first bank on the Type 2 pinout and depopulates the remaining two banks, which were largely unused I/O. This setup saves real estate on the PCIe/104 CPU, enabling additional functionality or reduced costs.
A great example of that OneBank architecture can be seen in the WinSystems PX1-C415 SBC, which takes advantage of Intel’s Atom E3900 series SoC processor. Thanks to the OneBank expansion, it can operate as a standalone SBC (no carrier board needed). The backward compatibility of the spec enables the use of a slew of expansion modules, while still maintaining a small, rugged form factor. Moreover, OEMs can design their own modules if necessary.