机载通用数据加载工具软件的设计和实现
2021-08-17陈宁吴云陈福王佳明
陈宁 吴云 陈福 王佳明
摘 要:航电系统的综合化和模块化程度越来越高,机载网络技术也日趋复杂,一方面这使得航电系统中的加载数据的数量急剧增多,另一方面,对数据加载的质量提出了更高的要求,目前的数据加载软件已无法满足要求。通过分析数据加载工具软件的需求,采用分层设计的方法设计了系统的总体结构逻辑。阐述了主机端软件和目标机端软件的设计思路,并且进行了软件实现和验证。结果表明,该机载通用数据加载工具具有良好的配置性和通用性,且能够保证数据一致性和安全性。
关键词:航电系统;机载数据通信;数据加载
中图分类号:V243;TP311.52 文献标识码:A DOI:10.3969/j.issn.1003-6970.2021.03.031
本文著录格式:陈宁,吴云,陈福,等.机载通用数据加载工具软件的设计和实现[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 引言
隨着综合模块化航空电子的发展,复杂IMA架构[1]下的软件规模越来越大,数量也越来越多,在研制和使用维护过程中需要快速、安全的在线加载工具软件的需求已日益突出。而当前使用的在线加载工具种类繁多,存在数据一致性缺少保证、通用性差等问题,给软件开发人员和外场维护人员带来了极大的不便。因此,开发一种通用性强的、能保障数据完整一致的、支持快速批量固化的加载工具十分必要。针对这些问题,本文对加载工具的需求进行分析,以通用性为目标,设计总体架构,提供针对全系统的批量并行数据加载能力,支持串口、以太网、AFDX[2-3]等多种类型的数据总线协议,支持多种加载协议。设计了加载文件的版本管理和操作日志管理。通过多种方式保证系统的通用性和易用性。
1概述
通用数据加载工具是地面开发调试和升级保障设备,可通过标准串口、以太网、机载网络AFDX等网络进行软件和配置数据的升级。通用数据加载工具设备组成图如图1所示。
1.1 功能需求
通用数据加载工具软件的主要功能需求如下:
数据加载功能。支持多种加载协议,如串口加载协议、ARINC615A-2、ARINC615A-3协议[4]等;支持应用软件、配置数据、操作系统、可编程逻辑、系统工作参数等多种格式文件的加载。
信息保护功能。设置管理员权限、开发者权限和外场权限三种权限。其中管理员/开发者拥有软件所有操作权限,外场权限只能进行待加载数据文件导入以及对数据文件的加载功能。
网络拓扑识别与显示。能够自动识别目标机的目标节点拓扑信息,从而显示整个目标机的网络构成。
操作日志。提供加载日志和系统操作日志两种日志管理。
可靠性保证。通过传输过程的CRC校验和加载文件的MD5校验功能保证加载过程的可靠性和一致性。
1.2 接口需求
通用数据加载工具软件的主要接口需求:
(1)系统需要提供人机界面接口,人机界面接口用于设备使用人员进行各项工程、任务操作及实时显示;系统需要提供串口接口、以太网接口、AFDX驱动接口等用于主机端与被加载的设备间的通信。
(2)内部软件接口包括配置文件接口、加载协议接口和加载控制接口。配置文件接口用于待加载数据管理。加载协议接口用于实现加载协议的加卸载。加载控制接口用于实现加载的设备选择、状态检测、过程控制等。
2 系统物理架构设计
通过对机载通用数据加载工具的系统需求进行分析,将通用数据加载工具的系统结构按层进行分类。工具主要分为主机端软件和目标机端软件两部分。其中主机端软件采用分层分析[5],分为用户层、界面层、协议层和网络层,层次结构如图2所示。目标机端软件为驻留在目标机中的驻留应用。主机端和目标机端之间通过网络连接。
3 主机端软件设计
3.1 系统工作流程
主机端软件主要完成配置文件的管理、加载方式和协议的设置、用户权限管理、目标机网络拓扑管理、数据加载等工作。为了保护数据安全以及防止破坏系统重要区域的数据,根据不同用户权限可分为两种工作流程。
管理员、开发者的工作场景按流程上可分为六个阶段:用户登录、编辑配置表、加载数据包的制作、Flash空间地址规划、网络连接配置、加载,如图3所示。
外场人员没有配置表的编辑权限,只能导入开发人员事先编辑好的配置表,然后选择加载项,进行加载,其工作流程如图4所示。
3.2 配置表设计
为了适应多种场景,设计了包含多种信息的配置表,配置文件的内容包括系统名(如IPC)、模块名、待加载的二进制文件名、待加载的二进制文件的物理地址、Flash加载地址、加载协议、加载方式和通信配置信息。为了能在多模块使用配置表数据,设计了以下数据模型对配置表数据进行转化和存储,该数据模型用于权限管理、Flash地址空间规划、网络拓扑图、数据加载模块。
图5中的数据模型包含以下节点:
NodeModel:目标机节点类,包括目标机的ID、是否在线、网络配置等信息;
FileModel:待加载文件模型类,包括待加载文件名、文件烧写地址等信息;
FlashModelFlash:地址空间规划模型类:
ProtectEntry:系统预留Flash规划项,包含系统可规划区域的位置和大小;
FlashEntry:烧写区Flash规划项;
Connection:网络通信抽象接口,获取网络通信所使用的传输协议;
ARINC664、SerialPort、Ethernet:为ARINC664网络、串口通信和以太网通信;
Protocal:传输协议抽象接口,包含多种命令,如查找、加载、备份、恢复等命令;
CustomSerial、CustomEthernet、ARINC 615A-2、ARINC615A-3:本系统支持的传输协议。
3.3 网络拓扑设计
为了直观的展現目标机端网络结构和网络配置情况,设置网络拓扑模块。根据当前IMA系统的结构,每个系统中可包含多个模块,每个模块中可包含多个节点。网络拓扑图展示当前主机端和目标机中多个模块、节点的关系。每个计算节点都有可能包含加载需求,在网络拓扑图上可显示当前节点部署的软件及其属性(含烧写地址、MD5、烧写时间、版本)以及目标机驻留软件版本信息。
网络拓扑模块可用来获取目标机节点状态。通过向局域网中发送UDP广播包,当局域网中的目标机节点收到数据包后,返回应答消息,则网络拓扑模块将该设备置为在线状态。
3.4 Flash地址空间规划
目标机的Flash中存在关键数据区,一般固化着操作系统、系统引导程序等关键程序,为了对目标机的关键数据区进行数据保护,设计了Flash地址空间规划。该功能用于管理每个目标机Flash地址的读写权限,其中权限共有三种(只读、只写、可读可写)。
管理员或者开发者需提前设定目标机Flash地址空间的可分配范围,之后才可在该范围内进行地址空间规划,每个规划项需包含4个输入项:Flash起始地址、Flash结束地址、Flash地址权限、备注信息。图6所示为某个目标机节点的Flash地址空间规划视图。
4 目标机端软件设计
目标机端软件是部署在目标机上的应用。设计以下功能:
串口通信功能:主机端与目标机端可通过串口通信,并可接受主机端请求、接受文件列表信息和数据文件,还需要负责向主机端返回操作结果、主机端已加载文件信息、目标机端驻留软件版本号和文件下载/烧写进度等状态信息。
以太网通信功能:具备使主机端与目标机端通过以太网通信的能力。其他功能与串口相同。
ARINC-664通信功能:具备使主机端与目标机端通过以AFDX网络通信的能力。其他功能与串口相同。
请求处理:目标机端接收到主机端请求后需要解析请求,并根据不同的请求内容执行相应的操作或返回数据,以此达到主机端对目标机的管理。
数据文件MD5校验:目标机完成数据文件的接收后,需要对数据文件进行MD5校验,以确保该数据文件传输完整并且未被篡改。
LSAP文件解析:目标机需要支持ARINC665标准,能够对其所描述的LSAP文件进行解析,并根据解析出来的信息更新目标机文件。
文件烧写:支持对接收到的多种格式的文件进行烧写。
日志记录:目标机通过日志记录驻留软件的运行信息,日志内容包括:当前时间、日志等级、日志位置和日志详情。
5 通用数据加载工具软件实现
通用数据加载工具软件主页面如图7所示。
其中区域1为配置表显示和编辑界面,区域2为网络拓扑图显示界面,区域3为操作日志显示区。将配置表信息完善后,加载数据包和Flash地址空间规划完成后,进行网络配置,配置界面如图8所示。
网络配置设置完成后,进行数据加载。选取了串口、以太网、AFDX三种通信介质,测试了对应的多种加载协议,测试结果如表1所示。
从表1可看出,工具可实现多种方式多种加载协议下的加载需求。满足多种应用场景,具有良好的通用性。
6 结语
本文首先介绍了通用数据加载工具的功能需求和接口需求,然后使用分层分析,设计了系统的物理结构。介绍了工具的主机端软件设计和目标机端软件设计和实现方案,最后验证了工具的多种加载场景,表明工具具有良好的通用性。
参考文献
[1] 褚文奎,张凤鸣,樊晓光.综合模块化航空电子系统软件体系结构综述[J].航空学报,2009,30(10):1912-1917.
[2] 王羽,洪沛,闫乐,等.基于FC的航电数据加载服务系统的设计研究[J].航空电子技术,2017,48(4):20-26.
[3] 张军才,茹伟,胡宇凡.机载近距数据通信系统方案设计和验证[J].电光与控制,2020,27(1):17-20.
[4] 王晓华,李斌,杨媛媛.航空电子数据加载中间件的设计与实现[J].航空计算技术,2020,50(5):103-106.
[5] 杨渊.基于MBSE的民机数据加载系统建模及模型验证[D].成都:电子科技大学,2020.