FPGA活用回路&サンプル記述集(3) ―― ビデオ信号処理回路
tag: 半導体 電子回路 ディジタル・デザイン
技術解説 2009年3月25日
・640×480ポインタ指定表示
(1) 表示対象となるカメラを有効設定します(CAM1またはCAM2).(2) カメラ・データ(1024×768)からモニタ出力開始画素(X,Y)を設定します.設定した画素から(640×480)の範囲をモニタ出力画像とします.
・512×384への1/2間引き表示
(1) 表示対象となるカメラを有効設定します(CAM1またはCAM2).(2) カメラ・データ(1024×768)から偶数画素,偶数ラインを削除し,512×384にリサイズしてモニタ出力画像とします.
・640×240×2チャネル:カメラ2台の画像を同時に表示
(1) 表示対象となるカメラを有効設定します(CAM1とCAM2).(2) カメラ2台(CAM1,CAM2)からのデータに対して,カメラ・データ(1024×768)から,モニタ出力開始画素(X,Y)を設定します.設定画素から(640×240)の範囲をモニタ出力画像とします.1ライン~240ラインをCAM1表示領域,241ライン~480ラインをCAM2表示領域とします.
● 読み出しクロックが書き込みクロックより速い
入力部からデータを受け取る際にFPGAの内部メモリを使用します.データを書き込むクロックの周波数はカメラ・クロックの29.5MHz(33.8ns周期),データを読み出すクロックの周波数はPCIローカル・クロックの33MHz(30.3ns周期)です.
周波数に大きな差はありませんが,読み出しの周波数の方が書き込み周波数より高速なため,読み出しが書き込みを追い越してしまいデータが欠落する恐れがあります.
このような場合は内部メモリのカウント値(データ格納数を示す内部メモリの出力信号)を使って読み出し開始のタイミング(SIG_CAM_RD_EN有効開始タイミング)を決定します.画像データ1ラインが連続したデータとなるので,1ラインを一つの単位として読み出し開始のカウント値を決定します.
下記計算式から求める値は読み出しが書き込みを追い越すことなく,最も効率良くデータ転送を行うための値です.
読み出し開始のカウント値=Hサイズ-((Hサイズ×リード・クロック周期)/ライト・クロック周期)
リサイズ処理はSSRAMインターフェース側の内部メモリにデータを書き込む前に行います.テレビ・モニタ出力データだけを書き込み,処理部以降の回路が画像サイズ設定を必要としないように設計します.
また,出力部がSSRAMからテレビ・モニタ出力データの読み込み中であった場合,本ブロックからのデータをSSRAMに書き込めません.そのようなときの一時保存用の機能も兼ねています.データが破たんしないように十分な容量を確保する必要があります.