What's up with USB in test systems?
Larry Desjardin- October 18, 2012Perhaps USB should be called the Ubiquitous System Bus, because it is everywhere. You can’t buy a computer without it. There are more and more instruments with USB interfaces. Where does USB fit in the continuum between traditional and modular instruments? To answer this question, let’s review boxes and modules.
Outside the Box readers are familiar with the polar extremes between traditional and modular instrumentation. On the one hand there are traditional “box” instruments that mechanically fit into EIA racks and communicate with a test system controller via ASCII messages over GP-IB or LAN, typically via the LXI protocols. On the other are modular standards of PXI, VXI, or AXIe that slide into a powered chassis and are controlled via software drivers that write and read to memory locations mapped to the PC’s memory space, typically over PCI Express.
There is no rule that box form factors must use ASCII communication, or that modular instruments can’t- these are just the conventions adopted by each. Indeed, VXI vendors have the option to offer message-based ASCII instruments as an alternative, and many have. Nevertheless, today you will find modular instruments nearly exclusively adopting “register-based” communication, another name for memory-mapped non-ASCII control, while boxes use ASCII, and specifically SCPI (Standard Commands for Programmable Instruments).
So where does USB fit in all this? Good question! Vendors have used USB in many different models.
The first is an alternate bus to GP-IB or LAN to a box instrument, but with the same set of ASCII command strings. USB’s advantage in this case is its ubiquity, ease of use, and not having to deal with one’s IT department in setting up another network. LAN retains an advantage if the system needs to span more than USB 2.0’s five meter cable length, or if the system integrator wishes to take advantage of an LXI instrument’s real time web interface. Speed is roughly the same, as USB 2.0 has slightly less bandwidth compared to GbE LAN, and USB 3.0 somewhat more. In ATE applications, test speed is dominated by the slow processing times of the ASCII commands, so the bus speeds have marginal effects. Data streaming applications would have USB 2.0 and GbE at speed parity, and USB 3.0 approximately ten times faster.
A second model of USB deployment is similar to the above, but with a proprietary non-ASCII protocol over the USB bus. Here, a software driver from the vendor is executed on the system controller. In some cases this driver may be executed alongside other instrument control, enabling multi-vendor and multi-instrument automated test system. Pay attention- not all software packages have automation interfaces that allow this! The advantage of this model over the ASCII command model is that the custom commands can often be optimized for speed. The downside is that it is somewhat more complicated to integrate, and automation interfaces are not always supported.
A third model of USB deployment is to a modular chassis, typically a proprietary chassis. There are two sub-models in this case. One model is the chassis being treated as a single USB instrument, a second is that each module has its own USB interface and acts logically independent. Either model may also adopt the ASCII or non-ASCII command structures noted above, with the same tradeoffs. A modular chassis delivers some benefits of modularity: flexibility, scalability, size reduction, and so forth. However, it won’t deliver the multi-vendor solutions or enable the blazing speed of PCI Express.
This brings us to compare USB modular to PXI and other modular standards. With USB there is an ease of use advantage due to the ubiquity of embedded USB ports in computers. Focused systems may also be able to address different price points than PXI or AXIe. But USB won’t touch the open modular speeds, particularly for automated tests relying on short latency times.
So how about a fourth model: USB connecting to a PXI or AXIe chassis? Great idea except for one thing- it doesn’t exist. Sure, there are some examples of a closed instrument created this way, but there are no examples of doing command and control from an external controller to PXI or AXIe over USB for the general case where modules can be freely mixed and matched. The reason isn’t the hardware interfaces- PCI Express has no problems connecting to a USB port. The problem is that PXI and AXIe instruments rely on the PCI Express memory map for execution, and all the memory address map information is throttled down to a single stream when it goes through USB.
So, let’s sum this up. USB has ease of use advantages for many instrument classes, but gives up distance when compared to LXI, and speed and multi-vendor integration when compared to the modular standards. These may be acceptable tradeoffs to some users, so expect it to be around for a while. But if anyone can figure out how to marry USB as a seamless control interface to a PXI system, then that would be a game changer.