基于千兆以太网高速数据记录器传输接口IP核设计.doc_第1页
基于千兆以太网高速数据记录器传输接口IP核设计.doc_第2页
基于千兆以太网高速数据记录器传输接口IP核设计.doc_第3页
基于千兆以太网高速数据记录器传输接口IP核设计.doc_第4页
基于千兆以太网高速数据记录器传输接口IP核设计.doc_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于千兆以太网高速数据记录器传输接口IP核设计 2019年第10期仪表技术与传感器Instrument Techniqueand Sensor2019No.10基金项目国家自然科学基金项目 (61771434)20181008基于千兆以太网高速数据记录器传输接口IP核设计甄国涌,王琦,焦新泉,储成群(中北大学,仪器科学与动态测试教育部重点实验室,山西太原030051)摘要为了提高数据记录器的传输速度,提出采用千兆以太网进行数据通信。 基于FPGA的以太网数据传输是目前应用较为广泛的一种传输手段,但大多数支持千兆以太网的物理芯片并未集成传输协议栈以及接口转换模块,导致其无法直接进行数据传输,针对这一问题,提出利用程序进行IP核设计的解决方案,将以太网MAC层接口以及通信协议报头封装为可根据实际需求对UDPIP协议栈进行调整的可配置IP核。 首先分模块进行流程介绍,之后对其进行封装设计,最后进行结果验证,经验证此IP核速度可达到950Mbits,性能较佳。 关键词以太网;数据传输;UDPIP协议;IP核;MAC层;媒体独立接口TP274A10021841 (2019)10003906Design of IP Corefor TransmissionInterfaceof HighSpeed DataRecorder Basedon GigabitEtherZHEN Guo-yong,WANG Qi,JIAO Xin-quan,CHU Cheng-qun(Key Laboratoryof InstrumentationScienceDynamic Measurement,North Universityof China,Taiyuan,030051,China)AbstractIn orderto improvethe speedof datarecorder transmission,gigabit Etherwas proposedfor datamunication.Ether data transmission basedon FPGAwas awidely usedtransmission methodat present.However,most of the physicalchipssupporting gigabitEther didnot integratetransmission protocolstack andinterface conversionmodule,which madeitimpossible totransmit datadirectly.To solvethis problem,a solutionofIP core designusing programwas proposed.The EtherMAC layer interfaceand municationprotocol headerwere encapsulatedas configurableIP coresthat canadjust UDPIP stackaordingto actualrequirements.Firstly,this paperintroduced theflow ofthe IP core bymodules,then designedthe encapsulationofthe IPcore.Finally,the resultverifies thatthe speedoftheIPcorecan reach950Mbits,and theperformance isbetter.KeywordsEther;datatransmission;UDPIP protocol;IPcore;MAClayer;mediaindependent interface0引言在工业领域中数据的采集记录不可或缺,其中记录器通过实时监测的功能来确定数据的准确性,实时监测即将AD数据通过以太网传输至上位机,通过上位机进行实时监测以监测数据的准确性,从而确定被测物体的性能。 以太网的传输方式简单,传输速度快1。 为了满足人类的生产生活需求,在几十年间以太网传输速率已经达到万兆甚至十几万兆2。 目前,工业领域内百兆以太网技术已经成熟,但是其传输速度却无法满足工业需求,为了保证运行速度以及减少成本,千兆以太网成为工业主流34。 针对以太网MAC层的接口设计共有2种方式,一种是将PHY层与MAC层集中在一个芯片中,直接使用芯片进行数据通信,这种方式对于百兆网及百兆速度之下的以太网较为普及,例如W5300芯片;另一种方式就是对MAC层进行程序设计,通过程序控制接口通信。 本文选用第二种方式,将千兆以太网接口通信模块封装为IP核的形式,完成千兆以太网数据通信5。 1总体设计本文设计的千兆以太网数据传输以UDPIP协议为基础,实现数据通信。 图1为程序总体构架图。 图1程序总体设计构架图40Instrument Techniqueand SensorOct.2019上位机通过物理芯片向接口发送MAND DA-TA,即命令数据,通过整合模块控制下位机进行“动作”。 当整合模块发送使能预控制信号时,通知UDPIP协议栈进行发送准备,当MAC控制器发送使能控制命令后,UDPIP协议栈将报头信息经由整合模块发送至MAC控制器最终发送至上位机,当报头发送完成后立即对数据模块进行使能控制,控制数据模块发送相对应的数据。 其中UDPIP协议栈、整合模块以及MAC控制器组成了通信控制IP核。 为了简化后期工作量,采用“分总分总”设计思想,首先分块对每一模块进行设计,之后各自封装成IP核,作为一个小的整体,最后再将每个小整体作为大整体的一部分进行IP核的封装。 2UDPIP协议栈可配置IP核设计2.1UDP协议栈内容UDPIP协议栈主要作用是对数据进行封包处理6,在UDPIP协议栈中,为了实现可配置方案,将UDPIP协议内容进行分类一种是需用户在程序自行配置,例如IP地址、MAC地址等,另一种类型是内部计算配置,如IP校验和等7。 通过对这2种类型进行不同方式的配置,实现UDPIP协议栈模块可配置功能。 使用“generic”语句对此模块中可配置参数进行统一标注,方便用户根据需求进行相关配置,实现IP核可配置;针对内部计算配置,可以分为2种类型,一类是通过命令判断其配置参数进行参数输入,例如数据报总长度的配置,另一类是通过FPGA进行校验计算后,进行配置,例如IP校验和的配置;对于数据报长度的配置,需要在FPGA内部进行,上位机发送命令后,FPGA通过命令语句判断回令类型,同时确定回令长度,将其发送至此模块,进行数据报长度配置;校验和的配置需要对相关内容进行计算之后回传UDPIP协议栈,如表1所示,为协议栈配置类型及方式。 表1协议栈配置类型方式配置方式配置参数操作方式用户配置目的MAC地址源MAC地址目的端口用户在下载程序前通过对UDPIP协议栈IP核模块进行参数修改,进行相应配置命令配置数据报总长度封报长度通过识别上位机命令,FPGA作出反应,将回令数据长度输入至此模块进行配置IP校验和根据输入的数据值,在FPGA中作出相应计算,之后将结果值输入至模块中,进行配置2.2UDPIP协议栈IP核结构设计UDPIP模块主要作为数据与MAC层的中间联系层,在数据发送时对其进行打包。 因此它接收命令使能进行UDPIP内容发送,同时给数据模块发送使能,通知数据模块发送相应的信息。 图2为UDPIP协议栈可配置IP核结构图,其中图2(a)为此模块的节点图。 信号Reconfiguration,Readudpen以及Datalength150由上位机发送命令后,FPGA对命令进行解析,输入至此模块,启动协议栈模块,Reconfiguration信号为配置信号,上电首先将用户配置数据写入;Configurationflag信号为配置完成标志信号,Readudpfinish信号为封包内容发送完成标志,同时也是数据模块使能信号。 图2(b)为此IP核内部结构图,控制模块主要用来控制参数的写入,Dualram采用双口RAM存放协议内容8,IP校验和模块计算校验和后,将结果通过控制模块写入RAM中相应位置。 其中校验和模快涉及到IP协议内容的计算,检测IP协议内容的正确性,(a)UDPIP协议栈可配置IP核节点图(b)UDPIP协议栈可配置IP核内部结构图图2UDPIP协议栈可配置IP核结构图提高数据传输可靠性。 校验和计算主要分为3个步骤,首先将16位数据依次相加,之后对所得结果进行进位以及取反,其计算公式为第10期甄国涌等基于千兆以太网高速数据记录器传输接口IP核设计41X0160X1150X2150X3150XN150 (1)A150X0150X016 (2)B1500xffffA150 (3)式中A,B,X均为协议数据。 使用如图2所示方案对校验和进行计算,首先通过控制模块对数据进行处理,为了保证加法器输出数据不丢失,使用有符号加法进行计算,控制器将输入数据顺序组合为16位数据进行输入同时在最高位加入符号位,即输入X1,X N为17位数据,将第一次加法结果通过高位分离后,再次进行加法运算,得到A1,最后通过减法器输出所得校验和结果B1509。 2.3UDPIP协议栈设计流程图3为UDPIP协议栈可配置IP核程序流程图,上电后判断Reconfiguration信号即配置使能是否为1,若为1则通过双口RAM中的A口进行基本参数写入,直到配置完成,将Configurationflag置为1,之后对Readudpen读使能进行判断,若有效则根据输入的Datalength信号,启动IP校验和模块进行校验和计算,并通过双口RAM中的B口进行数据长度以及校验和的参数写入,同时通过Dualram中的A口进行协议内容读取,将其输出至整合模块,数据读取完成后将Readudpfinish信号置为1,此信号同时作为数据模块的输入使能,控制数据的输入。 在进行校验和参数配置时,首先对检验和使能进行判断,在IP校验和模块完成校验计算后,发送标志Checkflag至控制模块,控制模块在接收到标志有效时,才将数据通过Dualram的B口写入至RAM中的相应位置。 2.4UDPIP协议栈仿真结果对此模块进行仿真分析,图4为此模块仿真结果图。 图4(a)为配置部分仿真分析图,其配置操作在配置使能reconfiguration有效时,通过RAM的A口进行基本信息配置,当输入datalength信号时,通过B口进行长度及校验和的配置与计算。 图4(b)为读模块数据仿真时序,在readudpen有效时,对RAM中的数据进行读操作,将配置信息顺序读出。 3整合模块IP核设计整合模块在本设计中主要是作为UDPIP协议栈IP核以及MAC控制器IP核的对接模块以及发布起始命令的一个中间对接模块,因此其主要作用是将上位机命令进行解析之后,进行命令发布。 图5为此整合模块的节点示意图。 整合模块通过实时“监控”的图3UDPIP协议栈可配置IP核程序流程图方式判断命令语句,根据命令使能MAC控制器;oe信号为选择信号,选择当前输出数据为协议报头或者是有效数据。 Datamand信号主要作用在IP核外部数据模块上,目的是通知数据模块根据此命令指令准备相应的回令数据,保证数据发送正确。 Dataen信号为数据模块使能信号,由信号Configurationflag以及Readudpfinish信号共同决定。 4MAC控制器IP核设计4.1媒体独立接口的选择以太网接口包括MII、GMII、RGMII等,主要用作42Instrument Techniqueand SensorOct.2019(a)配置信息仿真图(b)读模块仿真图图4UDPIP协议栈IP核仿真结果图图5整合模块IP核节点示意图MAC层与PHY层之间的通信接口1011,其中MII用于10M100M以太网的数据通信,GMII与RGMII均可使用于千兆以太网的数据传输,但RGMII是GMII的简化版,使用RGMII作为接口时,可以节省资源。 图6为3种媒体独立接口连接示意图。 4.2MAC控制器IP核结构如表2所示,对3种接口进行比较,RGMII接口使用较少的数据传输线,节约了硬件电路资源,同时此接口采用双沿采样的形式对数据进行采样,对时钟资源进行了有效利用,因此在硬件电路设计中采用RGMII接口作为MAC与PHY的连接接口是一种较好的选择。 在程序设计中,XILINX公司针对千兆以太网MAC层接口芯片提供了对应的IP软核,本模块的设计主要是以此IP核为主,加入控制模块及IP核配置,最终将其封装为接口IP核,方便与其他模块对接。 图7(a)为MAC控制器IP核节点示意图,图7(b)为此IP模块内部结构示意图。 此模块包括配置模块、输入控制模块以及Tri ModeEther MACIP软核。 电路板上电复位操作完成后,配置模块将配(a)MII接口连接图(b)GMII接口连接图(c)RGMII接口连接图图63种独立媒体接口连接示意图置数据写入接口IP核中,根据用户需求对其进行配置,readrgmiien为MAC接口IP核使能信号,当其有效时,启动MAC接口IP核,在MAC接口准备好后立即将信号readudpen置为有效,控制UDPIP协议栈进行数据输出,最终通过接口IP核转换为4位数据发送至物理芯片。 第10期甄国涌等基于千兆以太网高速数据记录器传输接口IP核设计43表23种接口信号传输基本信息接口名称数据线条时钟方向RX TXRX TX数据采样方式信号线总数量适用范围MII44PHYMAC PHYMAC时钟上升沿传输1610M100M以太网GMII88PHYMAC MACPHY时钟上升沿传输241000M以太网RGMII44PHYMAC MACPHY时钟沿传输1210M100M1000M以太网(a)MAC控制器IP核节点示意图(b)MAC控制器IP核内部结构示意图图7MAC控制器IP核结构图4.3MAC控制器仿真结果图8为MAC控制器模块仿真图。 在readudpen有效时,同时对datain70赋值,将其赋值为自加数,rgmiitxctl为数据发送控制位,当其为高时,rgmiitxd30数据输出有效,其控制时钟为rgmiitxc,rgmiitxd30在输出有效数据前会自动加入以太网前导码,根据RGMII接口特点,数据采样发生于时钟沿,因此一个时钟会进行2次数据采样,并且以太网数据传输采用小端模式。 5仿真与结果将上述3个IP核模块作为3个分模块,进行对接以及最终封装。 以太网数据传输接口IP核如图9所示,其内部主要通过信号线将三大模块进行连接,同时加入时钟及复位模块,系统时钟为50MHz时钟,但千兆以太网通信时钟为125MHz,因此,需要对系统时钟进行倍频处理,PLL模块即为时钟模块;复位模块主要是用来对硬件芯片进行复位配置,所用物理芯片为88E1518,物理芯片使用时必须进行一段时间的复位,完成芯片自配置。 图8MAC接口控制器IP核仿真图(a)IP核内部结构示意图(b)IP核节点示意图图9以太网数据传输接口IP核示意图44Instrument Techniqueand SensorOct.2019对上述IP核进行最终硬件测试,通过上位机进行命令发送,同时下位机接收到命令后,发送自加数,最终结果通过wireshark以及udp通信软件进行验证,得到如图10所示的结果图。 (a)wireshark抓包结果图(b)udp通讯软件结果图图10接口IP核通信结果图本文采用“分总分总”的设计思想,将千兆以太网数据传输MAC层封装为IP核,并加入可配置UDPIP协议栈,经测试,其速度可以达到950bits,将其进行封装可以简化千兆以太网数据传输过程,在工程领域中可以直接使用,不再需要进行繁琐的程序处理,在实际工作中起着重要作用。 参考文献1赵政.以太网交换及应用技术研究D.西安西安电子科技大学,xx.2朱明辉,司斌,张从霞,等.FPGA与88E1111的千兆以太网接口设计J.新器件新技术,xx (3)6064.3秦二强.基于千兆以太网的16路高速数据采集卡的设计与实现D.郑州郑州大学,xx.4李璇,敖光良.基于FPGA的千兆以太网设计J.网络安全技术与应用,xx (5)6364.5尉志伟.千兆以太网MAC控制器IP软核的设计D.成都电子科技大学,xx.6叶祎恒.基于FPGA的UDPIP硬件协议栈的研究与实现D.成都电子科技大学,xx.7刘鹏,刘艳.UDP协议使用与分析研究J.电脑知识与技术,xx (13)33193320.8ZHANG K,JU XD,LU JQ,et al.Design ofacousticlogging signalsource ofimitation basedon fieldprogramma-blable gatearrayJ.Journal ofGeophysics andEngineering,xx,11 (4)16.9李修堂.基于FPGA的以太网UDPIP处理器的设计与验证D.成都电子科技大学,xx.10李磊,刘宇,于帅.基于FPGA的千兆以太网实现J.电子设计工程,xx,25 (12)186188.11洪亮,章嘉文,陆亨立.基于FPGA的MDIO接口逻辑设计J.微计算机信息,xx,25 (5)171172.作者简

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论