AFDX网络终端系统设计研究

2014-08-27 08:47郭丰玮
中国高新技术企业 2014年16期

摘要:AFDX网络在现阶段已经得到广泛的应用,终端系统是AFDX网络不可或缺的一部分,是连接航电系统计算机与AFDX网络的接口,对于终端系统的归纳,理解和应用是构建AFDX网络重要的一步。文章介绍了终端系统的接收和发送路径,结合现有知识设计了发送和接收路径的基本功能框图并进行了详细的讲解。

关键词:AFDX;终端系统;接收路径;发送路径;虚拟链路

中图分类号:TN915文献标识码:A文章编号:1009-2374(2014)24-0029-03

在飞机AFDX网络传输中,终端系统有着不可替代的巨大作用。航电各系统计算机通过终端系统接入AFDX网络,在IMA的设计中,终端系统同样起到巨大的作用。一个航电IMA机柜往往可以同时支持多个航电应用程序,而这些应用程序可以通过同一个终端系统来实现与AFDX网络的对接。终端系统的职责是通过虚拟链路来管理数据的传递和接受。终端功能的功能架构大体可分为两路:接收路径和发送路径。

1接收路径

接收路径管理着从外部系统发送来的数据。 一般终端系统的物理接口与所属网络冗余数量一致,在AFDX系统中,每个物理端口都连接着一个100或1000Base-T的AFDX网络。数据先进入FIFO队列,然后从物理接口传送进入接收缓存器。每个接受缓存器都与一个独立的完整性检查模块(INTEGRITY CHECKINGMODULES)相连接。通过此步骤,不合格的帧将会被过滤。剩余数据将会进入冗余管理器模块(REDUNDANCY MANAGEMENT MODULE)。冗余管理器模块会从同一个虚拟链路中提取出冗余帧并确保只有一个帧可以通过。在这个过程中,冗余管理器模块会从虚拟链路数据库(VLID DATABASE)中提取有用的虚拟链路的信息。之后,数据将会发送至通信端口(COMMUNICATION PORTS)并由目的应用软件所接收。

图1终端系统接受路径功能模块

1.1完整性检查模块

此模块负责每个网络和每条虚拟链路中的完整性检查工作。完整性检查的基础是基于每个帧的顺序号。在每条虚拟链路中,帧的顺序号是独立的分配系统。在帧的初始阶段,每个帧都会被分配一个不同的顺序号。如果检测到两个连续帧的顺序号之间的间隔不为“1”,则称此种情况为“连续帧丢失”。此种帧为不合格帧并且被完整性检查模块所自动丢弃。在完整性检查模块之后,通过同一个物理接口的所有数据帧再次经过FIFO队列排队并进入下一个模块—冗余管理模块。

1.2冗余管理模块(去除功能)

图2冗余模块接收帧处理过程

在AFDX网络中,数据帧同时在几个不同网络上传播,因此当到达接收端时,这些数据帧的额外副本需要被删除。因此,此模块将会读取数据上自带的虚拟链路号与其相对应的顺序号,并且将具有同样虚拟链路号和顺序号的帧的到达时间进行对比。此种算法叫做“第一有效帧获胜”。若一个AFDX网络具有2重冗余网络,那么这意味着具有相同虚拟链路号和顺序号的2个数据帧中,只有第一个到达的帧才会被储存进入冗余管理模块的RAM中。每个帧的到达时间会被SKEWMAX模块所记录,若某一帧的到达时间与前一帧的时间间隔超过一定值,则该帧会被舍弃。图2说明了接受路径的冗余管理模块处理接帧的原理与过程。

1.3数据帧处理模块

此模块主要负责数据包的处理过程。驻留在IMA中的航电应用程序主要依靠UDP和IP协议来进行数据交换。在进入终端系统之前,一个AFDX标准数据帧包含四种包头,分别是以太网包头(Ethernet header),IP包头(IP header),UDP包头(UDP header)和负载信息。这四部分中,只有有效负载信息包含实际的数据

内容。

为了处理各包头并将有效负载剥离数据帧,数据帧处理模块包含三层结构:物理层,UDP层和IP层。当数据帧通过物理层时,以太网包头中的目的MAC地址被解析,并且与虚拟链路数据库中的信息对比。此后,数据帧被发送到IP层和UDP层,在该阶段IP地址和目的UDP端口地址依次被解析。最后,剩余的有效负载数据被发送到相应的通信端口并由目的应用软件或系统读取。

