汪能棟,趙玉婷,曹 峰,孫少偉
(中航工業雷達與電子設備研究院,江蘇 蘇州215011)
顯示器是飛行員獲取飛機姿態導航信息、任務信息、戰場姿態的關鍵設備[1]。隨著信息量的不斷增加,顯示器的分辨率也在不斷提升,能夠顯示高清畫面的DVI信號逐漸在視頻傳輸系統中占據主導地位。近年來,航圖、近地告警、顯控畫面和機載雷達等與顯示設備之間逐漸開始采用DVI信號進行信號傳輸。本文結合機載航電顯控系統要求,將航圖、近地告警、顯控畫面或機載雷達中的兩個信號源同時顯示在一個大分辨顯示器上。在DVI信號基礎上,提出基于FPGA的雙鏈路DVI信號設計,可以實現將兩路 1 280×1 024@60 Hz單鏈路 DVI轉換成一路 2 560×1 024@60 Hz分辨率的雙鏈路DVI信號進行傳輸。
1999 年,由 Silicon Image、Intel、IBM、HP 等公司共同組成數字顯示工作組DDWG(Digital Display Working Group)制定了數字視頻接口 DVI(Digital Visual Interface)[2]。 由于其高帶寬、長距離、抗干擾能力強等優勢,DVI信號作為數據傳輸系統數字化方式正得到越來越多的應用[3]。
DVI采用最小化傳輸差分信號TMDS(Transition Minimized Differential Signaling),單通道 TMDS最大帶寬為1.65 Gb/s。在DVI1.0標準中,傳統的單鏈路傳輸信道采用 3路 TMDS數據通道(data0~data2)和一路 TMDS差分時鐘通道來傳輸數字視頻信號,提供3×1.65 Gb/s的理論帶寬,最高分辨率可達 1 600×1 200@60 Hz,時鐘達到 162 MHz,實際帶寬為 3×1.62 Gb/s[4]。 而雙鏈路 DVI傳輸信道采用 6路 TMDS數據通道(data0~data5)和一路TMDS差分時鐘通道來傳輸數字視頻信號。如圖1所示,雙鏈路 DVI信號提供 6×1.65 Gb/s的理論帶寬,最高分辨率可達 2 560×1 600@60 Hz。雙鏈路 DVI和單鏈路DVI可實現的分辨率對照表如表1所示。

圖1 雙鏈路DVI發送示意圖

表1 分辨率對照表
本設計采用108 MHz的時鐘將兩幅分辨率為1 280×1 024@60 Hz的畫面轉換成分辨率為2 560×1 024@60 Hz的雙鏈路DVI信號發送給顯示器。
航圖、近地告警、機載雷達等畫面都采用DVI信號進行傳輸。本文結合機載航電顯控系統需要同時顯示兩個視頻源的實際需求,設計了如圖2所示的雙鏈路DVI信號系統。

圖2 DVI雙鏈路信號系統構架
從圖2中可以看出,整個系統包括2個單鏈路的DVI信號源、DVI解碼電路、雙鏈路DVI編碼電路、幀存電路和FPGA電路。
系統工作方式:首先將信號源送來的兩路DVI信號經解碼后轉換成兩組108 MHz的RGB數據以及相應的控制信號;然后FPGA系統需要將分辨率為1 280×1 024@60 Hz的兩幅畫面合成為一幅分辨率為2 560×1 024@60 Hz的畫面,此時時鐘頻率為 216 MHz;再按照DVI雙鏈路的標準將數據分發到DVI編碼通道;最后由雙鏈路DVI編碼電路將數據轉換成雙鏈路DVI信號。
DVI解碼電路采用專用的DVI接收芯片將DVI信號源轉換為24 bit的并行視頻數據信號。幀存選用Micron公司的SDRAM芯片MT48LC4M32B2-6,其外部時鐘速率可在一定范圍內連續變化,最高工作頻率可達到166 MHz[5]。系統對1 280×1 024分辨率的畫面進行幀緩存儲,一幀畫面需要1 280×1 024=1 310 720個地址空間,該SDRAM具有4 MB的存儲空間,滿足存儲要求。本系統中采用兩片SDRAM進行乒乓操作,以保證實際顯示中不丟失畫面。
FPGA系統頂層構架如圖3所示,系統主要由DVI信號畫面合成模塊、雙鏈路DVI數據轉換模塊和雙鏈編碼芯片配置模塊三部分組成。

圖3 FPGA內部邏輯頂層構架
外部輸入的航圖信號或近地告警等信號經過解碼電路后,將10 bit的串行DVI信號解碼成8 bit并行的像素數據及相應的控制信號,并發送到FPGA內部。FPGA接收兩路分辨率為1 280×1 024@60 Hz的數字信號后需要在FPGA內部實現對兩幅畫面的合成處理。為了減少對幀存資源的占用,本設計只選擇其中一幅畫面進行幀緩存儲處理,以另外一幅畫面的時序作為合成畫面的參考時序(最終送屏顯示的畫面將與該時序同步),在FPGA中將該時序對應的畫面定義為主畫面,將需要進行幀緩存儲的畫面定義為副畫面[6-8]。DVI信號合成模塊的構架如圖4所示。

圖4 DVI信號合成模塊的構架
利用主DVI信號的時鐘和使能信號將主DVI信號的 Data寫入 FPGA內部 FIFO(深度為 2 048 bit),利用倍頻后的時鐘和DEA1信號將數據讀出,產生DataA1。
其中時序A產生3個使能信號,時序A的時序示意圖如圖5所示。

