文/秦正運 徐振黔 張青峰
在現(xiàn)代航空電子系統(tǒng)中,座艙顯示系統(tǒng)(CDS: Cockpit Display System)作為人機信息交互的第一接口,為飛行員提供起飛、導航、空中任務、著陸等關鍵信息。近年來,航空電子技術和現(xiàn)代傳感技術的迅速發(fā)展,以及對飛機任務、作戰(zhàn)等性能要求的提高,使得座艙顯示的內(nèi)容成爆炸性增長,顯示的復雜度不斷提高,造成開發(fā)和維護的成本不斷提高。2001年,ARINC 661規(guī)范(座艙顯示到用戶系統(tǒng)的接口規(guī)范)在這種情況下應運而生,并廣受關注。但是在國內(nèi)直升機領域,此規(guī)范的研究工作相對較少,并且此標準主要應用于民用航空領域,在軍用航空領域由于戰(zhàn)略性、保密性等考慮尚未應用。為此,本文提出一種新的直升機座艙顯示系統(tǒng)開發(fā)和通訊方法,能夠降低座艙顯示的開發(fā)時間、降低后期維護成本。
座艙顯示系統(tǒng)是飛機航電系統(tǒng)的重要組成,主要承接了導航、通信、飛控等系統(tǒng)的數(shù)據(jù),加以處理和轉(zhuǎn)化,并通過顯示器顯示飛行信息和告警信息。一般直升機的座艙顯示系統(tǒng)主要是由綜合任務處理機、多功能顯示器(MFD)、多功能鍵盤(MFK)或其他輸入設備等構成,如圖1所示。
本文討論的內(nèi)容有關的設備為綜合任務處理機和多功能顯示器,下面通過對這兩個設備的功能分析,將系統(tǒng)功能劃分為數(shù)據(jù)收發(fā)與處理單元、顯示數(shù)據(jù)處理單元、圖形顯示單元3個部分,如圖2所示。
數(shù)據(jù)采集與處理單元主要通過總線完成對導航、大氣、飛控等系統(tǒng)數(shù)據(jù)的采集,并將接收的總線數(shù)據(jù)進行解包處理;或?qū)@示處理單元處理后的數(shù)據(jù)發(fā)送給其他航電子系統(tǒng)。
圖1:直升機座艙顯示系統(tǒng)構成
圖2:座艙顯示系統(tǒng)內(nèi)部邏輯架構
圖3:基于指令的座艙顯示
顯示數(shù)據(jù)處理單元是將處理后的總線數(shù)據(jù),根據(jù)多功能顯示器的畫面的顯示內(nèi)容所需要的數(shù)據(jù),發(fā)送到圖形顯示單元;并根據(jù)接收的多功能顯示器的交互數(shù)據(jù),進行頁面切換、向數(shù)據(jù)采集和處理單元發(fā)送交互信息等操作。圖形顯示單元主要完成飛機姿態(tài)、航線、通訊、告警等信息的畫面繪制工作和按鍵等交互信息發(fā)送給顯示數(shù)據(jù)處理單元。
目前在我國直升機領域,座艙顯示方法主要采用的是數(shù)據(jù)方式。這種方式的原理是:多功能顯示器中的顯示內(nèi)容以畫面為單位,綜合任務處理機將整個畫面所需要的全部數(shù)據(jù)周期發(fā)送到多功能顯示器。例如在PFD畫面中,存在羅盤、地平儀、以及告警信息,多功能顯示器顯示軟件設計者需要先設計出整個頁面,并提供畫面數(shù)據(jù)接口;綜合任務處理機軟件設計者在設計軟件顯示處理單元部分時,根據(jù)顯示軟件設計者提供的數(shù)據(jù)接口,將處理后的各個航電系統(tǒng)的數(shù)據(jù)發(fā)送到多功能顯示器,完成整個顯示過程。
從開發(fā)過程上講,基于數(shù)據(jù)方式的設計方法,顯示設計者不僅要承擔圖形符號的設計工作,還要承擔畫面的布局工作,使得顯示設計者無法從繁重的圖形符號設計工作中解脫出來,不但增加了顯示開發(fā)成本,而且還加大了座艙顯示系統(tǒng)增加新的顯示功能的難度。從后期維護及改型上講,基于數(shù)據(jù)方式的設計方法是將整副畫面作為一個整體,一旦發(fā)生維護更改或者后期改型,就會更改整個畫面內(nèi)容及接口,進而需要改動顯示軟件和任務機的邏輯控制軟件這兩個軟件配置項,大大增加了軟件的不可控性。
因此,本文提出一種基于指令的座艙顯示開發(fā)方法,其思想是將常用的儀器儀表圖符、基本圖元、字符、屬性等分別作為一個獨立的顯示單元,使其和畫面分開,并將這些獨立的顯示單元進行指令化關聯(lián)。這樣,CDS顯示軟件只需要識別指令,根據(jù)指令進行不同的顯示單元繪制,而無需考慮畫面布局;而運行在綜合任務處理機上的顯示控制軟件根據(jù)用戶交互,通過發(fā)送不同的指令即可以控制畫面的顯示,原理如圖3所示。
通過對顯示功能的分解,將顯示分為圖元、字符、屬性、圖符四類。圖元是組成所有顯示內(nèi)容的基本單元,包含點、直線、弧形、圓形、方形、三角形、多邊形、填充圓形、填充方形、填充三角形、填充多邊形等;字符指的是符合GB2312的中英文字符;屬性是指與繪圖相關的屬性設置,如顏色、字體大小、線寬、線型等等;圖符是指復雜的儀器儀表圖形,如羅盤、地平儀、機電油量柱狀圖等等,這些圖形是需要專業(yè)人員設計符合標準及人機功效的圖形。
通過將顯示內(nèi)容的分類,可以看到圖元、字符、屬性都是無需設計的圖形,而圖符則是顯示工作的重點,是座艙顯示標準化的基礎。我們將這4種圖形集對應建立4種類型的指令集,分別對應為圖元指令集、字符指令集、圖符指令集、屬性指令集,并將所有圖形都分配一個唯一的指令,格式如下:
指令名:長度為16bit的整形數(shù)字,為指令的唯一標識符;
指令坐標:長度為32bit,分別為16bit的x軸坐標和16bit的y軸坐標;
指令長度:長度為16bit,規(guī)定了緊跟其后的數(shù)據(jù)的長度(單位byte),最大長度65535;
圖4:指令格式
圖5:通訊指令包格式
圖6:繪圖流程
指令數(shù)據(jù):長度為每個指令的具體內(nèi)容,如圓形指令為半徑長度,字符指令為字符 串數(shù)據(jù)等。
以上定義為通用的指令格式(圖4a),指令名和數(shù)據(jù)是必須的,而坐標和長度根據(jù)指令集的不同做相應的刪減。圖元指令集和圖符指令(圖4b)集中圖形的指令的長度基本上是固定的,因此可以刪減指令長度這一條目;屬性指令集(圖4c)指示表征了當前繪圖屬性的設置功能,因此無坐標這一條目;字符指令集(圖4a)為變長的,其格式為包含通用格式的所有條目。
串行化(Serialization)是計算機科學的一個概念,它是指將對象存儲在介質(zhì)中或以二進制方式進行傳輸,通過反串行化則可以重新構建原始對象。
綜合任務處理機與顯示器之間的指令通訊為主從結(jié)構,綜合任務處理機將從各個航電系統(tǒng)接收到的數(shù)據(jù)進行數(shù)據(jù)融合與處理,根據(jù)用戶的交互數(shù)據(jù)將所需要顯示的所有圖形全部轉(zhuǎn)換為指令,按照通訊協(xié)議進行數(shù)據(jù)串行化,向顯示器發(fā)送顯示指令數(shù)據(jù)包;多功能顯示器接收到指令數(shù)據(jù)包后,按照通訊協(xié)議進行反串行化,得到圖形的樹形結(jié)構,進行圖形繪制。兩者之間采用周期通訊,多功能顯示器只有在收到指令數(shù)據(jù)包的情況下才可以進行圖形顯示,否則認為與綜合任務處理機的通訊中斷,進而進入應急顯示。采用的通訊指令包按照圖5格式。
數(shù)據(jù)包頭:指令數(shù)據(jù)包包頭識別碼,長度16bit,用來判斷數(shù)據(jù)包的開始位置。
包長度:整個數(shù)據(jù)包的長度,長度為16bit,單位為Byte,包含包頭、長度、指令、包尾、校驗的總長度。
指令:各個指令集中的指令,按照繪圖或環(huán)境設置的先后順序?qū)懭霐?shù)據(jù)包;繪圖時按照指令順序來繪制。
包尾:指令數(shù)據(jù)包包尾識別碼,長度16bit,表征指令結(jié)束。
校驗:除本身外的其他數(shù)據(jù)的校驗,可以采用多種校驗方式,長度為16bit。
為了保證圖形顯示的可移植性,儀器儀表圖符要盡量形成標準的圖符庫,并且本方法支持所有儀器儀表開發(fā)工具,即可以將已開發(fā)的圖符進行指令化處理,與指令關聯(lián)即可;而比較簡單的信息(例如告警信息、通知信息等),則可以直接使用圖元指令集、字符指令集、屬性指令集在綜合任務處理機端實現(xiàn)。
多功能顯示器工作時,只需要將接收的指令數(shù)據(jù)包進行反串行化操作,得到指令信息,獲取指令名,通過指令名索引到相應的指令回調(diào)函數(shù),從而解析指令的具體內(nèi)容,然后根據(jù)圖形指令信息在圖形渲染庫中查找所需要的圖形或者設置相應的環(huán)境屬性,進行渲染繪制即可。具體流程如圖6。
基于指令的座艙顯示開發(fā)與通訊方法是基于層次化、模塊化、低耦合的設計思想,最大的優(yōu)點是將CDS顯示與用戶的控制邏輯分開,并給出了顯示圖符的標準化接口,提高了顯示模塊的通用性,降低了顯示與控制的耦合性,并使得CDS顯示開發(fā)者能夠?qū)W⒂趦x器儀表的圖符開發(fā),并能夠為將來應用新型號或增加新功能提供良好的擴展基礎。本方法已在國產(chǎn)某型號直升機上成功應用,結(jié)果表明,該方法大大減少了開發(fā)難度以及后期的維護成本。