以太网控制器MAC设计

合集下载

Xilinx-千兆以太网MAC-IP-Core

Xilinx-千兆以太网MAC-IP-Core

Xilinx 千兆以太网MAC IP Core目录Xilinx 千兆以太网MAC IP Core (1)一、三速以太网简介 (1)二、IP核概述 (2)三、Interface description (4)1)、引脚连接图 (4)2)、MII、GMII、RGMII接口简介 (5)四、资源占有率 (5)五、评估结果 (6)一、三速以太网简介1.符合IEEE 802.3-2008设计规;2.可配置的全双工和半双工模式;3.生成ip核时可选择10M/100M,1000M模式,或者10M/100M/1000M模式;4.部的物理层接口能够连接到:a)Logicore ip千兆1000base-x pcs/PMA使用收发器;b)Logicore ip 千兆SMGII接口;c)IOBS提供外部的GMII/MII接口;d)提供外部的RGMII接口5.通过一个可选的独立的微处理器中性界面配置和监控ip core;6.可配置流控制通过mac控制暂停帧;7.可选MDIO接口管理物理层对象;8.可选带有地址列表接口可选择的地址过滤器;9.VLAN帧设计支持IEEE 802.3-2008;10.可配置支持任何长度的巨型帧;11.可配置的帧间间隙的调整;12.可配置的带现场总线传递发送和接收路径;二、IP核概述图1 ip核基本框架Client interface(客户端界面):客户端接口在匹配客户转换逻辑或网络处理器接口时具有最大的灵活性,数据端口在发送和接收数据时位宽8bit,每个通路分别同步txgmiimiiclk 和 rxgmiimiiclk带有发送和接收使能输入控制数据吞吐量;Transmit engine(发送引擎):传输引擎接收从客户端发送过来的数据并将其转换为GMII 格式,并在帧头添加帧引导区域,甚至在帧长小于最短要求时,添加一定的冗余比特。

发送引擎提供每个数据包的发送统计向量,发送由流量控制模块产生的暂停帧;Receive engine(接收引擎):接收从GMII / MII接口发送过来的数据并检查它是否符合IEEE 802.3标准,去掉帧头的引导区域,包括为了增加帧长的冗余比特。

一种基于FPGA的万兆以太网MAC层设计与实现

一种基于FPGA的万兆以太网MAC层设计与实现

一种基于FPGA的万兆以太网MAC层设计与实现作者:安超群李飞来源:《无线互联科技》2023年第18期作者简介:安超群(1986—),女,湖北襄阳人,工程师,硕士;研究方向:模拟电路设计,集成电路设计,数字信号处理,可靠性设计等。

摘要:针对基于软件设计的万兆以太网MAC层无法满足高速数据实时传输的发展要求,文章提出了一种基于FPGA硬件平台的万兆以太网MAC层协议的设计与实现方案。

该设计方案主要利用FPGA的并行处理能力,通过Verilog硬件描述语言完成万兆以太网MAC层数据实时处理的硬件设计,实现大带宽、低延时和高可靠性的万兆以太网MAC层的数据收发功能。

试验验证表明:该设计方案实现了万兆以太网高速率的数据传输,具有低延时、高性能、高可靠性与简易性等优点。

关键词:万兆以太网;MAC控制器;并行CRC校验;并行数据处理中图分类号:TP311 文献标志码:A0 引言以太网(Ethernet)是一种计算机局域网技术。

IEEE制定的IEEE Std 802.3协议,规定了包括MAC层的协议内容、电信号以及物理层的连线。

从1983年第一次发布IEEE Std 802.3协议至今,以太网经过了40年的发展,传输速率从10 Mbps、100Mbps提升到1 000Mbps,目前已经达到了10 Gbps[1]。

万兆以太网是也称10 G以太网(10 Gigabit Ethernet),是在IEEE802.3ae协议中提出的以太网标准,该标准规范中规定使用光纤传输、传输带宽高达10 Gbps、传输距离最远能达到40km [2],经过不断的升级与扩充,万兆以太网以其速率高、兼容性好、稳定性强的优点逐渐成为以太网的核心设备[3],服务于工业自动化、5G网络传输和智慧城市建设等行业。

