中航西安飞机工业集团股份有限公司 陕西省西安市 710089
摘要:航空全双工交换式以太网是基于IEEE802.3技术标准下且适用于航电系统信息传输的确定性飞机数据总线系统,AFDX在以太网基础上增加了确定性定时机制和可靠的信息传输机制以适应航电应用。阐述了AFDX网络主要组成架构,对AFDX网络的特点进行分析,通过构建AFDX测试系统,为AFDX网络系统测试验证基础提供了良好的保障。
关键词:AFDX;以太网;数据总线系统
引言:AFDX网络是一种高时性、高可靠性、低延时性和确定性的航空总线。通过控制虚链路的传输速率提高网络的时效性,可靠的信息传输则通过帧管理机制实现,包括信息的冗余传输和完整性检查,与传统的1553B和429总线相比,具有传输速度快、扩展性好、可靠性强等优点。本文将对AFDX网络架构进行分析,构建一种能够满足生产测试需求下的AFDX网络测试系统。
1.AFDX网络架构
AFDX网络由商用以太网经过适应性改造而来,通过采用虚拟链路技术和帧管理机制,实现确定性定时机制及可靠信息传输。AFDX网络管理通过大容量存储模块上的端系统实现,每个端系统负责管理各自区域内的网络终端和交换机,每个终端内均有专用的代理进程,该进程同来管理和记录自身终端的各种状态信息,也负责与管理机进行信息交换;网络交换机自身状态的管理和记录主要由交换机内嵌终端来实现,并通过交换机特定端口与管理机进行交换
AFDX网络有三个基本要素,即终端系统、交换机和链路,AFDX终端分布在航空电子系统的各个分节点上,其主要功能是给航空电子分系统之间提供安全、可靠的数据,AFDX终端是通过一个最大16位的字段来识别,该字段分为域ID、端ID 和位置ID三个部分,它们又通常组合成网络ID和设备ID两个部分,负责对各个终端的各条虚链路进行参数配置,AFDX终端通常具有系统管理、信息封装、虚链路调节、多路调度等功能。
AFDX网络的核心是虚拟链技术[1],AFDX终端通过虚链路交换以太网,在航空电子网络的任何一个虚链路中,虚链路定义了一个逻辑的单向连接,这个连接从一个源端系统到一个或多个目的端系统,端系统能在它所支持的所有虚链路中针对可用带宽提供逻辑上的隔离,无论哪一个分系统想利用一个虚链路,其他任何虚链路的可用带宽都不受影响。对于每一个虚链路,端系统应保持由分系统传递数据的顺序,包括发送和接收,即顺序的完整性。无论其他虚链路是否想要使用带宽,端系统通信协议栈应保证每个虚链路在传输中分配的带宽。为了在分系统之间的网络层保持隔离,一个虚链路不能被两个或更多的源分系统共享,虚链路处理是通过一个流量控制机理来实现的,即调整一个端系统的不同源虚链路产生的数据流量,这个机理对虚链路在网络层提供隔离。
AFDX网络采用队列、文件传输协议、采样等服务,与ARINC653标准兼容。ARINC653是航空电子应用软件接口标准,将模块化软件作为标准,使用采样、队列、文件、传输协议等通信端口进行传输,能与ARINC653标准“无缝”连接。
AFDX网络路径的寻址是通过“学习和自老化”的策略,这将带来不可控制的延迟,因此在AFDX中,必须采用固定的虚拟链路配置表的方式进行目的端口的寻址,以控制寻址时间。
AFDX网络采用简单的网络管理协议,具有配置加载、端口通信、虚链路调节、多路调度等功能,是一种开放式总线标准,扩展性好、价格低廉。
2.AFDX网络特点
2.1冗余管理
AFDX网络是在多个独立的和冗余网络 [2]之上进行的,因此任何的网络部件,例如链路和交换机都保护数据流以免传输失败。图1给出了网络冗余的基本概念,冗余是在每个虚链路上都工作,发送终端和接收终端以以下方式通过特定的虚链路通信。
图1 冗余网络概念
分系统利用发送端系统传递数据到通信协议栈,这里一个序列号字段加到每个帧中,在每个连续的帧中,序列号是递增的。增加这些序列号,可以使帧在传递到接收分系统之前接收端重建一个单一有序而不复制的帧流。这种方法,分系统可以不考虑网络冗余以下的事情,利用网络服务可以在通信栈和分系统之间建立简单接口。
2.2完整性检验
在无故障的的网络运行下,完整性检验仅仅是传递接收到的帧到余度管理,每个网络独立进行。如果有故障(基于序列号),完整性检验就去除无效帧,通知网络管理。每个网络,完整性检验在[PSN+1,PSN+2]间隔内为一个序列号测试每个帧,在这里,先前序列号(PSN)是VL上接收到的前面帧的序列号。运算符“+”考虑到序列号的环绕,因此,如果PSN=254,那么PSN+1=255,PSN+2=1。
在下列特殊情况下,完整性检验也应接收有效帧:
(1)接收的序列号等于0;
(2)在接收ES任何复位后接收的首帧;
(3)不满足这些标准的帧都应丢弃;
(4)序列号为0的帧仅在发送设备复位之后发送。
在每个虚链路上,可以通过配置表在两个网络上禁止完整性检验,禁止完整性检验允许A、B两个网络上的接收器接收所有帧。
2.3交换管理功能
任何虚链路相关的输入帧和输出帧的顺序在交换机中应该保持,AFDX的用户按照帧被发送的顺序对帧进行接收。交换机不得修改接收到的帧的帧校验序号FCS。交换机作为网络组件之一,不得重新生成CRC校验,包括在重新传输时也不得重新生成。
对于每个帧,交换机根据配置表中找出目标地址域的内容对应的端口号,将帧转发到该端口;如果输出端口由于缓冲区堵塞而无法接收,则丢弃该帧;如果一个端口出现链路故障,那么转发到该端口的帧和该端口缓冲区的帧都将被丢弃。
交换机可以接收来自任一端口的帧,并将其转发到一个或多个端口(包括接收端口)。交换机应该具有基于MAC目的地址的流量优先级机制,共有两个优先级:高优先级和低优先级,优先级在虚链路的配置表中进行定义。对于每个输出端口,优先级设置为高的帧应该优先于低优先级的帧进行发送,在低优先级的帧被传输的过程中,不得由于高优先级帧的到达而打断其传输。当帧送到输出端口时,交换机应该以最小的帧间间隔发送这些帧。
3.AFDX网络测试技术研究
3.1 AFDX网络测试系统构建
根据AFDX网络特点,采用航空总线信号处理技术,构建AFDX网络测试系统,主要是AFDX网络的自检测、端系统通信测试、虚链路测试等,通过采用配备AFDX板卡的PC仿真机、AFDX驱动程序、AFDX测试程序组成。AFDX板卡采用纯硬件实现,为测试系统核心部件,其板卡内嵌在PC仿真机内,软件与测试程序均在系统内实现。
AFDX测试程序主要由监管软件、数据通信软件、应用处理软件组成。监管软件能够准确监视与采集AFDX总线上的数据记录并打印,可以实现AFDX总线的仿真、测试、监视和分析等功能。数据通信软件能够同时提供多种查询方式,可以对AFDX帧所有部分进行解析,支持发送队列的多种模式,含自定义或固定编程负载数据模式,在负载数据中插入时间签,将为测量网络中帧发送的延时提供发送的延时提供很好的办法,使用闸门输入/输出达到多端口的数据同步发送。应用处理软件在应用支持处理器的基础上提供数据处理功能,能够解析AFDX TP和UDP层协议、动态数据生成、自动的测试序列生成。
3.2 网络监控
数据监控[3]是验证AFDX网络数据传输是否正确的重要手段,同时对于地面测试以及飞机排故非常重要,当PC机通过AFDX板卡接收到数据后,PC机监管软件会检索数据库中对应的端口消息,根据接收到的总线数据进行解析并在相应软件控制列表中显示,为了验证解析的实时数据与数据库数据的正确性,通过调用数据库中的数据源并进行比对,观察数据内容是否一致。AFDX板卡能够被配置为顺序接收模式来接收帧和存储帧到一个循环缓冲区中,负载数据能被舍弃来优化帧捕获和分析的缓冲区的使用,监视模式也为AFDX模块的每个虚链路记录提供行为监视和统计。接口模块报告全部检测的接收帧数目和错误数目以虚链路导向格式报道。
3.3 数据通信
为了保证每条链路上AFDX数据传输的可靠性及完整性,当数据正常时,AFDX帧的虚链路标识符、MAC源地址、IP结构、UDP结构、负载和队列号完整的传递到冗余管理,当数据故障时,完整性检查将去掉无效帧。当数据量很大时,可以
调整数据接收模式,能够配置成工作在导向接收模式,这种模式下每个UDP端口具有独立的缓冲队列。接收帧被存储,帧头包含时间签和状态信息,帧头信息可以被存储和负载数据可以被舍弃,来测试交换机和整个网络。
3.4 数据加载
整个系统含有ICD数据库服务器,PC机通过网络资源连接到ICD数据库服务器,将采集的数据以文件形式发送,同时解析数据格式等消息是否正确,通过获取网络配置表,实时调用数据库资料对总线数据进行记录、分析、显示。可自动对照ICD解析数据进行释义,实现故障快速定位与数据格式查询。执行AFDX数据加载测试,不仅可将机载软件加载到机载设备,实现网络通信,也可以支持仿真数据、动态数据、程序使用实时操作数据等,因此数据加载是与外界通信的良好媒介。
结束语:AFDX网络已成为现代航空飞机设计及制造中的一个关键环节,目前国内飞机综合航电系统成熟采用了技术先进、数据吞吐量大的AFDX总线系统,本文通过研究AFDX网络架构、主要功能,构建一种适用于测试生产的AFDX网络测试系统,分别实现网络监控、数据通信、数据加载等功能,对AFDX网络测试技术发展有较好的推动作用,为日后AFDX网络仿真及检测、自动化测试奠定良好基础。
参考文献:
[1]苗佳旺,乔飞,盖峰.AFDX网络系统测试设计与实现[J].计算机测量与控制,2018,26(05):33-41.
[2]赵永库,唐来胜.AFDX网络应用关键技术分析与研究[J].测控技术,2013,32(04):86-89.
[3]刘永超,徐科华,周贵荣.AFDX网络一体化测试监视系统研究[J].航空电子技术,2011,12,42(04):29-32.