System designHow-to

Trigger two cameras simultaneously from one frame grabber input

Two Camera Link cameras, one simultaneous trigger: a dual-engine frame grabber starts both exposures within a microsecond — wiring, CC routing and sync test.

LumaSpec Vision11 min read Share on LinkedIn

On this page 9 sections
  1. 01The answer, and what sets the skew
  2. 02What the board and cameras must have
  3. 03Wiring the pulse and the cables
  4. 04Configure and verify, step by step
  5. 05Worked example: what one microsecond costs you
  6. 06Compare the ways to sync two cameras
  7. 07When one trigger into the grabber is the wrong answer
  8. 08Checklist before you order
  9. 09Questions

You have two Camera Link cameras in one machine and one event — a photeye, a PLC output, an encoder index — and you need both frames from that same instant. The question is whether one external trigger into the frame grabber can start both exposures together, or whether you need extra synchronization hardware. It can, and you do not: a board with two independent acquisition engines takes one pulse and drives both cameras over the cables they already have. This guide shows the wiring, the routing settings in the acquisition software, the cables to order, and a test that proves the sync.

The answer, and what sets the skew

Yes: one pulse, both exposures, no extra hardware. Camera Link is built for this. The standard defines four camera-control lines, CC1 through CC4, as LVDS pairs driven by the frame grabber and carried to each camera inside the same cable that returns the video. The board owns the timing; the camera listens. CC1 is the conventional trigger line, and most cameras expose their external-trigger input on it.

When both cameras sit on one dual-engine board, the path from external input to each channel's CC line runs through one FPGA, so both cameras see the edge within nanoseconds of each other. Cable length adds almost nothing: 2 m of mismatch at about 5 ns per metre is 10 ns. What is left is the cameras' own trigger-to-exposure delay, and no two cameras share it exactly.

sync skew = board routing + cable mismatch × 5 ns/m + camera trigger-delay mismatch smear = object speed × exposure time

Commit to this budget: two identical camera models, identically configured, start their exposures within a few hundred nanoseconds of each other. Design to 1 µs and you will never be caught out. Two different models can differ by a microsecond or more because their internal delays differ; measure the offset once with board timestamps, then accept it or match the cameras. No wiring change removes it.

What the board and cameras must have

Check four things, in this order:

  • Two acquisition engines on one card. Dual-engine Camera Link boards capture two Base-configuration cameras independently; that is the one-card answer. A single-engine board pushes you to the two-board route below.
  • An external trigger input with routing. The pulse lands on an SMB coax input or a digital I/O header, and the acquisition software must let you map that input to the trigger source of both engines.
  • Cameras that take a hardware trigger on a CC line. Nearly every Camera Link camera does. Each camera's configuration — Base, Medium or Full — must also fit its engine; what must match between a Camera Link camera and frame grabber lists the pairings.
  • A port plan. Give each camera a fixed port mapping so your software enumerates them in the same order every boot; assign cameras to ports reliably in a multi-camera system covers the settings that pin it down.

Our Camera Link boards sit in the frame grabbers category, one interface filter away in the finder. For how a dual-channel board schedules DMA when both cameras fire at once, read frame grabber image acquisition for Camera Link and CoaXPress.

Frame grabbersHikrobot MV-GC1102IOL Frame GrabberMV-GC1102IOL
Interface
Camera Link
$2,189.00View partBuild a system with it

If your cameras already sit on two single-engine boards, wire the same pulse to both boards' trigger inputs in parallel — one TTL source drives two inputs without trouble, provided any 50 Ω input termination stays switched off — or, on board families with a timing ribbon between slots, route a trigger landing on the first board onto that shared line so both boards see the same edge. The cameras still trigger from CC lines, and the skew stays under a microsecond.

Wiring the pulse and the cables

Feed the trigger input a 5 V TTL pulse on the rising edge, and give it 10 µs of width. Many cameras trigger on a 1 µs edge, but a wide pulse survives long sensor-side cable runs and gives margin at inspection rates.

Where the pulse lands depends on the board. An SMB input takes a coax pigtail directly; header-style I/O needs a breakout — the LS-CBL-0224 frame grabber I/O cable, DB9F to open, 7 m, lands a PLC or photeye signal on those pins cleanly.

CablesFrame Grabber I/O Cable, DB9F to Open, 7 m (LS-CBL-0224)LS-CBL-0224
Type
Frame grabber I/O cables
Length
6-8 m
$79.00View partBuild a system with it

