A little more than one year has passed since the debut of the USB3 Vision™ standard (hosted by the Automated Imaging Association) for interfacing machine vision cameras via USB 3.0/3.1 computer ports (also known as “Superspeed USB” and USB3). Since that time, there has been observable growth in the availability of industrial cameras for machine vision that incorporate the USB3 Vision interface, and for good reason.
The widely available “plug-and-play” Universal Serial Bus (USB) communication standard, in this 3.x revision, now features transfer rates of up to and potentially exceeding 400 Megabytes per second. In the machine vision context, this speed significantly exceeds other computer port protocols such as FireWire, USB 2, and GigE, and compares favorably to speeds available from interface protocols requiring dedicated hardware and proprietary cabling (CameraLinkHS and CoaXPress). What this means for users of machine vision technology is that, with USB3 and USB3 Vision, an inexpensive and easy-to-implement interface is now available that supports the increasing resolution and frame rate requirements of today’s most demanding applications.
Revisiting the USB3 Vision Standard – Highlights
Machine vision cameras using USB 2.0 have been available for some years, and gained a certain amount of application base, particularly in proprietary products, light-industrial environments and lab or medical applications (plant-floor use declining in favor of GigEVision). However, there was no machine vision standard, and implementation was highly proprietary. The USB3 Vision standard however, brings all of the features of the advanced USB3 interface to machine vision.
Key among these native USB3 benefits are:
- Asynchronous “hosted device” protocol signaling (as opposed to polling in USB 2.0). This feature reduces CPU load making more processing time available to the application.
- Support for Direct Memory Access (DMA) “zero copy” transfers, which further reduces CPU usage.
- Higher power specifications and the ability to place devices in various standby modes.
- Bi-directional (dual-simplex) data transmission, providing better and faster signaling between host and camera.
The USB3 Vision standard, like the GigEVision and other standards, defines a “transport layer” that acts with the hardware to support things like device detection and management, register access for control of the camera, streaming data, and event handling. USB3 Vision features the ability to send variable-sized images, and provides information about image size to the host. While it is not a “real-time” protocol, USB3 Vision does feature very low trigger latency (software), and low jitter times.
As with GigEVision, the specification incorporates and mandates GenICam (hosted by European Machine Vision Association) as the specification for the Applications Programming Interface (API). GenICam is the broadly accepted standard for industrial camera interface and programming. This helps to bring continuity and stability between applications using GenICam as a protocol for camera interfacing (e.g. GigEVision, CoaXPress).
One significant specification in USB3 Vision deals with stability and delivery of image packets. While USB3 Vision data transmission, like other protocols, contains several cyclical redundancy checks (CRCs) to ensure data integrity, the standard mandates a bulk transfer mode, and therefore requires a retry on any receive failure. This might be an important application consideration while the image data is guaranteed to arrive, the time of arrival is not.
In addition to the transport layer functions, the USB3 Vision standard takes a further step to specify physical connectivity including cable requirements and connectors. In doing so, the standard promotes interchangeability of devices as well as robustness of the connections in the plant-floor environment.
Integrating USB3 Vision for Machine Vision Applications
Cameras using USB3 Vision already have application-base growth in the areas of laboratory equipment, medical technology, and dedicated imaging devices (for example, 3-D sensors). Some of this acceptance is due to the benefit and ease of replacing applications and equipment currently using USB 2 with USB3 Vision. In other cases, the application or product is specifically enabled by the transfer speed and low CPU loads which translate into high-speed acquisition of higher resolution images. In general-purpose machine vision, integrators and end-users also are starting to consider USB3 Vision for these same reasons.
USB3 Vision cameras require a driver, compatible with the standard, either provided by the camera manufacturer as part of an API, or a third-party machine vision software library that supports USB3 Vision. Once the driver or software library is in place, the cameras effectively become plug-and-play. But there are other possible considerations that can affect the application or impact the decision to use USB3 Vision over other interfaces.
SuperSpeed USB cables are significantly different from USB 2 and contain shielded twisted pairs differential data transmission. The USB3 Vision specification also defines screw-down connectors on both the camera and host (or hub) for greater connection reliability. One notable limitation for USB 3 is cable length. A maximum length is not specified, but the effective length for a passive cable is about three to five meters. Active cables can extend that length, but eliminate the benefit of USB 3 being a “low-cost” interface.
A USB3 Vision camera can be connected to the cost computer via a USB3 port on the motherboard, or by adding a USB3 PCIe board to the computer. In either case it is important that the chipset supporting the USB3 interface is compatible with the USB3 Vision standard and with the camera. Consult camera documentation to ensure compatibility.
USB3 Vision, by reference to USB specification, can support up to 255 cameras, although in practice this likely would not be practical and camera counts in the maximum range of 20 to 30 might be considered more realistic. To integrate more than about four cameras, it will be necessary to use a USB hub, and it must be a SuperSpeed USB hub. Industrial hubs are readily available that support anywhere from four to 16 cameras. It is important to note that bandwidth becomes an issue with multiple cameras, and over a hub achievable frame rates might be reduced.
As USB3 Vision becomes more widely known, it should receive broader acceptance. Because of the broad range of combined and complimentary features, it appears likely that USB3 Vision and GigEVision will emerge as the frontrunners for camera selection in general purpose industrial imaging and machine vision.