【光学工程与电子技术】

基于千兆以太网的弹载数据采集系统设计

张少芳1,李献军1,王月春1,杨立云2

(1.石家庄邮电职业技术学院, 石家庄 050021;2.河北科技大学信息科学与工程学院, 石家庄 050018)

摘要:针对大容量弹载数据采集系统对高数据回读速率的要求,进行了基于千兆以太网的数据传输技术研究,利用FPGA实现对MAC层的控制,采用CRC算法对以太网中的数据传输进行差错检验,提高了数据传输的可靠性,经过系统功能测试,验证了该系统以太网数据传输逻辑正确、数据准确、可靠性高,具有良好的可移植性和推广价值。

关键词:存储测试;数据采集;千兆以太网;MAC层;CRC-32校验

随着军工领域创新科研能力的不断提升,导弹的杀伤力与作战范围不断提升,对新型导弹的测试手段提出更高的要求。弹载数据采集系统也伴随着导弹的发展越来越智能化、复杂化。系统在导弹飞行过程中所需记录的数据种类和容量越来越多,对导弹的飞行姿态等性能参数评价更加准确。弹载数据记录仪的主要作用是对各类参数的采集与存储,在试验结束后能够完整的回收,然后通过上位机对采集的数据进行提取,通过试验结果判断是否满足设计指标要求[1-4]。因存储容量的不断增加,如何将大容量数据更高效的传输到上位机是系统设计的关键。现阶段的记录仪与PC机的通信接口主要有USB、CAN总线、PCI总线和以太网通信等。USB是较为常用的一种串行总线,其中USB2.0的数据传输速率可以达到480 Mbit/s,其主要的缺点是传输距离较短,限制设备间的连接位置;

CAN总线主要用在车载设备间的通信,抗干扰能力强,数据传输准确率高,但传输速率较低,不能接入因特网;PCI总线具有较高的传输速率,可达266 MByte/s,但PCI设备在上电状态下不能随意插拔[5]。以太网通信在局域网中最为常见,根据传输速率可分为百兆、千兆和万兆以太网,其突出特点是数据传输速率快,可大大缩短大容量数据的传输时间[6]

本文选用千兆以太网通信接口,以FPGA为主控芯片,设计实现对弹上16路模拟信号和8路数字信号采集存储的弹载多通道数据记录仪。针对导弹飞行试验结束后需对数据快速回传的要求,重点开展了以太网MAC层实现和CRC差错校验研究。

1 系统整体控制逻辑设计

系统主要完成对弹上各类型传感器模拟信号、数字接口信号的采集存储,在飞行结束后通过以太网接口对数据进行回读并分析。根据系统工作流程,FPGA中需要完成的控制逻辑如图1所示。

本系统利用千兆以太网实现数据传输时主要涉及到TCP/IP模型中的传输层、网络层和数据链路层,其中,以太网MAC层的数据处理和传输层、网络层的相关协议通过FPGA编程实现,此外,采用物理层芯片实现PHY层的功能。在PHY芯片选型时,要充分考虑封装、功耗和外部接口等因素,本系统选用了Realtek的RTL8211EG,该芯片已得到广泛应用,各方面计数较为成熟,外部硬件电路配置简单,降低了开发难度,并且支持RGMII、GMII、MII等物理接口,可实现物理层与上层数据间的通信,符合IEEE802.3标准[7-8]

图1 FPGA整体控制逻辑框图

2 以太网通信关键技术

2.1 MAC层控制

本系统的MAC层传输协议在FPGA中编程实现,代码由UDP 发送模块、UDP接收模块和CRC校验模块3部分组成,FPGA控制逻辑原理如图2所示。

图2 千兆以太网接口控制逻辑原理简图

NAND Flash中存储的采集数据通过以太网传输时,涉及跨时钟域的数据传输问题,在FPGA中例化一个异步FIFO。先将NAND Flash中的数据写入FIFO,设置非满即写,而在以太网读取FIFO中的数据时,设置读取标志,满 1 000 字节就可以启动一次以太网传输。本系统使用GMII接口实现FPGA与RTL8211EG间的通信,然后RTL8211EG与PC机之间使用网线连接,在数据封装时,重要的是把数据包中的握手信号设置正确,例如通信双方的MAC地址、UDP地址和IP地址。板卡上电后,PC机会自动识别外部设备,应保证物理连接的正确性。