大多数系统设计中,10Mbps、100Mbps和1 000Mbps以太网协议除了物理层以外的协議层均以软件的方式实现,甚至10 Gbps以太网协议使用高性能CUP或服务器实现。

以太网原理:MAC和PHY

以太网原理:MAC和PHY

以太网设计FAQ:以太网MAC和PHY问:如何实现单片以太网微控制器?答:诀窍是将微控制器、以太网媒体接入控制器(MAC)和物理接口收发器(PHY)整合进同一芯片,这样能去掉许多外接元器件。

这种方案可使MAC和PHY实现很好的匹配,同时还可减小引脚数、缩小芯片面积。

单片以太网微控制器还降低了功耗,特别是在采用掉电模式的情况下。

问:以太网MAC是什么?答:MAC就是媒体接入控制器。

以太网MAC由IEEE-802.3以太网标准定义。

它实现了一个数据链路层。

最新的MA C同时支持10Mbps和100Mbps两种速率。

通常情况下,它实现MII接口。

问:什么是MII?答:MII即媒体独立接口,它是IEEE-802.3定义的以太网行业标准。

它包括一个数据接口,以及一个MAC和PHY之间的管理接口(图1)。

数据接口包括分别用于发送器和接收器的两条独立信道。

每条信道都有自己的数据、时钟和控制信号。

MII数据接口总共需要16个信号。

管理接口是个双信号接口:一个是时钟信号,另一个是数据信号。

通过管理接口,上层能监视和控制PHY。

问:以太网PHY是什么?答:PHY是物理接口收发器,它实现物理层。

IEEE-802.3标准定义了以太网PHY。

它符合IEEE-802.3k中用于10B aseT(第14条)和100BaseTX(第24条和第25条)的规范。

问:造成以太网MAC和PHY单片整合难度高的原因是什么?答:PHY整合了大量模拟硬件,而MAC是典型的全数字器件。

芯片面积及模拟/数字混合架构是为什么先将MAC集成进微控制器而将PHY留在片外的原因。

更灵活、密度更高的芯片技术已经可以实现MAC和PHY的单芯片整合。

问:除RJ-45接口外,还需要其它元件吗?答:需要其它元件。

虽然PHY提供绝大多数模拟支持,但在一个典型实现中,仍需外接6、7只分立元件及一个局域网绝缘模块。

绝缘模块一般采用一个1:1的变压器。

这些部件的主要功能是为了保护PHY免遭由于电气失误而引起的损坏。

以太网控制器设计方案

