Pioneering “embedded PC” standard turns 20

Last updated Sep 3, 2012 — 417 views

This year marks the 20th anniversary of the launch of the PC/104 specification, which introduced a standardized way to build PC-compatible functions into a wide range of instruments, devices, and applications.

 
The PC/104 backstory

PC/104’s roots can be traced back 25 years, to Ampro‘s introduction in 1987 of its pioneering PC-compatible “Little Board” form-factor single board computer (SBC).

Ampro’s goal in developing the Little Board/PC was to make it easy for developers to inexpensively and reliably incorporate “embedded PC” functionality into data acquisition and control equipment, medical instruments, point-of-sale systems, and other purpose-built devices.

The Little Board/PC’s electrical design was based on the NEC V40, the first VLSI chip to integrate an 8086-compatible CPU along with a full set of PC system controllers onto a single die. Physically, the board’s design had to conform to Ampro’s existing “Little Board” SBC format, which matched the 5.25-inch disk drive footprint (see photo below).



Little Board/PC and its CGA-compatible graphics module

Since the V40 lacked an integrated graphics controller, and given the SBC form-factor’s tight spacial constraints (5.75 x 8.0 in.), the development team opted to implement the graphics subsystem on a compact (3.6 x 3.8 in.) daughter module. This module, called the MiniModule/CGA, interfaced to the SBC via a 64-signal variant of the IBM PC bus that Ampro defined for this purpose.



Closeups of the Little Board/PC SBC and MiniModule/CGA
(click images to enlarge)

As seen above, the Little Board’s 64-pin PC bus made use of a top-side male header, into which the MiniModule/CGA plugged upside-down. A right-angle passthrough bus header on the daughter module enabled further PC bus expansion. In this manner, the graphics daughter module fit entirely within the board’s vertical space envelope.

To add flexibility to the system, Ampro created several optional expansion adapters for the Little Board/PC (shown below).



Adding PC-style I/O cards or multiple MiniModules
(click image to enlarge)

 

The StackPlane/PC allowed adding a single desktop PC expansion card, while the StackPlane/MM provided two additional MiniModule stack locations. Both adapters interfaced to the Little Board/PC’s expansion bus by means of a short 64-pin ribbon cable; they also could be daisy-chained above a MiniModule/CGA.
 

Upgrading to PC/AT compatibility

As IBM’s PC/AT displaced the original PC on the desktop, Ampro began developing a series of PC/AT-compatible Little Boards. Because the IBM PC/AT’s expansion bus was a superset of the original IBM PC bus, the new designs required an additional (40-signal) bus connector. As a result the Little Board’s PC/AT pin-and-socket connector now consisted of two connectors (P1 and P2) totaling 104 pins.

The first boards built with Ampro’s 104-pin PC/AT pin-and-socket bus were the Little Board/286, /386, and /486 (pictured below).



PC/AT-compatible Little Board/286, /386, /486
(click images to enlarge)

You may have noticed, in the above photos, that these early PC/AT-compatible Little Boards were designed with right-angle — rather than “stack-through” — connectors for the P2 portion of their PC/AT buses. Additionally, all of Ampro’s early PC and PC/AT-compatible Little Boards had male expansion bus headers, whereas today’s EBX form-factor (the successor Ampro’s Little Board form-factor) uses topside female expansion bus connectors, resulting in expansion modules stacking rightside-up instead of upside-down on top of the processor board.
 

World’s first PC/104 I/O module

In 1989, Ampro introduced its first I/O module equipped with the newly-developed 104-pin PC/AT header bus variant. The MiniModule/ATDisk (shown below) could be used for adding an IDE drive interface to the Little Board/286 or /386.



MiniModule/ATDisk
(click image to enlarge)

Being the first MiniModule to implement both the 3.6 x 3.8-inch form-factor and the 104-pin PC/AT bus, this unpretentious board turned out to be the original ancestor of the highly successful PC/104 I/O module market. Of course, numerous mutations occurred between then and now.