圖5 時序C的時序示意圖

圖6 信號合成模塊時序圖
FPGA以副DVI信號的場同步信號為參考時序(即相同的場同步),利用晶振時鐘分別產生時序B和寫SDRAM的地址,將數據寫入SDRAM中相應的地址空間;以主DVI信號的場同步信號為參考時序(即相同的場同步),利用晶振時鐘產生時序C和讀SDRAM的地址將數據讀出;最后利用倍頻后的晶振時鐘和DEA2信號通過FIFO將數據導出,產生DataA2。
利用DEA0信號將DataA1與DataA2合成后可產生一幅時鐘為 216 MHz、分辨率為 2 560×1 024@60 Hz的畫面。圖6為使用QuartusⅡ11.0中SignalTap采集的信號合成模塊時序圖,圖中 inst38|deout、inst26|deout、inst38|ALLde分別對應上述的DEA1、DEA2、DEA0。從圖中可以看出工作情況與以上描述一致。
DVI雙鏈路數據轉換模塊包括兩個部分:(1)DVI信號奇偶點的分離,(2)雙鏈路DVI數據編碼預處理。DVI雙鏈數據轉換模塊的構架如圖7所示。

圖7 DVI雙鏈數據轉換模塊的構架
DVI雙鏈路信號是DVI單鏈路信號的擴展,其擴展原理是將原有的 3路 TMDS數據通道(data0~data2)擴展為 6路TMDS數據通道(data0~data5)。具體的實現方式是將行方向的點拆分為奇點和偶點,分別放入data0~data2和data3~data5中,所以在進行數據轉換時首先要將DVI信號按照奇偶點的模式進行拆分,其次按照雙鏈路DVI編碼電路的實際要求對視頻信號的數據進行編碼預處理。
從圖7中可以看出,視頻信號拆分為奇偶點后是24 bit的并行數據,DVI編碼芯片接收數據為12 bit的并行數據,所以在發送給編碼芯片之前需要對數據進行預處理。預處理的原理是將24 bit的RGB數據按照固定的對應關系分別在時鐘的上下邊沿分發到12 bit的數據位上。其對應關系如表2所示。

表2 數據位對應關系
DVI雙鏈數據產生后便可以發送到雙鏈路DVI編碼電路,該電路通過使用兩片編碼芯片的組合來實現。兩片編碼芯片分別為主編碼芯片和從編碼芯片,主編碼芯片實現時鐘通道和data0~data2通道的編碼,從編碼芯片實現 data3~data5通道的編碼。主、從編碼芯片接收相同的時鐘和時序,其中主編碼芯片接收奇點數據,從編碼芯片接收偶點數據和來自主編碼芯片的同步控制信號。雙鏈路DVI編碼電路示意圖如圖8所示。
雙鏈路的DVI編碼電路需要對DVI編碼芯片的內部寄存器進行配置后才能進行正常工作。編碼芯片的配置順序如圖9所示。

圖8 雙鏈路DVI編碼電路示意圖
在進行編碼電路配置前首先要關閉視頻信號,然后分別對從編碼芯片和主編碼芯片的寄存器進行配置(此時編碼芯片處于不工作狀態)。配置完畢后需要對從編碼芯片和主編碼芯片的寄存器狀態進行確認,若配置正確則將視頻信號打開,否則需要對主從編碼器進行重新配置。最后將從編碼芯片和主編碼芯片的使能信號打開,使編碼器處于正常工作狀態。

圖9 芯片配置流程
經過雙鏈路DVI編碼電路產生的編碼信號可直接發送到支持雙鏈路DVI信號的顯示器進行顯示。
本設計以Altera的EP3C80F780I8芯片為主控芯片,在QuartusⅡ 11.0平臺上使用VerilogHDL對邏輯進行設計,編碼芯片信號為SIL1178,測試顯示器選用飛利浦的顯示器298x4q。圖10為拍攝的DVI雙鏈路顯示畫面,左邊為動態俯視航圖畫面,右邊為動態地形畫面。從圖中可以看出,本設計測試效果良好。

圖10 雙鏈路DVI視頻畫面的顯示畫面
本文依據DVI1.0的標準,提出了一種基于FPGA的雙鏈路 DVI信號發生設計方案,在Altera公司CycloneⅢ平臺上實現了2 560×1 024@60Hz分辨率的高清雙鏈路DVI信號輸出。本設計可廣泛應用于高清大屏顯示領域。
[1]熊華剛,王中華.先進航空電子綜合技術[M].北京:國防工業出版社,2009.
[2]DDWG.Digital visual interface revision 1.0 specification[Z].1999.
[3]屠添翼,石躍祥.視頻監控系統中的圖形采集和視頻有效存儲[J].計算機應用研究,2005(8):241-242.
[4]張君昌,張毛毛,于樂,等.基于 FPGA和 DVI視頻接收器設計[J].微型機與應用,2013,32(16):30-32.
[5]Micron Technology.MT48LC4M32B2-1Megx32 x 4Banks data sheet[Z].2009.
[6]池水明.FPGA在實時圖像預處理中的應用[J].山西電子技術,2007(5):17-18.
[7]萬鵬,楊大勇.基于FPGA的視頻疊加融合系統設計與實現[J].電子技術應用,2013,39(9):44-46.
[8]房國志,王康.高速視頻系統中一種異步FIFO緩存設計[J].哈爾濱理工大學學報,2012,17(6):102-105.