FC2カウンター FPGAの部屋 ZedBoard用CMOSカメラ回路の作製1(単体シミュレーション)
FC2ブログ

FPGAやCPLDの話題やFPGA用のツールの話題などです。 マニアックです。 日記も書きます。

FPGAの部屋

FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。Xilinx ISEの初心者の方には、FPGAリテラシーおよびチュートリアルのページをお勧めいたします。

ZedBoard用CMOSカメラ回路の作製1(単体シミュレーション)

MT9D111の勉強を下のように行った。
MT9D111のお勉強1MT9D111のお勉強2MT9D111のお勉強3MT9D111のお勉強4MT9D111のお勉強5MT9D111のお勉強6

ZedBoardのPMODに刺さるカメラボードが、ZedBoard用CMOSカメラボードの作製5(カメラボード完成)で完成した。
これで、CMOSカメラの画像をVGA端子やHDMI端子から出力する回路を作る準備が整ったので、この年末年始で、ZedBoard用CMOSカメラ回路を作っていた。大体できたので、AXI4 Slave BFMを使って単体テストをした。
CMOSカメラ回路の仕様だが、画像サイズは2Mピクセルの1スキップの 800x600 とする。更に36MHzのピクセルクロックを与えて、PLLバイパスでそのままPCLKに出力することにした。画像フォーマットはRGB565とし、これは、2バイトで1ピクセルなので、800ピクセルのデータを出力するために、1,600クロック掛かることになる。よって約 30fps で画像を出力する予定だ。AXI4バスのクロックは100MHzとする。

上の仕様で、トップモジュール mt9d111_inf_axi_master.vhd を作成し、その下にMT9D111の信号とのインターフェースを行う mt9d111_cam_cont.v がある。mt9d111_cam_cont.v には、非同期FIFOがインスタンスされている。非同期FIFOの入力は32ビット幅、出力は64ビット幅である。入力クロックがPCLKの36MHz、出力クロックがAXI4 の ACLK で100MHz である。

下に、AXI4バスのシミュレーション結果を示す。
ZedBoard_Cam_1_130102.png
あえて説明はしないが、36MHzクロックの2つで1個のピクセルが出力される。32ビットが1ピクセルに相当する。MSBから8ビットのダミー0、Redが8ビット、Greenが8ビット、Blueが8ビットで合計32ビットとなる。それが2ピクセル分集まって、64ビットのデータとして非同期FIFOから出力されている。
ここで、AXI4バスのトランザクションから次のトランザクションまでの間隔は110 nsec だった。これは、36MHzの周期、27.8 nsec x 2(クロックで1ピクセル) x 2ピクセル分のデータを非同期FIFOから出力 = 111.2 nsec と大体合っている。

下に、mt9d111_cam_cont.v のシミュレーション波形を示す。
ZedBoard_Cam_2_130102.png
黄色いカーソルは、AXI4バスのシミュレーション結果の図と同様の位置に置いてある。cam_dataからのAXI4のデータに変換する様子が見えると思う。
  1. 2013年01月02日 19:58 |
  2. ZedBoard
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック URL
http://marsee101.blog.fc2.com/tb.php/2350-e924730c
この記事にトラックバックする(FC2ブログユーザー)