王晨博,孟 博,张 楠
(中航工业西安航空计算技术研究所,陕西 西安 710068)
航空电子系统的不断发展,对系统集成度、传输带宽及安全性提出了更高的要求,传统的机载总线已经不能满足系统设计需要。AFDX基于IEEE802.3 通信原理和网络结构[1],具备了高安全性和有界的数据传输时延,作为主干网络被广泛应用。本文设计了一种基于PCIe主机接口的AFDX端系统模块,同时搭建了测试环境对AFDX端系统进行了协议符合性测试。
本文设计的AFDX端系统在符合ARINC664P7规范的基础上,同时满足用户的特定功能性要求。端系统的接收VL支持256条。AFDX端系统采用标准子卡形式设计,结合加固框安装在主模块上。支持主模块同AFDX网络的连接及数据通信。AFDX端系统应具备ARINC664数据通信功能、网络管理功能以及数据加卸载功能。
AFDX端系统主要实现物理层、数据链路层、网络层和传输层的功能。物理层基于以太网的PHY芯片提供两路的通信接口,支持10/100 M速率的数据收发功能。通过FPGA芯片实现ARINC664数据链路层功能,包括VL调度、余度管理以及MAC核功能[2]。通过端系统软件实现网络层及传输层的相关功能。主机模块实现应用层功能,包括SNMP网络管理及ARINC615A数据加卸载功能。
AFDX端系统采用内嵌PPC440处理器硬核的大规模FPGA芯片,利用可编程逻辑实现ARINC664网络数据的发送调度和接收管理等功能,利用PPC440处理器实现UDP/IP协议栈处理和端口缓冲区管理。外部配置存储器,实现端口数据缓冲和运行状态信息存储,配置存储器实现数据链路层数据缓冲存储。
AFDX端系统主要功能电路包括:FPGA电路、电源电路、接口电路和时钟电路,其原理如图1所示。
图1 端系统功能
AFDX端系统以一片FPGA为核心进行搭建,实现AFDX协议处理功能。FPGA电路基本配置如下:
(1)配置两个以太网MAC核,通过MII接口实现对以太网PHY芯片的控制。
(2)配置端系统链路层控制功能,支持冗余管理、虚链路调度等。
(3)整板复位控制逻辑。
(4)内部提供PowerPC440处理器硬核,实现协议等功能。
通过逻辑综合后对资源占用情况的评估,选用Xilinx公司的V5系列芯片。由于AFDX端系统使用PCIe接口,FPGA需要高性能的配置模式。
AFDX端系统采用+5 V直流供电,经过电压转换器件产生3.3 V、2.5 V、1.8 V、1.2 V、1 V等各种电压。其中FPGA的高速串行I/O工作所需的1 V(MGTAVCC和MGTAVCCPLL)和1.2 V(MGTAVTT)两种电压,纹波要求不能大于25 mVpp,需要使用线性电源供电。除了要求采用性能良好的电源模块以外,还需要作一些额外处理。
AFDX端系统和主机之间通过PCIe总线传输数据和命令。端系统FPGA提供一路PCIe硬核,该硬核最多支持X8通道,可以满足端系统与主机之间进行数据通信的需求。PCIe接口使用FPGA提供的高速串行I/O。根据PCIe规范要求,ARINC664端系统在PCIe总线发送信号线和时钟信号线上串接0402封装的0.1uF去耦电容。
AFDX端系统的PCIe总线时钟由主机提供,FPGA内部处理系统时钟和配置加载时钟由端系统上设计的单端晶振提供。系统时钟经过FPGA内部锁相环产生两种频率的时钟信号,分别提供给FPGA内嵌PPC440处理器工作时钟和内部PLB总线的工作时钟。
AFDX端系统采用单端晶振提供以太网PHY芯片工作时钟和FPGA存储器接口时钟,FPGA存储器接口时钟在FPGA内部经锁相环后,生成时钟信号用于存储器的读写。
逻辑设计主要包括PCIe核、PPC440核和端系统逻辑等部分。
AFDX端系统链路层发送过程如下,FPGA从发送缓冲区获取要发送的数据,通过VL规整器及调度器进行虚链路控制后,根据配置中对该VL的冗余设置,将数据包选择分发到MAC1和MAC2后通过物理层PHY芯片进行发送。
AFDX端系统链路层接收过程如下,FPGA从MAC1和MAC2上接收到物理层数据,根据配置通过完整性检查、冗余管理后,将消息数据提交到缓冲区,进行上层处理。同时,在FPGA内部提供控制寄存器功能,维护链路层通信配置、链路层通信统计量等功能。
AFDX端系统软件主要由协议栈软件、SNMP网络管理软件和ARINC 615A加卸载软件组成。
协议栈软件主要完成数据报封装、数据报分片、片的重组、分片控制等功能[3]。SNMP网络管理软件在模块上建立SNMP代理进程及管理信息库(MIB),实现网络管理和监控。通过端系统与网络管理者通信,提供当前设备的状态信息及端口统计值,检查当前的异常情况。ARINC 615A加卸载软件作为目标硬件,与系统中的加载器进行通信,完成FIND,Information,Upload,Download操作,实现数据的加卸载。
结合AFDX端系统模块设计需求,对其功能进行测试验证,搭建测试验证平台。测试验证平台由自研的通信测试模块、直流电源、模块测试工装、PC机和通信电缆组成。AFDX端系统作为被测设备,按照通信测试模块发送的指令完成ARINC664P7相关的协议符合性测试。
AFDX端系统测试项目主要包括基础通信测试、虚拟链路测试、包间隔测试、队列/采样/SAP端口测试和冗余管理测试。经测试验证,AFDX端系统的功能性能均满足技术指标要求。
本文通过对ARINC664 Part7标准的理解和研究,设计实现了一种符合ARINC664协议要求的AFDX端系统模块,并给出了该模块的试验测试方法。试验测试和工程应用结果表明,该模块各项指标均满足设计要求,符合协议标准。