鄭悅 黃子碩 陳康 張孟
摘? ?要:隨著航空技術(shù)的發(fā)展,座艙圖形畫面的復(fù)雜程度及顯示信息量不斷增加,傳統(tǒng)的編程開發(fā)方式由于開發(fā)周期長、移植性、繼承性及靈活性差,已不能滿足其發(fā)展要求。文章提供一種基于IData人機(jī)界面開發(fā)工具及Vxworks操作系統(tǒng)的座艙圖形顯示軟件開發(fā)方式,此種方式具有簡單、通用、標(biāo)準(zhǔn)、移植性好、繼承性好的特點(diǎn)。重點(diǎn)介紹開發(fā)流程及關(guān)鍵技術(shù),并開發(fā)了一種飛行顯示器畫面。結(jié)果顯示,該方法開發(fā)的座艙圖形畫面顯示清晰、流暢,系統(tǒng)運(yùn)行性能穩(wěn)定。
關(guān)鍵詞:座艙顯示;IData;Vxworks;人機(jī)交互
座艙顯示系統(tǒng)作為座艙中重要的人機(jī)交互接口,融合了大量的顯示信息,如姿態(tài)、空速、高度等重要的飛行數(shù)據(jù)[1],擔(dān)負(fù)著飛機(jī)從起飛到著陸過程中飛行參數(shù)的指示及導(dǎo)航信息的顯示工作,對飛行員在飛行過程中了解飛機(jī)姿態(tài)、位置等信息有巨大的作用。座艙顯示系統(tǒng)是航空電子實現(xiàn)綜合化、數(shù)字化和智能化的核心與關(guān)鍵[2],對實現(xiàn)航空電子系統(tǒng)功能的綜合化、提高飛機(jī)的作戰(zhàn)能力和減輕飛行員的任務(wù)負(fù)荷起著重要作用。
傳統(tǒng)的座艙圖形顯示軟件多采用Visual C++和OpenGL,Vaps等開發(fā)環(huán)境,采用人工編程的方式完成,代碼繁瑣,工作量大,需投入大量的人力物力,開發(fā)周期長,實現(xiàn)困難。隨著航空技術(shù)的發(fā)展,座艙圖形顯示軟件的開發(fā)周期縮短,平臺也多樣化,傳統(tǒng)的開發(fā)方式靈活性差,對不同平臺的移植性及繼承性差,這就急需一種簡單、通用、標(biāo)準(zhǔn)、移植性好的座艙圖形顯示軟件開發(fā)方式。本研究將重點(diǎn)介紹基于IData人機(jī)界面開發(fā)工具及Vxworks嵌入式開發(fā)平臺的簡單、通用、標(biāo)準(zhǔn)、移植性好的座艙圖形顯示軟件開發(fā)方式。
1? ? IData圖形畫面開發(fā)
1.1? IData概述
IData是Quantium 3D公司開發(fā)的基于Open GL的人機(jī)界面開發(fā)工具。IData采用人機(jī)交互的方式創(chuàng)建儀表,并實時響應(yīng)程序變量及控制邏輯,能夠快速開發(fā)動態(tài)交互式圖形。IData是一個高效的基于工具的人機(jī)界面開發(fā)及配置環(huán)境,具有跨平臺的優(yōu)勢,支持將應(yīng)用程序配置在Windows/Linux/Vxworks等平臺上。
IData可通過鼠標(biāo)點(diǎn)擊的方式繪制點(diǎn)線、圓、矩形等圖元[3],并能實時響應(yīng)應(yīng)用程序中的邏輯控制,它具有功能強(qiáng)大的圖形用戶界面編輯器,并且包含紋理渲染、深度渲染、模板遮擋等功能。因此,IData被廣泛應(yīng)用于飛機(jī)座艙儀表、飛機(jī)平顯及交互式虛擬控制臺中。
1.2? IData開發(fā)過程
IData人機(jī)交互軟件可通過界面進(jìn)行可視化的圖形繪制,即系統(tǒng)建模[4],采用IData進(jìn)行座艙儀表顯示畫面開發(fā)的流程如圖1所示。首先按照圖形顯示要求在IData Modeler里完成圖形建模,定義屬性及控制變量。然后在IData Layout Editor里進(jìn)行儀表組件建模,儀表組件建模完成后,通過相關(guān)變量為其設(shè)置邏輯控制及數(shù)據(jù)處理,為繪制的儀表組件設(shè)置驅(qū)動。儀表組件繪制完成后,通過合理的布局進(jìn)行畫面組合后,可添加紋理、字庫等文件。在IData中可直接運(yùn)行程序,在上位機(jī)中查看顯示結(jié)果,可依據(jù)顯示效果對畫面進(jìn)行修改。
采用了IData人機(jī)交互軟件進(jìn)行可視化的圖形繪制,無需編寫代碼,在繪制過程中可隨時查看顯示效果,直觀簡便,對開發(fā)人員的要求也相對較低,可有效縮短項目的研制過程并可減少項目中的人工成本。
2? ? 座艙圖形顯示軟件開發(fā)
2.1? 座艙圖形顯示軟件開發(fā)流程
座艙儀表顯示軟件的開發(fā)可分為兩部分,即儀表畫面繪制及畫面驅(qū)動。采用IData繪制儀表畫面,而畫面驅(qū)動部分由UDP/TCP或RS422/RS429/UART等數(shù)據(jù)傳輸方式完成。IData繪制儀表畫面具有周期短、工作量小、移植性好、可擴(kuò)展性好的特點(diǎn),但其繪制的儀表顯示畫面如不經(jīng)過處理則僅支持上位機(jī)運(yùn)行,不能運(yùn)行于嵌入式環(huán)境中,所以,IData生成的儀表畫面不能直接運(yùn)用于座艙顯示類產(chǎn)品中。Vxworks是美國Wind River公司開發(fā)的高性能實時嵌入式操作系統(tǒng),具有開放的體系結(jié)構(gòu),并能很好地支持各工業(yè)標(biāo)準(zhǔn),可運(yùn)用于多廠商平臺。先通過代碼生成器生成Open GL ES代碼,再將代碼運(yùn)行于Vxworks嵌入式環(huán)境中生成目標(biāo)代碼,最后燒寫進(jìn)圖形處理板中。
2.2? 關(guān)鍵技術(shù)
2.2.1? 直線旋轉(zhuǎn)邊緣失真問題
在儀表繪制中,刻度線有失真,失真表現(xiàn)為出現(xiàn)鋸齒[5]。Open GL ES中通過直線平滑的方式解決鋸齒,即通過GL_LINE_SMOOTH,但是在Open GL ES中該方式無法實現(xiàn)。OpenGL ES中解決鋸齒的方式為采用多采樣代替單采樣,即2XAA,但是多采樣會嚴(yán)重影響程序的執(zhí)行效率,使顯示畫面的刷新率降低,試驗顯示采用單采樣時畫面刷新率為60幀,而采用2XAA時畫面刷新率為25幀。
考慮畫面運(yùn)行實時性的要求,采用兩種方式解決鋸齒失真的問題:(1)在刻度線外加空心四邊形作為陰影區(qū)域,該區(qū)域顏色設(shè)置為透明顏色。(2)將刻度線加粗,也能緩解刻度線出現(xiàn)鋸齒的失真問題。當(dāng)刻度線加粗后又引入了旋轉(zhuǎn)失真問題,即旋轉(zhuǎn)時刻度線邊緣出現(xiàn)斜邊。為解決旋轉(zhuǎn)時邊緣失真問題,在繪制旋轉(zhuǎn)刻度線時采用填充的矩形代替加粗的直線,這種方式既能減輕刻度線鋸齒的失真問題,也減輕了刻度線旋轉(zhuǎn)時邊緣失真的問題。
2.2.2? 軟件顯示區(qū)域與液晶顯示屏的匹配問題
在航空儀表中,液晶顯示屏的分辨率有多種,例如480×480,300×300等,而同一個IData繪制的顯示畫面,畫布大小固定,所以,在各液晶屏上的顯示位置、大小可能存在偏差。在Open GL ES中有g(shù)lScalef,glTranslatef,glRotatef等函數(shù)可實現(xiàn)畫面的縮放、平移及旋轉(zhuǎn)。同時,glOrthof函數(shù)可設(shè)置視窗大小,通過視窗大小的設(shè)置也可解決顯示區(qū)域偏差問題。
2.2.3? 驅(qū)動數(shù)據(jù)傳輸問題
在Vxworks系統(tǒng)中,可使用UDP/TCP或RS422/RS429/UART等數(shù)據(jù)傳輸方式,可通過網(wǎng)口或串口接收姿態(tài)及高度等數(shù)據(jù),在座艙儀表顯示畫面中進(jìn)行顯示。當(dāng)數(shù)據(jù)傳輸程序與圖形顯示程序在同一個任務(wù)中執(zhí)行時,數(shù)據(jù)傳輸將占用顯示程序時間,導(dǎo)致顯示不流暢問題。解決辦法是采用多任務(wù)的處理方式,將數(shù)據(jù)傳輸與顯示程序分別置于兩個任務(wù)中完成,則數(shù)據(jù)傳輸程序不會影響顯示圖形的流暢性。
3? ? 飛行顯示器畫面開發(fā)
3.1? 顯示器畫面開發(fā)
應(yīng)用的飛行顯示器主要顯示飛行姿態(tài)(俯仰、橫滾)、航向、氣壓高度、指示空速和升級速度等,包含主顯示畫面、全羅盤畫面、上電自檢等多個畫面。該顯示器要求顯示畫面清晰、流程、無像素缺失、無拖影,能進(jìn)行畫面切換、亮度和日夜調(diào)節(jié),具有良好的人機(jī)交互功能并具有畫面文字提示。該飛行顯示器包含結(jié)構(gòu)框架、母板組件、導(dǎo)光板、液晶顯示模塊、圖形板、接口處理板、電源組件等單元。座艙圖形顯示軟件運(yùn)行于圖形板中,通過圖形板與接口板及液晶顯示模塊進(jìn)行交聯(lián)。接口板通過通用異步收發(fā)傳輸器(Universal Asynchronous Receiver/Transmitter,UART)將顯示信息傳遞給圖形板,圖形板中的顯示軟件通過UART接收顯示信息進(jìn)行顯示,圖形板與液晶顯示畫面的通信采用RS422串口通信方式,液晶模塊以被動的方式工作,不主動向主機(jī)請求命令。導(dǎo)光板的按鍵信息由圖形板進(jìn)行采集,從而控制液晶模塊顯示信息及亮度。
本系統(tǒng)采用IData人機(jī)界面開發(fā)工具繪制顯示畫面圖形,圖形繪制后,通過代碼生成器生成Open GL ES代碼。通過Vxworks6.7創(chuàng)建Vxworks工程,添加UART及RS422通信、圖形顯示等任務(wù)代碼,并將代碼生成器生成的Open GL ES代碼加入該工程中,進(jìn)行必要的代碼更改。圖形顯示軟件通過UART接收航姿、高度、大氣數(shù)據(jù)等顯示信息,通過接收的信息驅(qū)動圖形顯示畫面進(jìn)行實時顯示。通過RS422串口通信與液晶顯示模塊通信,設(shè)置屏幕亮度及背光燈狀態(tài),并讀取背光源亮度、狀態(tài)及溫度、液晶屏溫度、系統(tǒng)自檢狀態(tài)及加熱狀態(tài)。圖形板通過采集導(dǎo)光板的按鍵信息控制畫面的切換及數(shù)值的修改,同時,將值向接口板反饋。
3.2? 運(yùn)行結(jié)果
IData繪制的圖形畫面運(yùn)用于嵌入式平臺后,生成圖形顯示程序,運(yùn)行于圖形板上,圖形畫面生成時間較短,顯示屏上正確顯示畫面,對比上位機(jī)IData人機(jī)交互軟件中生成的畫面,液晶顯示屏線條、圖形、圖片、字符顯示無走樣,無色差,在顯示屏上正確顯示了航姿、大氣等信息,并實現(xiàn)了多畫面切換功能。當(dāng)有大氣數(shù)據(jù)、航姿數(shù)據(jù)及畫面切換指令等激勵數(shù)據(jù)時,顯示屏顯示畫面上的天地球、速度帶、高度帶等均隨輸入數(shù)據(jù)實時改變,畫面整體顯示流暢、刷新及時,應(yīng)用效果如圖2所示。
4? ? 結(jié)語
文章提供了一種基于IData人機(jī)界面開發(fā)工具及Vxworks嵌入式開發(fā)平臺的座艙圖形顯示軟件開發(fā)方式,并針對具體型號產(chǎn)品進(jìn)行了測試。結(jié)果表明,該方法具有靈活性、繼承性、移植性好的優(yōu)勢,并可跨平臺、簡單通用、開發(fā)周期短,對人員要求相對較低,明顯優(yōu)于傳統(tǒng)的編程開發(fā)方式,更適用于未來產(chǎn)品畫面復(fù)雜程度增加、顯示信息量增大的座艙圖形顯示軟件開發(fā)。
[參考文獻(xiàn)]
[1]鄧勇.虛擬座艙顯示與視景仿真技術(shù)[D].西安:西安電子科技大學(xué),2013.
[2]李勁.我國未來空天飛機(jī)綜合電子信息系統(tǒng)的發(fā)展建議[J].電訊技術(shù),2010(3):102-106.
[3]宋青,趙敏,周堅鋒.IData在高級座艙顯示系統(tǒng)快速開發(fā)中的應(yīng)用[J].航空電子技術(shù),2008(4):33-43.
[4]趙雙雙,孫旭東.基于IData的先進(jìn)座艙多功能顯示器的仿真研究[J].飛機(jī)設(shè)計,2011(3):55-70.
[5]RAFAEL C,GONZALE Z,RICHAR D,et al.Digital image processing[M].3nd.Beijing:Publishing House of Electronics Industry,2017.
Research on cockpit display technology based on IData and Vxworks
Zheng Yue, Huang Zishuo, Chen Kang, Zhang Meng
(Beijing Keeven Aviation Instrument Co., Ltd., Beijing 101300, China)
Abstract:With the development of aviation technology, the complexity of cockpit graphic picture and the amount of display information are increasing. The traditional programming development method can not meet the development requirements because of the long development period, poor portability, poor inheritance and poor flexibility. This paper proposes a method of software development based on IData human-compute interface development tool and Vxworks operating system, which is simple, general, standard and has good portability and inheritance. The paper introduces the development process and some key problems, and applies the method to develop a kind of cockpit display system. Test results show that the application of the research above on cockpit display delivers detailed visuals while keeping the framerate smooth and stable.
Key words:cockpit display; IData; Vxworks; human-computer interaction