文獻標識碼: A
文章編號: 0258-7998(2011)06-0031-04
飛機研發(fā)過程中,,需要對包含目標信息和地圖信息的機載視頻信號進行調(diào)試,。但是機載顯示終端普遍存在價格昂貴、使用壽命短等缺點,,如果使用它不斷地調(diào)試機載視頻信號,,則機載顯示終端的消耗會增大,研發(fā)成本將大幅提高,。
本文介紹了一種DVI視頻信號疊加器的設(shè)計方案,,可以對兩組相同分辨率和刷新頻率的DVI視頻信號轉(zhuǎn)化,、合成并輸出。通過該系統(tǒng),,從路圖像的非黑像素能夠覆蓋主路圖像相同坐標的像素,,從而完成對機載顯示終端的模擬。該方案主要以1024×768@60Hz的視頻源為研究對象,,可根據(jù)實際需要調(diào)節(jié),,并可支持多種分辨率和刷新頻率(640×480@60Hz,800×600@60Hz,,1024×768@60Hz),。
由于設(shè)計了這種模擬裝置,因此不必用機載顯示終端調(diào)試機載視頻信號,,從而減少對機載顯示終端的消耗,。DVI視頻信號疊加器的使用,節(jié)約了開發(fā)成本,。
1 DVI接口
數(shù)字視頻接口(DVI)是一種適應數(shù)字顯示器飛速發(fā)展而產(chǎn)生的顯示接口,。DVI 標準由 DDWG(Digital Display Working Group)于1999年4月正式推出,該組織包括了Intel,、IBM,、HP、Silicon Image,、NEC等眾多芯片及整機的生產(chǎn)廠家,,因而 DVI 標準具有廣泛的業(yè)界支持[1]。DVI的接口主要有兩種類型:DVI-Digital(DVI-D),,只支持數(shù)字式顯示器,,共 24 個 引 腳;DVI-Integrated(DVI-I),,兼容模擬和數(shù)字的連接,,共29個引腳。計算機顯卡一般有DVI-I和VGA兩個接口,。本設(shè)計選用的是 DVI-I 接口,,相對于VGA(Video Graphics Array)接口,其優(yōu)勢突出,,DVI傳輸?shù)氖菙?shù)字信號,,數(shù)字圖像信息不需經(jīng)過數(shù)字→模擬→數(shù)字繁瑣的轉(zhuǎn)換過程,就會直接被傳送到顯示設(shè)備上,,大大節(jié)省了時間,,因此它的速度更快,能有效消除拖影現(xiàn)象。而且VGA模擬信號易受干擾,,DVI信號則抗干擾能力強,,圖像信號沒有衰減,色彩更純凈,、逼真,。
2 VESA標準介紹
VESA(Video Electronics Standards Association)即視頻電子標準協(xié)會,主要致力于制訂并推廣顯示相關(guān)標準,。它規(guī)定了各種分辨率和刷新頻率的顯示監(jiān)視器定時標準(簡稱VESA標準),。
2.1 VESA標準時序圖與參數(shù)定義
從圖 1可以看出[2],VESA標準包括場同步(VSYNC),、行同步(HSYNC),、像素數(shù)據(jù)有效(DE)、像素時鐘(CLK),、像素數(shù)據(jù)(Data,一般為24 bit)五組信號,。
VESA標準的五組視頻信號之間有嚴格的定時參數(shù),,場(行)掃描包括場(行)消隱期和場(行)有效顯示期(即Addr Time)。場(行)消隱期又包括同步期(Sync),、后肩(Back Porch),、頂(左)邊(Top (Left)Border)、底(右)邊(Bottom (Right)Border),、前肩(Front Porch),。圖 1以行同步極性和場同步極性都是負極性為例,即同步期為低電平[2],。關(guān)于同步極性的規(guī)定(如在1 024×768@60Hz的視頻格式下),,如圖2中“Hor Sync Polarity=NEGATIVE”,“Ver Sync Polarity= NEGATIVE”所示,。
2.2 VESA參數(shù)值舉例(1 024×768@60Hz)
VESA同樣規(guī)定了各種參數(shù)在不同分辨率和刷新頻率的具體值,,例如1 024×768@60Hz的定時參數(shù)值如圖2所示[2]。結(jié)合圖 1與圖2便可容易地用VHDL語言生成1 024×768@60Hz的時序信號,。
3 系統(tǒng)框圖
系統(tǒng)總體框圖如圖 3所示,,大致可分為五個部分:DVI接口、DVI解碼電路,、FPGA主控制器及存儲器電路,、DVI編碼電路。本設(shè)計只選取了兩路綠色數(shù)據(jù)輸入信號進行處理,,故以下的像素數(shù)據(jù)信號(Data)無特殊說明都是綠色的8位信號,。
連接DVI接口的計算機顯卡,通過DDC[3,,4]接口讀取存儲在EEPROM中的EDID[3]數(shù)據(jù),,在通信握手成功后,,向DVI接口發(fā)出T.M.D.S視頻信號。DVI接口傳輸?shù)腡.M.D.S時序碼流,,經(jīng)過T.M.D.S解碼電路可以被解碼為VESA標準的數(shù)字視頻信號,。SRAM1(SRAM3)與SRAM2(SRAM4)構(gòu)成VESA1(VESA2)鏈路的一組乒乓RAM,輪流存儲VESA1(VESA2)鏈路的像素數(shù)據(jù),。FPGA讀取已存儲的像素數(shù)據(jù)進行疊加操作并產(chǎn)生VESA標準的視頻信號,,然后通過VESA3鏈路發(fā)送到T.M.D.S編碼電路。T.M.D.S編碼電路將VESA3鏈路的VESA標準的信號編碼成T.M.D.S時序碼流,,最后將其傳送到DVI接口,,供顯示器顯示。引入乒乓RAM是由于即使兩路VESA視頻信號分辨率和刷新頻率相同,,兩者一般也存在非零的相位差,,所以需要存儲器對它們的像素數(shù)據(jù)進行存儲。
T.M.D.S解碼電路的解碼芯片采用TFP401,,T.M.D.S編碼電路的編碼芯片采用TFP410,。SRAM選用IS61LV-
10248-8TI,其讀寫周期為8 ns,,存儲空間為1 M×8 bit,,能夠滿足系統(tǒng)像素時鐘最高為65 MHz、最高分辨率為1024×768的要求,。
4 工作流程
FPGA內(nèi)部工作模塊如圖4所示,。下面簡要闡述關(guān)鍵信號的數(shù)據(jù)流向。
場同步極性判斷模塊的功能是根據(jù)輸入的VESA1信號判斷出場同步極性(VSP),,因VESA1和VESA2視頻格式相同,,只需判斷VESA1的場同步極性。VESA1(VESA2)寫地址生成模塊的功能是利用場同步極性實現(xiàn)寫地址和像素位置的合理對應,。輸出時序,、寫地址生成模塊的功能是利用場同步極性、VESA1寫地址生成模塊生成的寫地址a_write1和VESA1中的場同步信號,,實現(xiàn)分辨率的判斷,,進而結(jié)合其他信號完成輸出時序的生成和讀地址的生成。SRAM控制模塊負責根據(jù)上述生成的讀地址和寫地址,,寫入兩路VESA信號的新的像素數(shù)據(jù),,讀出先前存儲的兩路VESA信號像素數(shù)據(jù)。被讀出的兩個像素點將用于輸出時序,、寫地址生成模塊的像素疊加操作,,產(chǎn)生的像素作為輸出像素。
4.1 場同步極性(Ver Sync Polarity)判斷
由于DE1=1期間,VSYNC1信號必然處于非同步期,,此時的電平與同步期相反,。所以,在DE1=1時,,若VSYNC1=1,,則記為VSP=0(Ver Sync Polarity=NEGATIVE),否則,,記為VSP=1(Ver Sync Polarity=POSITIVE),。在實現(xiàn)該模塊的編程中,采用VESA1視頻信號中的CLK1像素時鐘信號上升沿來同步此進程,,可以保證產(chǎn)生的信號穩(wěn)定,。
4.2 VESA1和VESA2寫地址生成
因為VESA1寫地址生成與VESA2寫地址生成類似,這里只介紹VESA1的寫地址(a_write1)生成,。由于系統(tǒng)中SRAM的地址總線為20位(尋址能力1M),,所以a_write1為20位。若將輸入視頻信號的分辨率記為def,,則VESA1一幀像素數(shù)據(jù)所需SRAM空間范圍是0~def-1,。因此,在場同步期間(VSYNC1=VSP),,可令a_write1<=220-1。在非場同步期間,,若處于像素數(shù)據(jù)有效期(DE1=1),,則當像素時鐘(CLK1)上升沿到來時,對a_write1實行自加一操作(假設(shè)已設(shè)置T.M.D.S解碼器1輸出的控制信號及像素數(shù)據(jù)在CLK1的上升沿前后穩(wěn)定),;若處于像素數(shù)據(jù)無效期(DE1≠0),,則a_write1保持不變。這樣,,在一幀圖像期間,,對應從圖像左上角開始計數(shù)的每個像素數(shù)據(jù),便可形成0~def-1的地址范圍,。
4.3 輸出時序,、讀地址生成
4.3.1 分辨率判斷
a_write1(VESA1寫地址)的范圍是0~def-1,而a_write1完成從def-1到0跳變的觸發(fā)源正是場同步信號(VSYNC1)從非同步期到同步期的跳變,。因此,,可定義一信號def_clk,當VSYNC1≠VSP時,,def_clk<=0,,否則,def_clk<=1。這樣,,當def_clk上升沿到來時,,正是場同步信號從非同步期到同步期的跳變,此時若令20位信號def_1<= a_write1(等于def-1),,且令def<=def_1+1,,則可得真正的分辨率,,。
4.3.2 暫時輸出時序控制信號生成
VESA標準的控制信號包括VSYNC,、HSYNC、DE,。由于已知兩路視頻信號的分辨率(def),,這時將VESA1的像素時鐘(CLK1)作為暫時的輸出時序像素時鐘(CLK33),再結(jié)合VESA標準的介紹,,便可生成分辨為def的暫時的輸出時序控制信號VSYNC33,、HSYNC33、DE33,。
4.3.3 VESA3讀地址生成
由于此地址生成方法與VESA1和VESA2寫地址生成方法相同,,只是此處生成的地址是SRAM控制器用來讀取像素數(shù)據(jù)而已,故不再贅述,。
4.3.4 換場信號生成
當主時序換場時,,每一路視頻信號的兩片SRAM需要交換讀寫方式,即若換場前讀SRAM1,、SRAM3,,寫SRAM2、SRAM4,,則換場后讀SRAM2,、SRAM4,寫SRAM1,、SRAM3,。因此需要一個信號在主時序相鄰兩場的電平不同,即換場信號,,記為v_trans,。此信號用來控制圖 4中SRAM控制模塊的讀寫方式。
v_trans的生成方式比較簡單,,只需在VSYNC33的上升沿到來時將v_trans取反即可,。
4.3.5 輸出時序同步處理和疊加像素生成
由于信號在FPGA生成的電路存在延遲,主時序控制信號和像素時鐘信號可能產(chǎn)生不同步現(xiàn)象,。因此需要對控制信號進行同步處理,,同步期間同時生成像素數(shù)據(jù)Data3(VESA3像素數(shù)據(jù))并輸出,。VESA3中的像素時鐘直接短接CLK33即可。Data11(Data22)是從SRAM中讀取的VESA1(VESA2)鏈路像素數(shù)據(jù),。
同步過程為CLK33下降沿到來時輸出控制信號和像素數(shù)據(jù),。由于本文將VESA1作為主路、VESA2作為從路,,所以要將VESA2信號疊加在VESA1上,。疊加算法為:若VESA2第i個像素點(Data22)為黑色(Data22=0),則輸出的VESA3第i個像素為VESA1的第i個像素(Data11),,即Data3<=Data11,;否則,輸出的VESA3第i個像素為VESA2的第i個像素,即Data3<=Data22,。
4.4 SRAM控制
將SRAM1和SRAM2分為一組,,對應VESA1鏈路;將SRAM3和SRAM4分為一組,,對應VESA2鏈路,。SRAM控制模塊需要對每一組中的兩塊SRAM輪流進行讀寫操作。若v_trans=0,,則用VESA3讀地址生成模塊產(chǎn)生的地址a_read來讀取SRAM1,、SRAM3,分別得像素數(shù)據(jù)Data11,、Data22,,同時用VESA1、VESA2寫地址生成模塊產(chǎn)生的地址a_write1,、a_write2分別將Data1,、Data2寫入SRAM2、SRAM4,;否則,用地址a_read讀取SRAM2,、SRAM4,,分別得像素數(shù)據(jù)Data11、Data22,,同時用地址a_write1和a_write2分別將Data1和Data2寫入SRAM1,、SRAM3。Data11,、Data22被送至輸出時序,、讀地址生成模塊進行疊加像素生成。
5 實驗結(jié)果
對于1 024×768@60Hz的VESA時序,,控制信號(vsync,,hsync,,de)和像素時鐘(idck)的仿真結(jié)果如圖 5所示,其他分辨率的仿真圖不再給出,。經(jīng)過測量場同步信號和行同步信號的周期分別為16.7 ms,、20.7 ?滋s,與VESA標準[2]一致,,其他參數(shù)經(jīng)測量也吻合,,不再列舉。
由于只對兩路視頻中的綠色信號進行了疊加,,顯示色數(shù)有些不足,。后期研究可向全彩色視頻疊加方向努力。但彩色信號疊加與綠色信號疊加在原理上相同,,只是意味著要選用引腳數(shù)更多的FPGA,。
參考文獻
[1] Digital Display Working Group.Digital visual interface DVI,Revision1.0.1999,,4.
[2] Video Electronics Standards Association.VESA and industry standards and guidelines for computer display monitor timing(DMT).Version 1.0,,Revision 10,2004.
[3] Video Electronics Standards Association.VESA E-EDID implementation guide.Version1.0,,2001.
[4] Video Electronics Standards Association.Display data channel (DDC) specification.Version 3,,1997.