Like the Little Board SBCs it plugged into, the MiniModule/ATDisk had a right-angle P2 bus connector, which interfaced via a short 40-conductor ribbon cable to a matching connector on the associated Little Board SBC. The MiniModule/ATDisk also was the first module to be built with a stackthrough 64-pin P1 connector, which facilitated stacking one of Ampro’s display controller MiniModules on top of it, resulting in a compact and rugged three-board stack.
 

Squishing a complete PC or PC/AT onto the MiniModule form-factor

With x86 chipsets attaining higher and higher levels of integration, Ampro embarked on the ambitious project of squeezing complete PC and PC/AT architectures onto its MiniModule form-factor. The result would be a compelling set of lego-like building blocks for rapidly developing highly-compact, stackable, rugged embedded systems.

This project culminated with the introduction of a series of three MiniModule-sized SBCs, dubbed “CoreModules,” beginning in 1990 with the launch of the ComreModule/XT. The modules were powered by NEC’s V20, AMD’s 286LX, and Intel’s 386SX CPUs, respectively (below).



CoreModule/XT, /286, /386
(click images to enlarge)

 

Inviting collaborators and competitors

Once Ampro announced its CoreModules, a steady stream of customers and IBM PC I/O board vendors began requesting details on how to build third-party MiniModule-compatible I/O boards. Real Time Devices and Diamond Systems both developed data acquisition I/O modules on the MiniModule form-factor during this early period.

By mid-1991, burgeoning interest in Ampro’s modular embedded PC building-block concept inspired the company to morph its proprietary form-factor and stackable pin-and-socket PC/AT bus variant into an open industry standard, free of royalties or other encumbrances.

Accordingly, Ampro…

  • Packaged all the essential mechanical and electrical specs into a single, concise document
  • Named the standard “PC/104”
  • Incorporated the PC/104 Consortium as a nonprofit trade association
  • Ceded ownership of the PC/104 name and standard to the Consortium

(Incidentally, the name “PC/104” was inspired by an obscure appendix to the IEEE P996 IBM PC bus specification, which proposed a 96-signal eurocard-style PC expansion card variant called “PC/96.”)

Next, Ampro set about preparing to launch PC/104 at the annual BUSCON show, which would take place early in 1992. Among the goals were getting at least 10 companies to join the PC/104 Consortium and participate in the news release (see below).



EE Times coverage of PC/104 launch
(click image to enlarge)

 

Continuing evolution

As Intel’s PCI bus gained a foothold in desktop PCs, Ampro developed an embedded-PCI bus for use on its PC/104 SBCs and I/O modules and offered the resulting specification to the PC/104 Consortium once it had developed products based on the new standard. The result was known as “PC/104-Plus” (see below).



PC/104-Plus added PCI to the original PC/104 spec
(click images to enlarge; source: PC/104 Consortium)

 

With the growing use of PCI Express in desktop PC systems, the PC/104 Consortium developed PCIe-based versions of its embedded standard, dubbed “PCIe/104” and “PCI/104-Express.” The consortium’s diagram illustrating the evolutionary steps of PC/104, from the 16-bit PC/AT bus to PCI Express, appears below.



Evolution of PC/104 embedded standards
(source: PC/104 Consortium)

 

All of the above PC/104 incarnations are still in production today, and serve as the embedded computing “brains” of millions of instruments and devices.
 

Further info

For further information regarding PC/104, visit the website of the PC/104 Consortium. The organization’s many PC/104-based standards are available for download here.
 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

[Note: DeviceGuru publisher Rick Lehrbaum cofounded and served as CTO of Ampro Computers from 1983 through 1999; additionally, he founded and for many years chaired the PC/104 Consortium. A version of this article initially appeared on the “PC/104 and Small Form Factors” magazine website.]
 



Comments are closed.