摘 要:基于ARINC661架構的顯示系統的最大特點在于將實現顯示畫面生成功能的應用與實現畫面邏輯控制功能的應用徹底隔離,使得系統開發后期的畫面更改和邏輯更改相互獨立、互不影響。該文基于對ARINC661規范的研究和SCADE開發工具,提出了一種通用的ARINC661顯示軟件開發框架,并就其中的UA邏輯構建、Widget庫構建、DF文件構建、ARINC661運行時通信協議模塊、網絡通信協議模塊、ARINC661內核模塊的功能和實現方式進行了介紹,可用于今后基于ARINC661架構駕駛艙顯示系統數字化仿真、顯示軟件開發提供研究基礎。
關鍵詞:ARINC661 SCADE 顯示軟件開發 UA
中圖分類號:TP311.52 文獻標識碼:A 文章編號:1674-098X(2015)08(c)-0072-02
綜合航電系統主要包括座艙顯示系統(Cockpit Display System,簡稱CDS)、飛行管理系統、機載雷達與通訊系統、飛機防撞系統、中央維護系統等8個子系統。作為人機交互的接口,座艙顯示系統將航電、發動機、飛控等機載系統綜合成一個整體,以實現飛行信息的綜合處理、綜合顯示以及系統工作方式的綜合控制,重要性不言而喻。
文章基于SCADE軟件開發環境,提出了一個通用的ARINC661顯示軟件開發框架以支持座艙顯示系統軟件的研制流程。
1 ARINC661組成
ARINC66規范即“駕駛艙顯示系統人機接口規范”的發布為設計符合駕駛艙人機交互需求的顯示系統提供了指導規范,并逐漸成為目前航空顯示系統設計的行業標準。ARINC661對顯示系統和需要與顯示系統圖形內核進行交互以實現其圖形顯示功能的外部成員系統之間的接口進行了規范,從而實現了駕駛艙顯示系統的通用性和一致性[1]。
ARINC 661在一個完整的框架下由幾個子部件組成。
(1)Widget Library:定義了座艙顯示系統的顯示內容,包括基本圖元、圖元的可能組合以及對于復雜的地圖管理和支持。
(2)UA:將座艙顯示系統的邏輯與顯示部分完全分開,將邏輯部分配給一個個的UA進行處理。
(3)ARINC 661內核:CDS采用客戶端/服務器方式,服務器端叫做ARINC 661內核,其主要工作包括渲染ARINC 661中定義的widgets,響應用戶輸入,與UA間進行信息交互的編碼、解碼工作以及對于多個屏幕、窗口和關注點的管理。
UA與ARINC 661內核之間的通信協議,定義了由于用戶交互產生的傳遞給UA的事件、以及UA對于座艙顯示系統顯示數據變更的請求。
2 SCADE簡介
SCADE(Safety-Critical Application Development Environment)即高安全性應用程序開發環境,是實時嵌入式系統和電子系統的開發工具和方法學,是基于模型的開發工具,運用Correct by Construction的概念,從需求分析到代碼生成覆蓋嵌入式軟件開發的整個流程。
SCADE軟件提供了用于邏輯建模的SCADE Suite工具和用于圖形開發的SCADE Display工具,兩個工具配合使用可進行完整的駕駛艙顯示系統軟件的開發工作。
3 通用顯示軟件開發框架總體方案
根據ARINC 661標準的組織結構,根據功能可以將通用顯示框架軟件劃分為以下幾個主要部分。
(1)UA邏輯構建模塊。
(2)Widget庫構建模塊(PC機、目標機)。
(3)Layer構建模塊。
(4)二進制DF文件構建模塊。
(5)ARINC 661運行時通信協議模塊。
(6)網絡通信協議模塊(Ethernet、AFDX)。
(7)ARINC 661內核:DF文件解析模塊、DF文件加載模塊、窗口管理模塊、光標鍵盤管理模塊、異常處理模塊。
3.1 UA邏輯構建模塊
UA邏輯建模主要根據定義的軟件邏輯方程使用SCADE Suite的數據流和狀態機的聯合建模機制以直觀的方式描述顯示控制邏輯,并且在驗證模塊下進行模型的仿真和覆蓋率分析以確保構建的模型滿足功能的要求,并且確保所有的結構分支已被覆蓋和滿足一定的安全性特征的約束要求[3]。圖1為基于SCADE的邏輯建模例子。
3.2 Widget庫構建模塊
ARINC 661標準里定義的接口依賴于一組基本的圖形用戶接口對象,稱之為“widget”。Widget的列表參見ARINC 661規范。通常來說,這些widget與某個顯示實體對應。其中一些是“交互widget”,因為他們支持機組人員通過光標控制設備和鍵盤進行交互。機組人員對交互widget的操作通常與事件報告相關聯,發送給航電用戶應用(UA)。非交互widget則沒有相關事件。
Widget庫的構建主要可分為Widget圖形設計和Widget行為邏輯設計兩部分內容,其主要開發流程如下。
(1)SCADE Display圖形設計。
(2)服務器配置。
(3)SCADE Suite行為設計。
(4)服務器生成和編譯。
服務器測試。
3.3 DF構建模塊
DF構建模塊生成主要是將XML格式的SCADE Display模型生成基于ARINC 661的二進制文件,并完成對嵌入式環境下的移植,DF生成的工作流程如下。
(1)分析SCADE Display.SDF模型。
(2)讀取A661配置文件。
(3)檢查所有widget和它們參數。
(4)在內存中組織并存儲DF的元素。
(5)把內存中的DF元素按XML DF的格式輸出到XML文件形成最終的XML DF文件。XML DF文件的格式可參見A661標準。
(6)根據A661配置文件,把內存中的DF元素按二進制DF的格式寫到文件形成最終的二進制DF文件。
3.4 ARINC 661運行時通信協議模塊
UA和CDS之間的信息交互通過設置運行時widget參數的方式進行。這些參數的傳輸有兩種形式:
(1)應用程序內容的變化,可能采用定期的參數傳輸的方式。
(2)對于一個widget事件的響應,采用純異步的方式。
CDS和UA之間的信息交互采用事件驅動的方式,信息傳輸的內容主要是一個widget或layer的響應信息。
ARINC 661運行時通信協議模塊在程序流程上可以分為兩個任務共9個Module。任務1與任務2獨立運行,使用共享全局變量。任務1負責網絡數據的接收,并將接收到的數據保存在環形隊列中;任務2負責對環形隊列中的數據進行解析并交由邏輯控制模塊進行處理,將處理后的數據封裝成A661協議包并通過網絡發送給Server端。其程序流程如圖2所示。
3.5 網絡通信協議模塊
3.5.1 PC機端UDP通信
PC機平臺上以太網通信可以采用UDP和TCP/IP兩種通信協議方式進行通信,鑒于UDP方式通信的效率高的特點,可以采用UDP方式將UA與CDS之間的數據封裝并通過網絡進行傳輸。UDP通信協議已經很成熟,Windows平臺下也有自己的WINSOCK函數可以調用以實現UDP通信,但考慮到以后平臺的可移植性,實現嵌入式下UDP的通信功能,可以采用與平臺無關的SOCKET的API函數來實現UDP通信。
3.5.2 PC機端ARINC664網絡通信
由于目前駐留的航電的網絡通信結構為ARINC664網絡聽信架構,UA與CDS之間的網絡通信協議也可以按照ARINC664網絡進行通信,在PC下實現基于ARINC664網絡通信主要需要實現如下功能:(1)端系統屬性配置;(2)ES板卡API調用;(3)ARINC664通信端口映射配置;虛擬鏈路的配置。
3.6 ARINC 661內核模塊
ARINC 661內核的功能主要在于管理當前渲染的所有widget的同時還需要能夠監控主駕駛或副駕駛通過系統輸入設備與座艙顯示系統進行的交互[2]。其主要功能如下。
(1)底層圖形驅動模塊:主要包括OpenGL驅動、視窗系統模塊,提供相應版本嵌入式下OpenGL驅動和視窗系統支持功能。
(2)主執行模塊:ARINC661內核主模塊,完成內存分配、數據分發、進程調度、進程管理等功能。
(3)ARINC661內核端通信模塊:提供ARINC661規范定義的通信協議API實現,完成內核與UA之間的數據通信。
(4)飛行員輸入控制處理模塊:接收和處理來自外部光標、鍵盤的控制指令輸入,并提交給主執行模塊以事件的方式發送給UA。
(5)Widget庫:提供ARINC661規范定義的標準部件庫實現。
(6)DF解析模塊:系統上電時加載和解析外部DF文件,獲取所有需要顯示的信息定義,進而交由主執行模塊完成靜態顯示內容的內存分配。
(7)窗口配置管理模塊:系統上電時加載和解析外部的CF文件,獲取顯示器窗口分配定義,進而交由主執行模塊完成顯示窗口的創建。
4 結語
該文基于對ARINC661規范的研究和SCADE開發工具,提出了一種通用的ARINC661顯示軟件開發框架,并就其中主要的軟件模塊功能進行了介紹,為今后進行基于ARINC661架構的駕駛艙顯示軟件開發提供研究基礎。
參考文獻
[1] ARINC 661 Specification: Cockpit Display System Interfaces To User Systems[S].Aeronautical Radio Inc, 2010.
[2] 姚旭寅,王俊峰,吳健,基于ARINC661規范的駕駛艙顯示系統設計方法研究[J].工業控制計算機,2011(11):31-32.
[3] SCADE training courses(Chinese)[S].2009.