基于ARINC615A通信协议的数据校验方法设计与实现
2022-02-06叶上华李雪源陈朋瑞
叶上华,李雪源,陈朋瑞
(航空工业西安航空计算技术研究所,陕西 西安 710068)
0 引 言
随着综合模块化航电子系统(Intergrated Modular Avionics,IMA)的发展,软件加卸载和更新维护的需求日益增加,因此ARINC615A数据加载通信协议规定了航空电子系统数据加卸载行为,其中包括查找信息、上传以及下载功能涉及的通信过程和格式,但通信协议缺乏对所上传数据进行校验的机制,因此航空电子系统中运行的软件可能会存在与机上软硬件不兼容的风险,造成航空电子系统运行故障,甚至导致安全事故[1]。本文提出基于ARINC615A数据加载通信协议的数据加载软硬件兼容性校验方法,该方法针对IMA系统中的通用处理模块(General Processing Module,GPM)设计了一种可加载映射表,利用可加载映射表改进上传通信过程使其具有校验机制,最后实现了软件核心功能[2]。改进后的上传通信通过识别出与航空电子系统不兼容的数据文件拒绝其上传,进一步保障航空电子系统运行的可靠性和安全性。
1 数据通信协议研究
综合模块化航空电子系统是一个分布式的计算平台,由机柜和标准化的硬件模块组成,包括GPM、交换机模块以及远程数据集中器。系统中的设备通过实时可靠的航空电子全双工交换式以太网(Avionics Full Duplex Switched Ethernet,AFDX)进行通信,其中GPM模块支持数据计算功能,交换机模块支持数据传输功能,远程数据集中器将传感器等设备信号经由交换机传至GPM进行数据计算。IMA系统的驻留应用软件运行在GPM模块上,GPM采用实时操作系统为驻留应用软件提供可计算的资源。随着应用规模的不断扩大,一个航空电子驻留应用往往由运行在不同GPM中的多个软件功能构成,这些应用软件功能按照空间和时间2个因素进行分区,因此驻留应用又称为分区应用[3]。空间分区指每个分区由模块集成者根据空间分隔需求为每个分区分配最大数量的资源;时间分区通过配置表为每个模块中的软件功能静态分配时间片。时间片的分配具有周期性和固定性,因此每个分区应用功能都在特定时间周期内执行。
数据加载分区应用软件采用ARINC615A数据加载通信协议满足IMA系统对维护软件的加卸载要求。ARINC615A数据加载通信协议是由运行在AFDX网络中的地面端加载器和目标机即GPM模块组成。地面端加载器运行数据加载客户端软件,GPM模块运行数据加载分区应用软件。数据加载客户端软件和数据加载分区应用软件根据ARINC615A数据加载通信协议的规定进行大量的消息通信,共同完成以下功能。
(1)查询功能。数据加载分区应用软件接收数据加载客户端软件的查询请求,获取目标机硬件信息并组织查询应答包发送给数据加载客户端软件,以完成加载器对目标机的查找。
(2)信息功能。数据加载分区应用软件接收数据加载客户端软件的信息请求,通过信息功能来告知当前目标机名称、序列号以及软件名称等相关设备信息。
(3)上传功能。数据加载分区应用软件接收数据加载客户端软件的上传请求后,从该请求包中得到加载器所要上传的文件列表,通过解析文件列表,数据加载分区应用软件依次请求数据加载客户端软件上传的数据文件,从而实现获取数据文件的目的。
(4)下载功能。数据加载分区应用软件接收数据加载客户端软件的下载请求后,通过向加载器发送目标机所有的文件列表,由数据加载客户端软件对需要下载的文件进行选择,或者由目标机直接接收数据加载客户端软件所需要下载的文件列表请求,而后数据加载分区应用软件将需要下载的数据文件发送给数据加载客户端软件。
2 上传通信改进
数据加载分区应用软件为IMA系统提供软件更新维护的功能,使得GPM模块可以上传和下载数据。本小节提出可加载映射表的设计思想,将其作为兼容性校验的标准,通过判断待上传的加载项是否与GPM模块软硬件兼容,从而决定是否允许其进行上传通信。利用可加载映射表对上传通信进行改进,使上传通信具有校验机制。
2.1 可加载映射表
可加载映射表针对IMA系统的GPM模块设计,包含一个模块可兼容的所有加载项信息。每个加载项均具有多种属性,如加载项名称、描述和所占存储空间大小等。本文经过梳理,提炼出7个属性作为兼容性校验的关键属性,分别是硬件兼容码和可加载项配置信息。硬件兼容码包含机柜位置和模块位置2个关键属性,根据机柜位置和模块位置可以确定可加载映射表所在模块的相关信息,凡是不满足该硬件属性的加载项均被拒绝上传。可加载项配置信息包含5个属性,分别是可加载项名称、可加载项ID、可加载项的平台主版本号、平台次版本号以及应用程序版本号。其中,可加载项名称和可加载项ID可以唯一识别一个特定的可加载项,其余的3个关键属性则可以依次得出平台版本和应用版本的控制信息。
GPM模块的可加载映射表是由硬件兼容码和多个可加载项配置信息2个部分内容组成的二进制文件,结构如图1所示。
图1 可加载映射表结构
对于每个待上传的加载项,其必须符合可加载软件飞机零部件(Loadable Software Airplane Parts,LSAP)的格式规定。LSAP包含1个头文件和1个或多个数据文件,根据使用需求选择是否提供支持文件,支持文件包含数据文件的配置信息。IMA系统要求必须提供支持文件。根据所提出的关键属性,结合支持文件和可加载映射表,对于特定的加载项,GPM模块的数据加载分区应用软件利用支持文件中的加载项信息和可加载映射表对比,就可以确定该加载项是否被目标机兼容。
2.2 可校验的上传通信
根据所提出的可加载映射表,对ARINC615A通信协议的上传通信进行改进。上传通信就是从地面端数据加载器到目标机数据加载分区应用软件上传文件的消息通信过程,本文利用可加载映射表使其能够识别出不符合GPM模块软硬件兼容的加载项并拒绝上传。为方便表述,将改进后的上传通信称为可校验上传通信。
ARINC615A通信协议的上传功能包括3个阶段,如图2所示。初始化阶段用于目标机与地面端加载器的通信状态初始化,目标机应根据其当前状态决定是否接受上传通信请求,并将结果发送给地面端加载器。列表传输阶段目标机应获取地面端加载器的上传文件列表,表中包含地面端加载器给目标机的上传文件名。文件传输阶段目标机应接收地面端加载器发送给目标机的数据文件[4]。
图2 ARINC615A协议上传通信过程
上传通信的3个阶段都会产生相应的消息,地面端加载器和目标机数据加载分区应用软件通过大量的协议文件交互完成此功能。可校验上传通信在列表传输阶段添加软硬件校验机制,列表传输阶段目标机接收到头文件以后进行解析,按照ARINC615A协议的规定,此时需要获取数据文件的名称,然后依次向地面端加载器发起数据文件传输请求,但改进后的列表传输阶段则会通过解析头文件获取支持文件的名称,通过向地面端加载器请求支持文件获取加载项的配置信息,而后对支持文件进行解析。首先,支持文件中加载项的机柜位置、模块位置应与可加载映射表中可加载项的硬件兼容码相同;其次,支持文件中加载项的主平台版本号应与可加载映射表中可加载项的主平台版本号相同,所有加载项都应具有相同的主平台版本号;再次,支持文件中加载项的次平台版本号应小于或等于可加载映射表中可加载项的次平台版本号,每个可加载项的次平台版本号可能具有差异;最后,支持文件中加载项的应用程序版本号应等于可加载映射表中可加载项的应用程序版本号。通过解析支持文件和可加载映射表,当所有加载项满足兼容条件时才会进入文件传输阶段,否则本次上传通信因存在软硬件不兼容的加载项而结束。
3 数据加载分区应用软件实现
为了验证可校验上传通信功能的可行性,本文对目标端数据加载分区应用软件的基本功能进行实现。数据加载分区应用软件采用分层设计的逻辑架构,通过对数据加载分区应用软件功能的分析,对其进行结构化划分,最终完成整个应用的设计。软件架构如图3 所示[5]。
图3 数据加载分区应用软件架构
数据加载分区应用软件自顶向下分为应用层和协议层。应用层通过调用协议层接口完成任务启动终止以及各类协议和软件的初始化、目标机配置管理接口调用等。协议层包括ARINC615A通信协议、ARINC 665 协议以及简单文件传输协议(Trivial File Transfer Protocol,TFTP)[6,7]。TFTP 协议是实现文件传输所遵循的规定,包括读文件请求、写文件请求、发送文件以及接收文件等。数据加载分区应用软件和加载端软件进行通信的文件格式定义遵循ARINC665协议,包含对通信过程中文件的结构体定义、生成、解析以及文件生成后或解析时用到的数据完整性、正确性的校验算法等。通信过程核心功能的实现则符合ARINC615A协议的规定,包括实现应用层调用所需的接口、对数据加载通信协议流程的处理以及上传通信及其他功能的实现。
在此对可校验的上传通信涉及到的函数接口进行介绍,如表1所示。
表1 可校验的上传通信函数接口说明
整个过程中,接口函数互相配合调用来保证数据通信完整正确的执行。实验结果表明,数据加载分区应用软件功能正常、运行稳定,满足预期设计。
4 结 论
通过研究ARINC615A数据加载通信协议的上传通信过程,设计出适用于IMA系统的可加载映射表,改进了ARINC615A数据加载通信协议的上传通信,使其具有数据加载兼容性校验功能,实现了整个数据加载分区应用软件,充分保证了综合模块化航空电子系统上传文件的可用性和正确性,提高了系统的可靠性和安全性。在今后的研究中还需继续探索,进一步优化数据加载校验方法的性能。