[de2_tv] PAL制TV_VGA

 

  PAL制TV_VGA

DE2光盘的例子DE2_TV是NTSC制式的,如何在原有的基础上改成PAL制式的?

主要是两个部分,修改ADV7181内部寄存器的值和VGA时序。

       一、PAL制式ADV7181寄存器的值如下,根据I2C协议将其写进芯片。

SET_VIDEO+0      :      LUT_DATA    <=   16'h0080;// Force PAL input only mode.

SET_VIDEO+1      :      LUT_DATA    <=   16'h0701;// Enable PAL autodetection only.

SET_VIDEO+2      :      LUT_DATA    <=   16'h1001;// Slow down digital clamps.//////

SET_VIDEO+3      :      LUT_DATA    <=   16'h1500;// Set CSFM to SH1.//////

SET_VIDEO+4      :      LUT_DATA    <=   16'h1741;// Stronger dot crawl reduction./

SET_VIDEO+5      :      LUT_DATA    <=   16'h19fa;// Enable 28 MHz crystal.

SET_VIDEO+6      :      LUT_DATA    <=   16'h37a0;// TRAQ.

SET_VIDEO+7      :      LUT_DATA    <=   16'h3A16;// Power down ADC 1 and ADC 2.//////

SET_VIDEO+8      :      LUT_DATA    <=   16'h500a;// MWE enable manual window.

SET_VIDEO+9      :      LUT_DATA    <=   16'hc305;// BGB to 36.

SET_VIDEO+10    :      LUT_DATA    <=   16'hc480;// Set higher DNR threshold.

SET_VIDEO+11    :      LUT_DATA    <=   16'h0e80;// Man mux AIN6 to ADC0 (0101).

SET_VIDEO+12:   LUT_DATA    <=   16'h5020;// Enable manual muxing.

SET_VIDEO+13:   LUT_DATA    <=   16'h5218;// ADI recommended programming sequence. This sequence must be followed exactly when setting up the decoder.

SET_VIDEO+14    :      LUT_DATA    <=   16'h58ed;// Recommended setting.

SET_VIDEO+15    :      LUT_DATA    <=   16'h77c5;

SET_VIDEO+16    :      LUT_DATA    <=   16'h7c93;

SET_VIDEO+17    :      LUT_DATA    <=   16'h7d00;

SET_VIDEO+18    :      LUT_DATA    <=   16'hd048;

SET_VIDEO+19    :      LUT_DATA    <=   16'hd5a0;

SET_VIDEO+20    :      LUT_DATA    <=   16'hd7ea;

SET_VIDEO+21    :      LUT_DATA    <=   16'he43e;

SET_VIDEO+22    :      LUT_DATA    <=   16'he93e;

SET_VIDEO+23    :      LUT_DATA    <=   16'hea0f;

SET_VIDEO+24    :      LUT_DATA    <=   16'h0e00;

       二、修改VGA信号时序

  (tv_vga.v)

//     V_Sync Counter

                     if ( V_Cont < 624 )

                     V_Cont   <=   V_Cont+1;

                     else

                     V_Cont   <=   0;

(itu_r656_decoder.v)

           wire vde=((Vde_counter > 31) && (Vde_counter < 631)) ? 1:0;

工程下载:

            PAL_TV_VGA

为什么设置为 
wire vde=((Vde_counter > 31) && (Vde_counter < 631)) ? 1:0; 
,原来是相差480,现在应该相差625?

答:原来的是N制,总共525行,480指的是显示区域。现在改为PAL制,总共625行,显示的应该是575。你可以尝试修改为31 和 606,对比下结果有什么不同。

原文地址:https://www.cnblogs.com/woshitianma/p/3045268.html