データ送出メカニズム
This content is not available in your language yet.
INFINICAMは、通信インターフェース(USB / Ethernet)の特性に合わせて最適化された独自データ送出モジュールを搭載しています。
1. UC-1.1 (USB 3.1 Gen1 5Gbps) の送出メカニズム
Section titled “1. UC-1.1 (USB 3.1 Gen1 5Gbps) の送出メカニズム”UC-1.1では、信頼性の高い USBバルク転送(Bulk Transfer) モードを採用しています。
バルク転送では通信エラー時の再送が発生する可能性があるほか、転送中に次の画像データが上書きされると画像破損が起きてしまいます。これらを防止するため、カメラ内部に 3画面分(トリプルバッファ) のメモリを保持して安全にデータ伝送を行っています。
3つのバッファ構成
Section titled “3つのバッファ構成”- 書き込み用バッファ: 圧縮された最新の画像データを書き込む領域
- 待機用バッファ: 次の転送に備えて完成した画像を保持する領域
- 転送用バッファ: PC側へ現在送出中の画像データを保持する領域
バッファ切り替えのフロー
Section titled “バッファ切り替えのフロー”-
書き込みと待機の交互入れ替え
最新の圧縮画像データは、「書き込み用バッファ」と「待機用バッファ」を交互に入れ替えながらフレーム単位で書き込まれます。
-
転送用バッファへのローテーション
PCへのデータ転送を開始するタイミングで、画像書き込みが完了した「待機用バッファ」を「転送用バッファ」へ切り替え、全データを一括送出します。
-
元のバッファの再利用
送信が完了した元の「転送用バッファ」は、新たな「待機用バッファ」として再利用されます。
2. GbE-2 (1Gbps Ethernet) の送出メカニズム
Section titled “2. GbE-2 (1Gbps Ethernet) の送出メカニズム”GbE-2では、リアルタイム性を最優先するため、Ethernetの UDP (User Datagram Protocol) を用いて画像データを直接PCへストリーミング送出します。
1パケット単位の即時送出による「超低レイテンシー」
Section titled “1パケット単位の即時送出による「超低レイテンシー」”フレーム単位でのデータ蓄積を待つことなく、1パケット分のデータ量が溜まった瞬間に即座にUDPパケットを送出します。これにより、カメラ撮影からPC受信までの通信遅延(レイテンシー)を極限まで小さく抑えています。
HDL(ハードウェア記述言語)によるパケット作成
Section titled “HDL(ハードウェア記述言語)によるパケット作成”通常のようなOS(Linux等)上のネットワークスタックを経由せず、FPGA内部の HDL言語で直接記述したハードウェアロジック(専用ハードウェア回路) でUDPパケットを作成・送出しています。
