System designExplainer

Frame grabber pulse duty cycle and frequency limits

How fast a frame grabber can clock a camera trigger: pulse period and duty cycle arithmetic, minimum trigger widths, and changing frequency mid-acquisition.

LumaSpec Vision11 min read Share on LinkedIn

On this page 9 sections
  1. 01The four limits that decide the pulse rate
  2. 02The arithmetic at 10 kHz and 25% duty
  3. 03What the camera side prints
  4. 04What the generator side adds
  5. 05Where the pulse goes on each interface
  6. 06Changing frequency mid-acquisition
  7. 07When a pulse train is the wrong tool
  8. 08Checks before you commit, and the decision
  9. 09Questions

You do not need a function generator on the bench to free-run a camera: the frame grabber that reads its pixels can generate the trigger itself. Its timing engine produces a continuous pulse train and routes it to a camera control line, and the camera treats each rising edge as an external trigger. What decides success is not the generator but the camera: minimum trigger width, frame time or maximum line rate, and how the frame in flight reacts when you reprogram the rate. This page gives the arithmetic. At 10 kHz with 10-50% duty the numbers pass comfortably; the limit that actually binds is the camera's frame time, not the generator. Work the example, check four values, and commit a rate and duty cycle on paper before wiring anything.

The four limits that decide the pulse rate

The generator emits a square wave; the camera judges each edge. Four numbers decide whether a chosen frequency and duty cycle survive that judgement, and only two live on the generator side. On the camera: minimum trigger pulse width, the shortest high time it recognizes, and frame time — or maximum line rate on a line scan camera. On the generator: timebase resolution, which sets how exactly a duty value can be hit. Trigger-to-exposure delay enters only when something else, usually a strobe, must fire on the same edge.

T = 1 / f t_high = D × T (D = duty cycle as a fraction) t_high ≥ t_width,min (camera minimum trigger width) T ≥ t_frame (area camera) or T ≥ t_line (line scan camera) f_width,max = D / t_width,min

In the 1-100 kHz band with a 3 µs minimum width, the width rule passes with an order of magnitude to spare, so frame time is the binding limit. A 10 kHz train is a sensible line-rate clock for a line scan camera; it is wasted on a 30 fps area camera, which can consume at most one edge every 33.3 ms. How an external pulse rate maps to the frame rate you actually get is worked through in sizing trigger frame rate with external pulses.

The arithmetic at 10 kHz and 25% duty

Take the common target: 10 kHz with duty anywhere from 10% to 50%. The period is T = 1 / 10,000 Hz = 100 µs. At 10% duty the high time is 0.10 × 100 µs = 10 µs; at 50% it is 50 µs; at 25% it is 25 µs high and 75 µs low. Camera Link camera data sheets commonly print a 3 µs minimum trigger width, so every value in the band clears the limit by 3.3× to 16.7×.

Duty cycle High time at 10 kHz Ceiling from width alone, f = D / 3 µs
10% 10 µs 33 kHz
25% 25 µs 83 kHz
50% 50 µs 167 kHz

The width rule alone would allow more than 80 kHz at 25% duty — that is the right-hand column. Frame time ends the discussion first. A 30 fps area camera completes a frame every 1 / 30 s = 33.3 ms, while a 10 kHz edge arrives every 100 µs, so roughly 333 edges land inside one frame and the camera can use one.

The surplus is handled one of two ways: the camera ignores edges while busy, or it raises an overtrigger error and stops. If yours ignores them, the fast train is a legitimate free-run source and the camera fires as fast as its frame time allows. If yours errors, cap the train at 30 Hz, where 25% duty gives an 8.3 ms high time and pulse width stops mattering. The sequencing method for overtrigger errors shows how strict configurations behave.

What the camera side prints

Read two values from the camera's trigger specification. First, minimum trigger pulse width: 3 µs is the common Camera Link figure, and pulse-width exposure modes on some cameras print 10 µs or more — one widely used camera family specifies 3 µs or more in both its edge-scan and pulse-width control modes. Second, trigger-to-exposure delay: global shutter Camera Link cameras sit in the 1-10 µs range with sub-microsecond jitter, and that is the number that matters when a light must fire on the same edge.

