USB3 Vision

Last updated
USB3 Vision Logo USB3VisionTM.png
USB3 Vision Logo

USB3 Vision [1] is an interface standard introduced in 2013 for industrial cameras. [2] It describes a specification on top of the USB standard, with a particular focus on supporting high-performance cameras based on USB 3.0. [3] It is recognized as one of the fastest growing machine vision camera standards. [4] As of October 2019, version 1.1 is the latest version of the standard. [1]

Contents

The standard is hosted by the AIA and developing a product implementing this standard must pass compliance tests and be licensed. [5] As of late 2019, there are 42 companies that license this standard. [6] The standard itself for reference or evaluation may be requested free of charge. [7]

The standard is built upon many of the same pieces as GigE Vision, being based on GenICam, but utilizes USB ports instead of Ethernet. [8] Some of the benefits of this standard include simple plug and play usability, power over the cable, and high bandwidth. [9] [10] Additionally, it defines locking connectors that modify the standard USB connectors with additional screw-locks for industrial purposes. [11]

Technology

The standard covers four major areas: [12]

The standard defines a specific USB Class ID (Class 0xEF, Subclass 0x05) for identifying the device. [13] As the standard is defined at a protocol layer, the software vendor providing the driver may be a different entity than the company designing the camera. [12]

Register Access includes mandatory USB3 vision registers as well as camera specific registers which may control parameters such as shutter speed or integration time, gamma correction, white balance, etc. The later register types are diverse across cameras. The camera specific registers can be queried via a XML schema file which is part of the GenICam standard. The GenICam standard has a Standard Feature Naming Convention so that vendor agnostic software can be created. The GenICam standard is independent of the transfer protocol. This standard and GigE Vision are examples of wire protocols which pair with the GenICam standard. This contrasts with Camera Serial Interface; the Camera Command Set (CCS) is part of that standard for controlling camera parameters. For many real devices, the vendors provide alternate methods such as I2C to access the full set of parameters that a specific device may support. These can include lighting synchronization and separate motor controls for optical focusing elements.

Implementations

Related Research Articles

In computing, a device driver is a computer program that operates or controls a particular type of device that is attached to a computer or automaton. A driver provides a software interface to hardware devices, enabling operating systems and other computer programs to access hardware functions without needing to know precise details about the hardware being used.

A host controller interface (HCI) is a register-level interface that enables a host controller for USB or IEEE 1394 hardware to communicate with a host controller driver in software. The driver software is typically provided with an operating system of a personal computer, but may also be implemented by application-specific devices such as a microcontroller.

Unified Extensible Firmware Interface Operating system software specification

The Unified Extensible Firmware Interface (UEFI) is a publicly available specification that defines a software interface between an operating system and platform firmware. UEFI replaces the legacy Basic Input/Output System (BIOS) firmware interface originally present in all IBM PC-compatible personal computers, with most UEFI firmware implementations providing support for legacy BIOS services. UEFI can support remote diagnostics and repair of computers, even with no operating system installed.

The Advanced Host Controller Interface (AHCI) is a technical standard defined by Intel that specifies the operation of Serial ATA (SATA) host controllers in a non-implementation-specific manner in its motherboard chipsets.

USB mass storage device class

The USB mass storage device class is a set of computing communications protocols, specifically a USB Device Class, defined by the USB Implementers Forum that makes a USB device accessible to a host computing device and enables file transfers between the host and the USB device. To a host, the USB device acts as an external hard drive; the protocol set interfaces with a number of storage devices.

In computing, the System Management BIOS (SMBIOS) specification defines data structures that can be used to read management information produced by the BIOS of a computer. This eliminates the need for the operating system to probe hardware directly to discover what devices are present in the computer. The SMBIOS specification is produced by the Distributed Management Task Force (DMTF), a non-profit standards development organization. The DMTF estimates that two billion client and server systems implement SMBIOS.

Advanced Configuration and Power Interface Standard firmware interface for hardware configuration and power management by operating systems

In a computer, the Advanced Configuration and Power Interface (ACPI) provides an open standard that operating systems can use to discover and configure computer hardware components, to perform power management e.g. putting unused hardware components to sleep, to perform auto configuration e.g. Plug and Play and hot swapping, and to perform status monitoring. First released in December 1996, ACPI aims to replace Advanced Power Management (APM), the MultiProcessor Specification, the PCI BIOS specification, and the Plug and Play BIOS (PnP) Specification. ACPI brings the power management under the control of the operating system, as opposed to the previous BIOS-centric system that relied on platform-specific firmware to determine power management and configuration policies. The specification is central to the Operating System-directed configuration and Power Management (OSPM) system. ACPI defines a hardware abstraction interface between the system firmware, the computer hardware components, and the operating systems.

FireWire camera

FireWire cameras use the IEEE 1394 bus standard for the transmission of audio, video and control data. FireWire is Apple Computer's trademark for the IEEE 1394 standard.

A proprietary device driver is a closed-source device driver published only in binary code. In the context of free and open-source software, a closed-source device driver is referred to as a blob or binary blob. The term usually refers to a closed-source kernel module loaded into the kernel of an open-source operating system, and is sometimes also applied to code running outside the kernel, such as system firmware images, microcode updates, or userland programs. The term blob was first used in database management systems to describe a collection of binary data stored as a single entity.

Ethernet over USB means using USB as an Ethernet network. But it could also be interpreted to mean some Ethernet device which is connected over USB.

The USB video device class is a USB device class that describes devices capable of streaming video like webcams, digital camcorders, transcoders, analog video converters and still-image cameras.

