文献标识码: A
DOI:10.16157/j.issn.0258-7998.2016.08.045
中文引用格式: 田泽,索高华,张荣华,等. 基于FPGA的AFDX网络高速数据采集器设计[J].电子技术应用,2016,42(8):179-182.
英文引用格式: Tian Ze,Suo Gaohua,Zhang Ronghua,et al. Design of high speed data acquisition system for AFDX network based on FPGA[J].Application of Electronic Technique,2016,42(8):179-182.
0 引言
试飞系统是一种通过收集、管理飞行试验过程中所产生的飞行试验数据,建立相关试验对象的数据库管理和应用系统,为航空科学研究提供宝贵的第一手试验数据,是现代航空技术不断发展和提高的必备手段[1]。在试飞系统的开发过程中,实时、高速采集飞行数据成为其关键性的技术之一,本文提出了一种基于AFDX网络的高速数据采集器,实时采集试飞试验中的垂直速度、气压高度、俯仰角、风速、风向等关键信息,广泛应用在AFDX网络大型飞机的试飞系统中。
本文在深入理解航空标准ARINC664P7协议,掌握AFDX关键技术的基础上[2],结合AFDX网络海量数据高速传输的特点,设计并实现了一种基于FPGA的AFDX数据采集器,完成网络数据的实时采集、错误帧过滤、参数挑选和数据转发等功能。该采集器是一款完全具有自主知识产权的AFDX数据采集器,实现了数据采集系统的技术指标,完全满足试飞验证要求,是从标准协议理解、需求分析、架构设计与全面验证等完全自主研制的AFDX网络采集设备。
1 AFDX数据采集器工作原理
AFDX数据采集器主要应用于AFDX采集系统中,通过和AFDX网络交换机的任意端口相连,采集余度数据信息,经AFDX数据采集器处理后,完成100%转发和数据挑参,AFDX采集器的系统架构如图1所示。AFDX采集模块从AFDX1和AFDX2接口处接收AFDX网络的余度帧数据,经过变压器(H1102)、PHY(DP83848YB)将数据调理后与主控芯片FPGA(5CEFA7-U484)进行数据交互处理。FPGA将AFDX接口上的数据采集接收后,给每一帧都附加上接收时间戳信息,进行完整性检查和余度管理处理,处理后的数据一方面参考AFDX挑选参数配置表要求,挑选出需要的数据,按配置表指定的地址空间存储,等待主机通过PCI接口访问获取;另一方面,将余度后的数据添加以太网帧头信息,并100%地通过AFDX3接口发送出去,再经以太网交换机转发存储到记录盘中。
图1 AFDX采集模块系统架构
2 AFDX数据采集器系统设计
2.1 硬件设计
AFDX数据采集器主要包括MAC控制管理模块、PCI接口控制模块、完整性检查模块、余度管理模块和挑参控制模块,其设计框图如图2所示,其中灰色的框图为存储模块,其他颜色均为控制模块。由于AFDX网络数据传输量大、数据速率快,需要对处理的数据进行临时缓存,加之模块板卡尺寸的限制,以及采集记录对FPGA的处理能力和存储配置的高要求,因此,FPGA采用Altera公司Cyclone Ⅴ系列芯片5CEFA7-U484中的EPCS64SI16N,配置模式为AS模,用于控制外部PHY芯片、PCI接口以及模块的配置、挑参和转发等功能,来完成数据的通信和交互。
图2 AFDX数据采集器设计框图
AFDX数据采集器各模块的主要功能如下:
(1)MAC控制管理模块。MAC采用MII(Media Inde-
pendent Interface)接口,包括一个数据接口以及一个MAC与PHY之间的管理接口。数据接口用于发送和接收的两条独立信道;MII管理接口是由时钟信号和数据信号构成的双信号接口,主要用来监视和控制PHY[3]。
(2)PCI接口控制模块。对外PCI接口满足基本PCI规范,对后端提供一组读写控制信号,后端读写控制主要是对用户的桥IP读写时序作出相应的翻译,产生对FPGA内部资源的读写控制。
(3)完整性检查。对于两个接收AFDX端口来说具有各自独立的完整性检查表及标志位寄存器组,该寄存器组对应512个VL_ID,用于记录首次接收到的数据帧,具体流程如图3所示。
图3 接收数据帧完整性检查流程示意图
(4)余度管理模块。在接收端口完成完整性检查后,将各自的VL_ID序列值及本数据帧的SN号传送给余度管理模块,余度管理模块轮询调度两个接收端口的状态,根据先到先有效原则过滤掉冗余的数据帧[4],具体流程如图4所示。
图4 接收数据帧余度管理流程示意图
(5)挑选参数控制模块。该模块包括接收数据帧管道过滤和参数抽取两大功能。接收数据帧管道过滤是对接收到数据帧依据配置的VL_ID和UDP端口号进行过滤,过滤后的数据帧才符合参数抽取条件。对过滤后的数据帧,根据挑选参数配置信息,抽取特定的飞行数据。AFDX数据帧在以太网帧的基础上发展而来,最大帧长为1 518 B,最小帧长为64 B,挑选参数的范围可以是AFDX帧格式中的任意字节。
2.2 软件设计
AFDX数据采集器作为一种通用采集模块,采用纯硬件实现,板卡本身不带软件。与其配合的CPU软件包括上层应用软件和驱动软件两部分[5],均位于系统上位机中,同时为了更加灵活直观地表达显示处理结果,增加PC端的图形应用界面,方便分析数据,显示处理结果。
CPU端的驱动软件仅提供寄存器访问接口,如初始化、配置加载、参数读取等,均通过寄存器数据的读写操作完成。
上层应用程序主要分为两部分:(1)PCI接口通信程序,负责调用驱动程序与FPGA进行信息交互;(2)CPU用户服务程序,主要进行数据的接收、组成INET包、发送等功能。其中上层应用程序的基本操作流程如图5所示。
图5 上层应用程序基本操作流程
3 AFDX数据采集器的验证
AFDX数据采集器的仿真测试平台如图6所示,4块AFDX网络仿真卡用于仿真机载航空电子系统,2台AFDX网络交换机实现余度网络的数据转发,AFDX数据采集器接收AFDX网络交换机的数据信息,完成采集、转发、挑选参数功能,上报数据采集系统,将以太网包传送给PC,经界面解析后完成数据的处理及显示[6]。
图6 AFDX数据采集仿真测试平台
本文所设计的AFDX网络高速数据采集器已经过功能测试、性能测试、协议符合性测试及系统联试等全面的测试验证,实测结果表明,AFDX网络高速数据采集器功能、性能稳定可靠,完全满足系统设计要求。
AFDX网络仿真平台分别发送64 B、512 B和1 518 B等典型网络数据包对本文涉及的AFDX网络高速数据采集器进行测试,其采样率完全满足设计要求,能完成规定间隔的采集,测试项及测试结果如表1所示。
4 结束语
本文所设计的AFDX网络高速数据采集器是一款符合ARINC664协议,具有自主知识产权的网络采集设备,该采集器实时性强、正确性高、性能稳定,完全满足AFDX网络数据的采集、转发、挑选参数要求。本文详细介绍了AFDX采集记录器的工作原理及软硬件实现技术,并搭建仿真测试平台对其进行功能、性能、协议符合性、系统联试等全面测试验证。该模块设计新颖,尺寸小,功耗低,功能性能稳定可靠,已成功应用于工程实践中,运行状态良好,为试飞验证和AFDX网络设备的国产化打下了坚定的基础。
参考文献
[1] 曹玉林,胡飞,崔键.Oracle封锁技术在试飞系统设计中的应用[J].微处理机,2006,6(6):67-71.
[2] ARINC Specification 664 P7,Avioincs Full Duplex switched Ethernet(AFDX) network[S].2005.
[3] 叶佳字,陈晓刚,张新家.基于AFDX的航空电子通信网络的设计[J].测控技术,2008,27(6):56-58,60.
[4] 王治,田泽.一种高性能AFDX监控卡的实现技术研究[J].计算机技术与发展,2010,20(8):217-220.
[5] 杨峰,田泽.基于USB接口的AFDX网络TAP卡设计与实现[J].测控技术2013,32(5):77-81.
[6] 翟正军.基于AFDX的高速数据采集记录系统设计与实现[J].测控技术2013,32(5):17-20.