CameraLink取込実験:Full Configuration信号を中継し、LCDに表示 | |||||||||||||||||||||||||||||||||||
2013/04/25- | |||||||||||||||||||||||||||||||||||
ヒューマンデータのカメラリンク実験用ボード UTL-023 を使用し、Full Configurationのカメラリンク画像データを中継した例を示しします。 FPGAボードにはCyclone IV E搭載FPGAボードACM-204を使用しています。また、デモンストレーションとして、取り込んだ画像の一部をLCDに出力しています。 開発にはQuartus II Ver11.1 SP2を使用しています。 |
|||||||||||||||||||||||||||||||||||
◆機器構成
|
|||||||||||||||||||||||||||||||||||
◆UTL-023 (カメラリンク実験用ボード(CameraLink入出力ボード))UTL-023 はヒューマンデータのカメラリンク実験用ボードです。入力コネクタにはMDRコネクタを搭載しています(左側)。出力クコネクタにはSDRコネクタを搭載しています(右側)。全てのカメラリンク信号線にはESD保護素子を実装しています。 カメラリンク入力コネクタからカメラへの12V電源出力(PoCL)はジャンパでオンオフを切り替え可能です。 (最大出力:6W) 基板下部の50ピンヘッダからはタッチパネル付き5"カラーLCDモジュール(UTL-021)が接続可能です。 クリックして拡大 |
|||||||||||||||||||||||||||||||||||
◆接続したカメラBASLER社のACEシリーズacA2040-180kmを接続しました。(画像はメーカサイトより引用しました)
この例では、Full Configuration, 8Tap, 10bit, 32.5MHz の設定で実験を行っています。 動作モードはシリアルI/Fから設定しています。設定にはNiosIIのシリアル通信を使用しました。下記の設定を行っています。
|
|||||||||||||||||||||||||||||||||||
◆システム構成全体の構成は下図のようになっています。CameraLinkの信号をACM-204で取込み、リクロックしてから出力しています。カメラからのクロックは32MHzで設計しています。また、デモンストレーションとして、中継するデータの一部はLCDに表示されます。※QusrtusII 11.1 SP2にて開発しています カメラからの画像データは左側のUTL-023で一度中継された後、右側のUTL-023で受信されています。何段でも接続できるようになっています。 |
|||||||||||||||||||||||||||||||||||
◆LVDSレシーバの設定LVDSレシーバでは、X,Y,Zそれぞれの信号を各々のクロックを使って受信しています。ですので受信用にPLLを3つ使用しています。下図はLVDSレシーバを3つまとめたブロックの回路図ライブラリです。X,Y,Zそれぞれのシリアル信号がデシリアライズされたパラレル信号(28bit)が出力されます。lock_x,y,z信号はPLLのLock信号です。 "clk_out"には後段のユーザーロジックに使用するため、入力と同じクロック(32.5MHz)が出力されています。"clk_fast"はLVDSトランシーバで使用されます。 クリックして拡大 LVDSレシーバ(ALTLVDS_RX)は外部PLL設定で使用しています。これはLVDSトランシーバとクロックを共有するためです。また、細かい遅延値の設定も可能です。下の画像はXデータの受信部です。 クリックして拡大 PLLの設定値は、ALTLVDS_RXのMegaWizard画面より指定されますので、それに従います。 "rx_inclock"にはデータレートの半分ですので "32.5*7/2 MHz"を、"rx_syncclock"には"rx_inclock"の1/7、つまり"32.5/2MHz"を供給します。同様に"rx_readclock"は"32.5MHz"となります。 クリックして拡大 PLLブロック図の入力クロック値が24.55MHzとなっていますが、正常に動作します。これはPLLのLock周波数範囲内に32.5MHzが含まれるためです。 クリックして拡大 |
|||||||||||||||||||||||||||||||||||
◆LVDSトランスミッタの設定LVDSトランスミッタ(ALTLVDS_TX)は、送信する画像データに、クロックもデータとして合わせてシリアライズしています。出力数は5チャンネルになります。 "tx_inclock"にはレシーバブロックから"32.5*7/2MHz"が供給されています。"tx_syncclock"はレシーバと同様に"32.5MHz"です。 クリックして拡大 |
|||||||||||||||||||||||||||||||||||
◆LCD表示器への表示中継するデータを観察するためにタッチパネル付きカラーLCDモジュール (UTL-021) への表示を行いました。画像データ8Tapのうち、間引きした2TapのデータをLCDに表示しています。そのため表示される画像は約1/4に圧縮されたものになっています。 カメラからの全画素データ(2048x2048)に対し、1/4の画像データ(512x512)を取込み、LCDの縦サイズに合わせて、480x480サイズで表示しています。 (この画面ははめ込み合成です) |
|||||||||||||||||||||||||||||||||||
みなさまの参考になれば幸いです。 間違いなど見つけられましたらぜひご指摘下さい。 |
|||||||||||||||||||||||||||||||||||
メールでのご質問はこちらへどうぞ | |||||||||||||||||||||||||||||||||||
UTLシリーズトップへ | |||||||||||||||||||||||||||||||||||