FC2カウンター FPGAの部屋 MT9D111のフレームレートを 15 fps から 30 fps にした

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

FPGAの部屋

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

MT9D111のフレームレートを 15 fps から 30 fps にした

CMOSカメラモジュールのMT9D111 のCLKINに 36 MHz を入れると、PIXCLK に 18 MHz が出てきていた。
カメラでは8ビットの 2 バイトで1つのピクセルを表すので、つまり、ピクセルクロックとしては 18 MHz の半分の 9 MHz となり、約 15 fps ということになる。(SVGA でのピクセルクロックは 40 MHz)アプティナのカメラの出力フォーマットはVGA信号よりも情報が詰まっているので、これで計算が合うのだ。

このフレームレートを 15 fps から 30 fps にしたいと常々思っていた。MT9D111 のマニュアルにも「30 fps in preview mode (800 x 600)」 と書いてあるし、やってみた。

まずは、preview mode のデフォルトでは、PLL がディスエーブルされていると思うので、PLL を活かしてクロックを倍にしたいなと思った。しかし、カメラの設定用レジスタは多すぎて、やってみるのが怖い。
それでも mbed の mt9d111.cpp mt9d111.h は参考になりそうだった。

とりあえず、カメラのレジスタ設定は変えずにフレームレートを倍にするには、カメラのCLKIN に入れるクロックの周波数を倍にすれば良いだろうというということで、今まで 36 MHz を入れていたが、72 MHz にしてみることにした。MT9D111 のマニュアルでもPLL をバイパスしているときの最高の入力周波数は 80 MHz ということなので、問題ないはずだ。

PYNQ のFASTX コーナー検出のプロジェクトでやってみた。
pynq_fastx ブロックデザインで processing_system7_0 をダブルクリックして設定する。
mt9d111_15_30fps_1_170223.png

開いたダイアログで、Clock Configuration をクリックして、FCLK_CLK2 の周波数設定を 36 MHz から 72 MHz に変更した。
mt9d111_15_30fps_2_170223.png

制約ファイルでは、カメラの出力クロック pclk の period を 55.56 ns から 27.88 ns に変更した。
mt9d111_15_30fps_3_170223.png

これで、論理合成、インプリメント、ビットストリームの生成を行い、SDK でPYNQボードにダウンロードしてFASTX コーナー検出をやってみたが動作した。フレームレートが速くなっている気がする(気のせいじゃないよね?)
うまく行ったので、30 fps で使うことにする。

なお、ZYBO でもコードで延長したMT9D111 でもうまく動いている。72 MHz のクロックを出してもちゃんと受けられているみたいだ。
  1. 2017年02月23日 04:43 |
  2. CMOSイメージセンサ
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


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

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