On the camera side, use matched cables. The LS-CBL-0191 is a 5 m Camera Link cable, SDR to SDR; buy a matched pair so the CC-line delay difference is zero by construction. Keep each run at or under the 10 m the interface is built around — at full pixel clock, longer runs are where torn frames begin.

Cables5 m Camera Link camera cable, SDR to SDR (LS-CBL-0191)LS-CBL-0191$170.00View partBuild a system with it

Configure and verify, step by step

  1. Set both cameras to the same acquisition configuration and the same exposure time, gain and offset. Load both from one configuration file if your software allows it.
  2. On each camera, point the trigger source at the CC line the board uses for triggers — CC1 on most systems — and set activation to the rising edge.
  3. In the grabber's acquisition setup, set both engines' trigger source to the external input and map it to the CC1 output of both channels. This one routing setting is what makes the exposures simultaneous rather than merely close.
  4. Choose the exposure mode. Edge-triggered with a programmed exposure gives matched timing; pulse-width mode, where the pulse duration sets the exposure, belongs where exposure must change frame to frame — and then send identical widths to both cameras.
  5. Arm both acquisitions before the first pulse. An unarmed engine swallows the event silently; hardware trigger stops after one frame dissects that failure.
  6. Send one pulse. Exactly two frames must arrive, one per camera. If one camera stays dark, work the grabber-to-camera path with camera connected but no image: check the frame grabber cable wiring.
  7. Measure the skew. Read both channels' frame timestamps — one board, one clock domain, so the difference means something — across a few hundred triggers and record the worst case. Cross-check with a shared flash: pulse one bright LED from the same trigger and confirm the flash sits at the same phase in both images.
  8. Run at the line's full pulse rate for several minutes and watch for dropped frames; both cameras exposing at once doubles the transfer burst at that instant.

If frames come back torn or striped with gray-level jumps after the trigger wiring went in, suspect the pulse path before the sync logic; diagnosing gray-level jumps on a pulse-triggered grabber walks those signal-integrity checks.

Worked example: what one microsecond costs you

Example inputs: two identical 2-megapixel Camera Link cameras, edge-triggered, 200 µs exposure each, imaging a part carried at 0.5 m/s, with matched 5 m cables.

Sync skew: board routing in the tens of nanoseconds, cable mismatch 0 m × 5 ns/m = 0 ns, identical-camera delay mismatch budgeted at 0.5 µs. Total ≈ 0.5 µs.

Part motion during that skew: 0.5 m/s × 0.5 µs = 0.5 × 0.0000005 m = 0.00000025 m = 0.25 µm — orders of magnitude below one object-side pixel at any magnification you would use on a belt.

Part motion during exposure: 0.5 m/s × 200 µs = 0.0001 m = 0.1 mm. This number, not the sync, decides your image quality. If 0.1 mm of smear fails the inspection, cut exposure to 50 µs (0.5 × 0.00005 m = 0.000025 m = 0.025 mm) or freeze the part with a strobe.

Pulse rate: cameras capped at 30 fps accept no pulse sooner than 1 / 30 s ≈ 33 ms apart. The 200 µs exposure occupies 200 µs / 33 ms ≈ 0.6 percent of that period, so timing headroom is enormous.

Decision for this case: sync is not the limiting error at any belt speed you will meet — blur is. Set the exposure from the blur budget, let the trigger handle simultaneity, and spend your attention on the light.

Compare the ways to sync two cameras

Arrangement Skew you get Use it when
One dual-engine board, external pulse routed to both CC lines A few hundred ns Two Base cameras, one slot — the default
One board, internal pulse generator routed to both cameras A few hundred ns No external event; both cameras run at a fixed rate
Two boards, one pulse wired to both trigger inputs Under 1 µs, edge quality decides Cameras already split across boards
Two boards on a shared timing ribbon Under 1 µs Same-family boards, four or more cameras
Software trigger over GigE 1–10 ms Static parts, slow lines
IEEE 1588 PTP on GigE cameras Near 1 µs GigE cameras that support the protocol

With no external event at all, the board's own generator can drive both cameras over the same routing; a frame grabber trigger pulse train without a function generator shows that build. USB cameras have no CC lines but accept the shared-pulse idea on their trigger pins — hardware sync of two USB cameras covers the camera side and fanning one TTL pulse out safely the electrical one.

If the interface is still open on a new machine, the same single-event, many-cameras pattern exists on faster links:

Frame grabbersHikrobot MV-GX1008 Octo CXP-6 Frame GrabberMV-GX1008
Interface
CoaXPress
$1,949.00View part
Frame grabbersHikrobot MV-GE1104 4-port GigE frame grabberMV-GE1104
Interface
GigE
Ports
4 ports
$699.00View part
Frame grabbersHikrobot MV-GS1104F-DF XoF frame grabber, 4 ports, SFP+ slot, 40G total bandwidth supported, DataForwarding functionMV-GS1104F-DF
Interface
XoFLink
Ports
4 ports
$2,059.00View part

CoaXPress carries the trigger on the same coax as the video, so an octo CXP-6 board such as the MV-GX1008 drives a bank of cameras from a single event with no added wiring. A 4-port GigE board such as the MV-GE1104 hosts several cameras, but synchronization there is a timing-protocol question; two GigE cameras on one host sets out the trade. The MV-GS1104F-DF XoF frame grabber, 4 ports and 40G total bandwidth, aggregates high-speed cameras on fiber. It suits the runs where the 10 m copper limit of Camera Link rules that interface out.

When one trigger into the grabber is the wrong answer

  • You need continuous synchronized streaming, not per-event frames. Triggered acquisition fires on events. For two sensors streaming in lockstep with no trigger, choose cameras with a sync-lock input or move to CoaXPress.
  • The cameras are different models. Their trigger delays differ by a fixed, measurable offset that no routing removes. Measure it, then accept it or match the cameras.
  • You need tens of nanoseconds. Below a microsecond, camera-internal delays dominate, and identical models track each other only so far. Prove the number with timestamps before you promise it.
  • Your trigger source is an encoder, not an event. Quadrature wiring and line-scan acquisition are their own discipline; start at encoder-triggered line scan capture: wiring quadrature inputs.

Checklist before you order

  • Board with two acquisition engines — or two boards plus the shared-pulse plan.
  • Trigger input on the board, SMB or I/O header, with routing to both engines' CC outputs.
  • I/O breakout cable for the trigger input; the cables category carries the frame grabber I/O series.
  • Two matched Camera Link cables, each 10 m or shorter.
  • Both cameras accept hardware trigger on a CC line and share one configuration family.
  • Timestamp readback available for the acceptance test.
  • Exposure time chosen from the motion-blur budget, not the sync budget.

Pick the board in the accessories finder filtered to Camera Link, or run the system configurator from the accessories step to add grabber, cables and I/O in one pass. For a mixed-interface pair or an unusual event source, tell us the set-up and we will specify the routing.

Questions

How closely in time will the two exposures actually start?

Budget about one microsecond of camera-side mismatch. The grabber and the CC lines contribute nanoseconds; what differs is each camera's trigger-to-exposure delay. Identical models with identical settings usually land within a few hundred nanoseconds, while two different models can differ by a microsecond or more. For a number you can quote, capture a few hundred triggers, subtract one channel's timestamps from the other's, and report the worst observed delta — that figure, not a latency figure on a data sheet, is your synchronization spec.

Can one external trigger drive two separate frame grabber boards?

Yes. Wire the same pulse to both boards' trigger inputs in parallel — one TTL source drives two inputs without trouble — or use the board family's timing ribbon between slots, which makes a trigger landing on one board visible to both. Keep the pulse edge fast and clean: a slow rising edge into two inputs can skew the boards by more than the cameras ever will. After wiring, confirm with each board's frame timestamps before calling it done.

Should the cameras be edge-triggered or pulse-width triggered?

Edge-triggered with a programmed exposure time. The pulse width then only has to clear the camera's minimum — 10 µs is comfortably safe on most Camera Link cameras — and both exposures last exactly as programmed. Pulse-width mode, where the pulse duration sets the exposure, belongs where exposure must change frame to frame; in that mode send identical widths to both cameras so their integration windows still match each other.

What changes if the cameras are GigE or USB instead of Camera Link?

Neither interface has CC lines, so a frame grabber cannot distribute the pulse for you. Over plain GigE, software triggering leaves the cameras milliseconds apart; cameras that support IEEE 1588 PTP align to near a microsecond, and the shared link's bandwidth still needs planning — our guide to two GigE cameras on one host covers that. USB cameras expose hardware trigger pins, so one TTL line wired to both works without any grabber; see our piece on hardware sync of two USB cameras.

Why do both cameras need identical exposure and gain settings?

Because simultaneous triggers are only useful when the frames are comparable. Different exposure times mean the cameras integrate light over different windows, so a moving part is captured at two different instants even though both triggers fired together. Set the same exposure, gain and offset on both — from one configuration file where your software allows it — and re-check the pair after any camera firmware update, since updates can reset acquisition settings.