CoaXPressホストツーデバイストリガー
CoaXPressホストツーデバイストリガは、ホスト(フレームグラバ)がCoaXPressリンクを介してデバイス(カメラ)をトリガできるようにするCoaXPress I/Oチャネルの機能です。
CoaXPressホストインターフェイスは、 接続された各デバイスのCoaXPressホストツーデバイストリガートランスミッタを実装します。

CoaXPressのホストツーデバイストリガトランスミッタは、次のものから供給されます。
● | 関連するカメラ&イルミネーションコントローラのカメラトリガ出力 |
● | 入力可能な汎用I/O |
トリガーソースは、GenApiの CameraControlMethod 機能によって間接的に制御されます。
● | CameraControlMethod が RG または RC に設定されている場合、トリガーソースは関連しているカメラ&イルミネーションコントローラのカメラトリガー出力です。 |
● | CameraControlMethod が EXTERNAL に設定されている場合: |
□ | トリガソースは、I/O Toolbox専用LINツール(Device0の場合はLIN1、Device1の場合はLIN2、Device2の場合はLIN3、Device3の場合はLIN4)のラインソースです。 |
□ | Any input-capable GPIO line can be used as trigger source by configuring the LineInputToolSource of the dedicated LIN tool. |
□ | 外部トリガー信号の極性は、選択したI/O制御ブロックの LineInverter 設定で制御することができます。 |
□ | グリッチ除去フィルターの時定数は、選択したI/O制御ブロックの LineFilterStrength 設定で制御することができます。 |
● | CameraControlMethod を NC に設定すると、ホストツーデバイストリガートランスミッタは無効になります。 |

CoaXPressホストツーデバイストリガートランスミッタの実装は、CoaXPress 1.0および1.1規格の低速CoaXPressホストツーデバイストリガーの要件に準拠しています(デフォルト設定で構成されている場合)。
● | CxpTriggerMessageFormat = Pulse |
● | CxpTriggerAckTimeout = 20.0 |
● | CxpTriggerMaxResendCount = 3 |
トランスミッタは、トリガーソース信号の両エッジで トリガートランザクション を 開始 します。
● | それは、受信デバイスが一定の待ち時間でイベントを再現することを可能にする遅延値を計算します。 |
● | これは、優先順位の高い「トリガパケット」を、次の文字境界で低速のホスト間接続に挿入します。 |
次に、トランスミッタはデバイス(カメラ)からの 肯定応答 を待ちます。
● | タイムアウトが満了する前に確認応答が受信されると、トランザクションは正常に終了します。 |
● | 20μsのタイムアウト時間内に肯定応答が受信されない場合、トランスミッタは 再試行を実行します。トリガパケットを再送信し、肯定応答の新しい待機時間を開始します。 |
● | 3回後に確認応答が受信されない場合、トランザクションは異常終了します。 |
以前のトランザクションが完了していない間は、トランスミッタは新しいトランザクションを開始しません。
デフォルト設定を使用したトリガメッセージトランザクション
ケース1およびケース2:カメラが各メッセージを期待通りに確認します。
ケース3:カメラからの肯定応答はありません。3回の再試行後に中止します
イベントレポート
トランスミッタは次のイベントを報告します。
● | CxpTriggerAck:CoaXPressホストツーデバイストリガーパケットの肯定応答の受信。 |
● | CxpTriggerResend:CoaXPressホストツーデバイストリガーを再送信します。 |

トランスミッタは次をカスタマイズすることができます。
● | メッセージフォーマット制御を使用してソース信号の立ち上がりエッジでのみトリガメッセージの送信 |
● | メッセージ肯定応答制御を使用して肯定応答タイムアウトと再試行回数の構成 |

