一种PCI接口AFDX端系统模块的设计与实现
2017-06-05王晨博刘鹏刘洋
王晨博 刘鹏 刘洋
摘要:航空全双工交换式以太网(AFDx)具有高速、确定性和双余度等特点,已成功应用于新一代航电网络。文章对AFDX协议的通信架构、网络拓扑和工作模式做出了分析,并提出了一种基于FPGA的AFDX端系统模块的实现方法。测试表明,该模块实现方法合理、工作可靠。
关键词:端系统;航空全双工交换式以太网;现场可编程门阵列
中图分类号:TP393
文献标识码:A
文章编号:1009-3044(2017)10-0028-03
1.引言
高度综合化的航空电子系统,对航电子系统间的超高速、大容量数据交互和消息共享的要求日益增长,传统的ARINC429、MIL-STD-1553等机载总线已不能满足通信需求。航空电子全双工交换式以太网(Avionics Full Duplex Switched Ether-net,AFDx)基于IEEE802.3通信原理和网络结构,结合航电系统特殊需求对该协议的部分数据链路进行适应性修改,使其成为具有高带宽、低延时和高可靠性等优点,满足大飞机航电主干网络的通信要求。
相比传统的机载总线ARINC429和1553B而言,AFDX网络具有组网简单、升级维护容易、可扩展性强,兼容ARINC应用协议SNMP和ARINC615A加卸载等协议优点,结合其独有的虚拟链路技术和双余度技术,确保数据传输满足延迟确定、传输可靠、容错能力强等机载网络特点,已成为新一代航电系统总线接口关键技术之一。
结合某型机载系统,本文设计出了一种满足该系统设计需求的AFDX端系统模块,并在实验室环境下,搭建了一套完整的测试设备,对AFDX端系统模块的各项性能指标进行了测试。
2.AFDX协议分析
AFDX作为一种定制的确定性网络,可以通过路由器或者网关与某个更宽泛的兼容网络相通信,在ARINC 664P7中,AFDX协议主要包含:端系统(End System)、交换机(Switch)和应用系统等三个部分,其中端系统部分重点对虚拟链路、流量控制、调度、冗余管理等进行标准定义。现将虚拟链路和流量控制的概念进行描述。
2.1虚拟链路
虚拟链路定义了一个逻辑上的单向连接,从一个源到一个或多个目的端系统。一个端系统可以被设计为仅接收VL而不发送VL,或者与之相反。端系统通过VL进行以太网帧的互换。在航空电子网络中任意一个VL都只有唯一一个源端系统。每个虚拟链路都被指定一个最大带宽,该带宽由系统集成者分配,一般为2kms(k=1,2,…,8)。端系统应该利用可用带宽提供逻辑隔离。不论某个部件试图在一条VL上得到怎样的利用率,任意其它VL的可用带宽都不受影响。对于每个虚拟链路,在发送和接收过程中数据被某个部件传送,端系统应该保持数据的次序(次序完整性)。
2.2流量控制
在每个端系统的输出端,与一条特定的VL相关联的帧的流量用两个参数来描述:带宽分配间隔(GAP)和抖动(Jitter)。如果经过调度器的帧没有抖动,BAG就反映了在同一个VL中两个相邻的帧的起始二进制位之间的最小时间间隔。端系统应该以每个VL为基础(单位)对发送的数据进行规整。
3.需求分析
本文提及的AFDX模块应用于某型机载通信环境。端系统在符合ARINC664P7规范的基础上,满足用户规范要求。接收VL支持32-512条,BAG可配置为0.5ms-128ms,步进0.5ms。
AFDX模块采用标准PMC子卡形式设计,作为从设备支持某型设备同主干网络的连接及数据通信。AFDX模块应包含的功能有:
(1)端系统功能,设计符合ARINC664P7协议标准,且满足用户规范要求的ARINC664端系统,支持UDP/IP协议栈,支持ARINC664数据通信功能;
(2)网络管理功能,支持管理端对端系统的网络管理功能;
(3)數据加卸载功能,支持加载端的Find、Information、上传和下载功能,实现端系统上配置、软件等数据文件的上传和下载。
4.系统结构
AFDX端系统模块基于以太网物理层提供双路冗余的端系统通信功能,其层次结构设计如图1所示。
端系统层次结构划分为物理层、数据链路层、网络层、传输层和应用层五个层次,其中,在物理层基于以太网的PHY芯片提供两路的通信接口,支持端系统的双路冗余;数据链路层通过大规模FPGA逻辑实现,主要完成端系统基于BAG的VL调度、双路数据的冗余管理及MAC核功能;端系统网络层及传输层通过软件实现,完成UDP/IP协议栈、ICMP功能,实现数据包的封装、分片、重组等功能,并向上层提供周期、采样和对列端口服务功能;上述四个层次功能均在端系统模块上实现。应用层功能运行在主机模块上,实现基于ARINC664通信的主机应用功能,并实现SNMP网络管理及ARINC615A数据加卸载功能。
4.1硬件设计
本设计基于CPU+FPGA的架构实现端系统功能。其中主要功能电路包括:处理器电路、FPGA电路、电源电路、复位电路和时钟电路。AFDX端系统的原理框图如图2所示。
AFDX端系统模块以一片FPGA为核心进行搭建,实现端系统链路层功能。FPGA电路基本配置如下:
(1)配置两个以太网MAC核,通过MII接口实现对以太网PHY芯片的控制;
(2)配置端系统链路层控制功能,支持冗余管理、虚链路调度等;
(3)端系统模块复位控制,实现对手动复位、系统复位、上电复位、处理器复位、配置加载复位的逻辑控制;
(4)总线译码,实现CPU对外部FLASH、SDRAM、DPRAM等存储资源的访问片选及译码控制;
(5)配置字加载,为CPU提供上电配置字,控制处理器的工作频率。
通过逻辑综合时对寄存器资源和block RAM资源的占用情况评估,FPGA选用Xilinx公司的v5系列芯片。用于配置FPGA设计中选用并行配置模式,加载时,由FPGA启动时钟,从PROM按照并行方式读取配置数据。
处理器电路用于实现端系统传输层、网络层功能,集成PCI桥功能,支持模块的软件运行。将处理器的串口通过串口芯片引出两路的RS232串口至PMC连接器,用于支持端系统模块的串口调试和串口输出功能。
时钟电路提供PHY芯片和FPGA的25M时钟;端系统模块通过PMC接口获取5V供电,在模块内部通过电源转换芯片完成5v到3.3V、2.5V、1.8V、1.5V及1v的电压转换,给模块上各个器件进行供电。
由于选用的v5系列FPGA的外形尺寸为35x35mm,除去PMC连接器和外围边框所占面积后,实际留给器件布局的可用尺寸非常紧凑。在电阻电容选型时,将原有的0603封装电阻电容尽量更换为0402封装器件,0402封装电阻电容的印制板面积不到0603的40%。由于数量众多,更换后,可以节省不少的印制板面积。
4.2逻辑设计
端系统链路层发送过程如下,FPGA从外部双口获取要发送的数据,通过VL规整器及调度器进行虚链路控制后,根据配置中对该VL的冗余设置,将数据包选择分发到MACl和MAC2通过物理层PHY芯片进行发送;
端系统链路层接收过程如下,FPGA从MACl和MAC2上接收到物理层数据,根据配置通过完整性检查、冗余管理后,将消息数据提交到FPGA内部的双口缓冲区,网络层CPU通过主机接口访问接收双口缓冲区获取接收数据,进行上层处理,同时,在FPGA内部提供控制寄存器功能,维护链路层通信配置、链路层通信统计量等功能。
5.试验测试
5.1测试平台搭建及功能验证
结合AFDX端系统模块设计需求,对模块功能进行测试验证。测试主要为协议符合性测试。测试使用设备包括AFDX网络测试设备、模块测试工装、电源、PC机和工装电缆。AFDX网络测试设备选用AIM公司ATCS测试台,被测端系统通过载板安装在端系统测试工装内,测试设备和被测端系统之间通过网线连接两路A664接口。测试平台的连接示意如图4所示。
在实验室条件下,对产品功能性能进行全部测试,测试目的是为了检查AFDX端系统模块的功能、性能是否符合AFDX端系统模块的技术要求。
ATCS测试台上运行PBA.pro软件及测试脚本,用于对端系统的ARINC664协议符合性进行测试;通过PBA.pro软件的发送功能和捕获功能,对端系统的各项功能进行测试。端系统主要测试内容包括:
(1)初始化及启动自检测;
(2)基本通信测试;
(3)接收测试,包括帧过滤、IP分片、VL带宽隔离、完整性校验等;
(4)发送测试,包括子VL功能、网络选择、冗余功能等;
(5)性能测试,测试ARINC664端系統的线速发送及接接收功能;
(6)寻址、抖动及ICMP功能测试;
(7)BAG及VL数目功能测试。
针对端系统的设计功能需求,对其进行充分验证并得出结果如表1所示。
6.结语
本文从某型机载AFDX端系统模块的设计要求出发,通过对AFDX网络协议的理解和研究,设计实现了一种基于PCI接口的端系统,并给出了该模块在实验室环境下的试验测试方法。实验测试和工程应用结果表明,该模块各项指标均符合系统要求。