用fpga实现以太网mac控制器数据发送模块(附件)【字数:12385】
以太网自20世纪70年代诞生以来,一直处于飞速发展的状态,并且以太网的应用也逐渐扩展到社会的各个方面。目前,以太网是现有的局域网络采用的最为通用的通信协议标准。自从千兆网络出现并且逐渐普及,计算机对以太网控制器的要求也越来越高。以太网的核心是介质访问控制层(MAC)和物理层(PHY),其中介质访问控制层就属于OSI协议模型的数据链路层。传统的以太网控制器采用的是嵌入式技术,而本次的设计将使用FPGA的设计代替传统的专用集成电路(ASIC)。FPGA经过几十年的发展也逐渐在电路设计中得到普及,它的优势得到了很大程度的利用。在这次的设计中,主要就是采用Quartus II软件,针对以太网MAC控制器进行FPGA的实现,主要是各个模块代码的编写,搭建MAC中数据发送模块的工作流程。在本次设计中,主要完成了数据发送模块中CRC校验、随机数生成以及发送状态机的代码编写与实现。数据发送模块的重点在于发送状态机,它贯穿着整个数据发送过程,同时状态机也是反映发送过程的一个方式。网络技术与数字逻辑的结合,是这次设计的意义所在。关键词FPGA;以太网;MAC;数据发送
目录
第一章 绪论 1
1.1 课题的背景和意义 1
1.2 以太网的简介 1
1.2.1以太网的基本原理 2
1.2.2 以太网协议参考模型 2
1.2.3以太网控制器与嵌入式系统 3
1.3 FPGA简介 4
1.3.1 FPGA的发展历史 4
1.3.2 FPGA的工作原理 4
1.3.3 FPGA的应用 5
1.4 现阶段相关领域的研究成果以及不足之处 5
1.5 本课题主要研究内容 6
第二章 主要功能模块设计 7
2.1 代码编辑环境及语言 7
2.1.1 Verilog HDL简介 7
2.1.2开发平台以及仿真环境 7
2.2 上层协议和PHY 7
2.3 MAC子层 8
2.2.1 MAC子层简介 8
2.2.2 基本帧的数据格式 8
2.2.3 帧传输 9
2.2.4 帧接收 10 *好棒文|www.hbsrm.com +Q: &351916072&
2.2.5 媒体无关接口(Media Independent Interface) 10
2.3 以太网控制器(MAC)框架搭建 11
2.3.1 简化后MAC层总体结构框架 12
2.3.2 控制模块 13
2.3.3 数据发送模块 13
2.3.4 数据接收模块 14
第三章 数据发送模块 15
3.1 数据发送模块整体结构 15
3.2 数据发送状态器模块 16
3.3 CRC生成模块(CRC_gen) 18
3.4 随机数生成模块(random_gen) 19
3.5 发送计数模块(tx_cnt) 20
第四章 以太网控制器的实现 22
4.1 MAC控制器代码调用 22
4.2 发送模块的实现 23
4.2.1 CRC模块的实现 24
4.2.2 状态机模块的实现 26
结 语 29
致 谢 30
参考文献 31
第一章 绪论
现今,以太网与FPGA有着宽广发展的远景,但是也存在一定的缺陷,所以,以太网与FPGA结合其来研究具有一定的意义。本章简要介绍了课题选择的背景,以太网和FPGA的理论基础知识。
1.1 课题的背景和意义
近几十年,嵌入式系统自诞生以来得到快速的发展,人们也同时了解到了它们的优势所在,并且逐渐拓展其应用领域,继续挖掘它们的价值。目前,嵌入式系统已经应用在人们的日常工作、生活中的许多方面,而且随着科技继续的发展,嵌入式系统相信会成为人们生活、科技发展中不可或缺的部分,其作用也是无法代替的。
以太网自上世纪70年代诞生以来,也在飞速的发展着,人们日常的交流、通信以及信息的传递的过程中都存在着它的影子。现在社会向着大数据的方向发展,对以太网的要求也越来越高,而以太网控制器,就是以太网进行数据传输过程中的关键所在。以太网控制器,控制着以太网上两个终端之间进行数据传输。所以,就要求以太网控制器能够跟随着社会的发展的脚步,性能越来越强大[2]。
现在是信息时代、数字时代,嵌入式系统也逐渐向着信息化、网络化的方向发展,而且其内部结构将会更复杂,对系统性能的要求也更高,以及系统中集成程度和芯片的大小的要求也逐渐增强。同时为了人们能更好、更有效、更方便地使用嵌入式系统,一个友好的多媒体人机界面是非常有必要的,它能使我们通过更加方便、简洁的操作就能完成很复杂的嵌入式系统操作,并且可以忽视嵌入式系统的内部工作原理。所以说,当今嵌入式系统与以太网的结合使用,有着巨大研究意义以及宽广的发展远景。
1.2 以太网的简介
目前,人类社会正在迅速发展,信息产业的发展也在跟随其脚步快速的发展着,而计算机网络技术就是目前全球信息产业发展的基石。高度发达的计算机互联网技术不仅为人类社会的信息交流和资源共享提供了良好的环境,同时也对人类生活方式和社会生产力产生了巨大的影响。其中,在计算机网络的发展历程中,以太网已经成为众多网络技术中最具影响力的一种,也是当今社会主流的局域网(LAN)技术。
1.2.1以太网的基本原理
以太网为了解决多个计算机对信道征用的问题,采用了共享信道的方式,也就是多个计算机在同一个信道进行数据传输。目前,以太网通信常用的物理介质是双绞线和光纤,采用的是IEEE 802.3标准规定的CSMA/CD (Carrier sense multiple Access collision Detection,带有检测冲突的载波侦听多路存取协议) 协议。
以太网中没有采用对信道进行集中管理的措施,因此以太网中可能出现多个计算机同时检测到网络中空闲,就向网络中发送信息。简单来说,以太网就是一种充满竞争,鼓励竞争的网络环境。当上述情况发生时,几个计算机终端同时向网络中传输数据,可能出现各个计算机终端发出的信息发生碰撞,从而导致发出的数据损坏,影响整个以太网的顺利传输[3]。其他的计算机终端必须等到以太网中信道传输正常,才能继续发送数据[4]。计算机终端何时再次发送数据,是由补偿算法决定的。
在现今生活中,以太网是TCP/IP协议使用最为普遍的物理网络,而以太网则是用户接入因特网最为常见的方式,TCP/IP协议正是因特网使用的协议。以太网也是一种局域网络,所以局域网侧重于网络层次中的低层(一般是指数据链路层和物理层),以太网也就是主要针对于数据链路层的定义。相对而言的TCP/IP协议则是主要偏重于中间层(包括网络层和传输层)。所以数据链路层接收到来自网络层的数据、信息的处理就是本论文的研究内容。
目录
第一章 绪论 1
1.1 课题的背景和意义 1
1.2 以太网的简介 1
1.2.1以太网的基本原理 2
1.2.2 以太网协议参考模型 2
1.2.3以太网控制器与嵌入式系统 3
1.3 FPGA简介 4
1.3.1 FPGA的发展历史 4
1.3.2 FPGA的工作原理 4
1.3.3 FPGA的应用 5
1.4 现阶段相关领域的研究成果以及不足之处 5
1.5 本课题主要研究内容 6
第二章 主要功能模块设计 7
2.1 代码编辑环境及语言 7
2.1.1 Verilog HDL简介 7
2.1.2开发平台以及仿真环境 7
2.2 上层协议和PHY 7
2.3 MAC子层 8
2.2.1 MAC子层简介 8
2.2.2 基本帧的数据格式 8
2.2.3 帧传输 9
2.2.4 帧接收 10 *好棒文|www.hbsrm.com +Q: &351916072&
2.2.5 媒体无关接口(Media Independent Interface) 10
2.3 以太网控制器(MAC)框架搭建 11
2.3.1 简化后MAC层总体结构框架 12
2.3.2 控制模块 13
2.3.3 数据发送模块 13
2.3.4 数据接收模块 14
第三章 数据发送模块 15
3.1 数据发送模块整体结构 15
3.2 数据发送状态器模块 16
3.3 CRC生成模块(CRC_gen) 18
3.4 随机数生成模块(random_gen) 19
3.5 发送计数模块(tx_cnt) 20
第四章 以太网控制器的实现 22
4.1 MAC控制器代码调用 22
4.2 发送模块的实现 23
4.2.1 CRC模块的实现 24
4.2.2 状态机模块的实现 26
结 语 29
致 谢 30
参考文献 31
第一章 绪论
现今,以太网与FPGA有着宽广发展的远景,但是也存在一定的缺陷,所以,以太网与FPGA结合其来研究具有一定的意义。本章简要介绍了课题选择的背景,以太网和FPGA的理论基础知识。
1.1 课题的背景和意义
近几十年,嵌入式系统自诞生以来得到快速的发展,人们也同时了解到了它们的优势所在,并且逐渐拓展其应用领域,继续挖掘它们的价值。目前,嵌入式系统已经应用在人们的日常工作、生活中的许多方面,而且随着科技继续的发展,嵌入式系统相信会成为人们生活、科技发展中不可或缺的部分,其作用也是无法代替的。
以太网自上世纪70年代诞生以来,也在飞速的发展着,人们日常的交流、通信以及信息的传递的过程中都存在着它的影子。现在社会向着大数据的方向发展,对以太网的要求也越来越高,而以太网控制器,就是以太网进行数据传输过程中的关键所在。以太网控制器,控制着以太网上两个终端之间进行数据传输。所以,就要求以太网控制器能够跟随着社会的发展的脚步,性能越来越强大[2]。
现在是信息时代、数字时代,嵌入式系统也逐渐向着信息化、网络化的方向发展,而且其内部结构将会更复杂,对系统性能的要求也更高,以及系统中集成程度和芯片的大小的要求也逐渐增强。同时为了人们能更好、更有效、更方便地使用嵌入式系统,一个友好的多媒体人机界面是非常有必要的,它能使我们通过更加方便、简洁的操作就能完成很复杂的嵌入式系统操作,并且可以忽视嵌入式系统的内部工作原理。所以说,当今嵌入式系统与以太网的结合使用,有着巨大研究意义以及宽广的发展远景。
1.2 以太网的简介
目前,人类社会正在迅速发展,信息产业的发展也在跟随其脚步快速的发展着,而计算机网络技术就是目前全球信息产业发展的基石。高度发达的计算机互联网技术不仅为人类社会的信息交流和资源共享提供了良好的环境,同时也对人类生活方式和社会生产力产生了巨大的影响。其中,在计算机网络的发展历程中,以太网已经成为众多网络技术中最具影响力的一种,也是当今社会主流的局域网(LAN)技术。
1.2.1以太网的基本原理
以太网为了解决多个计算机对信道征用的问题,采用了共享信道的方式,也就是多个计算机在同一个信道进行数据传输。目前,以太网通信常用的物理介质是双绞线和光纤,采用的是IEEE 802.3标准规定的CSMA/CD (Carrier sense multiple Access collision Detection,带有检测冲突的载波侦听多路存取协议) 协议。
以太网中没有采用对信道进行集中管理的措施,因此以太网中可能出现多个计算机同时检测到网络中空闲,就向网络中发送信息。简单来说,以太网就是一种充满竞争,鼓励竞争的网络环境。当上述情况发生时,几个计算机终端同时向网络中传输数据,可能出现各个计算机终端发出的信息发生碰撞,从而导致发出的数据损坏,影响整个以太网的顺利传输[3]。其他的计算机终端必须等到以太网中信道传输正常,才能继续发送数据[4]。计算机终端何时再次发送数据,是由补偿算法决定的。
在现今生活中,以太网是TCP/IP协议使用最为普遍的物理网络,而以太网则是用户接入因特网最为常见的方式,TCP/IP协议正是因特网使用的协议。以太网也是一种局域网络,所以局域网侧重于网络层次中的低层(一般是指数据链路层和物理层),以太网也就是主要针对于数据链路层的定义。相对而言的TCP/IP协议则是主要偏重于中间层(包括网络层和传输层)。所以数据链路层接收到来自网络层的数据、信息的处理就是本论文的研究内容。
版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/dzxx/txgc/511.html