基于AFDX的跨总线ARINC615协议软件设计及实现
摘要:ARINC615协议定义了一种基于ARINC429总线的数据加卸载方法,在以AFDX网络为核心的航电网络中,数据加载器一般为基于AFDX通信的端系统设备,为了完成航电网络加载器对ARINC429总线设备的加载,文章提出了一种基于AFDX的跨总线加载结构,采用有穷状态机的方法实现了ARINC615协议的功能,设计并实现了基于ARINC615协议的应用软件,保证了文件传输的有效性和可靠性。
关键词:ARINC615协议;AFDX协议;文件传输;软件
0 引言
ARINC615协议定义了一种机载计算机高速数据加载器,基于ARINC429总线完成对机载计算机的数据上传和下载功能。在以AFDX网络为主干网络的航电网络中,以AFDX网络为核心,外围通过远程数据接口单元挂载ARINC429总线设备,航电网络加载器一般是基于AFDX通信来完成航电网络数据的加卸载功能,导致对ARINC429总线设备的加载需要通过基于AFDX通信的网络加载器来完成,针对此问题,本文将ARINC615协议加载端移植到基于AFDX通信的航电网络加载器上,提出一种基于AFDX的跨总线ARINC615协议软件设计实现方法,并设计应用层的加卸载方案,实现了航电网络加载器和目标机的数据文件加卸载功能。
1 ARINC615协议概述
ARINC615协议是基于ARINC429总线的数据加卸载协议,其加载端和目标机均需支持ARINC429基本数据通信,在ARINC429基本通信的基础上,ARINC615协议定义了一系列的规则,通过握手一响应一确认机制来完成数据在加载端和目标机的传输过程。
1.1 基本协议层交互定义
429总线上传输的数据单元长度为32位,因此ARINC615协议的命令及数据传输均是基于32位的数据包进行。ARINC615协议的数据通信的交互命令定义如表1所示。
如表1所示,ARINC615协议交互命令分为初始字命令、中间字命令和结束字命令三种。三种命令数据格式中第32位为奇偶校验位,第1到8位为429的Label号标识,第30和31位区别三种类型的命令。初始字命令用于数据传输前的命令交互握手,其数据格式中第23位到第29位标识不同类型的初始字命令,RTS命令用于发送请求命令,其9到15位标识本次发送请求要发送的记录个数;CTS命令用于对RTS命令的响应,其9到15位标识可接收的记录个数;DF命令表明开始数据传输,其16到22位标识当前传输的记录序号,9到15位标识当前传输的记录的总字节数;AC K和NAK命令标识对数据接收的确认,其16到22位均标识其确认的记录序号;SYN命令用于加载端和目标机的同步;HDR命令通过第16到22位的命令字段来发起包括读数据块、写数据块、加载完成、进入自动模式等命令;加载端发送POL命令来探测有可能的自动下载操作。中间字主要用于传输数据,DATA命令中第8到24位为数据段,包含两个字节的数据信息。结束字用于每个记录传输完成后的数据校验和传输。
1.2 配置文件定义
在ARINC615协议的加载端,需定义配置文件CONFIG.LDR,用于对加载端上传和下载操作进行定义和描述。CONFIG.LDR文件中配置参数格式描述如下:
parameter_id=parameter valueCR,LF>
其中parameter_id为一个变长字段,包含了要定义的配置参数名,配置参数名中可包含一个数字‘n’,标识所定义的参数为第几条总线参数,n的范围为1~8,如BlP用于定义第一条总线的优先级。parameter_value为具体的配置参数值,对于有多个参数值的配置参数,参数值之问用逗号隔开。CR,LF>为回车换行符。
CONFIG.LDR配置文件主要配置参数的定义及其含义如表2所示。
表2中给出了CONFIG.LDR文件中主要参数的定义,包括总线属性定义、总线优先级定义、总线发送文件定义及总线接收文件定义等。
1.3 协议功能定义
ARINC615协议将要上传或下载的文件分为多个块(block),每个块大小由CONFIG.LDR中BnT属性定义,默认每个块大小为1024字节,在每次数据传输过程中,将块又细分为记录(record),对于上传操作,每个记录大小范围为0~252字节,对于下载操作,每个记录大小为0~254字节,每次数据交互以一个记录为单位进行。
协议的功能基于基本交互命令实现,协议的主要功能定义如下:
(1)通信初始化。加载器读取配置文件的内容,根据配置文件的信息选择上传或下载操作,发送初始化命令,收到目标机响应后,进入上传或下载操作;
(2)上传操作。上传操作分为通信初始化后直接上传、控制模式文件选择上传、控制模式下上传。
通信初始化后直接上传:总线配置文件的上传文件是目标机端需要的,在通信初始化完成后,直接向目标机上传文件。
控制模式文件选择上传:总线配置文件的上传文件不是目标机端需要的(或者未定义上传文件),目标机端发起控制模式命令,加载器进入控制模式。在控制模式下,目标机需要在指定文件后进入直接上传模式,加载器向目标机上传文件。
控制模式下上传:总线配置文件的上传文件不是目标机端需要的(或者未定义上传文件),目标机端发起控制模式命令,加载器进入控制模式。在控制模式下,目标机控制整个数据传输过程,目标机指定需要的文件,从加载器读取数据。
(3)下载操作。下载操作分为通信初始化后直接下载、控制模式文件选择下载、控制模式下下载。
通信初始化后直接下载:总线配置文件的下载文件是目标机端需要的,在通信初始化完成后,加载器等待目标机传输文件,当目标机准备好后,向加载器发送数据文件。
控制模式文件选择下载:总线配置初始化为自动上传或自动下载,目标机发送控制模式命令,进入控制模式,在控制模式下,目标机打开文件进行写操作后,转入直接下载模式,向加载器发送数据文件。
控制模式下下载:总线配置初始化为自动上传或自动下载,目标机发送控制模式命令,进入控制模式。在控制模式下,目标机控制整个数据传输过程,打开文件后向加载器写入文件数据。
2 跨总线加载方案设计
跨总线加载方案定义了一种基于AFDX的加卸载方法,其加载端基于AFDX通信协议运行,目标机基于ARINC429协议运行。
跨总线网络协议栈如图1所示。加载器与目标机端之间通过数据网关连接,数据网关完成ARINC664协议到ARINC429协议的转换。加载器端
底层基于ARINC664总线,通过协议映射层完成AFDX数据到ARINC429数据的转换,以支持ARINC615协议加载端的运行。数据网关实现了ARINC66 4协议和ARINC429协议的双向转换工作,定义了数据转换规则。在数据网关上需维护(AFDX发送端口号,AFDX接收端口号,429设备标号)的映射关系表。当数据网关收到一个AFDX数据包时,利用AFDX接收端口号查找映射关系表,可以取得这个AFDX数据的目的429设备,数据网关解析AFDX数据包,进行相应的转换为N429数据,发往目的429设备。而当数据网关设备接收到一个429数据包时,利用429设备标识查找映射关系表,获得429设备对应的AFDX发送端口号,然后对数据进行转换封装为AFDX数据帧,通过查找到的AFDX发送端口号发送出去。
由于ARINC615交互数据及429设备数据均为32位长度,而对于AFDX网络来说,每次传输数据只传输32位有效数据,对网络带宽会造成较大浪费,因此,在数据网关设备的协议转换层需进行数据融合,即数据网关能够将多个32位429数据封装到一个AFDX数据包中进行传输,同时在接收到一个包含多个32位ARINC615协议数据的AFDX数据包时,能够将每个ARINC615协议数据解析出来,依次拆分为32位ARINC429协议数据发送出去。
3 基于有限状态机的协议实现
在ARINC615协议的上传和下载过程中,每一时刻加载端和目标机都处于一个特定的状态,而且所有可能出现的状态是确定的,定义软件开始运行时状态为初始状态,当有输入事件时,软件整个过程按照状态机开始跳转运行,直至运行至终止状态。
因此,可以根据ARINC615协议,抽象出加载端及目标机软件运行的各个状态类型,按照表3所示的状态转移表整理协议中所有的状态及其转移流程。
- 智能测控系统的应用(11-10)
- 基于C8051F340的机载武器测控系统设计(10-18)
- 基于PCI总线接口卡的ARINC429总线数据仿真与采集系(06-25)
- 基于MLX90615和STM32的多点红外温度测量系统设计(01-09)
- CAN总线系统测试技术(05-11)
- 可以处理6.4Gbps以上数据率的创新型串行总线测试方法(06-23)