CoaXPress 規格

CoaXPress とは、産業用カメラが撮像した映像信号を画像処理用のフレームグラバボードなどに伝送するためのデジタルインタフェイス規格のひとつ。2010 年 12 月に日本の産業用画像機器分野の標準化団体である日本インダストリアルイメージング協会(Japan Industrial Imaging Association:以下 JIIA)により策定された。

最大の特徴は、1本の同軸ケーブルにより画像出力、カメラ制御、カメラ電源の接続が行える点にある。アナログカメラで実績のある同軸ケーブルを利用できることは、非常に大きなメリットとなる。主な特徴は、以下のとおりである。

• アナログカメラと同じ、特性インピーダンス 75 Ωの同軸ケーブルを使用。
• 同軸ケーブル1本で、最大 6.25 Gbps(8b/10b 方式により、データ転送レートは最大 5Gbps)の高速映像出力が可能。
• カメラに対する送信パケットは、20.83Mbps(8b/10b 方式により、データ転送 レートは16.67Mbps)にて伝送。

• 電源供給は、同軸ケーブル1本あたり最大13W まで。
• 同軸線路を追加(拡張リンク)することにより、映像出力帯域と電源供給を拡張可能
(たとえば 2 本の同軸ケーブルで、最大12.5Gbps/26W の接続が可能)。
• リアルタイム性の高いトリガ/ GPIO 信号を、最小限のディレイおよびジッタでパケット化。
• オープンな規格であり、ロイヤリティーフリー

1. CoaXPressシステムの構成

1.1 バス構成について
CoaXPressは、カメラとホストPCが1対1で接続される。接続は1本のマスタリンクと、さらなる広帯域化に使用するオプションの拡張リンクによって行われる(図1)。

図1 バス構成

1.2 通信速度について
同軸ケーブル1本あたりの速度によって、CoaXPressに準拠する製品(カメラ、ボード、ケーブル等)には表1のようにラベルが振れている。

表1 CoaXPressのラベル

1.3 ケーブルとコネクタ
ケーブルは一般的に、CoaXPress規格に準拠した「CXPケーブル」を使用する。これは減衰量を元に規定され、最大動作速度ごとにラベルが振られている。規格上、最大ケーブル長の規定はない。

目安として、Belden社1694A同軸ケーブル同等品におけるケーブル長を表2に記載する。既存システムへの置き換えのため、CXPケーブルではないアナログカメラで使用していた同軸ケーブルも使用できる。

表 2 目安となるケーブル長

ただしこの際は、エラー率評価などの事前検証が必要となる。コネクタは、アナログカメラと同様にBNCコネクタを使用する。コネクタ形状は同一だが、アナログビデオ信号と異なり広帯域通信を行うため、CoaXPressの規格書に記載されている仕様を満たすコネクタである必要がある。

2. CoaXPress の信号仕様

2.1 各種信号の重畳
CoaXPressでは、1本の同軸ケーブルに以下の信号が重畳されている。

• 電源(DC供給)。
• 20.83 Mbpsのロースピードリンク(ホストPCからカメラに送信されるアップリンクに使用)。

• 1.25 ~ 6.25 Gbpsのハイスピードリンク(カメラからホストPCに送信されるダウンリンクに使用)。ロースピードリンクの場合、基 本 波 が10.42MHz(最も周波数の高い1/0繰り返しパターンの場合、2bitで1周期となる)。6.25 Gbpsのハイスピードリンクでは、基本波が3.13GHzである。高調波を含めて周波数帯域が離れているため、すべての重畳信号はフィルタによって分離が行える(図2)。

図 2 各種信号の重畳

2.2 電源供給
ケーブル1本あたり、標準電圧24Vで13Wまで電源供給ができる。拡張リンクを使用することにより、供給能力を増大させることも可能である。ケーブル長による電圧降下を考慮し、カメラ側は18.5V ~ 26Vで動作することが規定されている。

