基于FPGATCPIP协议设计与实现.docVIP

  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文档。上传文档
查看更多
基于FPGATCPIP协议设计与实现

基于FPGATCPIP协议设计与实现   摘要:以FPGA(现场可编程逻辑门阵列)为控制中心,实现了网络接口芯片的时序控制,进而搭建一种百兆以太网的高速数据传输平台。实践证明,此平台具有良好的接口扩展性,更便于同计算机进行连接。此外,此平台拥有较高的数据吞吐率,能够达到接近100Mb/s的以太网极限吞吐率。   关键词:FPGA;以太网;TCP/IP协议;DM9000   中图分类号:TP301 文献标识码:A 文章编号:1672-7800(2013)005-0022-02   0、引言   随着网络通信技术的飞速发展,越来越多的测试仪器需要将大量数据传送给终端计算机进行解析处理,抑或从PC机传送大量数据给相应设备。现在常用的数据传输方式(usb、总线)中,虽说数据传输的速率较快(可达400Mb/s),但是传输距离过短成为其不可避免的缺点。而百兆以太网中点对点间的数据传送距离可达100m,如果借助交换机或者路由器等设备可以实现更远距离传输。本文以FPGA为基础,在硬件上完成简化的TCP/IP协议栈,用来获取必须的协议处理机能,实现三态以太网嵌入式系统设计。   1、系统硬件设计   该系统以Altera公司的EPIC12型FPGA芯片作为中心控制单元,另外还需两片作为缓存数据用的SRAM,以太网接口芯片采用DM9000。系统具体硬件框图如图1所示。   DM9000是一款全集成、功能强大、性价比高的快速以太网MAC控制器。该芯片拥有一个通用处理器接口、10/1()()PHY、EEPROM和16kB的SRAM。DM9000支持8位、16位以及32位的接口访问内部存储器,可以支持不同型号的处理器。该芯片的PHY协议层接口完全可以使用10MBps下的3/4/5类非屏蔽双绞线和100MBps下的5类非屏蔽双绞线,很好地对应IEEE 802.3u规范。DM9000实现以太网媒体介质访问层(MAC)和物理层(PHY)的功能,其中包含MAC数据帧的组装/拆分与发送接收、地址的识别、CRC编码/校验、MLT-3编码器、接收噪声抑制、输出脉冲形成、超时重传、链路完整性测试、信号极性检测与纠正等。   2、TCP/IP协议实现   2.1 TCP/IP协议   TCP/IP协议就是传输控制协议/互联网协议,它是一个真正实际的开放性通信协议规范,其开放式的特点使得计算机之间都可以通过此协议来完成数据的交换,而不管这些设备拥有不同的物理特性或者各自运行着不同的系统。   与其它网络协议相同,TCP/IP协议的开发也是分不同层次进行的。与ISO开发的OSI模型相比,TCP/IP的四层模型显得更为灵活,原因在于它着重强调功能分布而不是功能层次的划分。   ARP协议负责IP地址与MAC地址之间的转换工作,IP协议实现网络层数据的封装工作以及路由功能,而TCP和UDP是运输层的协议,主要完成传输数据的封装、实现可靠稳定传送以及流量的监控。ICMP是报文控制协议,它是一种辅助性协议,所具有的Ping功能可以用来诊断网络性能。在一个正常通信过程中,ARP/IP协议是必需的,而TCP/UDP实现一种即可。在FPGA用硬件完成ARP\P和UDP比较简单,而TCP协议在连接时的握手机制、数据发送接收的校验机制以及流量的控制,实现起来较为复杂,因此从系统的复杂度来考虑,本文并没有实现TCP/IP协议,实现了相对较为简单的UDP协议。   2.2 系统模块构成   本系统的协议栈功能由网络控制模块、数据接收解析模块、ARP应答发送模块、Ping应答发送模块、UDP发送模块和调度模块构成。每个模块间相互的接口联系如图3所示。   因为每个模块都有分时访问DM9000接口总线的要求,所以必须要有一个调度模块执行中心控制工作,利用开始与结束信号来同步。在接受到中断信号时,调度模块只有在总线空闲状态时才会开启接收模块,接收模块解析完MAC层数据包后会发送对应的请求讯号:ARP应答请求、Ping应答请求,此时必需的应答参数也会输出。在总线空闲时,调度模块会依据请求信号开启对应的应答模块进行工作。接收模块在收到已定义端口UDP数据包后将有效数据写入SRAM中,供其它的应用模块使用。   2.3 DM9000接口控制   DM9000内部存储器由物理层寄存器、链路层寄存器和数据缓冲三部分组成,与该芯片进行的所有数据交换作都必须通过此三部分寄存器来完成。为遵循DM9000接口时序规范,接口逻辑需分层设计,I/O读写模块位于最底层,第二层为物理寄存器读写,接下来是链路层寄存器读写模块,而最上层是初始化模块,主要完成接口芯片内物理寄存器与链路寄存器的初始化工作,比如MAC地址、中断设置以及数据包过滤条件等等。   3、实验结果及系统性能分析   3

文档评论(0)

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

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

1亿VIP精品文档

相关文档