Stacking architectures such as PC/104 and computer-on-module (COM) rule when it comes to customizing compact, rugged systems. With standardization, boards from one vendor can plug into another, providing a host of options. As a result, developers can seize processing power from vendors with single-board computers (SBCs) and I/O boards from another vendor.
The typical stacking system, such as PC/104, paves the way for simple expansion and offers ruggedization even without a case or rack mount. This is possible due to the support that is provided by the connectors in addition to four mounting holes for bolting boards together.
Greater diversity among stacking architectures can be traced to the use of new point-to-point interconnect technologies. Still, maintaining backward compatibility leads to some interesting configurations, such as the venerable PC/104-Plus. It retains the Industry Standard Architecture (ISA) bus found in PC/104 and employs a Peripheral Component Interconnect (PCI) bus.
With its speed and functionality, designers might think that the move to the PCI bus would be complete by now. Not so. ISAbased PC/104 interface cards remain in front in terms of variety thanks to their simplicity and cost. The two tend to be related as ISA support was initially very easy to build. Cost is likely to keep ISA a major player in the future, though other factors will affect its position.
One reason for moving to PCI was speed. PCI is significantly faster than ISA, and it has more features such as better interrupt support. The host can recognize PCI devices, and the operating system can configure the system accordingly. The programmer must configure ISA devices.
Speed is also the reason for the latest crop of stackable solutions that incorporate PCI Express, which is even faster. PCI Express is a point-to-point interface, so the stacks look a bit different electrically from the bus-based PC/104-Plus counterparts that include ISA and PCI buses (Fig. 1). The diagram shows the logical bus versus point-to-point connectivity. It is possible to mix and match.
STACKING THE DECK
In the bus approach, each device that’s logically connected to the bus will have a set of transceivers attached to the bus, though the diagram may seem to indicate that the transceivers terminate bus segments.
The point-to-point approach starts with a set of interfaces. A device uses one interface and passes on the others, which requires a major change in the connectors utilized. Comparatively, the bus approach typically passes through the board using a single connector, while the point-to-point approach requires a pair of connectors.
Using one interface is easy. Shifting the remaining signals allows the next board on the stack to grab the first interface signals. In this case, though, it won’t be the first interface from the host. Rather, it’s one of the remaining interfaces. This implementation doesn’t require any jumpers for connection configuration purposes.
Position in the bus-oriented stack is irrelevant. This is advantageous for designers because devices that dissipate lots of heat can be placed on the ends of the stack, where passive or active cooling mechanisms are easily added.
Position in the point-to-point stack is important but not necessarily critical based on the implementation of the shifting mechanism to realign the interface signals. Figure 1 shows how a device interface is connected to the first bottom connection and the last top connection. This would permit stacking above and below a host. Otherwise, stacking could only proceed up the stack.
The position within a point-to-point stack will affect which interface is employed only relative to other boards using the same kind of interface. For example, assume a system stack starting with a host board, two USB device boards, and two x1 PCI Express device boards.
The USB and PCI Express boards can be rearranged arbitrarily, and the USB boards will always use the first two USB interfaces and likewise for the PCI Express boards. The USB board closest to the host will use the first USB interface because all interfaces not used in a point-to-point stack are passed up the stack.
Boards designed to work in a mixed environment, such as a PCI or ISA bus system and a PCI Express system, typically need a pair of connections. However, one of those connections will simply pass the signals of the other through without modification or connections. It’s also possible to have a device that connects to both. The advantage here is that a single board could be used in either environment, though the added cost and complexity will likely make these types of boards rare.
In practice, stacking architectures are either bus-oriented or bus and point-to-point, although a point-to-point-only implementation is possible. In fact, some interfaces such as the Serial Peripheral Interface (SPI) utilize both approaches. With SPI, the clock and data are bus-oriented while the select lines are point-to-point. For example, Versalogic’s SPX architecture is based on SPI.
Connectors normally provide the power in stacking architectures regardless of the architecture. Power is provided in bus mode, though sometimes special pins are used to handle higher current loads. Likewise, interrupts are typically implemented in a bus fashion. It’s also possible to use the point-to-point approach if interrupts are to be paired with another point-to-point interface.
HOW TO STACK THE DECK
Though less of a design factor, one limitation in the bus-oriented approach involves the number of boards in the stack. Various standards limit stack height when it comes to the number of boards typically set by board power requirements. Still, PC/104 stacks of more than six boards are common, even though the average stack size is just 2.5 boards (including the host). That isn’t surprising given the level of functionality found on many SBC hosts.
The number of interfaces provided by the host often limits point-to-point systems. For instance, the Small Form Factor Special Interest Group’s (SFF-SIG) Stackable Unified Module Interconnect Technology (SUMIT) standard specifies four USB, two SPI, and two x1 and one x4 PCI Express interfaces, plus parallel SMBus and low-pin-count (LPC) bus interfaces in a pair of connectors (see “The I/O-Centric, High-Speed SUMIT Interconnect Standard”). This maxes out around a dozen interfaces, which is more than most systems will require.
To handle rugged environments, designers usually turn to cases that seal the system from outside interference. Another approach is to enclose each board in its own metallic cocoon, as with Eurotech’s Stack-104 (Fig. 2). Each board casing interlocks with its neighbor, providing a rugged sealed enclosure. The advantage of this technique is that external connectors don’t require a special plate to be created.
Not all stacks are the same. Eurotech’s DuraCOR dual-carrier PC-104/Plus board highlights a slightly different approach that fits in the low-profile, fanless case (Fig. 3). Boards can plug into either PC/104-Plus socket. It provides a lower-profile layout than a comparable four-stack system. Wrapping the PCI and ISA buses into a U-shaped stack is easy. It could also be used in an H-shaped stack. However, point-to-point interfaces must be in the stack for this configuration.
TO THE POINT
The PC/104 Embedded Consortium hosts the PC/104, PC/104- Plus, and PCI-104 standards, which form the basis for the most popular stacking systems. The Consortium also provides standards for point-to-point stacks, including PCI/104-Express and PCIe/104 (see “Standard Serial Backplanes Dominate New Designs”).
The PCI/104-Express standard supports a range of options that include four x1 PCI Express links and an x16 PCI Express link, which can be split into two x8 or x4 links. An x16 link will support the latest graphics processing units (GPUs), but heat and space for memory may be issues.
The SFF-SIG defines similar point-to-point interfaces, but the current crop of standards tops out at x4 PCI Express links. It also takes a different approach by separating board connector layout from the types of connectors. Thus, new connector standards can be brought into the equation without dreaming up yet a new standard for all of the board layout combinations.
ISM (Industry Standard Module) is the name for the PC/104 ISA connector. SUMIT takes advantage of the same-style, highspeed Samtec connectors found in PCI/104-Express. Currently, the standard uses a SUMIT A and B connector. The connectors, which are identical, are placed side by side if both exist. The SUMIT A connector includes four USB, two SPI, SMBus, LPC, and an x1 PCI Express link. The optional B connector has additional x1 and x4 PCI Express links.
Versalogic’s Komodo SBC supports the SUMIT-ISM standard (Fig. 4a). SUMIT-ISM indicates the board will have a SUMIT connector or connectors on one side and a PC/104 ISA connector on the other. It supports PC/104 boards in addition to new SUMIT boards like Versalogic’s VL-EPMs-E1 dual Gigabit Ethernet board, which also has a Mini-PCI Express socket that might be used for a wireless link or other device (Fig. 4b).
A year ago, point-to-point products were prototypes with emerging standards. These days, a growing number of SBCs and peripheral boards supports these standards. A single x1 PCI Express link has more bandwidth than PC/104-Plus, so such systems will offer the higher I/O performance necessary for many new applications.
Addressing the range of stacking standards, not limited to PC/104, is a challenge when it comes to SBCs. One alternative is to utilize a COM architecture in the stack. In this case, the typical SBC turns into a COM carrier board, enabling a designer to select the processor separately.
Diamond Systems’ Pluto is an example of this approach with PC/104-Plus expansion (Fig. 5). The initial crop of Embedded Technology Extended (ETX) COM boards supports 1.6-GHz Atoms and Core Duo Intel processors. The carrier board also has connectors for peripherals on the COM board, including video, dual 10/100 Ethernet, and SATA interfaces.
Dual-inline memory module (DIMM) SDRAM is found on the COM board, and the Compact Flash socket is on the carrier board. This type of system puts the processor on the bottom. At that stack location, a heatsink can be used when dealing with a faster, hotter processor.
WinSystems takes a similar approach with its EZ-Z5xx-G, which uses an SFF-SIG COMIT module (Fig. 6). The EBX-size carrier has 48 digital I/O lines plus connectors for interfaces on the 1.6-GHz Atom-based COMIT module, including a pair of Gigabit Ethernet ports.
For expansion, the EZ-Z5xx-G resorts to the SFF-SIG’s SUMIT- ISM configuration found on Versalogic’s Komodo SBC. The SUMIT-AB (both connectors) support provides two x1 links and one x4 PCI Express link, plus a collection of slower interfaces that includes four USB 2.0 ports.
USB IN THE STACK
USB in the various stackable standards should come as no surprise to embedded developers. It has been turned into a useful embedded interface, not just an external connection for mice, flash drives, and cameras.
Many companies, such as Measurement Computing and Acces I/O, are delivering USB boards with a range of embedded peripherals like analog-to-digital converters (ADCs) and digital-to-analog converters (DACs). These peripherals often come in their own case and are typically connected to a PC for data-acquisition or process-control applications.
The boards also can be acquired without the case for incorporation inside a system. Acces I/O’s USB/104 form-factor boards, like the 16-bit USB-AI16-128A ADC, have a PC/104 form factor, so they can be easily included in a PC/104-style stack (Fig. 7). These boards contain high-retention USB connectors as well as headers. Conventional USB cables can be used to connect embedded processors to these boards. The USB-AI16-128A ADCs can link with up to four analog multiplexer AIMUX-32 boards that are also stackable, though the connection between these boards uses a custom ribbon cable.
Another approach to USB inside the box is StackableUSB. This system employs the same approach as the point-to-point stacks, except the faster PCI Express interfaces are replaced with more USB ports for a total of eight. There’s only one Samtec connector. The StackableUSB standard specifies a PC/104 form factor in addition to half-size and quarter-size boards like the Micro/Sys StackableUSB processor modules (Fig. 8a). These boards include 8-, 16-, and 32-bit Microchip processors. The quarter-size boards are compact and ideal for many applications that previously were the province of PC/104 boards, given the higher performance of the latest host processors as well as the greater variety of peripheral boards.
PC/104 isn’t the only form factor supported. Carrier and hub boards are available for Nano-ITX and Pico-ITX processor boards. PC carrier and hub boards like the Micro/Sys USB3364/74 for PC/104 are available as well (Fig. 8b). The hub versions use a single USB link and include a USB hub to handle the additional StackableUSB slots. In theory, a StackableUSB carrier or hub board could be built for any of the other point-to-point stacks that include at least one USB port, such as the SUMIT A connector.
STACK OFFSET AND OTHER ISSUES
New standards often need to contend with backward compatibility, and many standards that concern stacking fall into this category. One problem is that the mounting holes for the original PC/104 standard are offset instead of spaced evenly in the four corners of the board. The original reason was to prevent improper connections within the stack, although the connectors tend to handle this problem.
The problem now lies in building PC/104-style boards that might include other interfaces such as SUMIT. The SUMIT-ISM combination has already been mentioned, but others like SUMITPCI can be built.
SUMIT-PCI replaces the ISA/ISM socket with a 120-pin PCI- 104 connector. The PC/104-Plus design has one of these connectors on one side and the ISA/ISM connector on the other. If the SUMIT-PCI board is used in a PCI-104 system, then it needs to be rotated. Unfortunately, the holes are not symmetrical. The SFFSIG’s solution is to specify slotted holes on the board since the PC/104 holes are inline but slightly offset.
Another issue deals with the type of processors being used in new stacks. The original PC/104 processors were x86-based to bring a PC architecture to embedded systems. That’s why the ISA bus was utilized.
With new host processors and new interfaces, the choices are expanding. The StackableUSB microcontroller boards from Micro/Sys are just one example.
USB is a common interface for almost all processor architectures, and a wide range of higher-end processors supports PCI Express. The same is true for SPI, LPC, SMBus, and other interfaces available with newer stackable standards. Not all combinations need to be supported, though. For example, a SUMIT SBC could support the low-speed interfaces but not PCI Express. This type of board may still utilize peripherals that supported other interfaces, such as USB or SMBus.
Finally, there’s software support. I’ve touched on this issue before with respect to USB peripherals (see “Embedded USB Tower Of Babel”), but it applies to any of the interfaces found on the new stackable standards. C device drivers are a start, but mixing vendor hardware could be a challenge if each component uses different support for things like USB devices. Including non-x86 processors in this environment also potentially increases complexity, since big-endian and littleendian support becomes a factor.
So which stack will it be? ISA/ISM, PCI, PCI Express, USB, or something else? Options abound. Stacking designs aren’t for every application, but they’re often better than the alternatives in the proper situation.