header

 

※LinX Express は、日頃お付き合い頂いているお客様、展示会やセミナー等でお名刺を戴いた方、また、雑誌やホームページから引合を戴いた事のあるお客様へ配信させて戴いております。
    

  GigE Vision - CPU負荷と画像取得待ち時間

シリーズ企画『BASLER技術白書』の第三回は、「GigE Vision - CPU負荷と画像取得待ち時間」と題して、GigE VisionのCPU負荷と画像取得待ち時間に関する技術白書を紹介します。この内容はより詳細な解説等を含んだ完全版から抜粋したものです。

【BASLER技術白書 公開予定】

■ (第一回) CMOSハイスピードラインスキャンカメラ:sprint
■ (第二回) GigE Visionの要素技術
■ (第三回) GigE Vision - CPU負荷と画像取得待ち時間
■ BASLER pilotシリーズのタップバランス技術
■ 検査仕様を満たすために必要となるピクセル数
 

 GigE VisionにおけるCPU負荷

 GigE Visionでは、カメラから入力される全てのパケットはCPUによって処理され、メモリにコピーされます。このようなGigEのデータ転送メカニズムによるCPU負荷を可能な限り低減するため、BASLER社ではフィルタードライバーとパフォーマンスドライバーという2種類のGigE Visionドライバーを提供しています。

フィルタードライバーとパフォーマンスドライバー
BASLER社の提供するGigE Visionドライバーは画像データを含むパケットを他のパケットから即座に切り分け、アプリケーションへと直接転送することで、CPU負荷を大幅に軽減します。
フィルタードライバーは市場に流通している全てのネットワークインターフェースカードで使用可能です。パフォーマンスドライバーは、特定のIntel社製チップセットを搭載したネットワークカードに最適化されており、それらに対してフィルタードライバー以上に大きくCPU負荷を低減させることが可能です。
 
CPU負荷の比較
図1および図2のグラフは、2つのGigE Visionドライバー使用時のCPU負荷の測定結果を示しています。(カメラ:BASLER piA640-210gm、 PC:Pentium dual core 2.8GHz、NIC:Intel Pro 1000 GT)
パフォーマンスドライバーは、フィルタードライバーに比べてCPUの負荷が大きく低減されています。また、パケットサイズが大きい場合の方がCPUの負荷が低くなります。これは、小さなパケットのデータにはより多くのオーバーヘッドやプロトコルのデータが含まれるためです。
以上から、より高いパフォーマンスを要するアプリケーションでは、pylonパフォーマンスドライバーとジャンボフレームがサポートされているIntelネットワークカードの組み合わせを推奨します。

    

        図1: バンド幅の増加に伴うCPU負荷(500byte)      図2: バンド幅の増加に伴うCPU負荷(4000byte)

                                  

 GigE Visionにおける画像取得待ち時間

GigE Visionインターフェースの待ち時間については、マシンビジョンの市場で頻繁に議論されています。待ち時間に影響を与える要因には、実に様々な要素が考えられます。

画像取得時のデータの流れ
画像の取得には、ソフトウェアトリガー取り込みとハードウェアトリガー取り込みの2つが考えられます。
ソフトウェアトリガー使用時、アプリケーションはAPI、IPスタック、物理層を介してカメラへと露光開始のコマンドを送信します。 ハードウェアトリガー使用時には、電気信号が直接カメラへと送られます。
カメラからのデータの受信時は、ソフト/ハードウェアトリガー共に、ネットワーク層、GigE Visionドライバー、APIを経由してデータを受信します。

トリガー入力時の待ち時間
図3および図4では、トリガー入力時のジッターのばらつきをGigEとIEEE 1394の間で比較しています。(使用カメラ:BASLER scA640-70fm/gm)
GigEとIEEE1394共に、ソフトウェアトリガーの入力から露光開始までの時間には全体の30%ほどのばらつきがあります。これらのばらつきはOSのIPスタックによって生じます。
ハードウェアトリガーによる露光開始のタイミングはカメラの機種によって異なりますが、概ね50μs以内となります。

    

        図3:ソフトウェアトリガーの露光待ち時間       図4: ハードウェアトリガーの露光待ち時間

                                  

データ転送時の待ち時間
一方、データの転送開始から終了までのジッターを見てみると、そのばらつきはデータ転送時間全体の約5%と、非常に短く抑えられているのが確認できます。
カメラやOSの待ち時間のほかに、ネットワークスイッチは遅延やジッターを発生させる要因の一つです。
以上から、GigE Visionを用いてリアルタイムで動作するマシンビジョンアプリケーションを構築するときには、画像を取得する際にハードウェアトリガーを使用し、ネットワークスイッチを含まない接続形態をとることを推奨します。

 

  

 図5:画像転送の待ち時間   

 評価結果からまとめ

GigE VisionはCPU負荷および遅れ時間の観点から見て、IEEE 1394と比べて遜色はありません。
数多くの実績を誇るBasler社の独自技術によりCPU負荷や待ち時間といった問題を最小限に抑え、GigEカメラの適用範囲を拡大することが可能です。 また、転送量やケーブル長などIEEE1394にない特徴も兼ね備えており、マシンビジョンの市場において非常に重要な役割を今後担っていくことが強く期待されています。
 
 

BASLER GigEエリアカメラ紹介ページはこちら
   

※LinX Express 配信の中止・アドレスの変更をご希望の方は、お手数ですが右の「ご意見・お問い合わせ」よりお問い合わせください。