以太网控制器设计方案
在半双工和全双工模式下,帧的接收操作过程 是一样的。
在接收端,站点监视信道以获得帧到达的指示。 当发现信道变成非空闲状态时,站点开始从信道接 收数据比特流,并查找标识MAC帧起始的前导码 preamble )和帧起始定界符((SDF)。站点连续接收 数据比特流直到收到底层信道发出的帧结束指示。

如果收到的帧长度比一个时隙的长度小, 接收方的MAC将丢弃掉该帧。这是 因为根 据定义,有效帧的长度总是比时隙要长(它 等于往返信道传播延时)。因此这样的帧段 肯定是冲突的产物。接收方根据此原理可 检测并丢弃冲突段,而不需要物理信道的 冲突检测指示或无效校验和(CRC)指示。
数据帧的接收过程简述如下: 第一步:游览收到的包并校验包是否成为
碎片 。 第二步:校验目标地址 。 第三步:校验包的完整性 。 第四步:处理数据包
以太网流量控制
以太网本质上是无连接的,虽然数据帧 的无错传输概率很高,但也不能保证绝对正 确,在数据出错,缓冲区溢出或其他异常情 况下,以太网就会简单的丢弃帧。
如果收到的帧满足最小长度要求,则 接着进行CRC校验。如果收到帧的CRC的 值不正确,就丢弃掉该帧。假设一个长度 有效的帧具有正确的CRC值,接收方将检 查目的地址以查看其是否是如下二者之一
:
• (I)站点的物理地址(单播)。
• (2)软件指示站点应该识别的组播地址 如果这些地址表明帧确实是以该站为目的地, MAC将把帧传递到其客户方,并返回到开头, 重新等待新到达的帧.
1000M bit/s: 千兆位以太网
10千兆位以太网
以太网基本知识
• 以太网,属网络低层协议,通常在OSI模型 的物理层和数据链路层操作。它是总线型 协议中最常见的,数据速率为10Mbps(兆 比特/秒)的同轴电缆系统。该系统相对比 较便宜且容易安装,直接利用每个工作站 网卡上的BNC-T型连接器,就可以将电缆 从一个工作站连接到另一个工作站,完成 网络传输控制任务。

以太网控制器MAC设计

以太网控制器MAC设计

专业综合课程设计报告以太网控制器MAC设计姓名:郑文灏学号: 110260125 同组人:刘国阳、刘慧超指导老师:王新胜成绩:目录绪论课题研究的背景和意义 (III)第1章课程设计的要求 (1)1.1 课程设计的目的 (1)1.2 课程设计的要求 (1)第2章课程设计的内容 (2)2.1 设计思路 (2)2.2 功能模块分析 (3)2.2.1 寄存器模块 (3)2.2.2 接收帧模块 (3)2.2.3 发送帧模块 (6)2.2.4 MAC控制模块 (10)2.2.5 MII模块 (11)2.3 HDL代码阐述 (12)2.4 ModelSim验证 (21)第3章课程设计的总结与展望 (23)绪论课题研究的背景和意义人类社会的进步要求信息产业迅速发展,计算机网络已成为全球信息产业的基石,高度发达的计算机互联网为人类社会的信息交流和资源共享提供了良好的环境,对人类生活方式的改变和社会生产力的进步产生了革命性的影响。

在计算机网络的发展过程中,以太网是众多网络技术中具有影响力的一种技术,是当今主流的局域网(LAN)技术。

以太网最初是由Xerox公司在70年代提出的,1982年DEC、Intel和Xerox制定了DIX标准,即10Mbps普通以太网标准。

1983年,IEEE 组织公布了IEEES02.3标准,10Mbps以太网得到了国际的认可,标志着以太网标准的正式成立,同时也标志着符合国际标准的以太网技术的面世。

1995年IEEE通过了IEEE802.3u标准,标志着100Mbps快速以太网时代的到来。

随着网络用户的日益增加,10Mbps带宽在一些环境下不能满足人们对信息传输速率要求。

因此快速以太网推出得到了广泛的推广。

快速以太网是在10Mbps普通以太网上基础上发展起来的,它在保持帧格式,介质访问控制的前提下,工作速率比普通以太网快10倍。

IEEE802.3u快速以太网标准是IEEE802.3标准的补充,并且兼容10Mbps以太网。

千兆以太网MAC控制器IP软核的设计

千兆以太网MAC控制器IP软核的设计

签名:
日期:



关于论文使用授权的说明
本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁盘, 允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文的全 部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描 等复制手段保存、汇编学位论文。 (保密的学位论文在解密后应遵守此规定)
II
目录


第一章 引言 ......................................................... 1 1.1 课题的研究背景及意义 ............................................ 1 1.2 国内外研究现状 .................................................. 2 1.3 设计目标及主要设计内容 .......................................... 3 第二章 以太网 MAC 层协议及相关算法 ................................... 5 2.1 以太网的发展历程 ................................................ 5 2.2 以太网 MAC 层协议介绍 ............................................ 5 2.2.1 以太网 MAC 帧格式 ............................................ 6 2.2.2 CSMA/CD 算法 ................................................. 7 2.2.3 全双工以太网 ................................................ 9 2.2.4 全双工时的流量控制 ......................................... 10 2.2.5 物理层与 MAC 层的接口 ....................................... 12 2.2.5.1 介质无关接口(MII/GMII) ................................ 12 2.2.5.2 MII 管理接口 ............................................ 13 2.3 CRC 算法分析 .................................................... 15 第三章 以太网 MAC 层协议功能的实现 .................................. 18 3.1 以太网 MAC 控制器 IP 核的设计规范 ................................ 18 3.2 以太网 MAC 控制器 IP 核的总体架构 ................................ 18 3.3 时钟管理模块 ................................................... 20 3.4 PHY 接口模块 .................................................... 21 3.5 接收模块 ....................................................... 22 3.5.1 接收控制模块 ............................................... 24 3.5.2 地址过滤模块 ............................................... 24

MAC和PHY组成原理

MAC和PHY组成原理

MAC和PHY组成原理MAC (Media Access Control) 和 PHY (Physical Layer) 是组成网络通信系统的两个重要组成部分。

MAC 层位于 OSI 参考模型的第二层,负责控制数据的接入和传输。

PHY 层位于 OSI 参考模型的第一层,负责处理数据的物理层面的传输。

MAC 层主要负责数据链路层的协议操作,包括数据帧的组装、帧的发送和接收、以太网地址的管理等功能。

MAC 层的主要目的是为多个设备之间提供数据传输的可靠性和高效性。

MAC 层使用了不同的访问控制方法,如 CSMA/CD (Carrier Sense Multiple Access with Collision Detection) 或 CSMA/CA (Carrier Sense Multiple Access with Collision Avoidance),来确保数据的正常传输。

PHY层主要负责信号的调制、解调、编解码等物理层面的操作。

PHY层将数据转换成适合在物理介质上传输的信号,并在接收端将收到的信号还原为数据。

PHY层的功能包括信号的调制、功率控制、误码率的监测和纠错等。

除了有线通信,PHY层也负责处理无线通信中的信号传输,如无线局域网(WLAN)或蓝牙等。

MAC和PHY之间通过接口来进行通信和协调工作。

MAC层将数据帧传递给PHY层并控制数据的发送和接收,同时PHY层将物理层面的信息传递给MAC层进行处理。

这种分层设计使得网络系统可以更加灵活和可扩展,不同的MAC层可以和不同的PHY层组合使用,以适应不同类型的网络需求。

在实际应用中,MAC 层通常与PHY 层共同组成一个网络接口,如以太网接口、Wi-Fi 接口等。

以太网接口通常由以太网控制器 (Ethernet Controller) 来实现 MAC 层的功能,而PHY 层则由以太网收发器(Ethernet Transceiver) 来实现。

万兆以太网MAC层控制器的FPGA设计与实现

万兆以太网MAC层控制器的FPGA设计与实现

MAC层控 制器 。与千兆 以太 网相 比 , 万兆以 太网使 用更宽 的数据位 宽和更 高的时钟频率 , 这使得 其 MAC层控制 器的设 计和 实 现 都面临新的挑战 。在解 决 了数据 并行处理 、 不定长字节 C C编码/ R 校验及与 千兆以太 网兼容等 问题 的基础上 , 计 实现 了万 兆 设 以太 网MA C层控 制器。经布局布线后仿真验证 , 明该设 计可满足万兆以太 网实际应用的要求 。 说
山东大学 信 息科学与工程学院 , 济南 2 0 0 5 10
S h o f n o ma i n S in ea dEn i e r g S a d n i e s y Jn n 2 0 0 Ch n c o l f r t ce c n g n e i , h n o gUn v r i , i a 5 , i a o I o n t 1 0
关键 词 : 兆 以 太 网 ; C通信 协议 ; ie 6 F G 万 MA Vr x P A t
DOI1.7 8 .s.028 3 . 1 . .2 文章编 号 :0 28 3 ( 0 2 0 .0 70 文献标识码 : 中图分类号 :P 9 .1 :0 7 /i n10 .3 1 0 20 0 3 3 js 2 6 10 —3 12 1 )60 7 .3 A T 3 31
图2系统结构设计图4关键问题及解决方案万兆以太网与千兆以太网mac层虽然功能上相似但是其要实现logbs的带宽难度大大增加而且由于万兆以太网帧起始或结尾处字节不对齐需要同时考虑多种不同情况
C m ue n ier ga d p l ain  ̄ 算机工程 与应 用 o p t E gn ei n pi t s ' r n A c o [ "
Ke r s 0G gbt te tMAC( da cs C n o) Vr x P A( i dPo rmma l G tA ry ywod :1- ia iEhme; Me iAces o t 1; ie6F G Fe —rga r t8232 0 和 IE 8 23e 准 , Xin 公 司 的 Vr x 根 E E 0 ..0 5 E E 0 .a 标 在 lx i ie6系列 XC VH 5T器件 上设 计 实现 了万 兆 以太 网 t 6 X2 5
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

专业综合课程设计报告以太网控制器MAC设计姓名:郑文灏学号: 110260125 同组人:刘国阳、刘慧超指导老师:王新胜成绩:目录绪论课题研究的背景和意义 (III)第1章课程设计的要求 (1)1.1 课程设计的目的 (1)1.2 课程设计的要求 (1)第2章课程设计的内容 (2)2.1 设计思路 (2)2.2 功能模块分析 (3)2.2.1 寄存器模块 (3)2.2.2 接收帧模块 (3)2.2.3 发送帧模块 (6)2.2.4 MAC控制模块 (10)2.2.5 MII模块 (11)2.3 HDL代码阐述 (12)2.4 ModelSim验证 (21)第3章课程设计的总结与展望 (23)绪论课题研究的背景和意义人类社会的进步要求信息产业迅速发展,计算机网络已成为全球信息产业的基石,高度发达的计算机互联网为人类社会的信息交流和资源共享提供了良好的环境,对人类生活方式的改变和社会生产力的进步产生了革命性的影响。

在计算机网络的发展过程中,以太网是众多网络技术中具有影响力的一种技术,是当今主流的局域网(LAN)技术。

以太网最初是由Xerox公司在70年代提出的,1982年DEC、Intel和Xerox制定了DIX标准,即10Mbps普通以太网标准。

1983年,IEEE 组织公布了IEEES02.3标准,10Mbps以太网得到了国际的认可,标志着以太网标准的正式成立,同时也标志着符合国际标准的以太网技术的面世。

1995年IEEE通过了IEEE802.3u标准,标志着100Mbps快速以太网时代的到来。

随着网络用户的日益增加,10Mbps带宽在一些环境下不能满足人们对信息传输速率要求。

因此快速以太网推出得到了广泛的推广。

快速以太网是在10Mbps普通以太网上基础上发展起来的,它在保持帧格式,介质访问控制的前提下,工作速率比普通以太网快10倍。

IEEE802.3u快速以太网标准是IEEE802.3标准的补充,并且兼容10Mbps以太网。

10Mbps和100Mbps以太网组网方便,价格低廉,性能高效在局域网中受到了广泛应用。

1998年通过了IEEE802.3z标准,以太网的运行速度达到1Gbps,目前已出现了10Gbps的以太网。

与传统的CAN、RS.485等相比较,以太网速度更快、通用性更好,而且能直接与因特网相连,具有更大范围的远程访问。

相对于新兴的USB,IEEEl394等总线,以太网在传输距离和控制软件的通用性上有明显的优势。

近几年随着深亚微米集成电路工艺技术的飞速发展,SoC(System on a Chip)已经成为IC界关注的焦点,单一芯片上能够容纳更多的逻辑单元成为芯片设计发展的必然趋势。

将所有的功能块集成在一个单独的芯片上可以大幅度降低系统成本,减少系统的面积和功耗,提高系统的可靠性。

SoC已经渗透到通信、多媒体、计算机控制以及其它一些数字领域,以太网技术在嵌入式系统中的开发应用,已成为当前嵌入式领域研究的技术热点之一。

嵌入式以太网在工业控制、商业领域、交通行业、家庭自动化等有着良好的应用前景,同时嵌入式设备以其价格低廉、体积小以及实时性使得嵌入式系统的网络化开发有着通用处理器无法比拟的优点。

嵌入式系统的网络化,使得SoC有了更广泛的应用范围。

在嵌入式系统的网络化开发过程中,首先要解决嵌入式设备与以太网络的连接问题,即网络芯片的设计。

常见的具有网络功能的芯片有两类,一类是专用的以太网芯片,集成了MAC控制器和PHY,例如REALTEK 8019AS、8039AS,这类芯片一般用于网卡、路由器等设备,另一类是用控制、工业领域的具有网络功能的SoC芯片,例如,PHILIPS LPC2400,这类芯片通常集成了MAC控制器,但由于Pmr的模拟电路特性及设计工艺的兼容性问题,这类芯片一般都使用外置的PHY芯片来实现对以太网的支持。

在嵌入式领域,通信技术的发展要求对网络的支持越来越广泛,所以研究和设计一个用于嵌入式SoC芯片的以太网MAC控制器,具有相当的实际意义。

当今,以太网已经极大地影响我们的生活,嵌入式系统上的开发应用,已经成为当前嵌入式研究领域的技术热点之一,一方面,与传统的RS-485.CAN等相比较,以太网更加高速、通用,而且还可以直接与Internet相连接,提供更大范围的远程访问;另一方面,相对于新兴的USB2.0、IEEE1394等总线,以太网技术在传输距离、不想成本以及控制软件的通用性上都有明显优势。

第1章课程设计的要求1.1 课程设计的目的●了解掌握以太网控制器的工作原理●掌握较大工程的基本开发技能●培养综合运用Modelsim,ISE工具进行硬件开发的能力●培养数字系统设计的基本能力1.2 课程设计的要求●执行以太网IEEE802.3协议MAC要求的功能●自动产生和检查32bit CRC●在发送时自动填充长度小于规定的帧●监测帧过长或过短●兼容10Mbps和100Mbps两种速率●当碰到过小的帧间隔或过长的延迟时间时自动丢弃帧●在全双工模式下控制流量并且自动产生控制帧●在半双工模式下进行冲突检测并且在冲突时自动重传●完成对发送/接收的状态解析●容纳128个缓冲描述符的内部RAM和存储帧的内部RAM●发送和接收帧时的异步双口FIFO●发送帧模块:处理所有有关帧发送的操作●接收帧模块:处理所有有关帧接收的操作●控制模块:在全双工的工作模式下,处理所有有关数据流控制的操作●状态模块:要写入到缓冲描述符或其他模块要调用的不同的状态●寄存器模块:所有要在MAC层操作中用到的寄存器第2章 课程设计的内容2.1 设计思路本文主要阐述基于FPGA 对IEEE802.3快速以太网MAC 层功能的实现。

采用自顶向下、分块设计的思路,逐个实现MAC 主要功能模块,诸如发送模块、接收模块、MAC 控制模块以及物理层和主机接口模块等,按照IP 核的标准进行设计。

同时考虑到对主机和PHY 总线连接,MAC 内部都采用8位数据线,32位地址线,而在和PHY 接口连接时采用4位数据通道。

MAC 层主体框架如图2-1所示,主要模块有:MII 模块、MAC 控制模块、接收帧模块、发送帧模块、状态模块、寄存器模块、存储模块、主机总线接口模块,以及用于时钟同步、复位和寄存器输出的模块。

图 2-1 MAC 控制器结构框图这里,有必要说一下IEEE 802.3帧格式,如图2-2所示。

7 bytes1 byte6 bytes6 bytes 2 bytes 46-1500 bytes 4 bytes 图 2-2 IEEE 802.3帧格式1)Pre(Preamble):前导码,7字节0x55信号,接收站点通过该字段知道接收到数据帧信息, 并使网络两端的物理层达到稳定同步状态。

2)SFD(Start.of-Frame Delimiter):定界符,表示一个有效帧的开始,1字节的0xD5。

