There are several synchronization methods that can be used to synchronize multiple cameras. They are


Synchronized Master-Slave Software/Hardware Trigger


Synchronized Hardware Trigger for Multiple Cameras


Trigger Mode 14 with Timestamps to Synchronize with External Clock


Additional Useful Articles




Synchronized Master-Slave Software/Hardware Trigger


This method can be set up and tested using multiple cameras and Pixelink Capture as follows


Description


Synchronized master-slave image capture can be performed between two or more cameras, where one camera serves as a "master camera" and other cameras serve as "slave cameras". The master camera can receive a trigger event either by using software or hardware trigger. On the other hand, slave cameras are hardware triggered by using a master camera GPO signal. Thus, this method can be accomplished with simple wiring. For example, view below the wiring diagram for PL-D enclosed cameras and refer to the hardware specs of the machine vision connector described in the Trigger and GPIO - PL-D700 Series Enclosed Cameras, if needed. The hardware specs of the machine vision connector for PL-D board-level cameras is in the PL-D Board level interface article.


Wiring


The PL-D cameras have the 8-pin Hirose connector beside the USB3.0 connector for external control. This diagram shows pin numbers of the Hirose connectors and how they can be connected together to make the synchronized capture work. While it is best to use a custom cable, with the Hirose connectors for any production system, it is possible, during prototyping, to test this scenario using a few simple pieces of wire inserted into the correct pins.




Testing Synchronized Master-Slave method with Pixelink Capture


Since some camera GPO types such as Strobe react to either the software or hardware trigger event, the master camera can be software or hardware triggered.


Master Software Triggered


It is necessary to set Trigger/GPO parameters for at least two cameras in Pixelink Capture in the following manner for making them capture a frame simultaneously


1. Connect two cameras to a host and start Pixelink Capture.

2. For simplicity, use factory settings for both cameras. Please review the Menu Bar - Pixelink Capture article, its "Load Settings" section.

3. Select the Triggers/GPO tab (Triggers and GPO Tab - Pixelink Capture) for the master camera and set its trigger and GPO settings as in the picture Master 1.

4. Select the Triggers/GPO tab for the slave camera and set its trigger settings as in the picture Slave 1.

5. Click on Capture an image (Quick Start - Pixelink Capture) for the master camera.


When the master camera reacts to the Capture an image event, it is software triggered. It also pulls its GPO Strobe high for 0.1s and as a result, the slave camera is hardware triggered. Both master and slave cameras update their video preview with a new frame.

Note that when the master camera is software triggered, an image from the camera is also saved to a location specified in the Capture Tab - Pixelink Capture.


How to save images from both master and slave cameras?


If it is desired to save images from both maser and slave cameras, click on Capture an image (Quick Start - Pixelink Capture) for the slave camera before software triggering the master camera. In that case, images from both cameras will be saved to their respective locations.



Master 1

Slave 1


Master Hardware Triggered


The same principle as above applies to hardware triggering the master camera. The only difference in step 3, where instead of software trigger, the hardware trigger is selected. See pictures Master 2 and Slave 2 below.



Master 2


Slave 2




Synchronized Hardware Trigger for Multiple Cameras


This method can be set up and tested using multiple cameras and Pixelink Capture as follows


Description


Synchronized image capture can be performed between two or more cameras, where all cameras hardware triggered simultaneously. The hardware trigger signal can be created for example by using a simple pushbutton or a signal generator. This method can be accomplished with simple wiring. For example, view below the wiring diagram for PL-D enclosed cameras and refer to the hardware specs of the machine vision connector described in the Trigger and GPIO - PL-D700 Series Enclosed Cameras, if needed. The hardware specs of the machine vision connector for PL-D board-level cameras is in the PL-D Board level interface article.


Wiring


The PL-D cameras have the 8-pin Hirose connector beside the USB3.0 connector for external control. This diagram shows pin numbers of the Hirose connectors and how they can be connected together to make the synchronized capture work using the simple pushbutton. While it is best to use a custom cable, with the Hirose connectors for any production system, it is possible, during prototyping, to test this scenario using a few simple pieces of wire inserted into the correct pins.