ホストツーデバイストリガートランスミッタユニットは、GenApiの CxpTriggerMessageFormat 機能を備えた「メッセージフォーマット」制御を提供します。
パルスメッセージフォーマット(デフォルト)
デフォルトでは、CxpTriggerMessageFormat は Pulse に設定されています。トランスミッタは、入力パルスの 両エッジ でCoaXPress I/Oチャンネルホストツーデバイストリガートランザクションを生成します。
● | 立ち上がりエッジによって開始されたトランザクションは、ホストからデバイスへの 立ち上がりエッジトリガーパケット を送信します。 |
● | 立ち下がりエッジによって開始されたトランザクションは、ホストからデバイスへの 立ち下がりエッジトリガーパケット を送信します。 |
すべてのトリガパルスは、2つの異なるCoAXPress I/Oチャネルトランザクションを必要とします。
立ち上がりエッジメッセージフォーマット
CxpTriggerMessageFormat が RisingEdge に設定されると、トランスミッタは入力パルスの 立ち上がりエッジでのみ CoaXPress I/Oチャンネルホストツーデバイストリガートランザクションを生成します。
トランザクションは常に、ホストからデバイスへ 立ち上がりエッジトリガーパケット を送信します。
すべてのトリガパルスには、CoAXPress I/Oチャネルの1つのトランザクションが必要です。
このフォーマットでは、グラバーが露光時間を制御することはできません!
トグルメッセージフォーマット
CxpTriggerMessageFormat が Toggle に設定されると、トランスミッタは入力パルスの 立ち上がりエッジでのみ CoaXPress I/Oチャンネルホストツーデバイストリガートランザクションを生成します。
トランザクションは、代わりに、 立ち上がりエッジトリガーパケット および 立ち下がりエッジトリガーパケット を送信します。
すべてのトリガパルスには、CoAXPress I/Oチャネルの1つのトランザクションが必要です。
このフォーマットでは、グラバーが露光時間を制御することはできません!
CxpTriggerLevel 機能により、アプリケーションはCoaXPress ホストツーデバイストリガー信号の現在のレベルを設定または取得できます。

ホストツーデバイストリガトランスミッタユニットは、ユーザが設定可能なトリガパケット肯定応答メカニズムを提供します。
● | タイムアウト値は、GenApiの CxpTriggerAckTimeout 機能を使用して設定できます。 |
● | 再試行回数は、GenApiの CxpTriggerMaxResendCount 機能を使用して設定できます。 |
アクノリッジチェックを有効にする(デフォルト)
デフォルトでは、 CxpTriggerAckTimeout は 20.0 (20マイクロ秒)に設定され、 CxpTriggerMaxResendCount は 3に設定されます。
Coaxlinkカードは、すべてのトリガーパケットに応答するI/Oチャンネル肯定応答パケットを待ちます。肯定応答パケットが20μsのタイムアウト値内に受信されない場合、トランスミッタはトリガパケットを再送信します。最大3回の再試行を実行します。
CxpTriggerAckTimeout 値を大きく設定すると、デバイスのトリガーパケットに肯定応答するための時間が長くなります。
肯定応答を無効にする
CxpTriggerAckTimeout を 0 に設定すると、肯定応答メカニズムが無効化されます。トリガトランザクションは、トリガパケットの送信直後に終了します。
代替設定を使用してメッセージトランザクションをトリガすると、より高いトリガレートが可能になります。

最速のトリガーレート: 595.2 kHz @ CXP-10 およびCXP-12リンク速度、または 297.6 kHz @ CXP-6以下のリンク速度 を次の場合に実現できます:
● | CameraControlMethod = RC (非同期リセットカメラ、カメラ制御露光) |
● | CxpTriggerAckTimeout = 0 (肯定応答確認が無効) |
● | CxpTriggerMessageFormat = Rising または = Toggle。CxpTriggerMessageFormat |