Frame time needs no catalog: T = 1 / maximum fps. A 30 fps camera gives 33.3 ms; a 120 fps camera gives 8.3 ms. The order of events inside one exposure — edge arrives, delay elapses, exposure opens, readout starts — is the sequence covered by the trigger call versus exposure walkthrough, and the trigger delay timing guide handles the offset-sensor case where that delay carries a moving part.

What the generator side adds

Counter and timing engines divide a base clock, so period and duty both quantize to one tick. Take a 100 MHz timebase, typical for this hardware class: one tick is 10 ns, a 100 µs period is 10,000 ticks, and 25% duty is exactly 2,500 ticks. Duty resolution at camera trigger rates is therefore tens of nanoseconds, orders of magnitude finer than the microseconds a camera can register. The generator's own frequency ceiling and the LVDS or RS-422 electrical limits both sit far above trigger rates; microsecond-scale pulses are routine work for these line drivers.

There is no minimum frequency to respect. An edge-triggered camera latches the next rising edge whether it arrives 100 µs or 100 seconds after the last one; long gaps are bounded only by the counter's width, which at these clock rates reaches far beyond any process timing.

Where the pulse goes on each interface

Camera Link is the native home of this method. The camera cable carries four camera control lines, CC1 to CC4, from the grabber to the camera; in the grabber's configuration tool you route the timing engine's output to CC1 and set the camera to external trigger, rising edge, on CC1. Before trusting the route, confirm the grabber supports the camera's configuration and timing — the Camera Link compatibility checklist lists what must match. The complete wiring and software walkthrough is in the frame grabber pulse-train guide. The MV-GC1102IOL is a Camera Link frame grabber for exactly this path.

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

CoaXPress moves the trigger differently: it travels as a command over the coaxial link itself, so there is no separate control line to clock with a hardware train. The free-running source becomes the camera's or the host's internal trigger logic, and a grabber's physical trigger input is used to time external devices instead. The MV-GX1008 is an octo CXP-6 frame grabber for this interface.

Frame grabbersHikrobot MV-GX1008 Octo CXP-6 Frame GrabberMV-GX1008
Interface
CoaXPress
$1,949.00View partBuild a system with it

Above Camera Link's bandwidth, XoFLink and 10GigE frame grabbers move the pixels while the trigger source stays on the camera's GPIO or internal generator. The MV-GS1104F-DF XoF frame grabber supports 40G total bandwidth with a DataForwarding function, and the MV-GT1102P is a dual 10GigE frame grabber.

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
Frame grabbersHikrobot MV-GT1102P Dual 10GigE Frame GrabberMV-GT1102P
Interface
10GigE
Ports
2 ports
$2,029.00View part

GigE and USB cameras are the exception: the data cable carries no trigger, so a grabber's pulse engine cannot reach them. The train has to come from the camera's own programmable output or from an external device wired to the camera's opto-isolated input. A PLC works, and the math is identical — a PLC clock pulse generator with variable frequency and duty cycle produces exactly the train you would otherwise ask of a grabber. Set the camera's acquisition mode to accept the external trigger first; a GigE camera that ignores its external trigger is usually sitting in continuous mode.

Changing frequency mid-acquisition

For an edge-triggered camera the answer is yes, with one precaution. Each rising edge is latched on its own; nothing in the camera stays tuned to the old period, so the frame in flight finishes and the next edge starts the next frame at the new rate. A rate change does not touch the exposure time set inside the camera.

Two things bite. First, the update itself: when the period and duty registers are rewritten, one output cycle can come out short or long. A shortened high time that dips under the camera's minimum width is silently discarded — one missing frame, noticed only if you are counting. Second, a camera in pulse-width exposure mode takes its exposure from the high time, so a duty change is an exposure change on the very next frame; why the trigger pulse width sets exposure time explains that mapping.

