飞机数据网络主要是根据ARINC 664协议规范进行数据的计算,传输转换。然而ARINC 664 英文规范太过复杂,不易理解,即使是专业人员,也需要对其进行抽丝剥茧,结合实际进行理解。本文即从基础角度简单分析一下ARINC 664 应用报文(Applicaiton Message)的结构组成。
位(bit)与字节(byte)传输顺序
在计算机结构中,对于字节(byte),字(word)等基本单位的存储机制有所不同,所以用什么样的顺序进行信息单元的传送数据是计算机通信过程中一个很重要的问题。如果不达成一致的通信规则,通信双方将无法进行正确的编码译码从而导致通信失败。
在飞机数据网络中,A664-P7规范定义了信息单位传输的顺序采用大端格式(Big-Endian),即将高序字节存储在起始地址。
如图1所示是飞机数据网络中"字"(Word)的构成。通常来说,一个"字" 是16位,"长字"(long word)才是32位。但在飞机数据网络中,将"字"定义为32位的字符串。
图1 ARINC 664 协议规范 字 定义
32位的"字"在内存中的地址如图2所示,地址编码采用16进制。高位字节(Most significant byte)的地址在最前,低位字节(Least significant byte)的地址在最后,也就是说高位有效字节会先被传输。在物理层媒介上,24~31位的字节会被传输,然后是16~23位,依次往下传输。
图2 字 内存地址与大端格式
典型应用报文举例
通过飞机数据网络应用报文(Application Message)的接收和发送,应用端主机(Application host)与主机之间可以进行数据的通信。在这个过程中,应用报文会因为飞机数据网络传输媒介的性能限制而进行报文分组,即一条报文被分为多条子报文进行传输通信。在被另一端的应用主机接收前,终端系统会自动将分组的报文整合。
如图3所示是A664 P7规范所定义的应用报文数据结构。
图3 ARINC 664 应用报文结构ju'li
报文结构由一行行"字"组成,每行字有32个位。每条A664 P7报文信息都从1个字的保留区(Reserved)开始。
保留区的作用是预留未来更改的空间,是每条应用报文的开始"字",其数据应全为0。
紧接在保留区后的是功能数据设置区(Functional Data Set,FDS)。功能数据设置区由功能状态设置字(Functional Status Set Word ,FSS)和数据设置(Data Set ,DS)两部分组成。
功能状态设置字FSS word至少包含一个功能状态FS部分,至多包含四个功能状态部分(每个8位,1字节),但可以有不同大小和不同形式的数据设置DS部分。
上图中数据设置1部分包含3个参数(参数1、参数2和参数3),而数据设置2包含1个参数4,数据设置3包含3个参数(参数5、参数6和参数7)。而数据设置4则仅有1个参数8.
功能状态FS的作用是为数据设置区DS的一个或者一组参数提供有效性的验证,而数据设置DS则是实际传输数据参数的存放位置。有效性验证是飞机数据网络进行数据传输不可或缺的功能,只有数据再通过有效性验证之后,才可以在网络上进行传输。
如图4所示可以更好地说明飞机数据网络报文的结构组成。
图4 飞机数据网络ARINC 664 报文组成
如果应用报文需要额外的参数,可以在应用报文中继续添加功能数据设置区FDS。可由图3知参数9、参数10和参数11即在功能数据设置2区,由另一行功能状态字FSS word负责数据验证,其他的情况以此类推。
功能设置Functional Set的取值与定义如下图5所示。
图5
无数据(No Data)表示功能状态区相关联的数据设置区没有参数信息。
正常运行(Normal Operation)表示功能状态区相关联的数据设置验证成功,数据传输正常。
无计算数据(No Computed Data)表示设备正常运行,但功能状态区相关联的的数据无法验证数据,即有数据而检测不到数据。
功能测试则是指功能状态区相关联的数据设置区参数正在进行功能测试。
应用报文的数据调整
在飞机数据网络数据传输过程中,必须对应用报文的数据结构进行一定的调整,使其以一个合适的方式储存在计算机物理内存中。这样一来,可以最大化利用计算机处理数据的效率,也保证了飞机数据网络带宽的使用更加高效。
在应用报文的数据结构中,常常通过置零位(Padding)的方式让调整数据在物理内存中的地址。如图6中例子所示,如果一个4字节的参数1储存在地址0x0008至0x000B中,那么大小为8字节的参数2在物理地址上就需要进位,因为0x000C至0x000F只有4个字节,参数2需要储存至0x0010至0x0013的物理内存地址上。
图6 报文数据结构调整
所以,为了参数2可以完整的储存在一个物理内存地址上,需要将应用报文中中物理内存地址为0x000C至0x000F的部分置零。
结合A664 规范所定义的MAC数据帧传输规范,实际应用报文与数据帧的关系如下图7所示。应用报文中的每行以32位"字"的形式组合在MAC数据帧中。
图7 报文应用数据在数据帧中的
以上是对飞机数据网络应用报文组成的简单介绍,报文的结构组成大多来自于A664规范的定义。实际上,在飞机网络进行传输时,会完成不同类型信号之间的转化。ARINC 429,ARINC 825和离散量信号都需要将自己的数据内容通过终端系统和交换机转变成本文所述的报文组成中,完成航电系统复杂信息数据的交互。