Synchronization ModelsCognex VisionPro

This topic describes the synchronization models that specify how a camera and a frame grabber coordinate timing signals to acquire images.

Video Formats and Sync Models

If the video format you are using is described in a Camera Configuration File (CCF), the synchronization model is specified in the name of the video format. These video format names end with the letters "CCF."

For example, in the video format name "Sony XC-ST50 640x240 IntDrv CCF", the "IntDrv" indicates that the video format always uses the internal drive sync model.

Some frame grabbers, such as the MVS-8100L, cannot use CCF video formats. The video formats supported on those frame grabbers do not include synchronization information. However, you can use the ICogAcqSync interface to change the synchronization model except on the MVS-8100L.

Synchronization Overview

There are two basic types of synchronization: internal sync, in which the frame grabber or video processor supplies timing information to the camera, and external sync, in which the camera provides timing information to the frame grabber or video processor.

Synchronization depends on two timing signals: horizontal timing signals, which occur after each line of video data, and vertical timing signals, which occur after each field of video data. The following figure illustrates these two timing signals:

Acquisition General Theory Synch Models timingsignals

Note: An actual video signal contains more lines of video per field than are shown in the figure.

Vertical Timing Signals

There are two types of vertical timing signals: vertical drive, in which the falling edge generally occurs at the beginning of vertical blanking period, and vertical sync, in which the falling edge generally occurs 3 lines after the beginning of vertical blanking period at the beginning of the composite vertical sync pulse. The following figure shows the difference between the vertical drive signal and the vertical sync signal:

Acquisition General Theory Synch Models vdrivevsync

In general, using a synchronization model that specifies the wrong type of vertical timing signal will result in a 3-line shift for each field (6 lines per frame) and may result in 3 black lines at the top or bottom of each acquired frame.

Synchronization Models

While there are several synchronization models, the cameras and frame grabbers may support only a few of them. The CCF-based camera formats describe only those combinations that are supported. This section, however, describes all of the synchronization models that VisionPro could theoretically support. The section CCF Synchronization Models later in this topic describes the synchronization models supported by CCF-based formats.

Note: The column labeled Constant in the following tables refers to constants defined in CogAcqSyncModelConstants.

Internal Sync

For internal sync, the frame grabber or video processor can provide timing information to the camera. Multiple cameras connected to the same frame grabber are kept synchronized; switching between them does not introduce any delays.

Table 1. Internal Sync Models
Sync ModelConstantDescription
Internal CompositeCogAcqSyncModelConstants

The frame grabber generates a composite signal containing both the horizontal sync and vertical sync signals. This composite signal is sent to the camera on the H-wire.

Internal DriveCogAcqSyncModelConstants

The frame grabber generates separate horizontal and vertical drive signals on the H-wire and V-wire.

External Sync

For external sync the camera can provide timing information to the frame grabber.

Table 2. External Sync Models
Sync ModelConstantDescription
External PLL CompositeCogAcqSyncModelConstants

The frame grabber uses timing information sent from the camera as a composite video signal. The pixel clock is derived with the phase locked loop using this H and V timing derived from the composite video.

This synchronization model is appropriate when the camera cannot accept synchronization from the frame grabber and the camera does not produce separate horizontal and vertical timing signals.

Multiple cameras connected to the same frame grabber will not be kept synchronized; switching between cameras may take a significant amount of time, since synchronization must be reestablished each time. This synchronization delay may be as small as 50 milliseconds or as large as 5 seconds, depending on the specific camera and platform that you are using.

Images that you acquire before the frame grabber has resynchronized to the camera may be corrupted or blank. Keep in mind that there is no way for your program to determine when the frame grabber has resynchronized. You should experiment with your actual acquisition configuration to determine an appropriate delay value to insert when switching between PLL-synchronized cameras.

In general, if your application requires consistent latency when switching between cameras, you should use another synchronization model.

External PLL SyncCogAcqSyncModelConstants

The frame grabber uses separate horizontal sync and vertical sync signals sent from the camera on the H-wire and V-wire. The pixel clock is derived using with the phase locked loop using these separate signals.

External PLL DriveCogAcqSyncModelConstants

The frame grabber will use separate horizontal drive and vertical drive signals sent from the camera on the H-wire and V-wire. The pixel clock is derived using with the phase locked loop using these separate signals.

External Pixel Clock

With external sync the frame grabber can make use of a separate pixel clock signal from the camera if the camera supports one. The pixel clock specifies the rate at which pixel data is transferred from the camera to the frame grabber. This model may not produce square pixels in the acquired image, depending on the pixel clock that comes from the camera.

Table 3. External Pixel Clock Models
Sync ModelConstantDescription
External Pixel SyncCogAcqSyncModelConstants

This sync model is essential the same as CogAcqSyncModelConstants except that the pixel clock is passed from the camera to the frame grabber instead of the frame grabber using a PLL to derive the pixel clock.

External Pixel DriveCogAcqSyncModelConstants

This sync model is essential the same as CogAcqSyncModelConstants, except that the pixel clock is passed from the camera to the frame grabber instead of the frame grabber using a PLL to derive the pixel clock

CCF Synchronization Models

The following table describes the synchronization models available with CCF-based video formats. The column labeled CCF Sync Substring is the part of the CCF video format name that describes the synchronization model. For example, in the video format name "Sony XC-ST50 640x240 IntDrv CCF", the substring "IntDrv" describes the synchronization model.

Table 4. CCF Synchronization Models
CCF Sync SubstringDescription
IntDrvInternal drive. Corresponds to CogAcqSyncModelConstants. The frame grabber generates separate horizontal and vertical drive signals on the H-wire and V-wire.
ExtPLLCoExternal PLL Composite. Corresponds to CogAcqSyncModelConstants. The frame grabber uses timing information sent from the camera as a composite video signal. The pixel clock is derived with the phase locked loop using this H and V timing derived from the composite video.
ExtPixClkExternal PLL Composite. Corresponds to CogAcqSyncModelConstants or CogAcqSyncModelConstants depending on the camera. The signal is provided by a pixel clock on the camera.