CoaXPress Host To Device Trigger
The CoaXPress Host To Device Trigger is a functionality of the CoaXPress I/O Channel that allows the Host (frame grabber) to trigger the Device (camera) through the CoaXPress Link.
The CoaXPress Host Interface of Coaxlink implements one CoaXPress Host to Device trigger transmitter for each connected Device.

The CoaXPress Host to Device Trigger transmitter can be sourced from:
● | The Camera Trigger output of the associated Camera and Illumination Controller |
● | Any input-capable General Purpose I/O |
The trigger source is indirectly controlled through the CameraControlMethod
GenICam feature.
● | When CameraControlMethod is set to RG or RC , the trigger source is the Camera Trigger output of the
associated Camera and Illumination Controller. |
● | When CameraControlMethod is set to EXTERNAL : |
□ | The trigger source is the line source of a dedicated LIN tool of the I/O Toolbox: LIN1 for Device0, LIN2 for Device1, LIN3 for Device2, and LIN4 for Device3. |
□ | Any input-capable GPIO line can be used as trigger source by configuring the line source – LineInputToolSource – of
the dedicated LIN tool. |
□ | The polarity of the external trigger signal can be controlled with the LineInverter setting of the selected I/O
Control block. |
□ | The time constant of the glitch-removal filter can be adjusted through the LineFilterStrength setting of the selected
I/O Control block. |
● | When CameraControlMethod is set to NC , the Host to Device Trigger transmitter is disabled. |

The Coaxlink implementation of the CoaXPress Host to Device Trigger transmitter complies with the requirements of the CoaXPress 1.0 and 1.1 standards for a low-speed CoaXPress Host to Device Trigger when it is configured with the default settings:
● | CxpTriggerMessageFormat = Pulse
|
● | CxpTriggerAckTimeout = 20.0
|
● | CxpTriggerMaxResendCount = 3
|
The transmitter initiates a trigger transaction on both edges of the trigger source signal:
● | It computes a delay value allowing the receiving device to recreate the event with a fixed latency. For more information, refer to: . |
● | It inserts a high-priority "trigger packet" on the low-speed host-to-device connection at the next character boundary. |
Then, the transmitter waits for the acknowledgment from the Device (camera):
● | If the acknowledgement is received before the expiration of the timeout, the transaction terminates normally. |
● | If no acknowledgement is received within the 20 µs timeout, the transmitter performs a retry: it resends the trigger packet and initiates a new waiting period for the acknowledgement. |
● | If no acknowledgement is received after 3 times, the transaction terminates abnormally. |
The transmitter doesn't initiate a new transaction while the previous one is not completed.
Trigger message transactions using default settings
Case 1 and case 2: the camera acknowledges each message as expected
Case 3: no acknowledgment from camera. Abort after 3 retries
Events Reporting
The transmitter reports the following events:
● | CxpTriggerAck : Received acknowledgement for CoaXPress Host to Device trigger packet. |
● | CxpTriggerResend : Resent CoaXPress Host to Device trigger packet. |