2.3 ハイスピードリンク
カメラからホストPCに対する送信に使用されるシリアル信号である。625Mbpsを基準とする整数倍の帯域を使用する。8b/10b方式を採用しているため、データ転送レートは表3のようになる。

表 3 ハイスピードリンクのデータ転送レート

2.4 ロースピードリンク
ホストPCからカメラに対する送信に使用される、20.83Mbpsのシリアル信号。これは、125Mbpsの1/6にあたる速度である。8b/10b方式を採用しているため、データ転送レートは16.67Mbpsとなる。

3. CoaXPress のプロトコル

3.1 パケットタイプ
パケット構造は、ロースピードリンク、ハイスピードリンクでほぼ共通である。基本的にパケットは、「ワード」と呼ばれる4Byte単位を基準に行われる(ソフトウェア設計で用いられるWORD型とはデータサイズが異なるので注意)。

トリガパケットのみロースピードリンク、ハイスピードリンクで異なる構造であり、ロースピードリンクではワード単位ではなくByte単位(CoaXPressではキャラクタという単位で表現)で構成される。このパケットのみ、上記条件の例外となる(表4)。

表 4 パケットタイプ

3.2 パケットの挿入
CoaXPressでは高いリアルタイム性を実現するため、パケット出力中に優先順位の高い別のパケットを挿入できるようになっている。

これはトリガやGPIOなど、リアルタイム性の高い信号がシリアルバスのトラフィックによって左右されないようにするためである。リアルタイム性の高いトリガやGPIOは、他のパケットより高い優先順位に設定されている。

優先順位の最も高いものは、リアルタイム性が最重要視されるトリガパケットである。表5に、パケットの優先順位を示す。優先順位の低いパケットが出力されている際、これらのパケットは出力のパケットに割り込んで送信される(図3)。

表 5 パケットの優先順位

図 3 パケットの挿入

パケット挿入はハイスピードリンク、ロースピードリンクとも行われる。優先順位や挿入条件などは同じだが、割り込みを行うデータ単位が異なる。ハイスピードリンクの場合、パケット挿入はワード単位で行われる(図4)。

図 4 ハイスピードリンクの場合のパケット挿入

パケット挿入に起因するパケット遅延時間は、最大1ワードとなる。最もディレイの大きくなるCXP-1 1.25 Gbps(データ転送レート1Gbps)において、このディレイは32nsec(=1sec/1Gbps×32bit)となる。これに対してロースピードリンクでは、パケット挿入がキャラクタ単位で行われる(図5)。

図 5 ロースピードリンクの場合のパケット挿入

パケット挿入に起因するパケット遅延時間は、最大1キャラクタとなる。ロースピードリンクは20.83Mbps(データ転送レート16.67Mbps)において、このディレイは480nsec(=1sec/16.67 Mbps×8bit)となる。

3.3 トランザクション

3.3.1 基本のトランザクション
CoaXPressのトランザクションは、映像出力を行うストリームデータパケットを除き、ハンドシェイクによる通信で実現される(図6)。

図 6 基本トランザクション

3.3.2 暫定のコマンドACKを使用したトランザクション
コマンドコントロールからコマンドACKまでのタイムアウトは、CoaXPressの規格で200msecに定められている。カメラもしくはホストPCの内部処理時間がこれよりも長い場合、コマンドACKが間に合わずにタイムアウトしてしまう。

このような問題を想定し、応答まで時間を有する可能性があるパケット(コントロールコマンド/ ACK)の場合は、暫定のコマンドACKを送信して応答を先延ばしすることができる(図7)。

図 7 コマンドACK(暫定)を用いたトランザクション

3.3.3 ストリームデータのトランザクション
映像出力を行うストリームデータの場合、ハンドシェイク通信を行わない。送信側は送信パケットの準備ができ次第、直ちに出力を行う(図8)。

図 8 ストリームデータ送信

