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, maximizing
efficiencies have been lacking. 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 watch word of the day. The push for efficiency is also coming from
an economy that has become increasingly more concerned about speed for speed's
sake, especially as energy costs soar and landfills amass with discarded
electronics. 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 80MHz, ARM processors which
operate comfortably in the 100MHz to 500MHz range and PC 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 is a key advantage 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 popular 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 RS232 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: 1) the controller driver; 2) the USB stack and 3) 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
manufactures are responsible for providing the Device software support that
ensures their "plug-and-play" participation with USB.
USB finding its way in Embedded:
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 one's 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; or
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.
Enabling Packaging Efficiency
though 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.
Enabling System Efficiency through
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 sub-systems.
The same SD card reader can hold the new parameters and update each sub-system
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
inter-changeability 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 because: 1) single board computers become more generic and
more easily interchangeable which drives down prices while maximizing
performance, 2) more generic and interchangeable boards reduce concerns around
the issue of "sole" source, 3) "end of life" cycles become less consequential
to OEM users because replacement units are easily integrate-able, and 4) 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
(refer to Figure 3) USB's throughput has kept pace, and in the case of USB
Super Speed 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.