The transmitter can be customized:
● | To send trigger messages only on the rising edge of the source signal using the Message Format Control |
● | To configure the acknowledge timeout and the number of retries using the Message Acknowledge Control |
Message Format Control
The Host to Device Trigger transmitter unit of Coaxlink provides a "message format" control with the CxpTriggerMessageFormat
GenICam feature.
Pulse Message Format (Default)
By default, CxpTriggerMessageFormat
is set to Pulse
: the transmitter generates a CoaXPress I/O Channel Host to Device
Trigger transaction on both edges of the input pulse:
● | The transaction initiated by the rising edge transmits a rising edge trigger packet from the Host to the Device. |
● | The transaction initiated by the falling edge transmits a falling edge trigger packet from the Host to the Device. |
Note: Every trigger pulse requires two distinct CoaXPress I/O Channel transactions!
Rising Edge Message Format
When CxpTriggerMessageFormat
is set to RisingEdge
, the transmitter generates a CoaXPress I/O Channel Host to
Device Trigger transaction on the rising edge only of the input pulse.
The transaction always transmits a rising edge trigger packet from the Host to the Device.
Note: Every trigger pulse requires a single CoaXPress I/O Channel transaction.
Note: This format does not allow the grabber to control the exposure time!
Toggle Message Format
When CxpTriggerMessageFormat
is set to Toggle
, the transmitter generates a CoaXPress I/O Channel Host to Device
Trigger transaction on the rising edge only of the input pulse.
The transaction alternatively transmits a rising edge trigger packet and a falling edge trigger packet.
Note: Every trigger pulse requires a single CoaXPress I/O Channel transaction.
Note: This format does not allow the grabber to control the exposure time!
The CxpTriggerLevel
feature allows the application to set and/or get the current level of the CoaXPress Host to Device Trigger
signal.
Message Acknowledge Control
The Host to Device Trigger transmitter unit provides a user-configurable trigger packet acknowledgement mechanism:
● | The time-out value is configurable using the CxpTriggerAckTimeout GenICam feature. |
● | The number of retries is configurable using the CxpTriggerMaxResendCount GenICam feature. |
Enable Acknowledge Checking (Default)
By default, CxpTriggerAckTimeout
is set to 20.0
(20 microseconds) and CxpTriggerMaxResendCount
is
set to 3.
Coaxlink expects an I/O Channel Acknowledgement packet in response to every Trigger packet. If the acknowledgement packet is not received within the 20 µs time-out value, the transmitter resends the trigger packet. It performs up to 3 retries.
Setting larger CxpTriggerAckTimeout
values allows more time for the Device to acknowledge the trigger packet.
Disable Acknowledge Checking
Setting CxpTriggerAckTimeout
to 0
disables the acknowledgement mechanism. The trigger transaction terminates
immediately after having sent the trigger packet.
Trigger message transactions using alternate settings to allow higher trigger rates
Alternate settings for fastest trigger rate
The fastest trigger rate of 297.6 kHz can be achieved when:
● | CameraControlMethod = RC (asynchronous reset camera, camera-controlled exposure), |
● | CxpTriggerAckTimeout = 0 (acknowledge ckecking disabled), |
● | CxpTriggerMessageFormat = Rising or CxpTriggerMessageFormat = Toggle |

Trigger Accuracy
The Host to Device trigger packets are transmitted over the low-speed (20.833 Mbps) connection of the CoaXPress Link. The transmission of trigger packets can only start at the boundary of a character. This introduces a jitter of 480 nanoseconds corresponding to one character transmission time.
To minimize trigger jitter, the time between the trigger event and the trigger packet being sent is encoded into the trigger packet as a delay value expressed in units of 2 ns (1/24th of the bit period). The receiver (camera) can then use this value to recreate the trigger event with a fixed latency. It compensates the transmission jitter by delaying the decoded message by the remaining fraction of one character time.
CoaXPress Camera Trigger transmission Timing
CIC Camera Trigger to Sensor Exposure timing diagrams
The above diagram shows the time delay required to propagate Camera Trigger events from the frame grabber up to the camera through the CoaXPress Link using Host to Device CoaXPress Trigger messages.
The above diagram assumes that:
● | CameraControlMethod is set to RG . |
● | The camera properly acknowledges the trigger messages and effectively initiates a new exposure. |
The delay from the rising (or the falling) edge of the Camera Trigger signal (inside the Coaxlink card) up the CoaXPress link is composed of:
● | A variable delay of 0-480 ns corresponding to the time delay until the next character boundary on the low-speed CoaXPress connection. |
● | A fixed delay of 1.92 µs corresponding to a 4-character pipeline delay in the Trigger Transmitter implementation. |
● | A fixed delay of 2.88 µs corresponding to a 6-character message transmission time. |
The delay from the CoaXPress Link to the effective start (or end) of exposure is camera-dependent. In the above drawing, this delay is assumed to be N character times (with N=4).
Jitter-compensated cameras
When the camera implements the CoaXPress jitter compensation, the one-character jitter (480 ns) introduced by the transmitter can be entirely compensated.
The overall latency is fixed but it remains camera-dependent: the lowest possible latency with Coaxlink products is 11 x 480 ns, i.e. 5.28 µs.
The residual jitter after compensation can be as low as 4 ns.
Jitter-Uncompensated cameras
When the camera doesn't implement the CoaXPress jitter compensation, the one-character jitter (480 ns) introduced by the transmitter remains.
The overall latency is variable and camera-dependent: the lowest possible latency with Coaxlink products is (10 ~ 11) x 480 ns, i.e. (4.80 ~ 5.28) µs.
See also in the GenICam Reference (Device Module)