当接收站收到定界符时表示一帧数据的开始。

3)DA(Destination Address):目的地址,69节。

DA字段用于识别需要接收帧的站点。

目的地址可以分为单播地址,多播地址和广播地址。

单播地址是一个站点的特定的地址,当发送地址为单播地址只有这个地址的站点才能接收。

多播地址是一个组地址,当发送目的地址为多播地址时,这一组站点才能接收。

广播地址,当发送目的地址为广播地址时,这个广播域的地址都可以接收。

广播地址为特殊的组播地址,地址全为1。

4)SA(Source Address):源地址,69节。

SA字段用于识别发送帧的站点。

5)Length/Type:长度/类型,29节。

如果是采用可选格式组成帧结构时,该字段既表示包含在帧数据字段中的MAC数据大小,也表示帧类型。

6)Data(Pad):数据和填充域,是一组n(46≤n≤1500)字节的任意值序列。

由于CSMA/CD算法的限制,以太网帧必须不小于64字节,如果小于该字节长度,则要进行数据填充以达到最小帧长度。

帧长度最长为1518字节。

7)FCS(Frame Check Sequence):帧校验,49节。

该序列包括32位的循环冗余校验值,由发送MAC方生成,在接收时用同样的算法进行校验,用来判断这帧数据是不是在发送过程中产生错误。

