USB is ubiquitous, but it’s usually used to connect boxes like PCs and laptops to other devices. The type of USB hosts are changing already, with USB sockets on printers and even HDTVs providing access to USB flash drives. Playing a hi-def movie from a flash drive is no longer a goal but a reality. But USB inside the box is a much different story.
The nine- and 10-pin USB headers on motherboards typically are mated to a cable with a connector to the outside world for additional expansion. Some flash vendors deliver USB flash drives that plug into these headers for improved reliability over conventional USB flash devices. But their size and orientation vary, as does the suitability of a particular motherboard to accommodate them. Things get more interesting when you’re looking for bolt holes.
The StackableUSB and MiniBlade standards address USB inside the box. StackableUSB has been around for a while courtesy of Micro/sys, which provides compatible motherboards and peripheral boards (see the figure). These devices utilize a stacking architecture like PC/104 using the same kind of lane shifting up the stack as the Small Form Factor SIG’s SUMIT (Stackable Unified Module Interconnect Technology) and Express104 standards (see “SUMIT Brings Big Improvements In Small Packages,” ED Online 18687) and the PC/104 Consortium’s PCIe/104 and PCI/104-Express standards (see “Standard Serial Backplanes Dominate New Designs,” ED Online 18799).
The sockets that these standards employ come from Samtec and are designed for high-speed interfaces like PCI Express, SATA, and USB. But the big difference with StackableUSB is that it is almost exclusively USB. It has eight channels at the max plus an I2C link that is bussed to all boards in the stack. Ignore the I2C link and StackableUSB is a USB-only solution, whereas the others push interfaces like PCI Express (PCIe).
The MiniBlade standard looks to replace the 9/10-pin header, though it addresses more than just USB. Like SUMIT, Express104, PCIe/104, and PCI/104-Express, MiniBlade can host a range of high-speed interfaces, including SATA and PCIe. SATA is interesting because MiniBlades will often be used for storage. USB-based storage can handle many applications, but SATA and even PCIe can be used for storage, even flash-based storage.
Of course, this brings us back to using USB inside the box. Obviously, storage will play a big role. The advantage to USB or even SATA and PCIe solutions inside the box is that the same support can be used outside the box as well. Microcontrollers or chip sets sometimes support many multiple channels, or switch chips can be added to provide easy expansion.
The one advantage of USB over interfaces like CAN, SPI, and I2C is standardization and the inclusion of power. USB devices can draw up to 500 mA but typically use much less. The link-level protocol and the low-level software stack also are standardized.
The problem for embedded developers is that the higher-level USB software standards such as human interface devices (HID), serial ports, and storage devices only address part of the embedded requirements when considering devices such as analog-to-digital converters (ADCs) and digital-to-analog converters (DACs. This area is ripe for standards and will make USB considerably more desirable inside the box. For example, how do you query an ADC to determine how many channels it has and what resolution it supports?
Standards considerably reduce the number of different drivers required to support standard devices. This is still a work in progress across the industry, and it will be interesting to see what standards arise to meet the challenge and what organization drives them.
So is USB in your box? What are you using now, and what do you plan on using in the future? Let me know, especially what vendors you’re using. You definitely will be hearing more about this topic next year.
Small Form Factor SIG