基于FPGA的UDP硬件协议的设计与实现毕业论文
2021-05-25 22:03:36
摘 要
通信时需要传输的内容多少、每秒传输数据字节数及传输数据最终正误率是数据通信比较重要的几个指标。由此通信方式也被划分不同的种类。由于软件协议实现占用资源多、实时性较差,不适用于系统资源较少、实时性要求很高的场合,所以本文主要针对通信数据量大、通信速率高及通信可靠性要求不是很高的应用场合,提出了在由物理PHY芯片LAN91C111和现场可编程门阵列(FPGA)搭好的这个平台中进行该UDP/IP协议的设计方案。全文介绍了硬件平台单元电路的芯片选型及设计,整合了各个功能模块,在ALTERA公司开发的Stratix II硬件开发平台上测试了UDP/IP协议系统的通信性能。最终结果证实了该方案的可行性,通过网口抓包工具验证了数据的封包和解包都遵循以上准则。在FPGA平台上实现了硬件UDP协议,不仅可移植性高而且便于系统集成,很适用于大数据量传输的场合。
关键字:现场可编程门阵列;以太网;UDP/IP;协议
Abstract
The amount of communication data, the communication speed and reliability of communication are important indicators of data communication. Thus communication can be divided in different species. The software protocol implementation takes up more resources, poor real-time performance, dose not apply to fewer system resources and high real-time requirements of occasions. For application of large amount of communication data, high communication rate and low reliability requirements, this design presents hardware implementation of UDP/IP agreement on the hardware platform which takes design scheme of a physical PHY chip LAN91C111 and FPGA. The paper introduces the chip selection and design of hardware circuit unit and the integration of the various functional modules. The communication performance of UDP/IP system has be tested in Stratix II hardware development platform developed by ALTERA. The communication results show that the feasibility of the scheme. The network export tool verified that the data packet capture and unpacking follow the standard UDP/IP protocol on the FPGA platform. The hardware implementation of the UDP protocol can be transplanted. And it is convenient for system integration, and it is suitable for the occasion of large data transmission.
Keywords: FPGA; Ethernet; UDP/IP protocol; Stack
目 录
1 绪论 1
1.1 研究的目的及意义 1
1.2 国内外研究现状 1
1.3 论文内容安排 2
2 嵌入式FPGA以太网理论知识 4
2.1 嵌入式系统基础知识 4
2.1.1 FPGA硬件构成 5
2.1.2 FPGA开发流程 6
2.2 UDP协议理论知识 8
2.2.1 UDP/IP协议概述 8
2.2.2 UDP/IP体系组成 8
2.2.3 UDP/IP工作原理 4
2.2.4 UDP/IP模块结构 11
3 UDP硬件协议设计 14
3.1 实现协议栈的硬件平台选型 14
3.1.1 现场可编程门阵列 14
3.1.2 物理层收发器 14
3.2 硬件设计 15
3.2.1 FPGA最小系统 15
3.2.2 网口芯片外围电路 17
3.3 功能模块设计 18
3.3.1 LAN91C111驱动部分 20
3.3.2 接收解码器 23
3.3.3 发送编码器 24
3.3.4 全局控制模块 27
4 UDP硬件协议实现结果与测试 29
4.1 建立连接的测试 29
4.2 数据传输正误测试 29
4.3 数据传输速度测试 33
5 总结与展望 35
5.1 论文工作总结 35
5.2 研究工作展望 35
参考文献 36
附录 38
致 谢 44
绪论
研究的目的及意义
在经济飞速上升、信息技术更新加速的今天,通信技术的影响愈加举足轻重。不论是工作上信息的交互,还是学习研究中做小型电子项目,都离不开通信。特别是由于卫星通信、光纤通信等通信技术的不断发展,人们的生活方式也逐渐有所改变,电子邮件取代了邮局寄信,网络购物方便了商家买家等。因此通信技术的发展受到了各个国家的重视。而工业又离不开智能硬件,因此嵌入式以太网这项技术研究就成为不可忽视的课题。
当一台设备具有网络接入功能时,人们可以在任何地方、任何时间、任何地点随时浏览设备实时状态,并远程控制设备。利用现场总线控制技术对设备进行实时监控时,必须使用专用的通信介质、通信协议、硬件和配套软件。而只要将该相关技术纳入网络,实时监测及调控就可以很快捷容易地进行。嵌入式以太网技术的强大功能、使用灵活方便和高度开放决定了它不可或缺,不可被替代的重要地位。
当今该行业中有关此技术的解决措施不甚枚举,其中将软件TCP/IP协议移植进微处理器内会受制于微控制器存储空间大小,而ASIC解决方案成本较高,且内置协议栈不可更改[3]。而FPGA中用硬件描述语言设计硬件电路,有不少有利的优势,由此提出基于FPGA的硬件协议的解决方法。
该种应用以太网技术会涵盖到多方面的因素:以太网需要TCP/IP协议支持,而传统TCP/IP协议在数据流量的控制以及数据传送的可靠性上比较优秀[1],但实时性比较差。而嵌入式领域的应用对于实时性的要求比较高,另一方面目前市场上主要以8位或16位微处理器的嵌入式系统为主,资源相对受限、体积相对较小,很难在进行其他任务的同时照顾到该协议的进行。相比之下,用户数据报协议:
- UDP用户数据报只有8个字节的首部开销;
- UDP主机不需要浪费资源在连接状态表上;
- 拥有除了连接之外还能传递信息的其他路径;
- 使用UDP协议,网络出现的拥塞不会使源主机的发送速率降低;
- 速度可以达到更快。因此,在嵌入式系统中,UDP在某些情况下优于TCP/IP。
综上,本文提出基于FPGA的UDP/IP硬件协议栈的该技术相关可行路径。