《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于DVI和FPGA的視頻疊加器設計
基于DVI和FPGA的視頻疊加器設計
來源:電子技術應用2011年第6期
趙艷軍,何其銳,施錫濤
電子科技大學 光電信息學院,四川 成都610054
摘要: 利用FPGA作為主控單元,以數字視頻接口DVI為視頻接口、TI公司的TFP401和TFP410為視頻信號的編解碼芯片、ISSI公司的SRAM IS61LV10248-8TI為存儲單元完成視頻疊加器的設計。通過該系統,從路圖像的非黑像素能夠覆蓋主路圖像相同坐標的像素。
中圖分類號: TP391.4
文獻標識碼: A
文章編號: 0258-7998(2011)06-0031-04
Implementation of the device for video overlay based on DVI and FPGA
Zhao Yanjun,He Qirui,Shi Xitao
(School of Optoelectronic Information, University of Electronic Science and Technology of China, Chengdu 610054,China
Abstract: With FPGA as the master controller, DVI as the video interface, TFP401 and TFP410 of TI company respectively as the decoder and encoder chip, the SRAM IS61LV10248-8TI of ISSI company as the storage unit, the device for video overlay is implemented. Through this device, the non-black pixels of the slave image can overlay the pixels at the same location of the master image.
Key words : digital video overlay;FPGA;T.M.D.S


 飛機研發過程中,需要對包含目標信息和地圖信息的機載視頻信號進行調試。但是機載顯示終端普遍存在價格昂貴、使用壽命短等缺點,如果使用它不斷地調試機載視頻信號,則機載顯示終端的消耗會增大,研發成本將大幅提高。
    本文介紹了一種DVI視頻信號疊加器的設計方案,可以對兩組相同分辨率和刷新頻率的DVI視頻信號轉化、合成并輸出。通過該系統,從路圖像的非黑像素能夠覆蓋主路圖像相同坐標的像素,從而完成對機載顯示終端的模擬。該方案主要以1024×768@60Hz的視頻源為研究對象,可根據實際需要調節,并可支持多種分辨率和刷新頻率(640×480@60Hz,800×600@60Hz,1024×768@60Hz)。
    由于設計了這種模擬裝置,因此不必用機載顯示終端調試機載視頻信號,從而減少對機載顯示終端的消耗。DVI視頻信號疊加器的使用,節約了開發成本。
1 DVI接口
    數字視頻接口(DVI)是一種適應數字顯示器飛速發展而產生的顯示接口。DVI 標準由 DDWG(Digital Display Working Group)于1999年4月正式推出,該組織包括了Intel、IBM、HP、Silicon Image、NEC等眾多芯片及整機的生產廠家,因而 DVI 標準具有廣泛的業界支持[1]。DVI的接口主要有兩種類型:DVI-Digital(DVI-D),只支持數字式顯示器,共 24 個 引 腳;DVI-Integrated(DVI-I),兼容模擬和數字的連接,共29個引腳。計算機顯卡一般有DVI-I和VGA兩個接口。本設計選用的是 DVI-I 接口,相對于VGA(Video Graphics Array)接口,其優勢突出,DVI傳輸的是數字信號,數字圖像信息不需經過數字→模擬→數字繁瑣的轉換過程,就會直接被傳送到顯示設備上,大大節省了時間,因此它的速度更快,能有效消除拖影現象。而且VGA模擬信號易受干擾,DVI信號則抗干擾能力強,圖像信號沒有衰減,色彩更純凈、逼真。
2 VESA標準介紹
    VESA(Video Electronics Standards Association)即視頻電子標準協會,主要致力于制訂并推廣顯示相關標準。它規定了各種分辨率和刷新頻率的顯示監視器定時標準(簡稱VESA標準)。
2.1 VESA標準時序圖與參數定義
    從圖 1可以看出[2],VESA標準包括場同步(VSYNC)、行同步(HSYNC)、像素數據有效(DE)、像素時鐘(CLK)、像素數據(Data,一般為24 bit)五組信號。

 

 

    VESA標準的五組視頻信號之間有嚴格的定時參數,場(行)掃描包括場(行)消隱期和場(行)有效顯示期(即Addr Time)。場(行)消隱期又包括同步期(Sync)、后肩(Back Porch)、頂(左)邊(Top (Left)Border)、底(右)邊(Bottom (Right)Border)、前肩(Front Porch)。圖 1以行同步極性和場同步極性都是負極性為例,即同步期為低電平[2]。關于同步極性的規定(如在1 024×768@60Hz的視頻格式下),如圖2中“Hor Sync Polarity=NEGATIVE”,“Ver Sync Polarity= NEGATIVE”所示。

2.2 VESA參數值舉例(1 024×768@60Hz)
    VESA同樣規定了各種參數在不同分辨率和刷新頻率的具體值,例如1 024×768@60Hz的定時參數值如圖2所示[2]。結合圖 1與圖2便可容易地用VHDL語言生成1 024×768@60Hz的時序信號。
3 系統框圖
    系統總體框圖如圖 3所示,大致可分為五個部分:DVI接口、DVI解碼電路、FPGA主控制器及存儲器電路、DVI編碼電路。本設計只選取了兩路綠色數據輸入信號進行處理,故以下的像素數據信號(Data)無特殊說明都是綠色的8位信號。

    連接DVI接口的計算機顯卡,通過DDC[3,4]接口讀取存儲在EEPROM中的EDID[3]數據,在通信握手成功后,向DVI接口發出T.M.D.S視頻信號。DVI接口傳輸的T.M.D.S時序碼流,經過T.M.D.S解碼電路可以被解碼為VESA標準的數字視頻信號。SRAM1(SRAM3)與SRAM2(SRAM4)構成VESA1(VESA2)鏈路的一組乒乓RAM,輪流存儲VESA1(VESA2)鏈路的像素數據。FPGA讀取已存儲的像素數據進行疊加操作并產生VESA標準的視頻信號,然后通過VESA3鏈路發送到T.M.D.S編碼電路。T.M.D.S編碼電路將VESA3鏈路的VESA標準的信號編碼成T.M.D.S時序碼流,最后將其傳送到DVI接口,供顯示器顯示。引入乒乓RAM是由于即使兩路VESA視頻信號分辨率和刷新頻率相同,兩者一般也存在非零的相位差,所以需要存儲器對它們的像素數據進行存儲。
    T.M.D.S解碼電路的解碼芯片采用TFP401,T.M.D.S編碼電路的編碼芯片采用TFP410。SRAM選用IS61LV-
10248-8TI,其讀寫周期為8 ns,存儲空間為1 M×8 bit,能夠滿足系統像素時鐘最高為65 MHz、最高分辨率為1024×768的要求。
4 工作流程
    FPGA內部工作模塊如圖4所示。下面簡要闡述關鍵信號的數據流向。

    場同步極性判斷模塊的功能是根據輸入的VESA1信號判斷出場同步極性(VSP),因VESA1和VESA2視頻格式相同,只需判斷VESA1的場同步極性。VESA1(VESA2)寫地址生成模塊的功能是利用場同步極性實現寫地址和像素位置的合理對應。輸出時序、寫地址生成模塊的功能是利用場同步極性、VESA1寫地址生成模塊生成的寫地址a_write1和VESA1中的場同步信號,實現分辨率的判斷,進而結合其他信號完成輸出時序的生成和讀地址的生成。SRAM控制模塊負責根據上述生成的讀地址和寫地址,寫入兩路VESA信號的新的像素數據,讀出先前存儲的兩路VESA信號像素數據。被讀出的兩個像素點將用于輸出時序、寫地址生成模塊的像素疊加操作,產生的像素作為輸出像素。
4.1 場同步極性(Ver Sync Polarity)判斷
    由于DE1=1期間,VSYNC1信號必然處于非同步期,此時的電平與同步期相反。所以,在DE1=1時,若VSYNC1=1,則記為VSP=0(Ver Sync Polarity=NEGATIVE),否則,記為VSP=1(Ver Sync Polarity=POSITIVE)。在實現該模塊的編程中,采用VESA1視頻信號中的CLK1像素時鐘信號上升沿來同步此進程,可以保證產生的信號穩定。
4.2 VESA1和VESA2寫地址生成
    因為VESA1寫地址生成與VESA2寫地址生成類似,這里只介紹VESA1的寫地址(a_write1)生成。由于系統中SRAM的地址總線為20位(尋址能力1M),所以a_write1為20位。若將輸入視頻信號的分辨率記為def,則VESA1一幀像素數據所需SRAM空間范圍是0~def-1。因此,在場同步期間(VSYNC1=VSP),可令a_write1<=220-1。在非場同步期間,若處于像素數據有效期(DE1=1),則當像素時鐘(CLK1)上升沿到來時,對a_write1實行自加一操作(假設已設置T.M.D.S解碼器1輸出的控制信號及像素數據在CLK1的上升沿前后穩定);若處于像素數據無效期(DE1&ne;0),則a_write1保持不變。這樣,在一幀圖像期間,對應從圖像左上角開始計數的每個像素數據,便可形成0~def-1的地址范圍。
4.3 輸出時序、讀地址生成
4.3.1 分辨率判斷

      a_write1(VESA1寫地址)的范圍是0~def-1,而a_write1完成從def-1到0跳變的觸發源正是場同步信號(VSYNC1)從非同步期到同步期的跳變。因此,可定義一信號def_clk,當VSYNC1&ne;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),再結合VESA標準的介紹,便可生成分辨為def的暫時的輸出時序控制信號VSYNC33、HSYNC33、DE33。