3.4 パケットの構造
CoaXPressのパケット構造は、次のような特徴がある。

• データパケットのペイロード以外(トリガ、GPIO、I/O ACKとデータパケットヘッダ)は、同一キャラクタを4回送信することによる多数決方式のシングルビットエラー検出、訂正を行なっている(ロースピードリンク トリガパケットのみ3回送信)。

• データパケットのペイロードは、CRC演算によるエラー検出を行なっている。これによりデータ長の短いパケットはエラー検出と訂正、データ長の長いペイロードはエラー検出のみと、2段階のエラー処理を有している。

3.4.1 トリガパケット
トリガパケットはハイスピードリンクとロースピードリンクで構造が異なる(表6、7)。Delayはオプションであり、パケット出力の精度補償に使用される。ハイスピードリンクで1キャラクタ(CXP-1では8nsec)単位、ロースピードリンクで2nsec単位で計測される。

表 6 ハイスピードリンクのトリガパケット

表 7 ロースピードリンクのトリガパケット

3.4.2 GPIOパケット
最大8ポートのGPIO(General Purpose I/O)信号をパケットにて送信する(表8)。

表 8 GPIOパケット

3.4.3 I/OGACKパケット
トリガパケット、GPIOパケットに対する応答パケットである(表9)。

表 9 I/O ACKパケット

3.4.4 データパケット(コントロールコマンド)
カメラ制御コマンドを送信するパケットである。カメラ内部のアドレス空間に対し、読み出し/書き込みを行う(表10)。

表10 コントロールコマンド

3.4.5 データパケット(コントロールACK)
コントロールコマンドに対するACK応答パケットである(表11)。

表11 コントロールACK

3.4.6 データパケット(ストリームデータ)
映像出力であるストリームデータを送信するパケットである(表12)。

表12 ストリームデータパケット

4. ストリームデータ

4.1 ストリームマーカ
映像データは、ストリームデータパケットで送信される。パケットを生成する際に、ストリームデータにはImage HeaderとLine Markerが挿入される(図9)。

図 9 ストリームデータパケットの生成(Packet Tag=0で開始した場合)

Image Headerには、映像データの情報が記載されている。画像に関する情報が記載されているため、カメラの設定を読み出すことなく映像情報の識別を行うことができる(表13)。Line Markerはラインの開始を示すために使用する(表14)。

表13 Stream Header(矩形画像の場合)

表14 Line Marker(矩形画像の場合)

4.2 マルチストリーム
CoaXPressでは、複数の異なる画像を同一バスで出力するマルチストリームを有している。たとえば、これは2つのセンサから別々の映像を読み出すステレオカメラや、全映像領域から複数の矩形で出力映像を選択できるマルチROI(Region Of Interest)などを容易に実現する機能である。

バス上のストリームデータパケットは、あたかも複数台のカメラが同じバスに存在するように構成される。互いのストリームデータパケットは疎であり、Source Tagを除くフィールド内容を互いに参照されることがなくパケットが生成される。

マルチストリームの切り替えは、パケット単位で行われる。ストリームデータパケットがどのストリームに該当するかは、Stream IDフィールドで識別する(図10)。

図10 マルチストリーム(2つのROIを出力する場合)

5. CoaXPress の今後の展望

 CoaXPressは非常に新しい規格であるため、2011年現在では対応機器がまだ少ない状況にある。しかし同軸ケーブル1本で6.25Gbpsの高速伝送が実現できるという利点により、今後の普及が見込まれるインタフェイスの1つといえる。

6. CoaXPress 規格の入手方法

CoaXPressの規格書は、規格のオーナーであるJIIAのホームページ(http://www.jiia.org/)にて入手できる。ロイヤリティーは不要であり、誰でも自由にダウンロード可能である。

※「まるまる!マシンビジョンカメラ入門 ~ゼロから学ぶ“基礎の基礎”~」より転載

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください