Andrew Wilson, Editor
First released in January 2013 and hosted by the AIA (Ann Arbor, MI; www.visiononline.org), the USB3 Vision standard has, in the past year, gained a large amount of support from vendors of cameras, cables, repeaters and converters. Like the USB 3 standard upon which it is based, the USB3 Vision standard is backwards compatible with USB 2.0 ports (if the camera design permits), while offering a approximately 400MByte/s bandwidth and support for powered devices of up to 4.5W.
Because the USB3 Vision standard is based on the well-established USB 3 standard, it leverages the benefits of USB 3 while adding specific functionality targeted at those developing machine vision systems. Like other USB 3 devices, cameras and peripherals that conform to the USB3 Vision specification are defined by device descriptors that are used by the host computer to determine devices of similar characteristics and functions that are attached to the bus.
This information, stored in firmware, consists of a class code, subclass code and protocol fields, approved by the USB Implementers Forum (USB-IF), that the operating system uses to identify which driver should be used. In this way, the same device driver can be used for any camera or peripheral that is a member of a certain class. Thus, any vendor's product can be used with a driver that supports a specific class type relieving the systems developer of loading custom drivers for each different camera or peripheral attached to the system. This capability allows software or embedded systems from one vendor to easily integrate with cameras from any other vendor implementing the standard, the same way a USB keyboard or mouse can be plugged into any computer.
While the USB 3 standard supports a number of data transfer types including control transfer, isochronous transfer, interrupt transfer and bulk transfer modes to support a number of different peripheral requirements, the USB3 Vision standard employs only the bulk transfer mode. Unlike isochronous data transfer where no retransmission is made should any data error occur, the bulk transfer mode guarantees data accuracy by employing a cyclic redundancy check mechanism and re-transmission capability, as well as provides end-to-end flow-control to ensure reliable transfers. Like the GigE Vision standard, the USB3 Vision standard uses data packets that must be reconstructed before image processing operations can be performed. Unlike the GigE Vision standard, where this task is often performed by the host computer's processor, this de-packetization is performed by the host computer's eXtensible Host Controller Interface (xHCI) that is either embedded on the PC motherboard or add-in card.
As well as perform de-packetization, the xHCI uses a scatter-gather direct memory access (DMA) function to allow blocks of de-packetized data to be moved into non-segmented blocks of memory on the host computer. To do so, the controller stores the starting addresses of memory segments on the host and places incoming data into these segments, resulting in "zero-copy transfers" relieving the host CPU of the task. Furthermore, the standard defined a way for this mechanism to work even for variable-sized frames and data overflow conditions.
As Eric Gross, Senior Software Engineer with National Instruments (Austin, TX, www.ni.com), and chair of the USB3 Vision Committee at the AIA points out, the type of xHCI controller and operating system (OS) used can impact the performance of USB3 Vision-based systems. In most newer operating systems, such as Windows 8, Linux, or Mac OS X, the driver for the XHCI controller is provided by the OS. On systems using older operating systems, such as Windows 7 or earlier, system vendors will provide suitable drivers that must be installed first. In this case, ensuring you have recent drivers is critical.
While newer USB hardware (XHCI chipsets and systems will generally be compatible with any USBV3 Vision devices, many vendors have performed extensive interoperability testing to try to provide recommendations for hardware they have tested with their cameras. Checking these guides can give additional insight into configurations that might give the highest performance. Point Grey's (Richmond, BC, Canada; www.ptgrey.com) application note "Recommended USB 3.0 System Components"; http://bit.ly/1mJDwN8 is one such example.
Like many other standards such as GigE Vision, CoaXPress, and Camera Link HS, the control mechanism for the USB3 Vision standard is based on GenICam, a layer that abstracts the low-level camera details such as register offsets and functionality. Features of the camera such as names of features, data types and ranges are stored in an Extensible Markup Language (XML) descriptor file that is then parsed by the host application.
By translating these high-level XML-described features of the camera to register operations, the GenICam standard allows developers to easily access the features of the camera through a high-level API. This allows any vendor-specific camera features to be accessed from any USB3 Vision-supported software. Furthermore, parts of the GenICam standard such as the Standard Features Naming Convention aim to standardize the naming and behavior of common camera features, so ease of use of camera from different vendors is maximized.
Because numerous interfaces such as GigE Vision and USB3 Vision all support the GenICam standard, interoperability between different cameras that support the GenICam interface across different interfaces is made easier. Because the USB3 Vision standard is based on the standard USB 3 interface, passive off-the-shelf USB3 cables and connectors can be used to extend camera to computer distances to 5m.
Recognizing that machine vision systems require more rugged connectors, the USB3 Vision standard specifies screw-locking connectors that are beneficial in applications where standard USB connectors may become dislodged due to vibration. To date, a number of companies including Alysium-Tech (Nuremberg, Germany; www.alysium-tech.com), Components Express Inc. (CEI; Woodridge, IL, USA; www.componentsexpress.com), Intercon 1 (Baxter, MN, USA; www.intercon-1.com) and Newnex Technology Corp (Santa Clara, CA, USA; www.newnex.com) offer cables with such screw-locking connectors. Other vendors also offer USB3 interface cards, embedded systems, and accessories such as hubs which also incorporate these screw-lock connectors.
While the length of the camera to computer interface is not specified in the USB 3.0 standard, 5m passive cabling lengths are most commonly offered by cable manufacturers. However, a number of different methods can be used to increase this distance including the use of active electrical cables, active optical cables and active repeaters (see "USB 3 Vision: Extending camera to computer interfaces," Vision Systems Design, September 2013; http://bit.ly/RXHPdV).
Future developments for the USB 3 standard will include improvements in cabling, power, speed and specialized additions to support machine vision functions. Already, the USB-IF has announced a smaller USB Type-C connector that, unlike current USB systems that require Type A (host) and Type B (camera) connectors, will be reversible using the same connector at both ends (Figure 1). Significantly smaller than the current USB 3.0 Micro-B connector used by USB3 Vision, Type-C connectors and cables will support speeds of up to 10Gbps of the USB 3.1 standard. With the introduction of USB 3.1, possible deliverable power will be increased from 4.5W (USB 3) to up to 100W (with suitable hardware), opening up the potential for higher-powered cameras to be bus-powered
While such developments will be driven by USB-IF, the USB3 Vision committee is looking to extend the capabilities of the vision standard in other ways. According to Eric Gross, these will include providing mechanisms to lower the overhead of high-frame rate camera acquisition and multi-camera synchronization without the use of trigger cables.
In future, it will be interesting to see how USB3-based Vision cameras, cables and peripherals will impact well-established point-to-point interfaces such as Camera Link. In applications where the low jitter and latency that the Camera Link standard provides is not as important, systems developers will use the USB3 Vision interface to eliminate frame grabber costs.
To eliminate such frame grabbers while still allowing Camera Link cameras to be used, products such as the iPORT CL-U3 from Pleora Technologies (Kanata, ON, Canada; www.pleora.com) can be used to convert image data from Camera Link Medium or Base cameras into USB3 Vision-compliant image data that can then be transferred over a USB 3.0 cable to a computer's USB port (Figure 2).
At present, converter products such as these are often offered as external peripherals. In future, however, they may be offered as active cables just as a number of USB 3 active cable extenders are offered by companies such as Components Express and Icron Technologies (Burnaby, BC, Canada; www.icron.com) to extend USB3 camera to computer distances to 15m. Indeed, in a "concept study" Ximea (Munich, Germany; www.ximea.com) has already pre-announced such an "intelligent cable," the xiLINK that may eventually embed a Camera Link to USB3 converter into a single cable (http://bit.ly/1jODsZx).
The author would like to thank Eric Gross, Senior Software Engineer with National Instruments for his help with this article.
Ann Arbor, MI, USA
Sunnyvale, CA, USA
Components Express Inc (CEI)
Woodridge, IL, USA
Beaverton, OR, USA
Burnaby, BC, Canada
Santa Clara, CA, USA
Baxter, MN, USA
Austin, TX, USA
Newnex Technology Corp
Santa Clara, CA, USA
Kanata, ON, Canada
Richmond, BC, Canada
Santa Clara, CA, USA
Vision Systems Articles Archives