4.3.3 VESA3讀地址生成
    由于此地址生成方法與VESA1和VESA2寫地址生成方法相同,只是此處生成的地址是SRAM控制器用來讀取像素數據而已,故不再贅述。
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生成的電路存在延遲,主時序控制信號和像素時鐘信號可能產生不同步現象。因此需要對控制信號進行同步處理,同步期間同時生成像素數據Data3(VESA3像素數據)并輸出。VESA3中的像素時鐘直接短接CLK33即可。Data11(Data22)是從SRAM中讀取的VESA1(VESA2)鏈路像素數據。
    同步過程為CLK33下降沿到來時輸出控制信號和像素數據。由于本文將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讀地址生成模塊產生的地址a_read來讀取SRAM1、SRAM3,分別得像素數據Data11、Data22,同時用VESA1、VESA2寫地址生成模塊產生的地址a_write1、a_write2分別將Data1、Data2寫入SRAM2、SRAM4;否則,用地址a_read讀取SRAM2、SRAM4,分別得像素數據Data11、Data22,同時用地址a_write1和a_write2分別將Data1和Data2寫入SRAM1、SRAM3。Data11、Data22被送至輸出時序、讀地址生成模塊進行疊加像素生成。
5 實驗結果
    對于1 024&times;768@60Hz的VESA時序,控制信號(vsync,hsync,de)和像素時鐘(idck)的仿真結果如圖 5所示,其他分辨率的仿真圖不再給出。經過測量場同步信號和行同步信號的周期分別為16.7 ms、20.7 ?滋s,與VESA標準[2]一致,其他參數經測量也吻合,不再列舉。

    由于只對兩路視頻中的綠色信號進行了疊加,顯示色數有些不足。后期研究可向全彩色視頻疊加方向努力。但彩色信號疊加與綠色信號疊加在原理上相同,只是意味著要選用引腳數更多的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.

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 我两腿被同学摸的直流水 | 快点使劲舒服爽视频| 欧美亚洲校园第一页| 久久久久亚洲Av片无码下载蜜桃| 伊人久久大香线蕉| 国产大片黄在线观看| 欧美大杂交18p| 狠狠色噜噜狠狠狠狠97| 老师的兔子好多软水在线看| 2021免费日韩视频网| 亚洲视频在线免费| 免费无码又爽又刺激毛片| 国产免费色视频| 婷婷五月在线视频| 成人免费看黄20分钟| 无翼乌邪恶工番口番邪恶| 成年人的免费视频| 日产亚洲一区二区三区| 日本亚洲精品色婷婷在线影院 | 边摸边吃奶边做爽免费视频99| 高清永久免费观看| caoporm在线视频| www.日日干| 中文在线√天堂| 中文亚洲av片不卡在线观看| 中文字幕亚洲一区二区va在线| 久久人人爽爽爽人久久久| 亚洲av永久无码一区二区三区| 亚洲va中文字幕无码毛片| 亚洲最大的视频网站| 国产精品亚洲欧美日韩一区在线| 日批视频网址免费观看| 日本大片免a费观看视频| 日本天堂在线视频| 男女一边摸一边爽爽视频| 精品国产不卡一区二区三区| 美女被免费网站视频在线| 香蕉视频一区二区| 色综合蜜桃视频在线观看| 色五月在线视频| 狠狠色噜噜狠狠狠狠98|