陳寧 吳云 陳福 王佳明
摘 要:航電系統(tǒng)的綜合化和模塊化程度越來越高,機載網絡技術也日趨復雜,一方面這使得航電系統(tǒng)中的加載數據的數量急劇增多,另一方面,對數據加載的質量提出了更高的要求,目前的數據加載軟件已無法滿足要求。通過分析數據加載工具軟件的需求,采用分層設計的方法設計了系統(tǒng)的總體結構邏輯。闡述了主機端軟件和目標機端軟件的設計思路,并且進行了軟件實現(xiàn)和驗證。結果表明,該機載通用數據加載工具具有良好的配置性和通用性,且能夠保證數據一致性和安全性。
關鍵詞:航電系統(tǒng);機載數據通信;數據加載
中圖分類號:V243;TP311.52 文獻標識碼:A DOI:10.3969/j.issn.1003-6970.2021.03.031
本文著錄格式:陳寧,吳云,陳福,等.機載通用數據加載工具軟件的設計和實現(xiàn)[J].軟件,2021,42(03):110-113+138
Design and Implementation of Airborne General Data Loading Software
CHEN Ning, WU Yun, CHEN Fu, WANG Jiaming
(Xi'an Aeronautical Computing Technique Research Institute,AVIC, Xi'an? Shaanxi? 710068)
【Abstract】:Avionics system is becoming more and more comprehensive and modular,and airborne network technology is more complex.On the one hand, it makes the quantity of loading data increase sharply, on the other hand, it puts forward higher requirements for the quality of data loading.The current data loading software can not meet the requirements.By analyzing the requirements of data loading software, the overall structure logic of the system is designed by using hierarchical design method. The design ideas of host software and target software are described, and the software implementation and verification are carried out. The results show that the airborne general data loading tool has good configuration and versatility, and can ensure data consistency and security.
【Key words】:avionics system;airborne data communication;data loading
0 引言
隨著綜合模塊化航空電子的發(fā)展,復雜IMA架構[1]下的軟件規(guī)模越來越大,數量也越來越多,在研制和使用維護過程中需要快速、安全的在線加載工具軟件的需求已日益突出。而當前使用的在線加載工具種類繁多,存在數據一致性缺少保證、通用性差等問題,給軟件開發(fā)人員和外場維護人員帶來了極大的不便。因此,開發(fā)一種通用性強的、能保障數據完整一致的、支持快速批量固化的加載工具十分必要。針對這些問題,本文對加載工具的需求進行分析,以通用性為目標,設計總體架構,提供針對全系統(tǒng)的批量并行數據加載能力,支持串口、以太網、AFDX[2-3]等多種類型的數據總線協(xié)議,支持多種加載協(xié)議。設計了加載文件的版本管理和操作日志管理。通過多種方式保證系統(tǒng)的通用性和易用性。
1概述
通用數據加載工具是地面開發(fā)調試和升級保障設備,可通過標準串口、以太網、機載網絡AFDX等網絡進行軟件和配置數據的升級。通用數據加載工具設備組成圖如圖1所示。
1.1 功能需求
通用數據加載工具軟件的主要功能需求如下:
數據加載功能。支持多種加載協(xié)議,如串口加載協(xié)議、ARINC615A-2、ARINC615A-3協(xié)議[4]等;支持應用軟件、配置數據、操作系統(tǒng)、可編程邏輯、系統(tǒng)工作參數等多種格式文件的加載。
信息保護功能。設置管理員權限、開發(fā)者權限和外場權限三種權限。其中管理員/開發(fā)者擁有軟件所有操作權限,外場權限只能進行待加載數據文件導入以及對數據文件的加載功能。
網絡拓撲識別與顯示。能夠自動識別目標機的目標節(jié)點拓撲信息,從而顯示整個目標機的網絡構成。
操作日志。提供加載日志和系統(tǒng)操作日志兩種日志管理。
可靠性保證。通過傳輸過程的CRC校驗和加載文件的MD5校驗功能保證加載過程的可靠性和一致性。
1.2 接口需求
通用數據加載工具軟件的主要接口需求:
(1)系統(tǒng)需要提供人機界面接口,人機界面接口用于設備使用人員進行各項工程、任務操作及實時顯示;系統(tǒng)需要提供串口接口、以太網接口、AFDX驅動接口等用于主機端與被加載的設備間的通信。
(2)內部軟件接口包括配置文件接口、加載協(xié)議接口和加載控制接口。配置文件接口用于待加載數據管理。加載協(xié)議接口用于實現(xiàn)加載協(xié)議的加卸載。加載控制接口用于實現(xiàn)加載的設備選擇、狀態(tài)檢測、過程控制等。
2 系統(tǒng)物理架構設計
通過對機載通用數據加載工具的系統(tǒng)需求進行分析,將通用數據加載工具的系統(tǒng)結構按層進行分類。工具主要分為主機端軟件和目標機端軟件兩部分。其中主機端軟件采用分層分析[5],分為用戶層、界面層、協(xié)議層和網絡層,層次結構如圖2所示。目標機端軟件為駐留在目標機中的駐留應用。主機端和目標機端之間通過網絡連接。
3 主機端軟件設計
3.1 系統(tǒng)工作流程
主機端軟件主要完成配置文件的管理、加載方式和協(xié)議的設置、用戶權限管理、目標機網絡拓撲管理、數據加載等工作。為了保護數據安全以及防止破壞系統(tǒng)重要區(qū)域的數據,根據不同用戶權限可分為兩種工作流程。
管理員、開發(fā)者的工作場景按流程上可分為六個階段:用戶登錄、編輯配置表、加載數據包的制作、Flash空間地址規(guī)劃、網絡連接配置、加載,如圖3所示。
外場人員沒有配置表的編輯權限,只能導入開發(fā)人員事先編輯好的配置表,然后選擇加載項,進行加載,其工作流程如圖4所示。
3.2 配置表設計
為了適應多種場景,設計了包含多種信息的配置表,配置文件的內容包括系統(tǒng)名(如IPC)、模塊名、待加載的二進制文件名、待加載的二進制文件的物理地址、Flash加載地址、加載協(xié)議、加載方式和通信配置信息。為了能在多模塊使用配置表數據,設計了以下數據模型對配置表數據進行轉化和存儲,該數據模型用于權限管理、Flash地址空間規(guī)劃、網絡拓撲圖、數據加載模塊。
圖5中的數據模型包含以下節(jié)點:
NodeModel:目標機節(jié)點類,包括目標機的ID、是否在線、網絡配置等信息;
FileModel:待加載文件模型類,包括待加載文件名、文件燒寫地址等信息;
FlashModelFlash:地址空間規(guī)劃模型類:
ProtectEntry:系統(tǒng)預留Flash規(guī)劃項,包含系統(tǒng)可規(guī)劃區(qū)域的位置和大小;
FlashEntry:燒寫區(qū)Flash規(guī)劃項;
Connection:網絡通信抽象接口,獲取網絡通信所使用的傳輸協(xié)議;
ARINC664、SerialPort、Ethernet:為ARINC664網絡、串口通信和以太網通信;
Protocal:傳輸協(xié)議抽象接口,包含多種命令,如查找、加載、備份、恢復等命令;
CustomSerial、CustomEthernet、ARINC 615A-2、ARINC615A-3:本系統(tǒng)支持的傳輸協(xié)議。
3.3 網絡拓撲設計
為了直觀的展現(xiàn)目標機端網絡結構和網絡配置情況,設置網絡拓撲模塊。根據當前IMA系統(tǒng)的結構,每個系統(tǒng)中可包含多個模塊,每個模塊中可包含多個節(jié)點。網絡拓撲圖展示當前主機端和目標機中多個模塊、節(jié)點的關系。每個計算節(jié)點都有可能包含加載需求,在網絡拓撲圖上可顯示當前節(jié)點部署的軟件及其屬性(含燒寫地址、MD5、燒寫時間、版本)以及目標機駐留軟件版本信息。
網絡拓撲模塊可用來獲取目標機節(jié)點狀態(tài)。通過向局域網中發(fā)送UDP廣播包,當局域網中的目標機節(jié)點收到數據包后,返回應答消息,則網絡拓撲模塊將該設備置為在線狀態(tài)。
3.4 Flash地址空間規(guī)劃
目標機的Flash中存在關鍵數據區(qū),一般固化著操作系統(tǒng)、系統(tǒng)引導程序等關鍵程序,為了對目標機的關鍵數據區(qū)進行數據保護,設計了Flash地址空間規(guī)劃。該功能用于管理每個目標機Flash地址的讀寫權限,其中權限共有三種(只讀、只寫、可讀可寫)。
管理員或者開發(fā)者需提前設定目標機Flash地址空間的可分配范圍,之后才可在該范圍內進行地址空間規(guī)劃,每個規(guī)劃項需包含4個輸入項:Flash起始地址、Flash結束地址、Flash地址權限、備注信息。圖6所示為某個目標機節(jié)點的Flash地址空間規(guī)劃視圖。
4 目標機端軟件設計
目標機端軟件是部署在目標機上的應用。設計以下功能:
串口通信功能:主機端與目標機端可通過串口通信,并可接受主機端請求、接受文件列表信息和數據文件,還需要負責向主機端返回操作結果、主機端已加載文件信息、目標機端駐留軟件版本號和文件下載/燒寫進度等狀態(tài)信息。
以太網通信功能:具備使主機端與目標機端通過以太網通信的能力。其他功能與串口相同。
ARINC-664通信功能:具備使主機端與目標機端通過以AFDX網絡通信的能力。其他功能與串口相同。
請求處理:目標機端接收到主機端請求后需要解析請求,并根據不同的請求內容執(zhí)行相應的操作或返回數據,以此達到主機端對目標機的管理。
數據文件MD5校驗:目標機完成數據文件的接收后,需要對數據文件進行MD5校驗,以確保該數據文件傳輸完整并且未被篡改。
LSAP文件解析:目標機需要支持ARINC665標準,能夠對其所描述的LSAP文件進行解析,并根據解析出來的信息更新目標機文件。
文件燒寫:支持對接收到的多種格式的文件進行燒寫。
日志記錄:目標機通過日志記錄駐留軟件的運行信息,日志內容包括:當前時間、日志等級、日志位置和日志詳情。
5 通用數據加載工具軟件實現(xiàn)
通用數據加載工具軟件主頁面如圖7所示。
其中區(qū)域1為配置表顯示和編輯界面,區(qū)域2為網絡拓撲圖顯示界面,區(qū)域3為操作日志顯示區(qū)。將配置表信息完善后,加載數據包和Flash地址空間規(guī)劃完成后,進行網絡配置,配置界面如圖8所示。
網絡配置設置完成后,進行數據加載。選取了串口、以太網、AFDX三種通信介質,測試了對應的多種加載協(xié)議,測試結果如表1所示。
從表1可看出,工具可實現(xiàn)多種方式多種加載協(xié)議下的加載需求。滿足多種應用場景,具有良好的通用性。
6 結語
本文首先介紹了通用數據加載工具的功能需求和接口需求,然后使用分層分析,設計了系統(tǒng)的物理結構。介紹了工具的主機端軟件設計和目標機端軟件設計和實現(xiàn)方案,最后驗證了工具的多種加載場景,表明工具具有良好的通用性。
參考文獻
[1] 褚文奎,張鳳鳴,樊曉光.綜合模塊化航空電子系統(tǒng)軟件體系結構綜述[J].航空學報,2009,30(10):1912-1917.
[2] 王羽,洪沛,閆樂,等.基于FC的航電數據加載服務系統(tǒng)的設計研究[J].航空電子技術,2017,48(4):20-26.
[3] 張軍才,茹偉,胡宇凡.機載近距數據通信系統(tǒng)方案設計和驗證[J].電光與控制,2020,27(1):17-20.
[4] 王曉華,李斌,楊媛媛.航空電子數據加載中間件的設計與實現(xiàn)[J].航空計算技術,2020,50(5):103-106.
[5] 楊淵.基于MBSE的民機數據加載系統(tǒng)建模及模型驗證[D].成都:電子科技大學,2020.