摘 要:隨著ARINC661規范的發展和在航空產品上的成功應用,基于ARINC 661規范進行航空座艙顯示系統的開發成為新一代航電系統的發展趨勢。航空座艙顯示系統內核軟件是新一代顯示系統的關鍵。對基于ARINC661規范的通用機載顯示系統內核的設計開展了研究,分析了內核的工作原理,研究了內核的組成元素、實現結構。最后通過加載實際的定義文件,成功實現了基于該內核的虛擬儀表的顯示。系統的可靠運行,驗證了設計的機載顯示系統內核是正確的、有效的。
關鍵詞:座艙顯示系統; 內核軟件; ARINC661; 虛擬儀表
中圖分類號:
TN919-34
文獻標識碼:A
文章編號:1004-373X(2011)19
-0205
-03
Research on Kernel Design of Aviation Cockpit Display System
HUANG Ming-feng1, SUN Yong-rong1, SUN Xu-dong2, CAO Meng1, YUAN Lei1
(1. College of Automation Engineering, Nanjing University of Aeronautics Astronautics, Nanjing 210016, China;
2. Shengyang Aircraft Design Research Institute, AVIC, Shenyang 110035, China)
Abstract: With the development of ARINC661 norms and its successful application in aviation products, the development of aviation cockpit display system based on ARINC 661 standard becomes development trend of the new generation avionic system. The kernel software of aviation cockpit display system is key part of the new generation display system. The kernel design of general airborne display system based on ARINC661 standard is studied, the working principle of the kernel is analyzed, the components and realization structure of the kernel are researched. Through loading actual definition file, the display of virtual instrument based on the kernel can be realized. The system has reliable operation, which verifies the kernel of the airborne display system is correct and effective.
Keywords: cockpit display system; kernel software; ARINC661; virtual instrument
收稿日期:2011-05-02
0 引 言
隨著航空電子的發展,飛機的座艙顯示系統經歷了從機械指針式到綜合液晶顯示系統的快速發展,系統的綜合性和易操作性都得到了極大的提升\\。然而由于座艙顯示系統型號多樣,接口各異,使得座艙顯示系統開發維護難度大,不利于系統的集團化采購和產業化發展。
為了對座艙顯示系統進行規范化,美國航空無線電協會于2001年提出了ARINC661規范\\,該規范對航空座艙顯示系統(Cockpit Display Syetem,CDS)和用戶應用(User Application,UA)進行分離,并對兩個部分之間的數據交換和支持的顯示元素進行了規范,圖形用戶接口(Graphical User Interface,GUI)完全用定義文件(Definition File,DF)來描述。運用ARINC 661規范進行CDS的開發成為新一代航電系統的發展趨勢,國外已有部分公司將其應用到實際產品中,例如已在A380、A400M\\軍用運輸機以及波音787\\上得到了成功應用,同時索達、AgustaWestland等航空公司也在積極地采用本協議開發新一代的座艙顯示系統。
座艙顯示系統內核軟件,它控制著一臺或多臺顯示設備的顯示,是新一代顯示系統的工作核心,必須具有以下特點:高可靠性[6],內核軟件一旦失效,將會引發災難性的后果;實時性,座艙顯示系統對顯示的實時性有很高的要求,任何畫面的閃爍或是更新緩慢都將嚴重影響飛行員的判斷和操作;可擴展性,內核必須能適應ARINC661規范的發展,能夠靈活地擴展新的窗體部件、新的通信指令、擴展渲染引擎等等;可裁剪性,通過裁減使得內核更為小巧,從而提高嵌入式計算機中內核的運行速度;可移植性。
本文將對航空座艙顯示系統內核進行研究,以設計出符合ARINC661協議的內核系統。
1 航空座艙顯示系統內核的工作機理
CDS內核,作為新一代CDS的核心部分,其工作的機理是一個虛擬儀表的解釋器,通過解釋儀表描述文件以及動態運行指令來達到動態顯示的目的。同時還包含相應的操作捕捉接口,用來捕捉飛行員的控制,送給UA處理并接收處理結果。它的工作機理如圖1所示。
CDS內核可以通過讀取固化在CDS系統中設計好的定義文件(DF)文件啟動,也可以動態地加載UA傳輸的DF文件啟動。DF文件獲取成功后,CDS內核對文件解析實例化,生成一棵包含所有窗體部件的描述樹,一個symbol描述鏈表以及一個圖形數據鏈表。之后進入運行態,包括內核開始維護儀表圖形的實時渲染;UA指令解析和用戶操作的捕捉分析三個重要的部分,最終完成儀表的流暢顯示\\。
圖1 CDS內核軟件工作機理
2 CDS內核系統設計
2.1 內核功能分析
通過對內核工作機理的分析,可進一步了解ARINC661協議中定義的CDS工作流程。為了確保內核的各項特性,首先需要對內核的功能有一個全面細致的分析。在實際應用時可以靈活地配置這些功能來達到個性化的目的。
內核要能正常運行必須包含一個最小的功能配置,具體講主要包含如下功能:
(1) 提供可裁剪的符合標準的窗體部件庫定義以及symbol定義;
(2) 能夠加載DF定義文件(固化或是網絡傳輸的DF);
(3) 能夠解釋UA發送的參數設置指令;
(4) 能夠將窗體部件渲染到指定顯示設備上;
(5) 內核錯誤分析與處理;
(6) 運行時調試信息輸出;
(7) 提供操作系統支持。
上述7個方面的功能,基本保證了CDS內核能夠對DF進行讀取、解釋、渲染和錯誤處理。結合基本的對UA參數設置指令的解析達到動態運行的目的,已經能夠滿足一些功能簡單的基本應用。但就系統功能的完整性來講,就上述的7個部分還是不夠的,還需要包含如下一些功能:
(1) 能夠提供預定義圖片數據支持;
(2) 包含styleset,font等的定義功能,結合圖形驅動可以靈活的改變現實風格;
(3) 擁有功能配置部分,可以對需要的功能模塊進行增刪,優化代碼量,降低對硬件的要求;
(4) 動作管理功能,可以將外部輸入(觸摸、按鍵等)轉換成CDS反饋發送給UA。
2.2 內核組成模塊
CDS系統內核包含的功能非常豐富,在滿足功能的基礎上對內核的軟件模塊進行劃分,以規范模塊層次和軟件接口。運用面向過程的方法使得模塊之間的邏輯結構更加清楚,同時也符合嵌入式強實時軟件的開發思路。本文研究設計的CDS內核軟件模塊如圖2所示。
圖2 CDS內核組成模塊圖
由圖2可知,CDS內核作為一個獨立的軟件包是與底層硬件和運行軟件環境無關的,它開放出4個驅動接口來支持不同的環境,因此軟件有良好的移植性。就內核的組成而言,整個CDS內核分成兩個部分:
(1) 基礎庫。描述了內核ARINC661中定義的窗體部件和符號,用戶預定義圖片以及一些顯示風格。作為用戶一般修改一些字體定義和顯示風格即可達到個性化顯示的目的。其中的widget/symbol庫是由工程人員根據協議的修訂或是OEM要求進行修改的。
(2) 功能部分。包含相對獨立的五個部分(用戶操作響應,UA數據解析,實時渲染,異常處理和CDS調度)。這些功能均為運行時功能。之外還有一個功能配置部分,該部分編譯器使用,根據用戶的配置進行選擇性地編譯。圖2中的虛線部分是功能部分訪問的關鍵數據結構,該數據結構中存放了由DF加載器生成的窗體部件樹、符號鏈表和圖片鏈表。異常處理機用來處理內核的各類異常(指令錯誤通報、CDCT資源超負荷通報、定時容器溢出等)。多個功能模塊由CDS內核調度器來統一管理,作為內核的上層應用,負責協調模塊的運行,維護關鍵性數據結構。在無操作系統時,調度器順序調度各個功能模塊,為一個大循環結構;在有操作系統時為多任務分割形式,由操作系統來管理對資源的訪問。
2.3 CDS內核中的關鍵數據結構
CDS內核軟件中各個功能模塊均圍繞核心數據結構展開各項功能,因此關鍵數據結構定義是否合理,將直接影響軟件的各項性能。通過對ARINC661中各種窗體部件屬性的歸納與抽象,窗體部件節點基礎數據定義如圖3所示。
圖3 窗體部件節點基礎數據定義
圖3中,基礎數據結構抽象出了窗體部件包含的最基本的3個參數:類型、ID號和父節點ID號。緊接著是構成樹形結構的4個指針分別指向了當前節點的父節點、子節點、同層次右兄弟節點以及同層次左兄弟節點。之后是當前部件的繪制坐標系和范圍。最后是兩個參數設置回調函數接口。
DF加載器在加載定義文件后會形成關鍵樹形結構如圖4所示。
圖4 窗體部件樹形結構
每個顯示設備作為一個CDS窗口,如圖4所示窗口下可以包含有多個顯示層。層可以包含容器部件和非容器部件,容器部件只能選擇性地包含子容器部件。通過獲取樹的根節點,各個功能模塊可以完成對樹形結構的訪問,從而實現不同的功能。
3 運行實例
基于該內核,本文設計了可以在PC機上運行的預加載模擬軟件。軟件基于MFC開發,使用了鍵盤、TCP/IP、OpenGL接口[8-9],通過模擬加載DF文件并動態運行來驗證內核的有效性。
圖5中的DF描述文件由自行研發的輔助軟件生成,所用到的窗體部件包含了層、基本容器、旋轉容器、線條部件、圓弧部件、字符串部件和矩形部件。本文開發的CDS內核成功地完成了對DF的加載和顯示,通過模擬UA指令對畫面的滾動平移進行了控制,驗證了內核的可行性。
圖5 模擬顯示畫面
4 結 語
隨著座艙顯示系統的飛速發展,對通用[10]、規范化的CDS內核軟件的需求日益強烈。本文在介紹了基于ARINC661的座艙顯示系統內核工作原理基礎上,進一步分析了內核具有的功能,提出了軟件模塊的劃分和關鍵性數據結構的抽象定義。最后通過模擬加載驗證了設計的可行性。
參 考 文 獻
[1]崔曼,張水紅,李體然.飛速發展的航空電子[M].北京:航空工業出版社,2007.
[2]ARINC. Cockpit display system interfaces to user systems arinc specification 661-3 \\. \\: Aeronautical Radio INC., 2007.
[3]ADAMS Charlotte. A380 innovations: a balancing act \\. \\. http://www.aviationtoday.com/av/categories/commercial/756.html.
[4]ADAMS Charlotte. Airbus A400M \\. \\.http://www.aviationtoday.com/av/categories/commercial/957.html.
[5]JENSEN David. B787 cockpit: boeing′s bold move \\. \\. http://www.aviationtoday.com/av/categories/commercial/1181.html.
[6]李洋,謝新月,曹成哲.淺談現代戰斗機座艙顯控系統的現狀與發展趨勢[J].科技資訊,2009(12):9-10.
[7]LEFEBVRE Yannick. Understanding ARINC 661 and the benefits of 661-based development tools \\. \\: \\, 2006.
[8]白剛,袁梅,陳炅.虛擬座艙多功能顯示器的設計與實現[J].飛機設計,2005(4):50-54.
[9]孫小蕾,王英勛.基于C++Builder控件及OpenGL接口的航空虛擬儀表設計[C]//中國航空學會控制與應用第十二屆學術年會論文集.北京:中國航空學會,2006:71-73.
[10]劉碩,林榮超.綜合座艙顯示控制系統的設計與實現[J].現代電子技術,2010,33(15):160-162.