网络与通信技术信息与电脑China Computer&Communication2018年第1期点对点高速数据传输技术的设计与应用刘欢笑(镇江高等职业技术学校,江苏 镇江 212016)摘 要:基于千兆网络通讯技术,设计了一种可实现点对点高速数据传输的方法。利用现场可编程门阵列(FPGA)器件实现MAC层网络协议和逻辑控制功能,并基于网络开源软件WinPcap实现数据处理算法,该方法已被成功应用于某星载图像压缩单元的地面测试验证设备中。与传统基于Socket编程实现的传输系统相比,该方法避免了大量协议开销,具有更高的数据传输速率。关键词:数据传输;以太网;现场可编程门阵列;数据压缩中图分类号:TN919.72 文献标识码:A 文章编号:1003-9767(2018)01-148-03Design and Application of High Speed Data Transfer Technology based on P2PLiu HuanxiaoAbstract: Based on gigabit network communication technology, a P2P high speed data transfer method was put forward, using FPGA devices (Zhenjiang Vocational Technical College, Zhenjiang Jiangsu 212016, China)to implement MAC network protocol and logic control function, and open source software WinpCap to complete data processing algorithm. It had been successfully applied to the ground test and verification device of a satellite born image compression unit. Compared to traditional network transfer system based on Socket, this method had more data transfer speed because of avoiding large numbers of protocol cost.Key words: data transfer; Ethernet; FPGA; data compress1 引言真正有用的数据传输速率不高。本文设计的用于星载图像压随着我国对空间的探索不断深入,空间图像数据日益增缩单元地面测试系统的高速数据传输技术,主要用于满足点长,给星载存储器和通信信道造成了极大的压力,需要对空对点实时传输大量图像数据的需求,数据传输链路如图1所间图像进行高效、实时的压缩,通常由图像数据压缩单元在示。点对点数据传输模式下,利用直接抓包处理的方式避免轨完成压缩[1]。为保障图像数据压缩单元在轨运行正常和具复杂的网络通信协议开销,进而提高数据传输速率。设计的备较高的可靠性,往往需要在地面进行长期的功能和性能测点对点高速数据传输技术需要综合利用千兆以太网和FPGA试验证。验证涉及大量图像数据的实时压缩和解压,需要进技术建立数据传输通道链路,以及利用开源软件WinPCap实行大量的实时数据传输。现数据处理算法。目前,采用串口、并口和USB传输的数据传输系统,往往存在传输速率不高、传输模式不够灵活、实时性差和传输距离短等缺点,导致地面测试验证设备无法开展环境试验[2]。针对上述不足,基于千兆以太网络通信技术,本文提出了一种实现点对点高速数据传输的方法,具备高速、高可靠性和长距离传输的特点[3]。另外,以FPGA为控制逻辑接收计算机发送的信号源数据和控制命令,提高了测试系统的通用性。图1 高速数据传输系统框图图1中图像数据源将压缩后的大量图像数据传输到2 系统方案设计FPGA中,FPGA将图像数据进行打包处理使其满足网络传基于千兆以太网络通信技术进行数据传输,大多基于某输协议需求。由于FPGA只实现了MAC层的控制协议,还种网络通信协议,如TCP/IP协议,大量的协议帧头开销使得需要PHY器件实现网络传输物理层的功能。高速数据传输作者简介:刘欢笑(1983-),女,江苏丹阳人,硕士研究生,讲师。研究方向:网络通信。— 148 —信息与电脑2018年第1期China Computer&Communication网络与通信技术系统通过超五类线缆与上位机进行互连并完成数据传输。在和基于开源软件Winpcap的以太网数据包的数据处理两部分。上位机,软件能够对传输的数据进行抓取和解码操作提取出人机交互界面相对简单,文中不作说明。网络数据包的数据图像数据。处理包括网络抓包、解包等操作,主要通过调用Winpcap实现。3 硬件电路设计WinPcap是一个由Linux平台迁移到Window平台的函数库,文中千兆以太网对应于OSI七层参考模型中的数据链路提供用户访问网络底层数据的函数,是一个免费开放的计算层和物理层。数据链路层包括逻辑链路控制(LLC)子层和机网络访问系统[5]。媒体访问控制(MAC)子层,其中MAC层主要实现数据封设计的数据处理算法应用程序通过链接Wapcap.dll以及装、解封装以及媒体访问管理两大功能,物理层实现数据的Packet.dll动态库文件实现捕获数据包的功能,实现对网络底收发。硬件电路设计的目的就是建立千兆以太网的数据链路,层信息的直接访问。基于WinPcap设计数据处理算法时,需文献[4]中采用MAC和PHY专用芯片形式进行设计,为了先抓取满足条件的数据包,然后分析处理得到的数据包,具减少硬件设计中芯片数量、简化连接关系,采用赛灵斯公司体算法步骤如下所示:的FPGA器件Virtex6实现MAC层协议,同时采用网络物理(1)先将上位机主机上的所有网卡相关信息显示出来,层芯片实现物理层的功能,如RTL8212等。并指定一个网卡用于捕获数据包,这个过程中可用自己规定在点对点的数据传输中,数据来源固定和单一,只需要的字符串表示选择的网卡名;将采集到的数据发送到数据链路控制中心,设计的MAC子(2)打开网络设备,设置程序要捕获的设备类型并设层协议硬件模块可仅由控制模块与发送模块组成,硬件结构置选定的网卡,将捕获信息包的相关信息记录下来;框图如图2所示。(3)设置包过滤器,根据想要得到的过滤包类型,创建一个过滤规则给WinPcap引擎,这是数据包捕获过程中最重要的步骤;(4)捕获数据包,可以先进入一个循环过程,然后通过一个控制参数来捕获包的数量,当控制参数不满足时,数据包捕获过程结束;(5)数据包解析,这部分程序主要是用来解析捕获数据包的头部信息,因为头部信息中包含协议信息和有关包的地址信息;(6)当所有的捕获过程结束后,程序关闭对话并退出,图2 MAC子层硬件结构整个的算法处理流程如图3所示。控制模块包含数据和控制总线接口、控制寄存器、发送数据缓冲区、GMII管理逻辑四部分。发送数据缓冲区是图像数据与发送模块之间的数据通道,采用FPGA中的FIFO作为缓冲区,通过判断FIFO中存储数据的状态来确定何时开始发送数据;控制寄存器模块主要用于功能参数的设置和状态信息的存储;GMII管理模块实现对物理层的管理;发送模块用于打包MAC层数据和实现CSMA/CD协议,发送控制状态机是发送模块的核心,使各个功能子模块按照一定的时序协同工作。FPGA电路设计时也可以采用Xilinx公司的Virtex-6 FPGA embedded Tri-Mode Ethernet MAC Wrapper Ethernet IP核实现上述数据链路层的功能。EMAC IP核可以通过配置ISE集成开发环境的CORE Generator功能实现。在生成EMAC时,将IP核物理接口配置为GMII接口,速度配置为1 000 Mb/s,然后配置一些其他功能,最后选择Generation生成的EMAC。在整个的FPGA逻辑设计中只需要调用EMAC 即可实现相应的逻辑功能。4 软件设计高速数据传输中的软件设计包括上位机的人机交互界面图3 基于WinPcap的数据处理流程— 149 —网络与通信技术信息与电脑China Computer&Communication2018年第1期解包操作完成后可以将图像数据存放在上位机人机界面缩单元地面测试设备应用的需要。上事先设置好的位置,这些数据能够被反复读取和进一步的处理。由于Winpcap的主要功能于主机协议(如TCP/IP)发送和接收原始数据包,它仅仅监听和抓取网络数据链路上传输的数据包,不进行阻塞或其他操作,因此,相比参考文献Socket编程具有更高的数据处理速率。[1]胡永刚.CCSDS图像压缩算法位平面编码技术研究及其FPGA实现[D].西安:西安电子科技大学,2011.5 结 语[2]陈嫣然,张会新,郑燕露.基于以太网的高精度测试文中研究和设计的高速数据传输技术主要应用于星载压系统设计[J].仪器仪表装置,2012(2).缩单元地面测试设备中,属于点对点的数据传输模式,因此,[3]塞弗尔特.千兆以太网技术与应用[M].北京:机械工使用千兆以太网作为传输载体来实现高速数据传输。实现过业出版社,2000.程中采用FPGA器件实现MAC层协议和控制逻辑,并利用[4]门金瑞,姚大志,韦伟.基于千兆以太网的CCD相机开源软件WinPcap完成传输链路上数据的抓包和解包操作。设计[J].激光与光电子学进展,2012.相比传统的基于Socket编程方式,该实现方法由于避免了复[5]张海燕.基于包捕获技术的网络监听系统的研究与实杂的协议开销,具有更高的数据传输速率,能够满足星载压现[D].郑州:信息工程大学,2009.(上接第147页)[3]龙德浩,陈志清.适用于相关解扩的扩频码检验方法通信中电子对抗技术的发展开辟出了一个全新的应用领域。[J].电讯技术,2012,52(10):1577-1581.4 结 语[4]马万治.无线通信抗干扰技术性能研究[D].成都:电综上所述,随着无线通信所处的电磁环境复杂程度越来子科技大学,2012.越高,抗干扰技术也需要不断发展和提升。未来的技术发展[5]刘晓阳.移动通信中多输入多输出技术的研究[D].济趋势是在开发研究的基础上将多个技术整合,实现典型与核南:山东大学,2008.心技术相结合的多元化综合技术发展。在具体的抗干扰技术[6]征惠玲.国外无线通信抗干扰技术研究进展[J].电讯选择过程中,还需要综合考虑技术性能、复杂程度等因素,技术,2014,(4):524-528.以获得最佳的抗干扰性能。[7]赵吉生.关于复杂电磁环境下无线通信抗干扰技术的研究[J].电子世界,2014(8):142.[8]胡盛铭.无线通信抗干扰技术的思考与探索[J].信息参考文献与电脑,2016(5):136-137.[1]王中,王静,尹洪石.无线通信抗干扰技术性能研究[J].[9]杨振雷,张柏霖.无线通信中的抗干扰技术研究[J].信息系统工程,2014(6):134.中国新通信,2014(1).[2]肖占军.无线通信抗干扰技术性能分析[J].通信技[10]刘洋,李燕南,兰关军.浅析无线通信抗干扰技术的术,2015(6):45.新发展[J].中国新通信,2013(8).— 150 —