Difference between revisions of "Camera Synchronization"

From ElphelWiki
Jump to: navigation, search
 
(3 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 +
=Introduction=
 +
 
There are several parts of the camera synchronization task.
 
There are several parts of the camera synchronization task.
# Camera should receive synchronizing event. It can be done by either special '''hardware inputs''' or just over the '''network'''. It most cases if you want to syncronize 2 or more networked cameras you do not need extra wires, so the network sycnchronizatrion is the most convinient. But sometimes you would like to be able to trigger the camera without the network - i.e. from some contact closure.
+
* Camera should receive synchronizing event. It can be done by either special '''hardware inputs''' or just over the '''network'''. In most cases if you want to synchronize 2 or more networked cameras you do not need extra wires, so the network synchronization is the most convenient. But sometimes you would like to be able to trigger the camera without the network - i.e. from some contact closure.
# Camera should be able to start image acquisition process when required - generally not possible with most CMOS sensors. ''/this used with "external trigger" in FPGA API? - Spectr/''
+
* Camera should be able to start image acquisition process when required - generally not possible with most CMOS sensors.
# And (in some cases) camera should be able to precisely keep time, so in-sync state of two or more cameras will last longer.
+
* And (in some cases) camera should be able to precisely keep time, so in-sync state of two or more cameras will last longer.
 +
 
 +
=Network synchronization=
 +
Here is a [https://sourceforge.net/forum/forum.php?thread_id=1068147&forum_id=371579 Thread on sf] about synchronizing two 313 cameras using [http://mhonarc.axis.se/dev-etrax/msg02121.html sntpdate client]: Network synchronizing the cameras ended up being incredibly simple, I didn't have to do anything special at all. I decided to try the easiest solution first, keeping the 2 cameras at the exact same settings. I had the client I wrote request image captures from both cameras at approx. the same time. I haven't benchmarked it to see the exact amount of jitter between matching frames, but I can set FPS to any value and not see any noticeable difference. (Should be 1-2ms jitter with a good network. --[[User:Polto|Alexandre.Poltorak]] 15:48, 22 September 2008 (CDT))
 +
 
 +
=Hardware synchronization=
 +
We have now hardware synchronization capability allowing 1μs jitter between images as well as external trigger.
 +
 
 +
The [[353 | NC353L]] camera have the FPGA code allowing the camera synchronization, but an additional board is needed. The first board allowing the use of hardware synchronization commercialized by Elphel is the [[10369 | 10369 IO extension board]]. The board have internal synchronization connectors for cameras mounted in the same camera case and wired internally and an external modular RJ11 opto-isolated connector.
 +
 
 +
You can have several cameras in a so called "slave" mode waiting to receive the trigger and one camera (or any other device) serving as master. To trigger the image from all cameras the "master" device need to send a 5v impulse on the synchronization cable.

Latest revision as of 12:48, 22 September 2008

Introduction

There are several parts of the camera synchronization task.

  • Camera should receive synchronizing event. It can be done by either special hardware inputs or just over the network. In most cases if you want to synchronize 2 or more networked cameras you do not need extra wires, so the network synchronization is the most convenient. But sometimes you would like to be able to trigger the camera without the network - i.e. from some contact closure.
  • Camera should be able to start image acquisition process when required - generally not possible with most CMOS sensors.
  • And (in some cases) camera should be able to precisely keep time, so in-sync state of two or more cameras will last longer.

Network synchronization

Here is a Thread on sf about synchronizing two 313 cameras using sntpdate client: Network synchronizing the cameras ended up being incredibly simple, I didn't have to do anything special at all. I decided to try the easiest solution first, keeping the 2 cameras at the exact same settings. I had the client I wrote request image captures from both cameras at approx. the same time. I haven't benchmarked it to see the exact amount of jitter between matching frames, but I can set FPS to any value and not see any noticeable difference. (Should be 1-2ms jitter with a good network. --Alexandre.Poltorak 15:48, 22 September 2008 (CDT))

Hardware synchronization

We have now hardware synchronization capability allowing 1μs jitter between images as well as external trigger.

The NC353L camera have the FPGA code allowing the camera synchronization, but an additional board is needed. The first board allowing the use of hardware synchronization commercialized by Elphel is the  10369 IO extension board. The board have internal synchronization connectors for cameras mounted in the same camera case and wired internally and an external modular RJ11 opto-isolated connector.

You can have several cameras in a so called "slave" mode waiting to receive the trigger and one camera (or any other device) serving as master. To trigger the image from all cameras the "master" device need to send a 5v impulse on the synchronization cable.