趙文龍,王瑞球,田進(jìn)軍,張學(xué)軍
(1.中航工業(yè)雷達(dá)與電子設(shè)備研究院,蘇州215151;2.北京航空航天大學(xué))
隨著現(xiàn)代飛機(jī)技術(shù)的飛速發(fā)展,屏幕綜合顯示是必然趨勢[1]。機(jī)載圖形顯示是新一代航空電子系統(tǒng)實現(xiàn)綜合化、數(shù)字化和智能化的核心,而提高圖形顯示質(zhì)量、加快圖形生成速度是機(jī)載顯示系統(tǒng)的關(guān)鍵[2]。畫面顯示實時清晰是飛行員能夠及時準(zhǔn)確操作的保證,畫面刷新速度至少要比幀存刷新速度快,才能達(dá)到畫面動態(tài)實時顯示[3]。從圖形顯示系統(tǒng)的硬件結(jié)構(gòu)和圖形生成算法著手,將成熟的軟、硬件IP技術(shù)應(yīng)用到座艙綜合顯示系統(tǒng)中,并結(jié)合圖形顯示優(yōu)化處理算法,可從根本上提高機(jī)載圖形畫面顯示的性能[4]。
現(xiàn)在,座艙顯示設(shè)計已經(jīng)落后于座艙顯示的需求,需求定義與開發(fā)實現(xiàn)之間差距正在逐步拉大。座艙顯示生成需要幾周甚至幾年來實現(xiàn),增加了開發(fā)成本,降低了研究的時效性[5]。導(dǎo)致座艙顯示開發(fā)落后的主要因素是缺少快速設(shè)計工具和可重用軟件,致使座艙設(shè)計開發(fā)是一個費時很長的人工過程,嚴(yán)重限制了其顯示的開發(fā)能力[6]。現(xiàn)代座艙顯示開發(fā)過程如圖1所示。
圖1 現(xiàn)代座艙顯示開發(fā)過程
由圖1可知,現(xiàn)代座艙顯示開發(fā)存在的問題是繁瑣的人工過程、費時、無響應(yīng)、嚴(yán)重依賴特定設(shè)備(即在無硬件平臺支持的情況下,無法驗證畫面設(shè)計是否符合要求)。為了解決上述問題,同時提高CPU運行效率、保證畫面質(zhì)量、節(jié)約有限內(nèi)存空間,本文采用一種預(yù)置像素的方法來實現(xiàn)座艙畫面設(shè)計,其工作量小、開發(fā)周期短、易于維護(hù),并且改變了以往單一的只能通過代碼實現(xiàn)的思維方式,達(dá)到“即設(shè)即見”的效果。
首先利用圖像處理軟件工具生成相應(yīng)分辨率的座艙畫面,將其存儲;然后根據(jù)座艙畫面分辨率、畫面顯示設(shè)備掃描方向等將座艙畫面轉(zhuǎn)化為座艙畫面字符矩陣;再次根據(jù)像素位置與像素值之間的對應(yīng)關(guān)系,將字符點陣轉(zhuǎn)化為像素值-像素顯示位置的矩陣表;最后根據(jù)座艙畫面顯示位置、顯示設(shè)備分辨率,將像素值-像素顯示位置矩陣表上的相應(yīng)像素值填充至VRAM中相應(yīng)的像素位置。預(yù)置像素數(shù)據(jù)實現(xiàn)過程如圖2所示。
圖2 預(yù)置像素數(shù)據(jù)實現(xiàn)過程
圖像數(shù)據(jù)組成方式為圖像頭數(shù)據(jù)、調(diào)色板數(shù)據(jù)、圖像數(shù)據(jù)。其中圖像頭數(shù)據(jù)主要定義掃描方向、字節(jié)內(nèi)像素數(shù)據(jù)從高到低或從低到高排列;調(diào)色板數(shù)據(jù)定義描述像素數(shù)據(jù)的RGB顏色分量的排列順序及數(shù)據(jù)位表示;圖像數(shù)據(jù)定義每個像素點的像素值和像素點位置。圖像頭數(shù)據(jù)結(jié)構(gòu)、調(diào)色板數(shù)據(jù)結(jié)構(gòu)定義分別如下所示:
座艙顯示畫面一般是位圖圖像,位圖圖像就是把一幅圖像按水平和垂直方向劃分若干個小方格,每個小方格為一個像素點,由這些像素點排列組成的柵格稱為“光柵”,計算機(jī)通過這些像素點的位置、顏色、亮度等信息表示出整幅圖像,這些圖像即為位圖。位圖圖像也稱柵格圖像(點陣),與分辨率有關(guān),當(dāng)位圖放大時,組成它的像素點也成比例放大。BMP是一種與硬件設(shè)備無關(guān)的圖像文件格式,廣泛應(yīng)用在圖像設(shè)計中,它采用位映射存儲方式。其文件格式由3部分組成:位圖文件頭數(shù)據(jù)結(jié)構(gòu),包含BMP圖像的類型、顯示內(nèi)容;位圖信息數(shù)據(jù);圖像的寬、高、壓縮方式以及定義顏色等信息。
Photoshop是一種位圖處理軟件,能夠?qū)⒃O(shè)計畫面存儲為滿足需求的圖形畫面,其支持的色彩模式可實現(xiàn)模式之間的切換;可任意調(diào)整圖像的尺寸、分辨率及畫布的大小;可在不影響分辨率的情況下改變圖像尺寸,也可以在不影響尺寸的情況下增減分辨率;利用磁性套索工具可以自動修復(fù)圖像邊緣的像素反差,可改變之前只能用代碼實現(xiàn)的像素反差;可自由建立圖層、背景層、文本層等多種圖層,并且方便對各個圖層進(jìn)行編輯,實現(xiàn)圖像圖層的按需排列及預(yù)顯示。設(shè)計的某型座艙畫面設(shè)計如圖3所示,圖4為模擬座艙畫面。
圖3 座艙畫面設(shè)計
圖4 模擬座艙畫面
顯示畫面設(shè)計完成之后要移植到相應(yīng)的平臺環(huán)境中運行,以測試是否滿足初始設(shè)計要求[7]。首先,要滿足座艙畫面外觀要求;其次,應(yīng)詳細(xì)檢查設(shè)計座艙畫面顯示特性是否符合頂層文檔POP設(shè)計要求;最后,確保座艙畫面顯示的動態(tài)特性正確,并滿足實時性能要求[8]。
利用圖形轉(zhuǎn)化算法將生成的座艙顯示畫面通過設(shè)置分辨率、掃描方式等將其轉(zhuǎn)化為相應(yīng)分辨率的座艙畫面字符點陣。座艙畫面點陣如圖5所示,轉(zhuǎn)化后的座艙畫面字符點陣如圖6所示。
圖5 座艙畫面點陣
圖6 轉(zhuǎn)化后的座艙畫面字符點陣
通過算法將字符點陣矩陣轉(zhuǎn)化為一定像素要求的像素值,并將其像素點填充位置記錄,將像素值與像素顯示位置存入VRAM像素點陣Array[][]。VRAM像素-位置點陣結(jié)構(gòu)如圖7所示。
圖7 像素-位置點陣結(jié)構(gòu)
根據(jù)顯示區(qū)域始點坐標(biāo)及顯示畫面區(qū)域大小依次計算顯示位置,并將待顯示的像素值填入相應(yīng)顯示位置,即由CPU首先計算一幀圖形數(shù)據(jù)刷新至A場VRAM顯示,再計算下一幀圖形數(shù)據(jù)至B場并將VRAM場切換至顯示設(shè)備輸出,以此達(dá)到經(jīng)過A、B兩場乒乓操作循環(huán)實現(xiàn)圖形實時顯示。像素-位置點陣轉(zhuǎn)化為VRAM填充過程如圖8所示。
圖8 像素-位置點陣轉(zhuǎn)化為VRAM填充過程
本文所提出的座艙畫面設(shè)計方法已在某兩型產(chǎn)品環(huán)境NiosII環(huán)境和DSP環(huán)境進(jìn)行了驗證,其中NiosII環(huán)境采用Altera公司的EPC235F48418高速數(shù)字接口處理器FPGA軟核作為控制CPU,主頻為50.544 MHz;DSP環(huán)境采用ADI公司TigerSHARC系列TS101芯片作為控制CPU,主頻為40 MHz。
上述兩種測試環(huán)境所用測試畫面如圖9所示,兩種環(huán)境下圖形生成時間結(jié)果比較如表1所列。
圖9 座艙測試畫面
表1 NiosII環(huán)境實驗結(jié)果
由表1可知,在上述兩種實驗環(huán)境中,利用本文提出的方法實現(xiàn)分辨率為480×320、如圖9所示畫面,其圖形生成時間比由硬代碼實現(xiàn)縮短50%以上,大幅節(jié)省了CPU運算時間,提高了CPU運算性能,滿足機(jī)載座艙畫面實時顯示要求。
通過此種座艙畫面設(shè)計方法在某型飛機(jī)座艙顯示系統(tǒng)中的運用,證明該設(shè)計方法在座艙系統(tǒng)中能快速、高效顯示畫面,并實現(xiàn)座艙畫面預(yù)顯示,提高了座艙顯示開發(fā)的質(zhì)量和使用性能,降低了開發(fā)成本,縮短了開發(fā)周期,具有較高的工程實用價值。
[1]杜黎明.字符發(fā)送器的一種設(shè)計方案[J].航空電子技術(shù),2002(3):26-28.
[2]李曉楠.機(jī)載顯示系統(tǒng)關(guān)鍵技術(shù)研究[M].北京:北京郵電大學(xué),2007(16):8-9.
[3]姜丹丹,李成貴.基于ARM與FPGA的主飛行顯示系統(tǒng)的設(shè)計[J].計量與測試技術(shù),2009(36):50-51.
[4]張波.基于DSP和FPGA的座艙圖形顯示系統(tǒng)關(guān)鍵技術(shù)研究[J].信息與控制,2003(6):28-29.
[5]張木余.未來戰(zhàn)斗機(jī)的座艙顯示[J].光電與控制,2008(2):40-46.
[6]林成文.機(jī)載軟件圖形化設(shè)計與自動代碼生成研究[M].西安:西北工業(yè)大學(xué),2007.
[7]侯亮.飛機(jī)綜合顯示系統(tǒng)中圖形填充與字符顯示[J].火力與指揮控制,2009(1).
[8]劉碩.綜合座艙顯示控制系統(tǒng)的設(shè)計與實現(xiàn)[J].數(shù)控技術(shù),2010(15).