USB in Embedded
USB and StackableUSB: Enabling Efficiency and Scaling for Embedded Designs
Long established in the desktop arena, USB forms the basis for I/O modules in the embedded space that are small, flexible and targeted for specific solutions and also have the ability to span form factors.
SUSAN WOOLEY, INTER STACKABLE STANDARDS GROUP
Page 1 of 1
Board-level system designers have benefited from Moore’s Law of exponential improvement in size, cost, density and speed over the years as processor boards have packed more horsepower and raw computer power onto their boards. However, with the growing selection of smaller microprocessors and ARM processors running at faster speeds, requiring less power and packing more capabilities into single chip solutions, efficiency is becoming the watchword of the day. The push for efficiency is also coming from an economy that has become increasingly concerned about speed for speed’s sake, especially as energy costs soar and discarded electronics accumulate in landfills. Efficiency is in.
Today, smaller, lower-power processor boards can be mated with similarly smaller I/O boards controlled by equally more integrated I/O chips from the A/D, D/A, communication, mass storage and sensors areas, thus creating a Moore’s Law effect in board-level products. Couple this with the advantages of using USB, a serial protocol, as the communication link between these boards, and system designers have the tools they need to leverage untold efficiencies in their system designs.
In the embedded world, momentum has been building for USB to be the I/O channel of choice in embedded applications. This is in part a result of USB being the one common serial interface between three distinctly different CPU cores: microcontrollers whose speeds now reach over 80 MHz, ARM processors that operate comfortably in the 100 MHz to 500 MHz range, and x86 processors that reach beyond the 1 GHz range. The trend to include USB in CPU cores and the increasing number of USB ports included in those cores establishes it as the most prolific I/O channel on the market.
Flexibility and scalability are key advantages for achieving efficiency that board-level manufacturers can offer systems designers. With USB as the I/O channel, embedded designers are provided distinct advantages enabling them to maximize efficiencies in their system designs. These advantages are enhanced for the embedded user with StackableUSB, a stacking protocol that implements USB, I2C and SPI in a compact, rugged format conducive to industrial control and measurement applications.
USB has its roots as a serial protocol made popular on desktop PCs and laptops as multiple protocols such as RS-232 serial ports, floppy drives and printer ports disappeared and a single protocol emerged to connect all devices to a PC. As USB grew in popularity, the range of I/O devices it supports expanded rapidly, and it quickly grew beyond just an interface for a mouse, keyboard and printers to become the I/O channel of preference for everything from digital cameras to iPods and portable hard drives.
Implementing USB on desktops requires a cable between the Host processor and the USB Client or Device. In addition, on both the host and device side, software is necessary to ensure the compatibility and the “plug-and-play” features of USB. Typically there are three layers of software on both the host and device side: the controller driver, the USB stack and the class driver for the Host or the function driver for the Device.
Most operating systems such as Windows or Linux implement the three layers of Host software and are considered USB-ready. The tool chains that support popular microcontrollers, such as the PIC24 and PIC32 from Microchip, have built-in USB stacks providing the multi-layer USB software to users. I/O manufacturers are responsible for providing the device software support that ensures their “plug-and-play” participation with USB.
USB Finding its Way in Embedded: StackableUSB
StackableUSB empowers USB in the embedded world by incorporating multiple USB ports into a single stacking connector, eliminating the need for cabling. The stacking format creates a rugged framework for building embedded systems. StackableUSB electrically supports five USB root ports on the top side and five on the bottom side of a single board computer as well as I2C and SPI. The number of USB root ports available to the user is determined by the number of USB ports supported by the single board computer. Additionally, each USB port provided by the processor can be expanded using a hub interface to provide for an additional four to seven devices.
To ensure mechanical compatibility, StackableUSB defines a new physical form factor to implement embedded USB I/O, one that scales down the older, traditional I/O boards to 1/4 the size of previous generations. These smaller, yet more powerful device-side I/O boards measure 1 7/8” x 1 7/8” and can be added to a system in a variety of ways. Depending on the space constraints and system design, the boards can be stacked together to form a rugged, stand-alone, brick-like unit; they can be added to a carrier board accommodating up to four StackableUSB devices on any single board computer. Alternatively, each device can be attached to the processor unit via a standard USB connector and cable. The carrier board configuration is available for the more popular SBC formats such as PC/104, EBX and EPIC form factors as well as Via Technologies’ recent releases of the Pico-ITX and Nano-ITX form factors.
Packaging Efficiency through Mechanical Versatility
Determining how to physically implement and attach USB devices to an embedded system has been one of the challenges facing embedded users. Previously there has not been a standard form factor or mounting configuration to support designers considering USB. This drawback has slowed the adoption of USB in embedded applications. StackableUSB not only solves the problems but provides several options to designers during system development and the final deployment of the system.
Figure 1 shows the different ways StackableUSB modules can be combined into a unique system. Consider an application for remote location sensing of a mobile unit where space, in terms of surface area, is limited. Here, a ¼-size StackableUSB host stacks a GPS module for detecting location and time, a Zigbee Module for wirelessly communicating with central command or another mobile unit, and an SD card reader to log its location at a given interval. Now consider the exact same application, but where vertical height space is limited. Here, the exact same StackableUSB modules are housed on a carrier board allowing the system to make use of the available surface area across any form factor. Then, at the end of the day, the SD card reader can be connected to a PC via a traditional USB cable, allowing the logged data to be downloaded.
Efficiency through Electrical Interoperability
Similarly, as StackableUSB is blind to the form factor, it is also blind to the Host CPU platform. Figure 2 shows a StackableUSB SD card reader connecting to a PC Processor, an ARM Processor and a Microcontroller. In addition, taking advantage of USB’s plug and play capabilities can create highly reliable and robust systems. Consider an application where system parameters may need to be updated in the field, and the system consists of three different subsystems. The same SD card reader can hold the new parameters and update each subsystem individually when the module is connected to the host CPU as shown, without the need for bringing the entire system down for a simple programming modification.
This ability to mix and match host processors and client, or device I/O modules is the foundation of USB’s electrical interoperability. This interchangeability serves users well because they gain advantages and benefits that ease development, reduce costs and improve their time-to-market. Simply put, OEM users gain for a number of reasons. For one thing, single board computers become more generic and more easily interchangeable, which drives down prices while maximizing performance. The proliferation of more generic and interchangeable boards reduces concerns around the issue of “sole” source, and “end of life” cycles become less consequential to OEM users because replacement units are easily integrateable. Additionally, making system upgrades, revisions or downgrades can, with little difficulty, be accommodated to take advantage of economies of scale or feature enhancements for the OEM system.
USB as a whole cannot be rivaled by any of the more recent serial protocols such as the faster and higher throughput PCI and PCI Express. When comparing the bandwidth of these protocols (Table 1), USB’s throughput has kept pace, and in the case of USB SuperSpeed or USB 3.0, it rivals these protocols and in some cases exceeds the performance of PCI Express. Additionally, USB is the only one of the protocols that is portable across three different processor platforms and offers the simplest implementation, eliminating the complex silicon interfaces, processing power, and the software support required for PCIe.
As evidenced, Moore’s Law has found its way into embedded board-level applications with a multitude of benefits for the user, the number one being efficiency. So, just because you can go faster, be sleeker, or be more full featured, doesn’t mean you should. Efficient products maximized across multiple platforms, implemented on smaller footprints, and capable of low-power operation is the goal. USB and StackableUSB exemplify such a trend.
Inter Stackable Standards Group