[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;
工程下载:
为什么设置为
wire vde=((Vde_counter > 31) && (Vde_counter < 631)) ? 1:0;
,原来是相差480,现在应该相差625?
答:原来的是N制,总共525行,480指的是显示区域。现在改为PAL制,总共625行,显示的应该是575。你可以尝试修改为31 和 606,对比下结果有什么不同。