USB 3.0 Third major version of the Universal Serial Bus standard

USB 3.0 is the third major version of the Universal Serial Bus (USB) standard for interfacing computers and electronic devices. Among other improvements, USB 3.0 adds the new transfer rate referred to as SuperSpeed USB (SS) that can transfer data at up to 5 Gbit/s (625 MB/s), which is about 10 times faster than the Hi-Speed. It is recommended that manufacturers distinguish USB 3.0 connectors from their USB 2.0 counterparts by using blue color for the Standard-A receptacles and plugs, and by the initials SS.

GigE Vision

GigE Vision is an interface standard introduced in 2006 for high-performance industrial cameras. It provides a framework for transmitting high-speed video and related control data over Ethernet networks. The distribution of software or development, manufacture or sale of hardware that implement the standard, require the payment of annual licensing fees. The standard was initiated by a group of 12 companies, and the committee has since grown to include more than 50 members. The 12 founding members were: Adimec, Atmel, Basler AG, CyberOptics, Teledyne DALSA, JAI A/S, JAI PULNiX, Matrox, National Instruments, Photonfocus, Pleora Technologies and Stemmer Imaging. The Automated Imaging Association (AIA) oversees the ongoing development and administration of the standard.

libusb

libusb is a library that provides applications with access for controlling data transfer to and from USB devices on Unix and non-Unix systems, without the need for kernel-mode drivers.

In Unix-like operating systems, a device file or special file is an interface to a device driver that appears in a file system as if it were an ordinary file. There are also special files in DOS, OS/2, and Windows. These special files allow an application program to interact with a device by using its device driver via standard input/output system calls. Using standard system calls simplifies many programming tasks, and leads to consistent user-space I/O mechanisms regardless of device features and functions.

GenICam is a generic programming interface for machine vision (industrial) cameras. The goal of the standard is to decouple industrial camera interfaces technology from the user application programming interface (API). GenICam is administered by the European Machine Vision Association (EMVA). The work on the standard began in 2003 and the first module in GenICam, i.e., GenApi, was ratified in 2006 whereas the final module, i.e., GenTL was ratified in 2008.

IEEE 1394 Serial bus interface standard, also known as Firewire

IEEE 1394 is an interface standard for a serial bus for high-speed communications and isochronous real-time data transfer. It was developed in the late 1980s and early 1990s by Apple in cooperation with a number of companies, primarily Sony and Panasonic. Apple called the interface FireWire. It is also known by the brands i.LINK (Sony), and Lynx.

LIO (SCSI target)

In computing, Linux-IO (LIO) Target is an open-source implementation of the SCSI target that has become the standard one included in the Linux kernel. Internally, LIO does not initiate sessions, but instead provides one or more Logical Unit Numbers (LUNs), waits for SCSI commands from a SCSI initiator, and performs required input/output data transfers. LIO supports common storage fabrics, including FCoE, Fibre Channel, IEEE 1394, iSCSI, iSCSI Extensions for RDMA (iSER), SCSI RDMA Protocol (SRP) and USB. It is included in most Linux distributions; native support for LIO in QEMU/KVM, libvirt, and OpenStack makes LIO also a storage option for cloud deployments.

eXtensible Host Controller Interface (xHCI) is a computer interface specification that defines a register-level description of a host controller for Universal Serial Bus (USB), which is capable of interfacing with USB 1.x, 2.0, and 3.x compatible devices. The specification is also referred to as the USB 3.0 host controller specification.

CoaXPress (CXP) is a digital interface standard developed for high speed image data transmission in machine vision applications. The name is a portmanteau of 'express' and 'coaxial' to emphasize CoaXPress is faster than other standards and uses 75 ohm coaxial cables as the physical transmission medium. CoaXPress is mostly used in digital imaging applications but it is also suitable for high-speed transmission of universal digital data.

References

  1. 1 2 "Vision Online". Vision Online. Retrieved 2019-03-26.
  2. Zheng Liu; Hiroyuki Ukida; Pradeep Ramuhalli (24 September 2015). Integrated Imaging and Vision Techniques for Industrial Inspection: Advances and Applications. Springer. p. 10. ISBN   9781447167419 . Retrieved 14 October 2019.
  3. Hornberg, Alexander (2017). Handbook of Machine and Computer Vision: The Guide for Developers and Users. John Wiley & Sons. p. 454. ISBN   9783527413430.
  4. "Interfaces in Machine Vision: A Newcomer Disrupts the Market". www.qualitymag.com. Retrieved 2019-05-21.
  5. "Vision Online". Vision Online. Retrieved 2019-03-26.
  6. "Vision Online". Vision Online. Retrieved 2019-03-26.
  7. "Vision Online". Vision Online. Retrieved 2019-03-26.
  8. "USB3 Vision STEMMER IMAGING". STEMMER IMAGING. Retrieved 2019-03-26.
  9. "USB3 Vision". Pleora Technologies. Retrieved 2019-03-26.
  10. Liu, Zheng (2015). Integrated Imaging and Vision Techniques for Industrial Inspection: Advances and Applications. Springer. p. 10. ISBN   9781447167419.
  11. "USB 3.0 Machine Vision | Newnex". www.newnex.com. Retrieved 2019-03-26.
  12. 1 2 "USB3 Vision - Industrial image processing". www.matrix-vision.com. Retrieved 2019-03-26.
  13. "Defined Class Codes | USB-IF". USB. Retrieved 2019-03-26.
  14. "Linux USB3 Zero Copy Wiki" . Retrieved 2020-03-17.