基于FPGA高效传输速率千兆以太网通信系统设计.docVIP

基于FPGA高效传输速率千兆以太网通信系统设计.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于FPGA高效传输速率千兆以太网通信系统设计

基于FPGA高效传输速率千兆以太网通信系统设计   【摘要】 本文介绍了一种高效传输速率的千兆以太网通信系统设计方法。该方法采用ALTERA内部的MAC核加外部PHY芯片实现,通信协议采用UDP/IP协议方式,并实现了ARP请求和应答功能可以实现大规模系统级联,而且整个通信系统都是用verilog 纯硬件语言编写实现。经实验验证,该方法与传统软硬结合设计方法相比通信速率要高两倍以上。   【关键词】 千兆以太网 UDP/IP ARP MAC核 FPGA 高效传输速率   在高速数据采集领域,随着速度的增加,数据量越来越巨大,限于芯片GPIO的速度限制,传统的并行总线方式已经不能满足设备的需求。高速以太网以其速度快、网络成熟的特点,逐渐受到数据采集设备厂商的欢迎。但是基于Altera公司FPGA平台上,采用SOPC技术实现的千兆以太网方案,自身的操作系统耗时较多,实测速度只能达到200Mbit/s,无法满足高速采集设备的需求。因此本文设计采用纯硬件描述语言实现千兆以太网UDP及ARP通信,在精简通信过程的基础上,提高了以太网TCP/IP协议栈的运行效率,经验证该方案能够速度能到达到800Mbit/s以上,能够满足高速数据传输的需要。   一、系统基本架构   所设计的千兆网通信系统的基本架构如图1所示,采用自顶向下的设计方法将整个系统划分为如下几大功能模块:三速MAC核、MAC核的寄存器配置模块、发送和接收FIFO缓冲模块、协议解析模块、ARP请求和应答模块、UDP/IP数据打包和解析模块。   整个系统的所有功能模块都采用verilog 纯硬件语言编写实现,包括对MAC核的初始化配置和控制,以及协议判断。而传统方法对这部分都是采用嵌入式系统进行软件控制,工作效率低下。该系统还增加了ARP请求和应答功能,可以实现大规模系统集联,例如水听器监测系统需要进行大范围的数据采集,往往需要多个数据采集卡同时进行数据上传,即实现一台上位机对不同采集卡进行控制和数据区分。有了ARP请求和应答功能,多个采集卡只需要一个交换机与上位机相连,上位机通过下发ARP请求,下层的采集卡进行ARP协议解析和应答即可让上位机知道各个采集卡的MAC地址和IP地址,从而对各个采集卡进行不同的控制并区分各个采集卡上传的数据信息。   二、主要功能模块设计   2.1 MAC核的寄存器配置模块   本设计调用了ALTERA内部的三速MAC核[1],要想让其正常工作必须对MAC控制寄存器进行基本配置从而来控制MAC内部的功能模块工作起来。涉及的主要寄存器配置有:命令配置(command config)、MAC地址(mac_0/ mac_1)、最大帧长(frame_length)、外部PHY地址(mdio_addr0/mdio_addr1),以及内部FIFO的一些阈值(al_ empty、al_full、sec_empty、sec_full)。三速MAC核的使用手册有详细的配置说明,采用Avalon-MM总线方式,设计一个状态机,每个状态都是一个地址对应一个寄存器配置即可。   2.2协议解析模块、ARP请求解析模块、UDP/IP数据解析模块   FIFO_R是接收缓冲模块,接收MAC核发送的MAC帧数据,协议解析模块的功能就是对MAC帧数据进行解析从而判断上位机发来的是ARP请求还是IP协议数据包,如果是ARP请求就进行ARP协议解析提取上位机的MAC地址和IP地址,反之如果是IP协议就进行UDP/IP协议解析提取有用的数据信息给底层应用。   图2是三个功能模块的协议解析状态图,首先对数据转换模块的数据进行数据读取,通过对读地址rdaddr进计数提取帧类型frame_type,然后对frame_type进行判断,如果frame_type=16’h0806说明是ARP协议类型,状态机进入st2状态进行ARP协议解析,按照图3所示的以太网MAC帧格式进行计数分解并将响应的参数用不同的寄存器进行存储,关键参数有操作码(operate_code)、发送端MAC地址、发送端IP地址、目的端IP地址,如果operate_code= 16’h0001说明是ARP请求,然后判断目的端IP地址是否为FPGA的IP地址,如果是就发出ARP应答使能信号给ARP应答模块,当rdaddr计数器达到ARP帧长度时说明整个ARP帧解析完成进入状态st4结束解析复位rdaddr=0,状态机进入st0等待新的一轮数据;如果frame_type=16’h0800说明是IP协议类型,状态机进入st3状态进行IP协议解析,按照图3所示的以太网MAC帧格式进行计数分解并将响应的参数用不同的寄存器进行存储,这里的参数主要是对数据解调发送的参数配置命令,包括脉冲宽度、脉冲周期、ADC偏

文档评论(0)

bokegood + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档