Testing Synchronized Hardware Trigger for multiple cameras with Pixelink Capture


It is necessary to set Trigger/GPO parameters for at least two cameras in Pixelink Capture in the following manner for making them capture a frame simultaneously


1. Connect two cameras to a host and start Pixelink Capture.

2. For simplicity, use factory settings for both cameras. Please review the Menu Bar - Pixelink Capture article, its "Load Settings" section.

3. Select the Triggers/GPO tab (Triggers and GPO Tab - Pixelink Capture) for both cameras and set their trigger settings as in the picture below.

4. Press and release the pushbutton or start the signal generator.


When the pushbutton is pressed and released, it creates a pulse that hardware triggers both cameras simultaneously. As a result, both cameras update their video preview with a new frame.


How to save images from both cameras?


If it is desired to save images from both cameras, click on Capture an image (Quick Start - Pixelink Capture) for both cameras before issuing hardware trigger. In that case, images from both cameras will be saved to their respective locations.



Trigger Settings for Multiple Cameras



Alternative Implementation


Synchronized hardware trigger image capture between two or more cameras can also be achieved by using one master camera and multiple slave cameras. The cabling for the slave cameras should be done in the same way as in the Synchronized Master-Slave Software/Hardware Trigger. However, the master camera, in addition to hardware triggering the slave cameras using its GPO, should be able to hardware trigger itself. In essence, the programmable output from one camera is used as an input trigger into itself, and one or more other cameras. For the purpose of testing, the Pixelink Capture camera Trigger and GPO for the master and slave cameras could be set as in the pictures Master 3 and Slave 3 below. Using these settings and toggling GPO Normal mode polarity of the master camera, the desired behavior can be verified.



Master 3


Slave 3




Trigger Mode 14 with Timestamps to Synchronize with External Clock


Description


Multiple cameras can start streaming and producing frames simultaneously by using the hardware trigger mode 14 with the Number set to 0. Then, timestamps of captured images can be analyzed.


Synchronization to the timestamps included in the image descriptor for a given camera, to know when an image was captured with respect to an external clock, can be done as follows:


1. You can use the API function called PxLGetCurrentTimeStamp. This will provide you with the current timestamp of the camera.
2. You can then compare that value against the current system/controller clock to provide a reference.
3. When you receive an image with a given timestamp you can calculate what time that is with respect to the computer time.
4. There is drift in the camera timestamp, therefore we recommend updating your application variable for tracking the camera timestamp to the system clock at regular intervals if possible (once a minute for example).
The expected drift to be less than 2.5ms per 60 seconds.


Cabling


Cabling for the trigger mode 14 should be implemented as in the Synchronized Hardware Trigger for Multiple Cameras


The PL-D cameras have a 8-pin hirose connector in the back for external control. This diagram shows the pin-outs on that connector, and how they can be connected together to make the synchronized capture work. While it is best to use a custom cable, with hirose connectors for any production system, it is possible, during prototyping, to test this scenario using a few simple pieces of wire, inserted into the correct pins.


Testing Trigger Mode 14 with Pixelink Capture


It is necessary to set Trigger/GPO parameters for at least two cameras in Pixelink Capture in the following manner for starting them streaming simultaneously


1. Connect two cameras to a host and start Pixelink Capture.

2. For simplicity, use factory settings for both cameras. Please review the Menu Bar - Pixelink Capture article, its "Load Settings" section.

3. Select the Triggers/GPO tab (Triggers and GPO Tab - Pixelink Capture) for both cameras and set their trigger settings as in the picture below.

4. Press and release the pushbutton or issue a single square pulse from the signal generator.


When the pushbutton is pressed and released, it creates a pulse that hardware triggers both cameras simultaneously. As a result, both cameras start streaming and updating their video preview with new frames.



Trigger Mode 14 Settings for Multiple Cameras




Additional Useful Articles


It might be useful to review the following list of knowledge base articles and sections for more information on different Pixelink camera Trigger/GPO interfaces, Trigger and GPIO types, and Pixelink Capture.