High-end machine vision inspection systems must not only acquire and transfer high-resolution images from cameras to frame grabbers in PCs at high data rates, but also analyze those images rapidly to produce meaningful results. Fortunately, new cameras, camera interfaces, processors and high-speed PC busses have recently emerged to make the development of such systems a lot easier.
Responding to the need to create a high-speed interface for high-end image processing systems, a consortium of vendors including Active Silicon, Adimec and Components Express (using ICs from EqcoLogic, which has since been acquired by Microchip Technology) launched the CoaXPress interface at the Vision show in Stuttgart in 2009. Since then, the interface has become the de facto standard for high-speed high-end machine vision systems.
The CoaXPress interface itself enables video, images and data from a camera to be downloaded to a frame grabber over a single coax cable at 6.25Gbit/sec, while a lower speed 20Mbit/sec uplink can be used to communicate with, and control, the camera. Cameras can be powered over the cable, and cable lengths of greater than 100m can be achieved.
Many CoaXPress frame grabber boards on the market today, of course, are capable of interfacing to more than one camera. Vendors such as Active Silicon, Euresys and BitFlow, offer a selection of mono, duo or quad frame grabber boards. High-end quad frame grabbers enable a system integrator to interface up to four cameras to a single PCI Express slot running at 6.25Gbit/sec, or a single camera at 25Gbit/sec.
Many CoaXPress frame grabber boards on the market today are capable of interfacing to more than one camera. Vendors such as Active Silicon, Euresys and BitFlow, offer a selection of mono, duo or quad frame grabber boards. High-end quad frame grabbers enable a system integrator to interface up to four cameras to a single PCI Express slot running at 6.25Gbit/sec, or a single camera at 25Gbit/sec. Image courtesy BitFlow.
Due to the fact that the CoaXPress interface supports the GenICam software standard, CoaXPress hardware is now becoming more of a commodity item. As such, it is getting increasingly difficult to differentiate between frame grabber products from different vendors. According to Colin Pearce, the Managing Director of Active Silicon, customer support is now becoming a more critical issue. System integrators need to know that the hardware vendor that they choose will be able to provide the best service to enable them to develop their systems in an optimum time frame.
Nevertheless, Mr. Pearce admits that there are some differentiating factors between products on the market today that are worth noting. While the original version of the CoaXPress interface called for the use of BNC connectors, the demand from camera manufacturers for a smaller form factor connector has now led to the introduction of a new connector that offers twice the connector density of standard BNCs. And many newer CoaXPress boards have adopted these connectors.
The DIN1.0/2.3 connectors -- which feature a push/pull latching system suited for industrial applications -- were included in Version 1.1 of the standard which was released in April 2013. Aside from their obvious benefits to the camera manufacturers, the smaller connectors provide the frame grabber builder with additional real estate on the end panel of the frame grabber that can be used to support I/O channels. The soon to be released Version 1.2 of the standard clarifies the usage of a screw lock variant of the DIN 1.0/2.3 connector, which will ensure additional robustness against shocks and vibration.
CPU choice
As important as it is, the speed at which images can be transferred from a camera to a frame grabber over the CoaXPress interface is only a part of the vision system jigsaw puzzle. Once captured, system integrators must choose an appropriate method to analyze their images.
Currently, the most common method of doing so is to process image data using software running on a multi-core processor residing on a PC. However, the data could also be processed directly on the frame grabber itself by a dedicated FPGA running one or more application specific image processing algorithms. Alternatively, a dedicated graphics processor board, such as those from NVIDIA, could be used for the task.
The approach that is chosen to process the image data is highly dependent on the nature of the vision application itself and its final cost. As more processing hardware such as GPUs and FPGAs are added to a system, the system cost will inevitably increase. However, in applications that are highly dependent on processing speed, and where the image processing algorithms can be parallelized to take advantage of dedicated hardware, the use of such additional hardware can be advantageous.
Several companies, such as BitFlow -- and, more recently, Active Silicon -- now offer the ability to interface their CoaXPress frame grabbers to GPU cards from NVIDIA. According to BitFlow’s Director of Sales Donal Waide, the approach enables a user to take advantage of the high-speed processing of massively-parallel algorithms without incurring the penalty of high CPU overhead costs.
One difficulty for real-time applications in the past was that a GPU board could process data only as fast as the data can be transferred to it, a task which was traditionally performed by the CPU. However, by embracing NVIDIA's GPUDirect for Video technology, BitFlow has alleviated this problem by allowing the GPU and frame grabber to share the same system memory, eliminating the need to use the CPU to copy image data from the frame-grabber memory to the GPUs memory.
On-board FPGA
The aim of reducing the burden on the CPU is also the goal of frame grabber developers at Silicon Software who have carved out a niche building such products with on-board FPGAs. The FPGA on the company’s CoaXPress frame grabber hardware precedes the CPU in the processing chain and can fulfill a variety of image processing tasks, such as image optimization and data interpretation. Programming the FPGA to perform an imaging tasks is achieved by designing flow charts, and data flow is modeled by combining image processing modules and interconnecting links in a drag and drop graphical user environment. To simplify the task further, the company also offers a library of over two hundred operators which cover standard as well as advanced image processing functions.
Fast busses
In most cases, data from the frame grabber board itself must be transferred into system memory for processing at some point. And here, the speed of the next-generation PCI Express busses found in contemporary PCs is proving advantageous. The PCI Express bus itself is a differential serial bus that supports one, four, eight, sixteen or thirty two lanes. The second generation, or Gen-2 PCI Express bus runs at 5 Gbit/sec per link while the third generation, or Gen-3 PCI Express bus, runs at 8Gbit/sec. Most so-called “Quad” CoaXPress frame grabber boards on the market capable of interfacing to four cameras are either built around the eight-lane second-generation PCI Express, or four-lane third-generation PCI Express bus.
In the frame grabber marketplace, the difference between the performance of the second and third generation PCI Express busses seems a little contentious. While one company may claim that the third-generation PCI Express bus used on its CoaXPress quad four lane frame grabber enables it to offer transfer rates of well over 3GBytes/sec from the frame grabber to the PC memory, another will say that its second-generation eight-lane frame camera offers the same performance. In reality, it would appear that both second and third generation PCI Express busses offer sufficient bandwidth to match the current demands of the CoaXPress interface. However, as the CoaXPress interface moves to higher speeds such as 10 and 12Gbit/sec, many frame grabber vendors will inevitably upgrade their frame grabbers to the third-generation PCI Express bus.
Developing a system for a real world vision inspection application, however, involves more than selecting the optimum CoaXPress camera, frame grabber board, CPU and software. System developers must also interface their systems to external devices such as encoders, or photoelectric cells. These create triggers which can then be used by the system software to trigger the camera and the lighting in the system to ensure that images are captured in the appropriate time frame.
Most modern cameras -- especially those that support quad CoaXPress interfaces -- can either be triggered externally through a dedicated I/O port or over the CoaXPress interface itself. According to Rupert Stelz, a Senior Development Engineer at Stemmer Imaging, the choice of whether to trigger the camera directly or through the frame grabber is a matter of choice for the developer. In most systems, however, the triggering of the camera is controlled through the frame grabber itself in order to provide greater software control over the triggering itself.
Although the CoaXPress specification defines the means by which a frame grabber sends a trigger via a data packet from the frame grabber to the camera over the CoaXPress interface, the methodology for doing so varies between each frame grabber vendor. Indeed, all CoaXPress frame grabber vendors have implemented their own unique trigger blocks that may provide them with some advantage over their competition. These offer them the ability to take a trigger from an external source and to perform some function on it, such as filtering to reduce noise, or to delay the time from which the external trigger was received to the triggering of the camera.
Debugging tools
Debugging is an important part of the development process. To make life easier for system developers, frame grabber vendor Euresys has developed its own software tools to help developers understand the behavior of their systems, and pin down the cause of issues such as missed triggers or lost images during application development and debugging. During the operation of a Coaxlink card,
Euresys has developed its own Memento software tools to help developers understand the behavior of their systems and pin down the cause of issues such as missed triggers or lost images during application development and debugging.
Euresys’ so-called Memento software records an accurate log of events related to the camera, the frame grabber and its driver, as well as the host application. Events such as driver function calls, callbacks, triggers received by the frame grabber, strobe signals sent to the light controller or camera control signals are all recorded along with precise time stamps and detailed context information.
Having recognized that being able to accurately debug a system is an important issue, the developers working on the new CoaXPress 2.0 standard have also created a means to address the issue. They are in the process of standardizing the means by which the frame grabber itself should capture and then report the number of bit errors that occur on each link, as well as how many times data was resent. In that way, a user can identify which of the CoaXPress links in the system was unstable at any one instance in time.
Stemmer Imaging's Rupert Stelz says that the ability in CoaXPress 2.0 to report bit error rate and link drops will allow the software on the host to guarantee stability throughout the lifetime of the system.
Into the future
While CoaXPress is of course, the current favorite of system integrators wishing to build high-speed image acquisition and processing systems, the impact that the Camera Link HS interface might have on its fortunes over the next few years cannot be discounted. It may have been slower to capture the imagination of designers, but it too offers the advantages of high speed and compatibility with the GenICam software standard found in its CoaXPress rival.
Not that the developers of CoaXPress are resting on the laurels. During the latest International Machine Vision Standards meeting in Chicago, the CoaXPress committee finalized their work on version 1.2 of the standard, and decided what features should be added in version 2.0.
According to Jean-Michel Wintgens, the Vice President Engineering at Euresys, major providers of CoaXPress products are currently evaluating engineering samples and prototypes of new CoaXPress version 2.0 products running at 12Gbit/sec, with the goal of announcing them at the 2016 Vision Show in Stuttgart.
This move will not only increase the available system bandwidth, but also contribute to total system cost reduction, as the number of required connections is reduced. However, at such speeds, the data rate of the cameras may exceed the processing power of the host PC. To address that issue, Mr. Wintgens says Version 2.0 of the CoaXPress specification will feature “Data Striping” which will allow system integrators to distribute the camera data to several PCs in parallel so that the processing workload is shared.
Written by Dave Wilson, Senior Editor, Novus Light Today