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