2.2 CRC校验算法

CRC校验算法的实现是FPGA编程中的难点。CRC校验算法能够避免大容量数据在传输过程中出现误码现象,提高数据的可靠性。CRC校验算的实现过程中,需要用到模2除法运算,如果用硬件电路实现,需要占用较大的硬件资源,在FPGA中通过硬件描述语言实现,节约硬件资源,提高运行速率[9-10]。本系统选择CRC-32的生成多项式,通过改进实现算法,由之前的串行校验方式,1个时钟校验1位数据,升级到现在1个时钟校验8为数据的并行算法。该算法的实现提高了校验效率,进一步提高了数据传输的吞吐率。

CRC-32算法生成多项式为:

g(x)=x32+x26+x23+x22+x16+x12+

x11+x10+x8+x7+x5+x4+x2+ x1+x0

通过移位寄存器和异或门实现模2除法,在FPGA中编码实现当前状态与下一状态的运算关系。在实现过程中使用组合逻辑,保持输出结果的实时性。则串行CRC-32算法的余数项为:

crc_next[31∶27]= crc_current[30∶26];

crc_next[26]= crc_current[25]⊕crc_current[31]⊕din;

crc_next[1]= crc_current[0]⊕crc_current[31]⊕din;

crc_next[0]= crc_current[31]⊕din。

由此可以看出,并行算法实际上就是,1个时钟内完成8次串行算法,理论上校验速率提高8倍。

数据输入din[7∶0],移位寄存器的初始值为crc_init[31∶0],与之对应的CRC-32校验值为crc_8,通过由低位到高位的迭代运算,可按照如下公式计算得到校验值。逻辑代码如下:

crc_8[0] crc_init[24] xor crc_init[30] xor din[1] xor din[7];

crc_8[1] crc_init[25] xor crc_init[31] xor din[0] xor din[6] xor crc_init[24] xor crc_init[30] xor din[1] xor din[7];

crc_8[30] crc_init[22] xor crc_init[31] xor din[0] xor crc_init[28] xor din[3];

crc_8[31] crc_init[23] xor crc_init[29] xor din[2]。

对于FPGA中CRC-32算法的逻辑实现是否正确,可通过ISE14.7中的在线逻辑分析仪来验证,输入待校验的数据00、FF、00、00,校验码为8FD73BF9,如图3所示。通过CRC的在线计算工具,计算得到该组数据的校验码为8FD73BF9,基本验证了该部分代码的正确性,经过对不同数据量校验码的多次验证,该部分模块较为稳定。本系统中采用的CRC-32校验算法比串行算法处理效率更高,例如,在10 MHz的时钟下对1 KB数据进行校验,所需时间为:1 000÷(10 MHz)=100 μs,而串行算法所需时间为:

(32+10 008)(10 MHz)=803.2 μs

表明该并行算法的效率比串行算法有了显著提高,而且运算的准确度较高,进一步提高了弹载数据采集系统的数据回读速率。

图3 CRC-32校验功能仿真图

3 系统功能测试

系统硬件与软件完成后,可借助网络调试助手和网络抓包工具Wireshark在实验室环境下,对系统进行完整的功能测试与验证。首先,将PC机的MAC地址作为板卡发送端的目的MAC地址,并且两者的IP地址需要保持一致,此处为192.168.0.3;然后将数据“012340123456789AB”作为有效数据按照以太网协议封装发送;最后,发送的数据将在网络调试助手中显示。如图4中方框1所示,说明发送与接收的数据一致,发送逻辑功能的正确性得到验证。对与接收模块来说,使用网络调试助手把数据发送给板卡,接收模块的逻辑会按照协议解析处有效的数据,发送“20190309∶10∶49∶ethernet_test”字符串给板卡,接收到的数据可在图4方框2中显示,收发数据保持一致,验证了接收模块也可正常工作。

利用抓包工具Wireshark,可以观察以太网通信协议中各层的数据结构,有助于对传输错误进行分析。关键信息有MAC地址、源MAC地址、IP包头和UDP报文格式等,如图5所示,说明系统设计的逻辑功能正确。此外,在某些应用场合,还可测试数据的传输速率,确定是否满足技术要求。例如,在0.042 5 s的时间内接收到了5 000数据包,按照每包数据1KB的数据量,千兆以太网的实时传输速率为:1 000×5 000×8/0.042 5=941 Mbit/s。与现有弹载数据采集系统相比,本系统已具有较高的数据传输速率,可有效节省数据回读时间,提高系统在靶场的测试效率。

