The stackable PC/104 form factor has proved itself indispensible in numerous applications. But its Industry Standard Architecture (ISA) is moving toward oblivion as the number of chips that can directly interface with it nears zero.
USB, one of the interfaces replacing ISA, is ubiquitous on PCs and laptops. Embedded systems tend to be the last to jump on the bandwagon, though USB will be found on most PC/104 single-board computers (SBCs). What's lacking is a stackable version of USB with the ruggedization of a PC/104 stack.
Micro/Sys' new small industrial form factor, StackableUSB, looks to fill the void. The company is a big supporter of PC/104, so it's no surprise that the new architecture fits the 3.550- by 3.775-in. PC/104 form factor. It even uses the same mounting holes. And, the stacking architecture looks very much like that of EPIC Express (see "More On EPIC Express").
In this case, the two USB differential pairs (USB input and output) are routed to the on-board USB device while the remaining three sets are shifted left one position and routed to the next board in the stack (Fig. 1). The last position remains unconnected, so eventually, you run out of direct connections between the host and the top board.
The design doesn't require any on-board USB hubs, only a USB device. In general, each board will have a single USB device, typically a USB-device-capable microcontroller. It's possible to connect multiple devices on a StackableUSB card using an on-board USB hub.
By taking the StackableUSB approach, up to four USB devices can be connected directly to the host. Adding a USB hub board into the stack allows for an additional four boards. Trying to add yet another USB hub board pushes the limits of the USB system and the power that can be provided up the bus, though.
The use of differential USB signals instead of single-ended signals improves reliability. Likewise, the StackableUSB socket and the fact that the boards are bolted together make the architecture significantly more reliable than conventional USB cable connections. It also suits StackableUSB for environments where conventional USB connections would be impractical.
The implementation uses a 28-pin, surface-mount plug-and-socket (see "StackableUSB Pins,"). An independent set of center pins provides ground. The ground connection can handle 9.5 A, and each pin can handle up to 2 A. Four 5-V pins deliver up to 8 A. The usual limit for a USB device is 500 ma.
Boards using the StackableUSB sockets can't support PC/104 because the sockets are in the same location as the PC/104 ISA bus. In theory, it can work with PCI-104 (PCI connector only) and EPIC Express, whose connector is on the opposite side.
DEALING THE CARDS
The first SBC to implement the StackableUSB architecture is Micro/Sys' SBC1685. The board can handle Pentium and Celeron processors with up to 256 Mbytes of SDRAM. It supports PCI-104 (not PC/104) expansion that's compatible with StackableUSB. Also, it features a Gigabit Ethernet port, four additional USB ports (plus the four StackableUSB ports), two serial ports, PS/2 keyboard/mouse, a parallel port, an IDE controller, and a CompactFlash interface. Onboard video handles resolutions up to 1600 by 1200.
Micro/Sys is starting out with the USB148 digital I/O card (Fig. 2). With 53 digital I/O lines along with timers, this board is comparable to other PC/104 boards in the Micro/Sys product line. The big difference is that it incorporates a 48 MIPS Silicon Labs 8051 microcontroller (with built-in USB support), which serves up its own set of features.
First, microcontrollers of this type often have other interfaces on them. In this case, Micro/Sys brings out the 10bit analog-to-digital converter (ADC), dual UARTs, and serial peripheral interfaces (SPIs). It also ties the microcontroller's I2C to the stackable interface.
Second, the Fast USB interface can handle 12 Mbits/s. This is compatible with the 480-Mbit/s High Speed USB interface on the SBC. However, these two can coexist without any problems anyway.
Finally, the USB interface is brought out, enabling this single board to be used in one of three different environments: the stack; plugged into an external USB port; or as a standalone device using only the onboard microcontroller, which is possible since Micro/Sys provides access to the 8051.
This approach will significantly change the way systems can be delivered and designed. That's because the same hardware can be placed in different locations without worrying about the software interface characteristics. Given wireless USB support, a device may not even be connected directly to the SBC stack.
It will be interesting to see how the standard progresses this year and how it will coexist with EPIC Express. Initially, the StackableUSB boards will be full size, but it's possible to implement smaller cards that would be placed at the top of the stack (Fig. 3). The size and layout of the smaller cards have yet to be fixed.
In theory, two of these cards could fit into the same space as a full-size card. It would be up to vendors to create SBCs or hub adapter cards that would handle these smaller cards. A complete stack, including an SBC, could potentially be built using the smaller form factor. It would not be unreasonable to contemplate a 1/4-size card given the level of integration these days.
The StackableUSB architecture complements EPIC Express, the stackable PCI Express standard. Connectors for each architecture are on opposite ends of the card, so it's possible for cards to support both standards. It's certainly possible to build SBCs that support both.