被校验的范围包括目的地址域,源地址域,长度/类型域,数据域和填充域。

2.2 功能模块分析2.2.1 寄存器模块eth_registers是MAC层的寄存器模块。

所有的寄存器都是32位宽度,但是具体用到的则由寄存器实际所需宽度所决定,其余位填0.每个寄存器都有两个参数:宽度和Reset值。

Reset值定义寄存器清零后设置的默认值。

寄存器模块共有23个寄存器。

通过访问寄存器并对寄存器内容进行读写操作便可完成一些状态监测和功能选择。

2.2.2 接收帧模块接收帧模块eth_rxethmac.v的任务就是接收帧数据。

外部的以太网PHY芯片将串行数据传送至MII模块,最后成为一个个nibble(MRxD[3:0])发送到接收模块里去,同时还有“数据有效”的掩码位MRxDV.然后发送模块就把这些nibble聚集成字节byte的形式,再和一些表示数据开始和结束的信号一起发送到主机总线接口。

接收模块还需要实现的功能包括有移除接收到的帧的前导码、帧起始定界符,产生用于地址识别并发送到HASH表内,对所有接收到的包进行CRC校验。

图2-3是该模块的整体结构框图。

图中“计数匹配信号”表示当计数器达到一些特定值时,将相应特征信号触发输出为1。

图 2-3 接收模块整体框图接收模块有下列子模块组成:eth_crc ——CRC(循环冗余校验码)模块eth_rxaddrcheck——地址识别模块eth_rxcounters——与数据包接收有关的计数器模块eth_rxstatem——接收模块状态机除了上述的子模块,接收模块还用到下列逻辑信号:产生CRCHash值和HashGood信号位,用于地址识别模块锁存从PHY芯片接收到的数据RxData_d目的地址广播Broadcast或者组播Multicast信号产生信号RxValid、RxStartFrm、RxEndFrm,表征数据传输的有效性HugEn,是否允许接收大包。

定义与寄存器PACKETLEN、r_IFG,是否允许最小帧间隔,用于计数器模块的判决条件r_Pro、r_Bro、r_Iam和寄存器MAC、HASH0、HASH1,用于地址识别。

HASH0和HASH1是哈希算法的算法表接收数据帧的核心是各个状态之间的转换,如图2-4所示为接收模块状态转换图。

图 2-4接收模块状态转换图通过状态机得出接收逻辑输出信号如下:判断广播帧:在Data0状态,当计数器ByteCnt为1,锁存的数据位0xff即目的地址第一字节全为1,为广播帧,Broadcast置为1。

相关文档
最新文档