The reliable procedure costs at most one frame: gate the generator output off, rewrite the period and duty, re-enable. Keep the gate closed for one full period at the slowest rate in play — 34 ms if you are returning to 30 Hz — so no partial cycle escapes. If the process cannot tolerate the pause, step the period in increments of 10% or less and count frames after each step. A scope on CC1 during the first change shows whether your hardware updates the registers coherently. Gray-level jumps that appear only when the pulse trigger fires point to a marginal circuit instead; one such case is diagnosed in the gray-level jump walkthrough.

When a pulse train is the wrong tool

Every alternative here has its own walkthrough, collected with this one on the systems topic page.

Checks before you commit, and the decision

  • High time at or above the camera's printed minimum width — plan on 3 µs — because a short pulse is dropped without an error.
  • Period at least 1.2 × frame time unless the camera documents busy-edge ignoring; the guard keeps a strict configuration from erroring.
  • Duty between 10% and 50% in the 1-100 kHz band, so both half-periods stay in the tens of microseconds.
  • Scope the CC line at the camera connector during bring-up; width and level matter at the camera, not at the card.
  • Count acquired frames against pulse count over a 10 second run: 300 frames at 30 Hz, within one frame.

The decisions, per case. A 10 kHz, 10-50% train is valid for any Camera Link camera printing a 3 µs minimum width; the generator is never the limit at this rate. A 30 fps area camera should be clocked at 30 Hz, a 33.3 ms period, unless you have shown it ignores busy-state edges — then the fast train is a valid free-run source. A line scan camera takes the train as its line clock up to its rated maximum line rate. A mid-run rate change is safe on edge-triggered cameras when the output is gated off for one period during the update.

AccessoriesFrame grabbers

CoaXPress, Camera Link and GigE cards

58 models · from $189.00

Match the grabber to the camera's trigger input in the frame grabbers category, filter by interface in the accessories finder, and check the trigger specification on the camera side in the area scan cameras category or the camera finder. The system configurator walks the chain from camera to grabber, and contact the applications team to check a specific camera's trigger input against a planned rate before you order.

Questions

How do I size the duty cycle for a 5 kHz frame grabber trigger train?

Period T = 1 / 5,000 Hz = 200 µs. Pick duty so the high time clears the camera's minimum trigger width with margin: at 20% duty the high time is 0.20 × 200 µs = 40 µs, about 13× a 3 µs minimum. The width-only ceiling at 20% is 0.20 / 3 µs ≈ 67 kHz, so the camera's frame time or line rate — not the width — caps the real rate.

Can I change the pulse frequency while the camera is acquiring?

Yes for an edge-triggered camera: each rising edge is latched on its own, so the frame in flight finishes and the next edge starts at the new rate. Gate the output off for one full period while you rewrite the registers — 34 ms at a 30 Hz floor — so no shortened cycle reaches the camera. In pulse-width exposure mode, do not touch duty mid-run: the width is the exposure.

What minimum trigger pulse width should I plan for?

Plan on 3 µs, the value Camera Link camera data sheets commonly print for edge-scan triggering; pulse-width exposure modes on some cameras print 10 µs or more. Treat 3 µs as the design floor and read the printed figure before ordering. A train whose high time dips below the minimum raises no error — the frame count is your only symptom.

Does duty cycle change camera exposure time?

Only in pulse-width exposure mode, where the trigger's high time is the exposure: 25 µs high sets a 25 µs exposure, one microsecond per microsecond. In ordinary edge-trigger mode the duty cycle has no effect on exposure; the camera's exposure setting or the strobe decides it. Confirm which mode the camera is in before touching the duty register mid-run.

What happens if the pulse train runs faster than the camera's frame rate?

The camera cannot exceed its frame time, so surplus edges are ignored while it is busy, or they raise an overtrigger error as configured. Ignoring is a workable free-run pattern: a 10 kHz train on a 30 fps camera yields 30 fps. Strict configurations stop acquisition instead, which is why the frame-count check during bring-up matters.

Can one pulse train drive several cameras?

Yes through a buffered fan-out, one trigger line per camera. Each camera's input must still see the minimum width at the end of its own cable, and length differences skew arrival by about 5 ns per meter, so match lengths when two cameras must fire together. For two cameras off a single grabber input, the fan-out wiring guide shows the connections.