ホストツーデバイストリガパケットは、CoaXPressリンクの低速接続を介して送信されます。トリガパケットの送信は、文字の境界でのみ開始できます。これは1文字の伝送時間に対応するジッタを導入します:
□ | 240ナノ秒 @CXP-10およびCXP-12リンク速度または |
□ | 480ナノ秒 @CXP-6およびそれ以下のリンク速度です。 |
トリガジッタを最小にするために、トリガイベントと送信されるトリガパケットとの間の時間は、ビット周期の1/24の単位で表される遅延値としてトリガパケットに符号化されます。
□ | 1ナノ秒 @CXP-10およびCXP-12リンク速度または |
□ | 2ナノ秒 @CXP-6およびそれ以下のリンク速度です。 |
受信側(カメラ)はこの値を使用して、固定レイテンシ でトリガーイベントを再作成できます。それは、復号されたメッセージを1文字時間の残りの部分で遅延させることによって送信ジッタを補償します。

センサーへのCICカメラトリガー露光タイミング表@ CXP-6で低リンク速度
上の図は、ホストからデバイスへのCoaXPressトリガメッセージを使用して、CoaXPressリンクを介してカメラグラバからカメラにカメラトリガイベントを伝播させるのに必要な時間遅延を示しています。
上の図は、次のことを仮定しています。
● | CameraControlMethod は RGに設定されています 。 |
● | カメラはトリガメッセージを正しく認識し、新しい露光を効果的に開始します。 |
CoaXPressリンク上のカメラトリガ信号(Coaxlinkカード内)の立ち上がり(または立ち下がり)エッジからの遅延は、次のように構成されます。
● | 0〜480ns の可変遅延は、低速CoaXPress接続上の次の文字境界までの時間遅延に対応します。 |
● | 1.92μs の固定遅延は、トリガトランスミッタの実装における4文字のパイプライン遅延に対応します。 |
● | 2.88μs の固定遅延は、6文字のメッセージ送信時間に相当します。 |
CoaXPressリンクから露出の有効な開始(または終了)までの遅延は、カメラに依存します。上の図では、この遅延はN文字倍(N = 4)としています。
ジッタ補正されたカメラ
カメラがCoaXPressジッタ補償を実装すると、トランスミッタによって導入された1文字のジッタ(480 ns)を完全に補償することができます。
レイテンシは全体として 固定 されていますが、カメラに依存することは変わりません。可能な最小レイテンシは 11 x 480 ns =5.28 µs。
補償後の残留ジッタは 4 ns程度の低さになります。
ジッタ補正されていないカメ
カメラがCoaXPressジッタ補正を実装していない場合、トランスミッタによって導入された1文字のジッタ(480 ns)が残ります。
全体的なレイテンシは 可変 であり、カメラに依存します。可能な最小レイテンシは (10〜11)×480 ns = (4.80 ~ 5.28) µs。

CoaXPressリンク上のカメラトリガ信号(Coaxlinkカード内)の立ち上がり(または立ち下がり)エッジからの遅延は、次のように構成されます。
● | 0〜2400ns の可変遅延は、低速CoaXPress接続上の次の文字境界までの時間遅延に対応します。 |
● | 0.96μs の固定遅延は、トリガトランスミッタの実装における4文字のパイプライン遅延に対応します。 |
● | 1.44μs の固定遅延は、6文字のメッセージ送信時間に相当します。 |
CoaXPressリンクから露出の有効な開始(または終了)までの遅延は、カメラに依存します。上の図では、この遅延はN文字倍(N = 4)としています。
ジッタ補正されたカメラ
カメラがCoaXPressジッタ補償を実装すると、トランスミッタによって導入された1文字のジッタ(480 ns)を完全に補償することができます。
レイテンシは全体として 固定 されていますが、カメラに依存することは変わりません。可能な最小レイテンシは 11 x 240 ns =2.64 µs。
補償後の残留ジッタは 2 ns程度の低さになります。
ジッタ補正されていないカメ
カメラがCoaXPressジッタ補正を実装していない場合、トランスミッタによって導入された1文字のジッタ(240 ns)が残ります。
全体的なレイテンシは 可変 であり、カメラに依存します。可能な最小レイテンシは (10〜11)×240 ns = (2.40 ~ 2.64) µs。
関連トピック ‐ GenApiリファレンス(デバイスモジュール)