每一个AFDX通信端口都映射到不同的UDP端口上。从AFDX通信端口,应用软件可以从网络中读取或者向网络发送数据。这是操作系统处理界面的一部分功能。每个虚拟链路都可以连接一个或者数个特定的AFDX通信端口。在ARINC 664标准中,共定义了三种通信端口:采样端口, 队列端口和SAP端口,如图3所示:

图3UDP 和AFDX通信端口示意图

采样端口:在某些AFDX数据较短的情况下,所有数据可以打包在一个数据帧中。这种数据帧将会通过采样端口传递给航空电子应用程序。采样端口的缓存器同一时间只能存储一帧。当新的信息进入,旧的信息就会被覆盖。航空电子应用程序读会根据“新数据帧指示器”来读取新进入的信息帧。每一个新进入的信息都会使“新数据帧指示器”的值有所改变。通过此指示器,终端系统可以有效分辨源系统是否已停止传输,或者是在不停发送同一个数据信息。

队列端口:当AFDX数据消息的有效负载超过最大可传输单元时,这些数据可以在IP层被分割成片段并组合成多个数据包。其中最大可传输单元由各个虚拟链路的值或者最大帧长度来决定。同一个数据所分割的多个数据帧会挂在队列缓存器上等待被读取。每一个被航空电子应用系统读取后的数据帧都将被清除,以防止重复读取发生。一个队列缓存器往往有足够大的数据容量,以存储可能同一时间可能到达的所有数据,若缓存器溢出,新到达数据帧将会丢失。

SAP端口:服务接入点端口,为小型文件传输协议(TFTP)通信服务。主要用于AFDX系统和非AFDX系统之间的数据交换。

2发送路径

发送路径为接收路径反向的功能活动。数据从航电应用软件中发出,经过采样端口和队列对口到达数据帧处理模块。在此模块,UDP包头,IP包头和以太网包头被依次添加。长消息在经过IP层时被分割为多个数据包。虚拟链路号被添加入以太网包头,并且定义了该数据帧的源地址和目的地址。虚拟链路调度器负责各虚拟链路帧的规整与多路复用。此后数据帧被送入冗余管理模块(备份功能)。终端系统发送路径功能模块如图4所示:

图4终端系统发送路径功能模块图

2.1虚拟链路调度器

虚拟链路调度器由四部分组成:虚拟链路号校验器,子虚拟链路调度器,校准器和多路复用器。

当数据帧发送入虚拟链路调度器时,虚拟链路号将被核查。根据ARINC 664标准,一个虚拟链路可以包含最多4个子虚拟链路。如果一个数据帧属于某个子虚拟链路,那么它将被送入子虚拟链路调度器。在子虚拟链路调度器中,每个子虚拟链路中的帧会被循环读取。若数据帧不属于任何子虚拟链路,它将被送入FIFO队列等待发送时间校准和多路复用。当一个虚拟链路中的数据帧准备好被发送时,会被打上相应的顺序号再送入冗余管理模块。

校准器的作用是决定每个数据帧发送的具体时间。根据所发送信息对于频率的不同要求,每个虚拟链路都有一个固定时间间隔槽(BAG)。该时间插入发送数据帧之间,以确保每个数据帧发送的固定间隔。具体的BAG信息储存存在虚拟链路数据库中并与具体的虚拟链路号相对应。

2.2冗余管理模块(备份功能)

在冗余管理模块中,数据帧被复制并发送至AFDX网络。对于一个有双网络的AFDX系统,备份数据帧将会在2个网络战独立的传输,并且被接受端终端系统的冗余管理模块所接收和处理。

3结语

综上所述,终端系统是航电计算机与AFDX网络连接的桥梁,对其的研究在国内还处于起步阶段。本文对终端系统的原理和架构做了初步的归纳和设计。针对国内技术缺乏的情况,我国应当加紧对于终端系统研制和测试标准的制定。

参考文献

[1] GE Intelligent Platforms. AFDX/ARINC664 Protocol

 Tutorial.”nd ”.

[2] Aircraft Data Network Part 7 - Avionics Full Duplex

 Switched Ethernet (AFDX) Network, ARINC

 Specification 664 P7, 2005.

[3] ‘AFDX® Workshop-Avionics, (2010) data bus

 solution, AIM GmbH. March 2010

[4] Developing AFDX solution, Actel.

[5] MCHALE J.AFDX technology to improve

 communications on Boeing 787[EB/OL]. Military &

 Aerospace Electronics Magazine [2008204216]. http://

 mae.pennet.com

作者简介:郭丰玮(1987—),女,陕西西安人,上海飞机设计研究院助理工程师,研究方向:通信工程。