图4 网络调试助手收发数据界面

图5 Wireshark查看系统板发送数据界面

4 结论

1) 本系统实现了基于FPGA的以太网MAC层控制器设计,并验证了其控制逻辑的正确性;

2) 通过仿真分析,系统时钟为10 MHz时,CRC-32校验码的生成速率为0.8 μs/Byte,在保证数据传输准确性的同时,对数据传输速率影响较小;

3) 经过系统功能测试,千兆以太网数据传输速率实际可达941 Mbit/s,且未出现误码现象,提高了弹载数据采集系统应用于靶场测试时的工作效率。

参考文献:

[1] 刘雪飞,马铁华,刘廷辉,等.高速弹载记录仪存储技术研究[J].火炮发射与控制学报,2016,37(02):25-30.

[2] 张传民.某弹载多通道数据采集系统的研究与设计[D].太原:中北大学,2015.

[3] 周柳奇.基于FPGA的数据采集及存储测试系统的应用研究[J].计算机测量与控制,2013,21(06):1467-1469.

[4] 郝晓明,李杰,胡陈军,等.基于FPGA的弹载数据回读系统设计[J].传感技术学报,2015(07):1023-1027.

[5] 李润秋,贺占庄.基于PCI总线多通道数据采集系统的设计[J].现代电子技术,2008(1):139-141.

[6] 高金转.总线式数据采集系统的设计与实现[D].太原:中北大学,2017.

[7] 朱金瑞,王代华,苏尚恩,等.存储式弹载数据记录仪存储可靠性技术研究[J].兵器装备工程学报,2019,40(01):159-162.

[8] 张兰勇,曹岸,杜逸璇.基于以太网的试验水池集控系统设计研究[J].四川兵工学报,2015(7):139-143.

[9] 罗平,梁波.基于光纤千兆以太网的多路LVDS接收传输系统[J].仪表技术与传感器,2018(11):89-92.

[10] 田野,佟皓萌.千兆以太网中CRC-32的并行实现[J].电子设计工程,2016,24(15):112-114,118.

Designing Missile Storage Data Recorder Based on Gigabit Ethernet

ZHANG Shaofang1, LI Xianjun1, WANG Yuechun1, YANG Liyun2

(1.Department of Computer Science Shijiazhuang Vocational Technical College of Posts & Telecommunications, Shijiazhuang 050021, China; 2.School of Information Science and Engineering, Hebei University of Science and Technology, Shijiazhuang 050018, China)

Abstract: Considering the requirement of reliability of data storage for high data readback rate, the key technology of data transmission technology based on gigabit Ethernet was studied. Using FPGA to realize control of the MAC layer, using the algorithm of CRC in Ethernet data transmission error inspection, which improved the integrity and reliability of test data. After the system functional test, it has proved that the system has correct Ethernet data transfer logic, accurate data, high reliability, good portability and promotion value.

Key words: storage measurement; data acquisition: Gigabit Ethernet; MAC layer; CRC-32 check-out

doi: 10.11809/bqzbgcxb2020.11.046

收稿日期:修回日期:

基金项目:河北省高等学校创新创业教育教学改革研究与实践资助项目(2017CXCY294)

作者简介:张少芳(1982—),男,硕士,副教授,主要从事网络系统集成、网络安全、网络管理研究。

通讯作者:李献军(1968—),男,硕士,副教授,主要从事计算机开发与应用、数据库应用研究。

本文引用格式:张少芳,李献军,王月春,等.基于千兆以太网的弹载数据采集系统设计[J].兵器装备工程学报,2020,41(11):257-260.

Citation format:ZHANG Shaofang, LI Xianjun, WANG Yuechun, et al.Designing Missile Storage Data Recorder Based on Gigabit Ethernet[J].Journal of Ordnance Equipment Engineering,2020,41(11):257-260.

中图分类号:TH89

文献标识码:A

文章编号:2096-2304(2020)11-0257-04

科学编辑 李波 博士(西北工业大学副教授 硕导)

责任编辑 杨梅梅