文獻標識碼: A
文章編號: 0258-7998(2014)05-0052-03
顯示器是飛行員獲取飛機姿態(tài)導航信息、任務信息、戰(zhàn)場姿態(tài)的關鍵設備[1]。隨著信息量的不斷增加,顯示器的分辨率也在不斷提升,能夠顯示高清畫面的DVI信號逐漸在視頻傳輸系統(tǒng)中占據(jù)主導地位。近年來,航圖、近地告警、顯控畫面和機載雷達等與顯示設備之間逐漸開始采用DVI信號進行信號傳輸。本文結合機載航電顯控系統(tǒng)要求,將航圖、近地告警、顯控畫面或機載雷達中的兩個信號源同時顯示在一個大分辨顯示器上。在DVI信號基礎上,提出基于FPGA的雙鏈路DVI信號設計,可以實現(xiàn)將兩路1 280×1 024@60 Hz單鏈路DVI轉換成一路 2 560×1 024@60 Hz分辨率的雙鏈路DVI信號進行傳輸。
1 雙鏈路DVI接口
1999年,由Silicon Image、Intel、IBM、HP等公司共同組成數(shù)字顯示工作組DDWG(Digital Display Working Group)制定了數(shù)字視頻接口DVI(Digital Visual Interface)[2]。由于其高帶寬、長距離、抗干擾能力強等優(yōu)勢,DVI信號作為數(shù)據(jù)傳輸系統(tǒng)數(shù)字化方式正得到越來越多的應用[3]。
DVI采用最小化傳輸差分信號TMDS(Transition Minimized Differential Signaling),單通道TMDS最大帶寬為1.65 Gb/s。在DVI1.0標準中,傳統(tǒng)的單鏈路傳輸信道采用3路TMDS數(shù)據(jù)通道(data0~data2)和一路TMDS差分時鐘通道來傳輸數(shù)字視頻信號,提供3×1.65 Gb/s的理論帶寬,最高分辨率可達1 600×1 200@60 Hz,時鐘達到162 MHz,實際帶寬為3×1.62 Gb/s[4]。而雙鏈路DVI傳輸信道采用6路TMDS數(shù)據(jù)通道(data0~data5)和一路TMDS差分時鐘通道來傳輸數(shù)字視頻信號。如圖1所示,雙鏈路DVI信號提供6×1.65 Gb/s的理論帶寬,最高分辨率可達2 560×1 600@60 Hz。雙鏈路DVI和單鏈路DVI可實現(xiàn)的分辨率對照表如表1所示。
本設計采用108 MHz的時鐘將兩幅分辨率為1 280×1 024@60 Hz的畫面轉換成分辨率為2 560×1 024@60 Hz的雙鏈路DVI信號發(fā)送給顯示器。
2 系統(tǒng)構架與實現(xiàn)
航圖、近地告警、機載雷達等畫面都采用DVI信號進行傳輸。本文結合機載航電顯控系統(tǒng)需要同時顯示兩個視頻源的實際需求,設計了如圖2所示的雙鏈路DVI信號系統(tǒng)。
從圖2中可以看出,整個系統(tǒng)包括2個單鏈路的DVI信號源、DVI解碼電路、雙鏈路DVI編碼電路、幀存電路和FPGA電路。
系統(tǒng)工作方式:首先將信號源送來的兩路DVI信號經(jīng)解碼后轉換成兩組108 MHz的RGB數(shù)據(jù)以及相應的控制信號;然后FPGA系統(tǒng)需要將分辨率為1 280×1 024@60 Hz的兩幅畫面合成為一幅分辨率為2 560×1 024@
60 Hz的畫面,此時時鐘頻率為216 MHz;再按照DVI雙鏈路的標準將數(shù)據(jù)分發(fā)到DVI編碼通道;最后由雙鏈路DVI編碼電路將數(shù)據(jù)轉換成雙鏈路DVI信號。
DVI解碼電路采用專用的DVI接收芯片將DVI信號源轉換為24 bit的并行視頻數(shù)據(jù)信號。幀存選用Micron公司的SDRAM芯片MT48LC4M32B2-6,其外部時鐘速率可在一定范圍內(nèi)連續(xù)變化,最高工作頻率可達到166 MHz[5]。系統(tǒng)對1 280×1 024分辨率的畫面進行幀緩存儲,一幀畫面需要1 280×1 024=1 310 720個地址空間,該SDRAM具有4 MB的存儲空間,滿足存儲要求。本系統(tǒng)中采用兩片SDRAM進行乒乓操作,以保證實際顯示中不丟失畫面。
2.1 FPGA系統(tǒng)設計
FPGA系統(tǒng)頂層構架如圖3所示,系統(tǒng)主要由DVI信號畫面合成模塊、雙鏈路DVI數(shù)據(jù)轉換模塊和雙鏈編碼芯片配置模塊三部分組成。
2.2 DVI信號合成模塊
外部輸入的航圖信號或近地告警等信號經(jīng)過解碼電路后,將10 bit的串行DVI信號解碼成8 bit并行的像素數(shù)據(jù)及相應的控制信號,并發(fā)送到FPGA內(nèi)部。FPGA接收兩路分辨率為1 280×1 024@60 Hz的數(shù)字信號后需要在FPGA內(nèi)部實現(xiàn)對兩幅畫面的合成處理。為了減少對幀存資源的占用,本設計只選擇其中一幅畫面進行幀緩存儲處理,以另外一幅畫面的時序作為合成畫面的參考時序(最終送屏顯示的畫面將與該時序同步),在FPGA中將該時序?qū)漠嬅娑x為主畫面,將需要進行幀緩存儲的畫面定義為副畫面[6-8]。DVI信號合成模塊的構架如圖4所示。
利用主DVI信號的時鐘和使能信號將主DVI信號的Data寫入FPGA內(nèi)部FIFO(深度為2 048 bit),利用倍頻后的時鐘和DEA1信號將數(shù)據(jù)讀出,產(chǎn)生DataA1。
其中時序A產(chǎn)生3個使能信號,時序A的時序示意圖如圖5所示。
FPGA以副DVI信號的場同步信號為參考時序(即相同的場同步),利用晶振時鐘分別產(chǎn)生時序B和寫SDRAM的地址,將數(shù)據(jù)寫入SDRAM中相應的地址空間;以主DVI信號的場同步信號為參考時序(即相同的場同步),利用晶振時鐘產(chǎn)生時序C和讀SDRAM的地址將數(shù)據(jù)讀出;最后利用倍頻后的晶振時鐘和DEA2信號通過FIFO將數(shù)據(jù)導出,產(chǎn)生DataA2。
利用DEA0信號將DataA1與DataA2合成后可產(chǎn)生一幅時鐘為216 MHz、分辨率為2 560×1 024@60 Hz的畫面。圖6為使用QuartusⅡ11.0中SignalTap采集的信號合成模塊時序圖,圖中inst38|deout、 inst26|deout、inst38|ALLde分別對應上述的DEA1、DEA2、DEA0。從圖中可以看出工作情況與以上描述一致。
2.3 DVI雙鏈路數(shù)據(jù)轉換模塊
DVI雙鏈路數(shù)據(jù)轉換模塊包括兩個部分:(1)DVI信號奇偶點的分離,(2)雙鏈路DVI數(shù)據(jù)編碼預處理。DVI雙鏈數(shù)據(jù)轉換模塊的構架如圖7所示。
DVI雙鏈路信號是DVI單鏈路信號的擴展,其擴展原理是將原有的3路TMDS數(shù)據(jù)通道(data0~data2)擴展為6路TMDS數(shù)據(jù)通道(data0~data5)。具體的實現(xiàn)方式是將行方向的點拆分為奇點和偶點,分別放入data0~data2和data3~data5中,所以在進行數(shù)據(jù)轉換時首先要將DVI信號按照奇偶點的模式進行拆分,其次按照雙鏈路DVI編碼電路的實際要求對視頻信號的數(shù)據(jù)進行編碼預處理。
從圖7中可以看出,視頻信號拆分為奇偶點后是24 bit的并行數(shù)據(jù),DVI編碼芯片接收數(shù)據(jù)為12 bit的并行數(shù)據(jù),所以在發(fā)送給編碼芯片之前需要對數(shù)據(jù)進行預處理。預處理的原理是將24 bit的RGB數(shù)據(jù)按照固定的對應關系分別在時鐘的上下邊沿分發(fā)到12 bit的數(shù)據(jù)位上。其對應關系如表2所示。
2.4 雙鏈編碼芯片的配置
DVI雙鏈數(shù)據(jù)產(chǎn)生后便可以發(fā)送到雙鏈路DVI編碼電路,該電路通過使用兩片編碼芯片的組合來實現(xiàn)。兩片編碼芯片分別為主編碼芯片和從編碼芯片,主編碼芯片實現(xiàn)時鐘通道和data0~data2通道的編碼,從編碼芯片實現(xiàn)data3~data5通道的編碼。主、從編碼芯片接收相同的時鐘和時序,其中主編碼芯片接收奇點數(shù)據(jù),從編碼芯片接收偶點數(shù)據(jù)和來自主編碼芯片的同步控制信號。雙鏈路DVI編碼電路示意圖如圖8所示。
雙鏈路的DVI編碼電路需要對DVI編碼芯片的內(nèi)部寄存器進行配置后才能進行正常工作。編碼芯片的配置順序如圖9所示。
在進行編碼電路配置前首先要關閉視頻信號,然后分別對從編碼芯片和主編碼芯片的寄存器進行配置(此時編碼芯片處于不工作狀態(tài))。配置完畢后需要對從編碼芯片和主編碼芯片的寄存器狀態(tài)進行確認,若配置正確則將視頻信號打開,否則需要對主從編碼器進行重新配置。最后將從編碼芯片和主編碼芯片的使能信號打開,使編碼器處于正常工作狀態(tài)。
經(jīng)過雙鏈路DVI編碼電路產(chǎn)生的編碼信號可直接發(fā)送到支持雙鏈路DVI信號的顯示器進行顯示。
3 驗證
本設計以Altera的EP3C80F780I8芯片為主控芯片,在QuartusⅡ 11.0 平臺上使用VerilogHDL對邏輯進行設計,編碼芯片信號為SIL1178,測試顯示器選用飛利浦的顯示器298x4q。圖10為拍攝的DVI雙鏈路顯示畫面,左邊為動態(tài)俯視航圖畫面,右邊為動態(tài)地形畫面。從圖中可以看出,本設計測試效果良好。
本文依據(jù)DVI1.0的標準,提出了一種基于FPGA的雙鏈路DVI信號發(fā)生設計方案,在Altera公司CycloneⅢ平臺上實現(xiàn)了2 560×1 024@ 60Hz分辨率的高清雙鏈路DVI信號輸出。本設計可廣泛應用于高清大屏顯示領域。
參考文獻
[1] 熊華剛,王中華.先進航空電子綜合技術[M].北京:國防工業(yè)出版社,2009.
[2] DDWG.Digital visual interface revision 1.0 specification[Z].1999.
[3] 屠添翼,石躍祥.視頻監(jiān)控系統(tǒng)中的圖形采集和視頻有效存儲[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的視頻疊加融合系統(tǒng)設計與實現(xiàn)[J].電子技術應用,2013,39(9):44-46.
[8] 房國志,王康.高速視頻系統(tǒng)中一種異步FIFO緩存設計[J].哈爾濱理工大學學報,2012,17(6):102-105.