微波EDA网,见证研发工程师的成长!
首页 > 测试测量 > 测试测量技术文库 > 基于AFDX的跨总线ARINC615协议软件设计及实现

基于AFDX的跨总线ARINC615协议软件设计及实现

时间:08-09 来源:互联网 点击:

d.JPG


表3中,当前状态指当前软件所处的状态,在输入事件的情况下,调用处理函数后运行至下一状态。一个当前状态可对应多个输入事件,分别调用对应的处理函数,进入不同的下一状态。按照表3建立ARINC615协议的状态转移表,并按照功能实现各状态在输入事件下的处理函数,软件即可依照状态转移表运行,状态机运行的接口定义如下:
e.JPG
其中init_state为状态机起始运行的状态,init_event为状态机初始的输入事件,exit_state为状态机的结束状态,exit_event为状态机的退出事件,session和parameter两个参数记录了状态机运行过程中的会话和参数信息。通过StateMachine接口,可完成ARINC615协议的自动运行。

4 基于ARINC615协议的应用软件
ARINC615协议定义了文件数据传输的过程,基于ARINC615协议,设计应用层软件,实现一种工程上可靠、实用的文件上传和下载功能。在应用软件中,主要的功能包括:
(1)加载端和目标机端要传输的文件名的获取,保证加载端和目标机端都能够知道要对方上传和下载的文件的文件名;
(2)文件传输最后填充字节的识别和剔除,避免由于ARINC615协议数据传输过程中为了字节对齐而填充的数据对文件正确性的影响。
应用层软件的加载端和目标机端的工作流程如图2所示。

f.JPG


如图2所示,在加载端,定义了CONFIG.LDR文件,在该文件中,定义加载端发起自动上传操作,且第n条总线上要上传的文件名为File List[n],其中n代表第n条总线,其取值范围为1~8,在FlieList文件中定义了加载端要上传和要下载的文件名称,及该文件对应的属性(上传或者下载)。软件开始运行后,由加载端解析CONFIG.LDR配置文件,发起自动上传操作,加载端和目标机端进入自动上传模式,由加载端将约定好的FileList[n]文件传输至目标机端,文件传输完成后,加载端等待目标机端的控制模式命令。目标端在接收到FileList文件后,解析该文件,获取加载端要上传的文件名及要下载的文件名后,发起控制模式命令,加载端和目标机端均进入控制模式。在控制模式下,由目标机端控制文件的上传和下载,目标机根据解析的要上传和下载的文件名,对于要上传的文件,目标机端发起读操作,从目标机端读取上传文件;对于加载端要下载的文件名,目标机端发起写操作,向加载端写入数据文件。对于定义了多条总线的CONFIG.LDR配置文件,加载端按照总线优先级依次进行如图2所示的文件传输流程,直至所有总线上定义的数据文件均传输完成。
ARINC615协议中每次数据传输的一个DATA命令传输两个字节的数据,在协议中规定了当文件传输最后仅剩一个字节时,需填充一个字节,然后进行数据传输,这就导致了在文件传输过程中,对于要上传或下载的奇数字节文件,在文件传输完成后,会出现多一个填充字节的问题。在应用软件设计中,利用DATA命令中协议未定义的第25位作为判断标识位,在正常的文件传输下,该位标识为0,当出现数据填充后,将该位置标识为1,在文件接收端,如果发现该位为1,则能够确认接收到的数据中有一个字节的填充,这样可以将填充的字节剔除,从而保证了文件的正确性。

5 结语
文章介绍了AIRNC615的基本原理,提出了一种基于AIRNC615的跨总线加载结构,采用有穷状态机的方法实现了AIRNC615协议的功能,从工程应用的角度,设计并实现了基于AIRNC615协议的应用软件,保证了文件传输的有效性和可靠性。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top