FC2カウンター FPGAの部屋 CMOSカメラから画像を入力してディスプレイへ出力3
FC2ブログ

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

FPGAの部屋

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

CMOSカメラから画像を入力してディスプレイへ出力3

・VGAタイミング
DWM2007年8月号のP31のVGAタイミングを参考にすることにした。カメラの映像信号のタイミングの1/2にするとちょうど、カメラの映像タイミングの1回にVGAタイミング2回でぴったりなのでそうすることにした。最初はカメラのVSYNC後のHREFのタイミングにVGAの出力を合わせることにする。
VGAの映像信号のタイミング

ドットクロック   24MHz(カメラのPCLKに同期) 41.7ns
水平ライン      764ドットクロック  31.8us
水平表示区間    640ドットクロック  26.7us
水平フロントポーチ  16ドットクロック 0.667us
水平同期信号     64ドットクロック  2.67us
水平バックポーチ   44ドットクロック 1.83us

垂直期間      525ライン 16.7ms
垂直表示区間   480ライン 15.3ms
垂直フロントポーチ 11ライン 0.350ms
垂直同期信号    2ライン 0.0637ms
垂直バックポーチ  32ライン 1.02ms


カメラのVSYNC後のカメラのHREFが1になっているのを確認したら、VGAコントローラをリセットする。VGAの水平ラインのタイミングは、水平表示区間+水平フロントポーチ+水平同期信号+水平バックポーチ、とする。
垂直も同様に、垂直表示区間+垂直フロントポーチ+垂直同期信号+垂直バックポーチ、とする。下に前回のタイミングチャートを示す。
Camera_Disp_3_090916.png

VGA信号のpackageは下のようになる。(今回は都合でVHDLです)

-- 表示タイミングの定義
-- pixel clock 24MHz, 640X480 pixel, 60Hz

library ieee;
use ieee.std_logic_1164.all;

package disp_timing_pack is
constant H_ACTIVE_VIDEO : integer := 640;
constant H_FRONT_PORCH : integer := 16;
constant H_SYNC_PULSE : integer := 64;
constant H_BACK_PORCH : integer := 44;
constant H_SUM : integer := H_ACTIVE_VIDEO + H_FRONT_PORCH + H_SYNC_PULSE + H_BACK_PORCH;

constant V_ACTIVE_VIDEO : integer := 480;
constant V_FRONT_PORCH : integer := 11;
constant V_SYNC_PULSE : integer := 2;
constant V_BACK_PORCH : integer := 32;
constant V_SUM : integer := V_ACTIVE_VIDEO + V_FRONT_PORCH + V_SYNC_PULSE + V_BACK_PORCH;
end disp_timing_pack;



下にトップモジュールのCamDispCntrl_SRAMの全体のブロック図を示す。
Camera_Disp_4_090921.png

CMOSカメラから入ってきた映像信号YUV422は、CAMERA_CONTROLLERでY信号だけをSRAM_CONTROLLERに渡す。SYNCHRONIZERは、CAMERA_CONTROLLERからVSYNC, HREFを受け取って同期信号をSRAM_CONTROLLERとVGA_DISPLAY_CONTROLLERに渡す。その同期信号でSRAM_CONTROLLERとVGA_DISPLAY_CONTROLLERは垂直0ライン、水平映像信号の0ドット目に同期する。VGA_DISPLAY_CONTROLLERはSRAMからREADしたYデータをRGBに変換(白黒なので、RGB同じ値にするだけ)し、DAC(ADV7125)に出力する。HSYNC, VSYNCは直接VGAコネクタに出力する。
DAC(ADV7125)のデータシートはここにある。下にブロック図を引用する。
Camera_Disp_5_090921.png

このうちのSYNC, PSAVEは使用しないで、R,G,BとBLANKを使用する。
  1. 2009年09月21日 06:03 |
  2. 画像処理
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


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

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