Robust image acquisition
Many system designers make the assumption that nothing will go wrong within the system as a whole, and that problems such as over triggering, bus contention, or external electrical noise corruption will never occur. It is true that many applications simply do not need this functionality, but when developing a robust inspection system, or when the design is approaching the limits of a particular interface technology, a robust acquisition framework becomes essential. Some manufacturers have evolved robust mechanisms that provide vision system designers with feedback when system errors occur, allowing them to take corrective action. Without these technologies, system crashes could occur, or systems could continue without anyone being aware that something has failed, or that an image suffered corruption. In this section we outline the features required to make a system robust against unusual system events, such as Teledyne DALSA's "Trigger-toImage-Reliability" framework (T2IR), Allied Vision's "Secure Image Signature" (SIS) and features found in the GigE Vision and USB3 Vision standards.
Trigger and acquisition counters and call-backs
A common and serious design flaw is the assumption that every trigger will cause an image to be captured. It is often assumed that if the camera cycle time is faster than the speed of the triggering, nothing can go wrong, however, this does not take into consideration what happens if the triggers begin to arrive faster than the maximum system speed, or if spurious triggers are generated because of noise in the system, thereby causing unexpected requests for images. In many acquisition systems these triggers are simply ignored which can result in triggers that do not cause an inspection, thus allowing products to pass through the system unchecked. In other systems this can cause the acquisition to be reset halfway through the capture process, resulting in either corrupt images or, in the worst cases, it can cause a system crash if the DMA and memory management become confused or overflow. Good implementations will manage the missed trigger correctly without corruption and notify the application of a problem via a call-back or a counter that can be monitored. The application can then take appropriate action. Applications with synchronous capturing of multiple cameras require the implementation of a detailed signal and data check, to capture possible faults.