以太网控制器芯片的设计及实现.
以太网原理: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免遭由于电气失误而引起的损坏。
dm9051硬件设计方法
dm9051硬件设计方法DM9051是一款具有高度集成性的、低功耗的以太网控制器芯片。
它广泛应用于各种嵌入式系统中,包括智能家居、工业控制、智能仪器仪表等。
本文将介绍DM9051的硬件设计方法,以帮助开发人员更好地应用这款芯片。
DM9051芯片的硬件设计主要包括电源设计、时钟设计、接口设计以及外围电路设计等方面。
1.电源设计:DM9051的电源设计需要满足芯片的工作电压和电流需求。
一般来说,DM9051的工作电压为3.3V,电流在100mA左右。
在设计电源时,需要选择合适的电源芯片和滤波电容,以满足芯片工作的可靠性和稳定性。
2.时钟设计:DM9051芯片需要外部提供时钟信号,用于同步其内部的数据传输和处理。
时钟信号可以选择使用外部晶振或者外部时钟源提供。
在选择时钟源时,应考虑到时钟信号的精度、稳定性和抗干扰性等因素。
3.接口设计:DM9051芯片提供了丰富的接口,包括以太网接口、SPI接口、中断接口等。
在接口设计时,需要根据实际应用需求确定接口类型和引脚分配,并考虑信号线的布局和阻抗匹配等问题。
4.外围电路设计:DM9051芯片的外围电路设计主要涉及PHY芯片、RJ-45接口、磁鼓等。
PHY芯片负责将芯片内部的数据转换成与以太网标准兼容的信号,RJ-45接口用于连接以太网电缆,而磁鼓则用于滤除电磁干扰。
在设计外围电路时,需要合理布局各个电路模块,以减少干扰和提高系统的抗干扰性。
此外,DM9051芯片还有一些特殊的硬件设计需求,如电源管理、时钟信号的同步和检测等。
在进行这些特殊设计时,需要根据DM9051的应用手册和数据手册进行详细的了解和分析,并结合实际需求进行设计和调试。
总之,DM9051的硬件设计方法需要考虑多个方面的因素,包括电源设计、时钟设计、接口设计以及外围电路设计等。
在进行设计时,应充分了解芯片的功能和特性,并进行合理的方案选择和布局,以确保系统的可靠性和稳定性。
以太网控制器设计方案
以太网控制器设计方案以太网控制器是计算机网络中常用的一种网络适配器。
在计算机与网络之间起着桥梁的作用,提供物理层和数据链路层的功能。
以太网控制器设计方案需要考虑到多个方面,如适配器的速度、功能、可靠性等,同时也需要考虑到成本和实际应用。
下面我们将从几个方面介绍一种以太网控制器设计方案。
一、硬件设计:以太网控制器主要由网卡芯片、网卡电路板、光电整流器、集线器等组成。
在硬件设计上,需要考虑到适配器的速度,目前以太网适配器的速率有10Mbps、100Mbps和1Gbps等不同规格。
此外,还需要考虑到适配器的实际应用,如需要在恶劣环境下使用的,需要考虑防水、防尘、防雷等设计。
同时,在适配器距离远离主机的情况下,还需要添加信号放大器或者中继器。
二、软件设计:软件设计主要包括适配器的驱动程序和控制程序。
驱动程序负责将数据从主机传输到适配器,并将适配器接收到的数据传输回主机。
控制程序则负责适配器的操作,如初始化、发送、接收、错误处理等。
在软件设计上,需要考虑到适应不同操作系统的要求。
同时,需要考虑到对于高速数据传输的处理和优化。
三、接口设计:适配器的接口设计非常重要,它决定了适配器与主机之间的通信速度和可靠性。
在接口设计上,需要考虑到信号传输的速率、时序、可靠性和稳定性等。
此外,还需要考虑到接口类型的选择,如PCI、POT、USB等不同的接口类型。
四、错误处理:适配器的错误处理是设计中不可忽视的一个方面。
在适配器操作过程中,可能会出现各种错误,如传输错误、接收错误、缓存错误等。
为了确保网络的正常运行,需要对这些错误进行及时、有效的处理。
在设计中,需要考虑到错误处理的机制和处理过程的优化。
五、成本控制:在以太网控制器设计方案中,成本控制是不可忽视的一个方面。
适配器的成本不仅取决于硬件和软件成本,还取决于适配器的生产和使用成本。
在设计中,需要考虑到成本的可控性,努力达到成本和性能的平衡。
综上所述,以太网控制器设计方案需要从硬件、软件、接口、错误处理、成本等方面考虑。
以太网物理隔离控制器的设计与实现
O 引 言
根 据 国家保 密 局 的相 关规 定 , 物理 隔 离技术 是 从物理 上断 开涉 密数 据与 外 网的数 据通 道 , 保障 是
t e de tt .M CF5 71 C o to i h e e f K S 95 tr u he usr S i n iy 2 a c n le g tpic s o 89 h o gh FPGA d s pp  ̄ eiht h nn lph ia n r n a u o g -c a e ysc l
V0l 7 No l .2
Jn 0 8 u .2 0
以太 网物 理 隔 离控 制 器 的设 计 与 实现
曹 娟 ,曲 海龙
( . 通 大学 , 1南 江苏 南 通 2 6 1 ; . 尔 滨 工 程 大学 , 20 9 2 哈 黑龙 江 哈 尔 滨 10 0 ) 50 1
摘 要 :以太 网物 理 隔 离 系统 由物 理 隔 离控 制 器 和 用 户 终 端 组 成 , 理 隔 离控 制 器基 于 MC 5 7 设 计 ,舍 用 户 身 物 F 21
Th sg n a ia i n o y i a s l to n r l r e De i n a d Re l to fPh sc lI oa i n Co t ol z e
C O J a Q l ln 。 A u n , U Ha o g -
( . no gUnv ri , n o g 2 6 1 , ia 2 HabnE gn eigUnv ri , rbn 1 0 0 ,Chn ) 1 Na tn iesy Na tn 2 0 9 Chn ; . r i n ie r ies y Ha i 5 0 1 t n t ia
万兆以太网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
以太网控制器设计方案
以太网控制器设计方案在当今数字化的时代,以太网作为一种广泛应用的网络技术,其控制器的设计至关重要。
以太网控制器是实现以太网通信的核心组件,它负责处理数据的发送和接收,以及与上层软件和硬件的交互。
接下来,让我们深入探讨一种以太网控制器的设计方案。
一、设计需求分析在开始设计以太网控制器之前,我们需要明确其功能需求和性能指标。
首先,它应支持常见的以太网协议标准,如 IEEE 8023 ,能够在不同的网络环境中稳定工作。
其次,要具备高速的数据传输能力,以满足现代应用对带宽的要求。
此外,还应具备低功耗、小尺寸、高可靠性等特点,以适应各种嵌入式系统和移动设备的需求。
在接口方面,以太网控制器需要与主机系统(如 CPU )进行有效的通信。
常见的接口包括 PCIe 、 USB 等。
同时,它还应提供多个以太网端口,以支持多设备连接和网络扩展。
二、硬件架构设计以太网控制器的硬件架构主要包括以下几个部分:1、物理层接口( PHY )PHY 负责将数字信号转换为模拟信号,通过以太网电缆进行传输,并将接收到的模拟信号转换回数字信号。
它与以太网介质直接连接,实现物理层的通信功能。
2、媒体访问控制层( MAC )MAC 是以太网控制器的核心部分,负责数据帧的封装和解封装、地址识别、冲突检测与避免等功能。
它遵循以太网协议标准,对数据进行处理和控制。
3、数据缓冲区用于存储发送和接收的数据,以提高数据传输的效率和稳定性。
缓冲区的大小和管理策略会直接影响控制器的性能。
4、控制逻辑单元负责协调各个模块的工作,处理中断信号,与主机系统进行通信等。
5、时钟管理单元提供稳定的时钟信号,确保各个模块的同步工作。
为了实现高性能和低功耗,硬件架构的设计需要采用先进的集成电路工艺和优化的电路设计技术。
例如,使用低功耗的晶体管、动态电压频率调整( DVFS )技术等。
三、软件驱动设计软件驱动是以太网控制器与上层操作系统和应用程序之间的桥梁。
它主要包括以下功能:1、设备初始化在系统启动时,对以太网控制器进行初始化设置,包括配置工作模式、设置 MAC 地址、分配缓冲区等。
基于FPGA的以太网MAC控制器的设计与实现
基于FPGA的以太网MAC控制器的设计与实现丁世勇;谭文文;李桂英【摘要】The design of Ehernet MAC controller based on FPGA is described. The controller realizes the CSMA/CD (Carrier Sense MultipleAccess/Collision Detection)protocol in half duplex mode and the transmitting and receiving of Pause frame in full duplex mode, and it can access the register in the physical chip. The whole design is described in a way of top-down design flow with Verilog hardware description language. We simulated the design with Modelsim and verified it with FPGA board. The test result shows that the design can satisfy the requirement of 802.3 standard.%介绍了基于FPGA的以太网MAC控制器的设计,主要实现了半双工模式下CSMA/CD协议、全双工模式下Pause帧的收发,以及对物理层芯片中寄存器的读写访问。
设计采用Verilog硬件描述语,按照自顶向下的设计流程描述了以太网的主要功能模块,该控制器通过Modelsim进行了仿真并进行了FPGA板级验证,验证其能够满足802.3标准的要求。
【期刊名称】《电子设计工程》【年(卷),期】2011(019)021【总页数】4页(P163-165,169)【关键词】以太网;FPGA;Verilog;HDL;Modelsim;MAC控制器【作者】丁世勇;谭文文;李桂英【作者单位】山东科技大学信息与电气工程学院,山东青岛266510;山东科技大学信息与电气工程学院,山东青岛266510;山东科技大学理学院,山东青岛266510【正文语种】中文【中图分类】TN492随着网络的飞速发展,因特网(Internet)在人们的生活中占据着越来越重要的地位。
千兆以太网MAC的FPGA实现与设计
图1 GMII接口信号图2 以太网控制器的结构设计框图6774ELECTRONIC ENGINEERING & PRODUCT WORLD2018.6指示接口、MAC层和物理层的控制和状态信息接口(MDIO)。
具体的信号说明如表1所示。
2 设计方案X i l i n x提供的千兆以太网开发套件为Vi rt e x-5 ML505/ML506开发板,该开发板支持10/100 M、1/10 G以太网,是学习和研发高速连接设备的理想平台。
Xilinx提供了可参数化的10/1 Gbps以太网物理层控制据送出去。
接收数据则与之相反2.1 电路架构该以太网控制器主要进行层协议的接口以及MAC计,总体结构框图如图据的产生模块、发送模块层编解码模块、接收及校验模块分。
发送模块和接收模块主要提供图3 CRC8编码的串行实现图4 GMII的传输格式图5 MAC控制器中的状态转移图3 电路实现与仿真3.1 MAC发送端-数据成帧号,与主机接口从外部存储单元获取的发送数据按照标准协议进行封装,空闲时发送给PHY 层转换发送到网络中去在物理层部分BASE-X PCS/PMA IP CORE 核支持内部或外部链接。
IP 核内的主要组成部分为为物理层的媒介层,图6 接收端数据提取时序图图7 电路的仿真波形图信号I/O 描述TX_ER O 发送器错误信号TX_EN O 发送器使能信号GTX_CLK O 吉比特发送信号的时钟(125 M )TXD O 被发送的数据RX_ER I 接收数据出错指示RX_DV I 接收数据有效指示RXD I 接收数据RX_CLK I 接收时钟信号CRS I 载体感应,仅用于半双工COL I 冲突检测,仅用于半双工表1 CMII接口信号描述[2]王春华.Xilinx可编程逻辑器件设计与开发(基础篇).[M]北京:人民邮电出版社,2011.[5]王长清.基于FPGA的千兆以太网通信板卡的设计与实现[D].河南:河南师范学报,2011.[1]Jeff Watson,Gustavo Castro.高温电子设备对设计和可靠性带来挑战[J].模拟对话,2012,4.[2]Jeff Watson,Maithil Pachchigar.面向高温应用的低功耗数据采集解决方案[J].模拟对话,2015,8.[3]CN-0365:面向高温环境的16位、600 kSPS、低功耗数据采集系统,ADI公司,2015,6.[4]Alan Walsh.面向精密SAR模数转换器的前端放大器和RC滤波器设计[J]模拟对话,2012,12.[5]John L. Evans,James R.Thompson,Mark Christopher,etc.不断变化的汽车环境:高温电子设备。
《面向ZYNQ嵌入式平台的EtherCAT通信协议栈设计与实现》
《面向ZYNQ嵌入式平台的EtherCAT通信协议栈设计与实现》一、引言随着工业自动化和智能制造的快速发展,EtherCAT (Ethernet for Control Automation Technology)通信协议以其高速、实时、高效率的特性,在嵌入式系统领域得到了广泛应用。
ZYNQ嵌入式平台作为一款高性能、低功耗的SoC(System on a Chip)芯片,为EtherCAT通信协议的实现提供了理想的硬件基础。
本文将详细介绍面向ZYNQ嵌入式平台的EtherCAT通信协议栈的设计与实现。
二、EtherCAT通信协议概述EtherCAT是一种基于以太网的实时通信协议,主要用于工业自动化控制领域。
它通过优化数据传输和同步机制,实现了高速、实时、高效率的通信。
EtherCAT协议栈包括物理层、数据链路层、网络层和应用层等多个层次,其中物理层和数据链路层由硬件实现,应用层则由软件实现。
三、ZYNQ嵌入式平台简介ZYNQ嵌入式平台是一款基于Xilinx FPGA和ARM Cortex-A9处理器的SoC芯片,具有高性能、低功耗、可扩展等优点。
其硬件架构包括可编程逻辑(FPGA)和处理器系统(PS),为EtherCAT通信协议的实现提供了良好的硬件基础。
四、EtherCAT通信协议栈设计在ZYNQ嵌入式平台上实现EtherCAT通信协议栈,需要从硬件和软件两个方面进行设计。
1. 硬件设计:(1)选择合适的以太网控制器芯片,与ZYNQ嵌入式平台的处理器系统(PS)进行连接,实现物理层和数据链路层的通信。
(2)设计可编程逻辑(FPGA)电路,实现EtherCAT协议的编码和解码功能。
2. 软件设计:(1)设计应用层软件,实现EtherCAT协议的报文处理、数据传输和同步等功能。
(2)设计驱动程序,与硬件进行交互,实现数据的收发和通信功能的控制。
五、EtherCAT通信协议栈实现在实现EtherCAT通信协议栈时,需要遵循以下步骤:1. 配置以太网控制器芯片的参数,如IP地址、子网掩码等,建立与ZYNQ嵌入式平台的连接。
基于LPC2292的嵌入式以太网通信的设计与实现
基于 LPC29 的嵌入式以太网通信的设计与实现 22
Etm s nLP 2 2 h r e Co nc t o e d dS se Ba eo C2 9
于 晖 温 阳 东
Ke r s E ywo d : mb d e y t m E e t R 8 AS ARM e d d S se h t me TL 0 1 9
1 概述 随 着信息技术的飞速发展 ,特 别是互联 网的迅速 普及及 3 ( C 计算机、通讯 、消费电子 )合一的加速 ,
到统一 , 而且 易于和 Itre 实现无缝连接 。 nen t 通常 , 一 个嵌入式系统接 入Itr e, nen t 可选择一个提供TC / P P I
嵌入式系统技术的应用 日益广泛 。嵌 入式 系统具有 系 统内核小、专用性 强、系统精简 、高实时性 的操作 系 统软件等特点 , 使得其在工业过 程控制 、 交通管理 、 信 息家电及机器人 系统等研究生产领域 中得到广泛应用。 而在这些应用 中,为 了实现多个嵌入式微 处理器之 间 的信息交流 , 大多利用 C AN、 - 3 、 S 4 5 RS 2 2 R - 8 等总 线将 微处理器组 网,这 种网络的通信 距离比较有 限 , 有关 的通信协议也比较少 , 并且一般是孤立于Itre nen t 以外 的。嵌入式 系统接入 Itr e 以后 ,不仅实现 了 nen t
【 摘 要】 介绍一种具有较高性价比和发展前景的基于AR M微处理器的嵌人式以太网的设计方案。 首先介绍
A M内核的微处 理器 L C 22 R P 29 的功能和特点 , 接着分析了以太网控制 器芯 片R L 09 T 8 1的性能 , 给 出了以 A M为基础的嵌人式系统与 1M i s R 0 b / 常用以太网控制器 芯片R L 09 t T 8 1的硬件接 口电路 。 在软件设计上 , 首先介绍了 ̄ / s l c o — 实时操 作系统 , l 并在此基础上给出了软件系统框架以及接 收 和发送数据报的执 行过程 , 最终 实现 了嵌人式 以太 网的数据传输 。
以太网控制器设计方案
能耗问题
随着设备数量的增加,以太网控制器的能耗问题越 来越突出,需要采用更低功耗的技术和芯片来降低 能耗。
安全问题
以太网控制器面临网络安全威胁,需要加强 安全防护措施,如加密传输、防火墙等。
以太网控制器与其他技术的融合和创新 Nhomakorabea01
与无线技术的融合
以太网控制器可以与无线技术相 结合,实现无线以太网控制器的 设计,满足无线通信的需求。
数据分析
以太网控制器支持对物联网设备 产生的数据进行处理和分析,挖 掘数据价值。
应用创新
以太网控制器为物联网应用创新 提供技术支持,促进物联网技术 的普及和发展。
05
以太网控制器的未来发展趋势 和挑战
Chapter
以太网控制器的发展趋势
1 2 3
高速以太网控制器
随着网络技术的发展,以太网控制器的传输速率 也在不断提升,未来将朝着更高的传输速率发展 。
数据传输
以太网控制器提供高速数据传输能力,满足数据中心 对大量数据传输的需求。
高效能计算
以太网控制器支持数据中心内的高性能计算和云计算 服务。
节能环保
以太网控制器具备节能环保特性,有助于数据中心的 绿色可持续发展。
以太网控制器在物联网领域的应用
设备连接
以太网控制器作为物联网设备的 连接枢纽,实现设备间的数据交 换和通信。
集成以太网控制器
集成以太网控制器是集成在计算机主板上的以太网通信模块。这种类型的以太网控制器通常成本较低,易于安装和维 护,但可能性能相对较低。
虚拟以太网控制器
虚拟以太网控制器是一种软件实现的以太网控制器,可以在计算机的操作系统中运行。这种类型的以太 网控制器通常适用于虚拟化环境,可以在虚拟机中实现网络通信功能。
基于ARM的工业以太网控制器的设计与应用
( hni nvrt o T cnl y H nh n 20 3 C ia S ax U i sy f eho g , azog73 0 , h ) e i o n
Absr c : I r e o me tr a .i n g eib lt e uie e t n i d tilc n r l t a t n o d r t e e 1tme a d hih r la ii r q r m n s i n usra o to y s se s i p o e h p ro m a c fi d t a Et ene c n rle s s c m p lo y y tm , m r v s t e e r n e o n usr l h r t o tol r i o u s r . f i C/
能 . I / S—I 为嵌 入 式 操 作 系统 , 用 A M 以x O C I 采 R 7处 理 器作 为 嵌 入 式 T P I 议 实 现 的核 心 , 出 C /P协 提
了基 于 A M 的 工 业 以 太 网 控 制 器 的 设 计 方 法. 出 了 工 业 以 太 网 控 制 器 的 硬 件 结 构 , 成 了 R 给 完
OS I sa ta n e —Ii c s a mbe d d o r tn y t m ,ARM 7 p o e s r i e s t o e o m— d e pea i g s se r c s o sus d a he c r fe
bd e e d d TCP / I r tc li l me tto P p o o o mp e na in,b i g b s d o en a e n ARM r c s o ,i d sra h r p o e s r n u t lEt e — i n tc n rle e i n meh d i r p s d e o tolr d sg t o s p o o e .Th a d r tu t r fI d sra h r tc n e h r wa e sr c u e o n u tilEt ene o — tolr i ie r le s g v n,a d h h r wa e e in f Et e n t n e a e ewe n n t e a d r d sg o h r e i tr c b t e RAT8 9 a d f 01 AS n L PC2 0 i o lt d,a d al e e e CP / I r tc l sa k i l me t t n i p o 21 s c mp ee n l mb dd d T P p o o o t c mp e n ai s r — o p s d. I d sra Et e e f m a e e e au e o to s se oe n u til h r t u c t mp r t r c n r l y tm ba e o e s ARM2 0 u sd n ay 20
一种基于FPGA_的万兆以太网MAC_层设计与实现
第18期2023年9月无线互联科技Wireless Internet TechnologyNo.18September,2023作者简介:安超群(1986 ),女,湖北襄阳人,工程师,硕士;研究方向:模拟电路设计,集成电路设计,数字信号处理,可靠性设计等㊂一种基于FPGA 的万兆以太网MAC 层设计与实现安超群1,李㊀飞2(1.广东机电职业技术学院,广东广州510515;2.广州海格通信集团股份有限公司,广东广州510663)摘要:针对基于软件设计的万兆以太网MAC 层无法满足高速数据实时传输的发展要求,文章提出了一种基于FPGA 硬件平台的万兆以太网MAC 层协议的设计与实现方案㊂该设计方案主要利用FPGA 的并行处理能力,通过Verilog 硬件描述语言完成万兆以太网MAC 层数据实时处理的硬件设计,实现大带宽㊁低延时和高可靠性的万兆以太网MAC 层的数据收发功能㊂试验验证表明:该设计方案实现了万兆以太网高速率的数据传输,具有低延时㊁高性能㊁高可靠性与简易性等优点㊂关键词:万兆以太网;MAC 控制器;并行CRC 校验;并行数据处理中图分类号:TP311㊀㊀文献标志码:A0㊀引言㊀㊀以太网(Ethernet)是一种计算机局域网技术㊂IEEE 制定的IEEE Std 802.3协议,规定了包括MAC层的协议内容㊁电信号以及物理层的连线㊂从1983年第一次发布IEEE Std 802.3协议至今,以太网经过了40年的发展,传输速率从10Mbps㊁100Mbps 提升到1000Mbps,目前已经达到了10Gbps [1]㊂万兆以太网是也称10G 以太网(10Gigabit Ethernet),是在IEEE802.3ae 协议中提出的以太网标准,该标准规范中规定使用光纤传输㊁传输带宽高达10Gbps㊁传输距离最远能达到40km[2],经过不断的升级与扩充,万兆以太网以其速率高㊁兼容性好㊁稳定性强的优点逐渐成为以太网的核心设备[3],服务于工业自动化㊁5G 网络传输和智慧城市建设等行业㊂大多数系统设计中,10Mbps㊁100Mbps 和1000Mbps 以太网协议除了物理层以外的协议层均以软件的方式实现,甚至10Gbps 以太网协议使用高性能CUP 或服务器实现㊂基于串行处理的软件架构难以并行处理以太网协议中的各种事务,同时CPU 还要优先响应中断事务,随着技术的发展,CPU 的处理频率已经大幅提高,同时可以用多核CPU 来处理多任务㊂但是,以太网速度的提升远大于CPU 处理性能的提升,使得CPU 能够用来处理单个网络数据包的时间减少㊂如果CPU 不能及时处理网络数据包,那必然会影响网络传输的延时和吞吐量[4]㊂因此,基于软件控制实现的10Gbps 以太网协议数据传输效率较低,难以满足大带宽㊁低延时和高可靠性的数据传输㊂根据高速数据传输的处理要求,结合以太网的传输协议,引入一种并行的以太网协议处理方式是解决大带宽㊁高速率数据处理需求和软件计算能力有限之间矛盾的有效方法㊂1㊀万兆以太网通信协议架构1.1㊀万兆以太网各协议层的组成㊀㊀基于IEEE Std 802.3标准的万兆以太网协议架构如图1所示,其架构主要包括:应用层(Application )㊁表示层(Presentation )㊁会话层(Session)㊁传输层(Transport)㊁网络层(Network)㊁数据链路层(Data_link)和物理层(Physical)㊂其中,数据链路层提供物理地址寻址,让成帧的数据按一定规则沿链路从一个节点传到另一个节点,负责发送一个分段内的数据,常见的链路层产品就是网卡㊁网桥等[5];物理层主要规范了数据传输的媒介㊁物理连接及光电特性能内容,保证光电信号的可靠传输㊂1.2㊀万兆以太网MAC 层特性㊀㊀万兆以太网协议标准中规定,整个数据通信过程系统的物理层(Physical)通信速率必须具备10Gbps 带宽的数据传输能力㊂根据协议规定,数据在物理层的传输速率是比较固定的,除了受到器件的物理特性的影响外,设计者在这一层级的优化设计没有太大的空间㊂应用层(Application)㊁表示层(Presentation)和会话层(Session)的使用主要涉及具体的业务,这些层级功能主要靠软件实现㊂在协议中传输层(Transport)㊁网络层(Network)和数据链路层(Data _link)事务定义明确,因此具有一定的提速空间㊂本文图1㊀IEEE Std802.3标准协议的以太网架构主要重点优化设计数据链路层的数据处理速率㊂由图1可知,数据链路层的数据处理过程主要是将用户数据进行MAC层协议的封装,MAC层协议的封装主要涉及传输控制协议(TCP)和用户数据报协议(UDP)㊂TCP的传输速度慢,效率低,确认机制㊁重传机制㊁拥塞控制等都会占用大量的时间[6]㊂UDP 协议具备传输速率块㊁效率高等优点,如果能够研究出有效可靠的数据处理流程保证UDP协议数据传输的可靠性,使用UDP协议传输数据将大大提高数据传输系统的数据处理速率㊂2㊀基于FPGA的万兆以太网高效率MAC层设计与实现2.1㊀高效率低延时万兆以太网MAC架构设计㊀㊀根据前面分析,应用FPGA的并行处理能力实现万兆以太网高效率的数据链路层,并对其可靠性进行验证,可实现高效率的UDP协议数据传输㊂基于FPGA的万兆以太网MAC层架构如图2所示㊂用户逻辑使用AXI4协议进行数据交互,MAC层模块内使用异步FIFO对数据进行跨时钟域处理,通过参数配置模块对MAC层模块进行本地MAC地址㊁本地IP 地址㊁ARP控制参数和端口号等参数配置㊂在发送通路中,MAC协议封装模块将异步FIFO输出的数据按UDP协议添加UDP包头㊁IP包头和MAC帧头,将数据封装成MAC帧,再将数据传输至FCS生成模块生成CRC校验数据,最后将数据送至XGMII接口处理模块进行处理发送㊂在MAC协议封装模块中,要同时响应用户数据和ARP报文数据,其中ARP报文优先级最高㊂在接收通路中,在接收前端先将XGMII 结构数据转换成MAC帧,将MAC帧数据送至FCS校验模块进行CRC校验,数据校验正确后再将数据送至MAC协议解析模块进行处理,解析完成后按照接收的数据类型将数据传至异步FIFO或者将信息传至ARP报文处理模块进行ARP应答㊂2.2㊀MAC层事务数据并行处理算法㊀㊀根据图2分析,MAC层数据处理算法流收发模块相互独立,处于全双工工作状态㊂同时,FCS模块中CRC校验和计算根据数据长度不同,分别设计了并行处理的64bit㊁56bit㊁48bit㊁40bit㊁32bit㊁24bit㊁16bit和8bitCRC校验子模块,最多只需要1个时钟周期就能完成64bit数据的校验和帧尾不同长度字节数据的验证,在一帧数据传输结束标准产生时能同步无延时地输出校验结构,很大程度提高了数据传输效率㊂在系统初始阶段,MAC层模块根据系统配置的参数向目标主机发送ARP报文请求,等待系统返回ARP帧获取主机MAC地址㊂在MAC层模块设计中,可通过参数配置设定ARP报文请求次数,等待报文超时时间等参数,目标主机发送ARP报文请求时, MAC层模块将优先回复ARP报文㊂在整个MAC层模块中,UDP协议的封装和解析, IP层协议的封装和解析,MAC层的协议的封装和解图2㊀基于FPGA 的万兆以太网MAC 层系统析大都直接调用系统预先配置的参数封装和完成解析,这样处理大大提高了数据的处理效率㊂IP 校验和计算和校验结果均能实时地计算完成,ARP 报文处理㊁ICMP 报文处理和数据帧处理均能实时地响应,降低了数据传输延时,提高了系统性能㊂3㊀系统实现及试验验证㊀㊀根据前面分析的系统架构和算法设计,万兆以太网MAC 层FPGA 实现的RTL 原理如图3所示,整个系统设计运用自顶向下的设计思想㊂发送通道主要由u_xge_mac_fcs_add㊁u_xge_mac_tx_pre 和u_mac_user_tx 3个主模块组成,3个主模块内均有是实现算法设计功能要求的相应的子模块㊂接收通道主要由u_xge_mac _fcs_rmv㊁u _xge _mac _rx _pre 和u _mac _user_rx 3个主模块组成㊂与发送通道相同,3个主模块内均有满足算法设计功能要求的相应的子模块㊂图3㊀FPGA 实现的RTL 原理㊀㊀针对整个万兆以太网系统,设计测试模块进行数据回环测试,测试系统由数据产生模块㊁数据校验统计模块和debug 参数管理控制模块组成㊂按照搭建的测试平台,利用FPGA 内部的ILA 在线逻辑分析仪对系统测试分析,测试系统RTL 如图4所示㊂整个系统对相同的一帧数据进行了10000次的回环测试,错误统计结果为0,由此验证了整个UDP 协议的MAC 层数据传输的可靠性,帧头处理延时为91个时钟周期,除去帧头延时数据发送延时为2个时钟周期㊂根据试验结果,应用该方法设计的万兆以太网MAC 层数据传输效率显著提高㊂4㊀结语㊀㊀本文介绍了一种基于FPGA 硬件平台的万兆以太网MAC 协议的详细设计与实现方案,利用此平台完成了万兆以太网MAC 层数据的收发仿真与实物测试㊂该万兆以太网测试平台主要由光电转换模块㊁光纤和FPGA 芯片及外围电路组成硬件框架,利用此硬件架构,通过数据回环测试实现了大带宽㊁低延时和高可靠性的万兆以太网MAC 层的数据收发功能㊂试验验证表明,该设计方案完成了整个通信流程的数据㊀㊀图4测试模块RTL原理㊀收发,实现了万兆以太网UDP协议数据收发功能,除去协议开销,用户数据传输速率高达8.546Gbps,具有高性能㊁高可靠性与简易性等优点㊂该方案设计在有高速率㊁大带宽且具有一定定制化要求的高速万兆以太网协议通信设计应用中具有重要参考意义㊂参考文献[1]敖志刚.万兆以太网及其实用技术[M].北京:电子工业出版社,2007.[2]曹政,李磊,陈明宇.万兆以太网MAC控制器设计与实现[J].小型微型计算机系统,2007(6):5. [3]赵柏山,王禹衡,刘佳琪.用于视频传输的10G网络接口设计[J].微处理机,2018(3):28-32. [4]张佳怡.基于10G光通信网络加速系统的设计与实现[D].南京:南京理工大学,2020.[5]王禹衡.基于FPGA的10G以太网UDP/IP处理器视频传输接口设计[D].沈阳:沈阳工业大学,2018.(编辑㊀王永超)Design and implementation of a10Gigabit Ethernet MAC layer based on FPGAAn Chaoqun1Li Fei21.Guangdong Vocational College of Mechanical and Electrical Technology Guangzhou510515 China2.Guangzhou Haige Communications Industry Group Co. Ltd. Guangzhou510663 ChinaAbstract In response to the software based design of the10Gigabit Ethernet MAC layer being unable to meet the development requirements of high-speed real-time data transmission a design and implementation scheme of the10 Gigabit Ethernet MAC layer protocol based on FPGA hardware platform is proposed.This design scheme mainly uses the parallel processing ability of FPGA to complete the hardware design of real-time data processing of10Gigabit Ethernet MAC layer through Verilog hardware description language and realize the data receiving and transmitting function of10Gigabit Ethernet MAC layer with large bandwidth low delay and high reliability.Experimental verification shows that this design scheme achieves high-speed data transmission over10Gigabit Ethernet excluding protocol overhead.It has the advantages of high performance high reliability and simplicity.Key words 10Gigabit Ethernet MAC controller parallel CRC verification parallel data processing。
以太网控制芯片讲解及应用
以太网控制芯片讲解及应用通常采用的计算机网络体系结构是一个5层结构的模型,分别是物理层(PHY)、数据链路层(MAC)、网络层(IP)、传输层(Transport)以及应用层(Application)。
传统的以太网控制器将PHY和MAC整合到同一个芯片中,然后通过软件方式实现IP层及以上协议。
例如,ENC28J60就是一款内置物理层(PHY)及数据链路层(MAC)的以太网控制芯片,要实现单片机与网络的互联必须使用软件实现TCP/IP协议栈。
对于芯片厂商来说,必须提供基本的通信协议,如TCP、UDP等的软件代码;对于用户来说,则必须掌握一定的以太网技术及各种协议的知识,需要花费较多的学习时间才能掌握。
一个完整系统的实现一般需要耗费很多时间。
尤其对于低端的8位单片机来说,TCP/IP协议栈的软件实现方法会给MCU带来过重的负载,有可能无法完成数据通信功能。
韩国WIZnet公司生产的以太网控制芯片W5200整合了5层结构中的前4层,即物理层、数据链路层、网络层和传输层,并在内部利用硬件实现了TCP/IP协议栈。
开发者无需专业的网络知识,使用W5200如同控制外部存储器一样简单,为用户提供了最简单的网络接入方法。
全硬件TCP/IP 协议栈完全独立于主控芯片,可以降低主芯片负载且无需移植繁琐的TCP/IP协议栈,便于产品实现网络化更新。
W5200特点以太网控制芯片W5200具有以下特点:⑴W5200支持硬件TCP/IP协议,包括TCP、UDP、ICMP、IPv4、ARP、IGMP、PPPoE和以太网的PHY和MAC层,TCP/IP协议的硬件实现,使得应用协议的实现更简单容易。
⑵支持8个独立的SOCKET同时工作,可同时工作在不同的工作模式。
⑶支持低功耗模式,并支持网络唤醒,最大程度地减少功率消耗和发热。
⑷支持高速SPI接口(SPI MODE 0,3),SPI的时钟最高可达到80MHz,极大地提高了网络通信的护具传输速率。
基于BroadCom芯片的千兆以太网交换机设计与实现
基于BroadCom芯片的千兆以太网交换机设计与实现封安,窦爱萍,原晨,隽鹏辉(中国航空工业集团公司西安航空计算技术研究所,陕西西安710068)摘要:为了满足一种无人机通信导航识别系统中各个单元之间的低成本通信,以及调试与升级,设计了基于BroadCom 芯片的千兆以太网交换机,重点阐述了交换机的硬件电路设计、布局布线设计以及软件开发流程。
通过测试和系统联试验证,交换机运行稳定可靠,该设计方案可满足系统需求。
关键词:BroadCom;SPI;千兆以太网;SGMII中图分类号:TP393.11文献标识码:A文章编号:1673-1131(2019)01-0122-020引言一种无人机通信导航识别系统由多个硬件单元组成,为了便于对各个硬件单元之间的低成本通信、以及各个单元的调试与升级,通信导航识别系统设计了一个千兆以太网交换与处理模块,以便完成各个单元间的数据交换、处理功能。
并对外提供两路千兆以太网接口,用来系统内模块的调试以及软件与FPGA逻辑的在线升级。
设计了以太网交换机与处理模块,以PowerPC处理器为核心处理器,使用博通公司的BroadCom芯片为千兆以太网交换机,通过SGMII接口连接千兆以太网PHY芯片,变压器使用PULSE公司的变压器实现。
1千兆以太网交换机的设计背景随着以太网技术的不断发展,传统标准的以太网技术已经难满足日益增长的网络数据流量需求,千兆以太网作为传统标准以太网的发展,在低成本、高带宽的应用中得到了广泛的使用。
千兆以太网是对快速以太网(100Mb/s)标准的一个扩展,可以提供1000Mb/s的原始数据带宽,同时和快速以太网保持完全兼容,这为千兆以太网在技术还是实际应用中都提供了广泛的发展前景[1]。
一种无人机通信导航识别系统内部需要完成各个硬件单元之间的低成本通信、以及各个单元的调试与升级,需要设计一个以太网交换模块来完成上述任务。
2系统总体方案及原理基于BroadCom芯片的千兆以太网交换机原理框图如图1所示。
基于W5300的DSP工业以太网数据传输设计
基于W5300的DSP工业以太网数据传输设计随着工业自动化的快速发展,以太网在工业领域的应用越来越广泛。
W5300是一款集成了TCP/IP协议的以太网控制器芯片,可广泛用于工业以太网数据传输应用中。
本文将针对DSP的工业以太网数据传输设计进行详细的分析和讨论。
在工业领域中,DSP通常用于实时控制和数据处理。
为了实现DSP与其他设备之间的数据传输,可以使用W5300芯片来实现以太网通信。
下面是基于W5300的DSP工业以太网数据传输设计的步骤:步骤一:硬件设计首先,需要根据具体的需求设计硬件电路。
W5300芯片需要与DSP进行通信,所以需要将W5300芯片与DSP连接。
通常,可以使用外围设备连接W5300芯片和DSP。
此外,还需要设计相应的电源和信号线路来确保系统正常工作。
步骤二:软件开发一旦硬件电路完成,就可以开始软件开发了。
首先,需要编写W5300芯片的驱动程序,以确保DSP能够与W5300芯片进行通信。
驱动程序通常包括初始化W5300芯片、配置网络参数、建立TCP连接等操作。
接下来,需要编写DSP的数据处理程序。
这个程序可以根据具体的应用需求进行设计。
例如,如果需要实现实时数据采集和处理,可以编写相应的数据采集和处理算法。
如果需要实现数据的存储和传输,可以编写相应的数据存储和传输模块。
步骤三:系统测试完成软件开发后,可以进行系统测试。
测试可以分为两个部分:硬件测试和软件测试。
硬件测试主要是检查硬件电路的连接和工作状态是否正常。
软件测试主要是验证软件的功能和性能是否符合需求。
在测试阶段,可以使用模拟器或者实际的设备进行测试。
通过模拟器可以模拟出各种情况,验证系统在不同情况下的稳定性和可靠性。
通过实际设备测试,可以验证系统在实际环境中的性能和可靠性。
总结:基于W5300的DSP工业以太网数据传输设计需要完成硬件设计、软件开发和系统测试三个步骤。
通过合理的设计和开发,可以实现DSP与其他设备之间的数据传输。
基于FPGA的高速以太网接口设计和实现共3篇
基于FPGA的高速以太网接口设计和实现共3篇基于FPGA的高速以太网接口设计和实现1以太网是广泛使用的局域网(LAN)标准,其速度和带宽都非常高,不断发展和改进以满足用户需求。
在现代数据中心和云计算环境中,以太网已变得更加重要,因为它可以提供高速、低延迟和灵活性,使得多个系统之间的通信更加容易和高效。
为了满足这些需求,FPGA成为了一种重要的硬件平台,通过实现高速以太网接口,提供灵活的网络连接。
FPGA是一种可编程的硬件平台,集成了大量的可编程逻辑单元和DSP 资源,可以快速实现各种电路和系统。
基于FPGA的高速以太网接口设计具有以下优点:1. 速度高:基于FPGA的以太网接口可以支持高达40Gbps的数据传输速度,远远快于传统的以太网接口。
2. 低延迟:FPGA内部的可编程逻辑单元可以实现更快的数据处理,并且可以在硬件层面提供更快的响应时间,从而降低网络延迟。
3. 灵活性:FPGA具有可编程性和可重构性,可以根据需要进行实时调整和修改。
此外,FPGA可以通过工具链进行设计和优化,可适应各种硬件需求。
基于FPGA的高速以太网接口设计和实现需要经过以下步骤:1. 设计FPGA电路:使用Verilog或VHDL等硬件描述语言实现电路设计和仿真。
2. 选取以太网MAC:选择适合特定应用场景的以太网MAC,例如10G、25G、40G等。
3. 实现FPGA电路:在FPGA开发板中实现电路设计,FPGA的GPIO口可以与物理层器件、MAC等进行连接,形成完整的以太网接口。
4. 调试和测试:通过网络测试,验证以太网接口的工作状态和性能指标是否达标。
FPGA的以太网接口可以应用于许多领域,例如数据中心、高性能计算、视频监控等,提供高速、可靠的连接。
随着云计算和物联网的迅猛发展,基于FPGA的高速以太网接口设计将变得越来越重要,这将在未来的发展中起到至关重要的作用。
基于FPGA的高速以太网接口设计和实现2以太网是一种最常见的局域网(LAN)技术,它通过使用协议和设备实现计算机和其他设备之间的数据通信。
基于PCI-Express的千兆以太网控制芯片的设计
千 兆 以太 网接 口 , 幅 度降低 了功耗 , 实现 了更 好 大 并
收 稿 日期 :2o 0 —0 o 7— 1 4 作 者 简 介 : 黄芳 (98一) 女 , 海 交 通 大 学 电 子 工 程 系 硕 士 研 究 17 , 上 生 , 要 研 究 方 向 为电 子 与通 信 。 主
HUANG a g. RONG n .i n Fn Me g ta
( l t ncE g er D pm nn ,h n h J oogUnvri ,S ag 20 3 , h  ̄ Ee r i n i e ̄ ea e tS a g ̄ ' tn i s y h n ̄ 00 0 C i ) co n m e t n
・---— —
1 P —E pe s, 线 CI x rs " C A
P I x pes 最 新 的 总 线 和 接 口标 准 , 原 C —E r 是 s 它
的数据传输通道。不用再 向整个系统请求带宽, 这
样 也就 轻松 地 达到 了其 他接 口设 备 可望 而不 可及 的
高带宽。
2 总体 技 术 方 案
2 1 技 术简 介 .
于视频信号的实时采集 、 传输和存储 , 为信号的实时 处理 提供 了更 多 的可 能 。
方案采用数字信 号处理 ( S ) D P 技术 和精确的模 拟收发前端技术 , 将数字信号转换成模拟信号发送 到 以太网线缆 , 通过以太网线缆传输至另一用户端 , 然后将 已严重畸变的模拟信号再转换成数字信号并 恢 复 出正确 的传 输数 据 。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
以太网控制器芯片的设计及实现
网络控制器芯片的功能与设计实现
IEEE 802.3协议是针对以太网CSMA/CD标准的传输介质物理层(PHY)和介质访问控制协议(MAC、Media Access Control)来定义的。
芯片由PHY、发送模块、接收模块、FIFO、控制模块组成,其中控制模块包括寄存器堆、DMA (Direct Memory Access)模块、流量控制模块、接收缓冲区和发送缓冲区组成。
网络控制器芯片的功能框图如图1所示。
图1 以太网控制器芯片的功能框图
1 IEEE 802.3以太网MAC数据帧结构
在发送数据时,发送模块自动在待传数据前加上7字节的前导码和1字节的帧起始定界符,紧随的是6字节的目的地址和6字节的源地址,然后长度/类型为2字节,接着是数据区,然后是46~1500字节的数据。
若发送时,数据长度小于最短长度46字节,发送模块自动填补,以达到最小长度,最后是4个字节的循环冗余校验码。
2 发送模块
发送模块的作用就是按照CSMA/CD协议发送数据包。
发送模块状态机控制协调各个发送子模块的时序,发送模块状态机如图2所示。
图2 发送模块状态转换图
S_defer状态表示网络忙,若网络空闲了,经过最小的帧间隙时间,进入网络空闲状态S_idle。
若需要发送数据包,经过S_pre,S_data,S_pad,S_crc等状态发送,在这当中若检测到冲突信号,就进入S_jam状态。
在S_jam状态判断是local collision还是late collision,若是local collision就进入
S_back状态,按照退避算法重发当前数据帧,否则直接进入网络忙状态,放弃该帧的发送。
3 接收模块
接收模块的任务就是接收数据帧。
物理接口收发器PHY将收到的网络数据变成二进制数据送给接收模块,接收模块再把正确的数据经过接收FIFO和DMA的控制送给接收缓冲区。
接收模块的功能还包括移除接收到帧的前导码/帧分隔符;比较目的地址,判断是否丢弃当前数据帧;对接收到的数据包做CRC校验,判断传输过程中数据是否出错。
接收模块状态机是接收模块的核心,控制协调接收模块的各个子模块的工作与时序。
接收模块状态机如图3所示。
图3 接收模块状态转换图
复位后,状态机进入S_idle状态,若数据是无效的,就停留在S_idle状态,否则进入S_pre状态。
S_pre状态和S_sdf状态的作用就是去掉前导码和帧间隔符。
当帧间隔符全部检测到,进入S_data状态,在S_data状态使用字节计数器,记录所收到数据的字节个数,用于比较目的地址。
若目的地址匹配则将接收到的数据写入到接收FIFO,否则丢弃该帧,不写入到FIFO。
字节计数器的作用还有判断接收到的数据包是否超过帧的最大长度。
若在S_pre状态、S_sdf 状态或S_data状态出现数据有效信号无效的情况,都进入到S_drop状态。
图4 核心模块的功能仿真
4 控制模块
控制模块包含DMA(direct memory access)模块、流量控制模块、缓冲区模块、寄存器堆模块和总线接口模块。
DMA模块的功能是将接收FIFO的数据搬运到接收缓冲区,以及发送缓冲区的数据搬运到发送FIFO。
流量控制模块端口阻塞的情况下丢帧,这种方法是当接收缓冲区开始溢出时,通过将阻塞信号发送回源地址实现的。
流量控制可以有效地防止由于网络中瞬间的大量数据对网络带来的冲击,保证用户网络高效而稳定地运行。
两种控制流量的方式:(1)在半双工方式下,流量控制是通过反向压力(backpressure),即我们通常说的背压计数实现的,这种计数是通过向发送源发送jamming信号使得信息源降低发送速度。
(2)在全双工方式下,流量控制一般遵循IEEE 802.3X标准,是由交换机向信息源发送“pause”帧令其暂停发送。
缓冲区模块由一块32KB的SRAM组成,分为接收缓冲区和发送缓冲区,接收缓冲区和发送缓冲区的大小可以由用户编程决定。
缓冲区以分页的方式来管理,256B为一页。
主机通过总线接口与芯片交换数据,通过读写寄存器堆来控制芯片的工作。
设计验证
本文给出核心功能的验证过程。
把这些核心功能模块连接成一个环路(发送模块直接与接收模块相连接),发送模块按照802.3协议发出数据包,接收模块按照802.3协议处理这些数据包,符合要求的数据包送到(接收缓冲区),这些模块在Mentor公司的ModelsimSe5.8里面功能仿真波形如图5所示。
图5 芯片的实现流程
图中,clk为系统时钟;rst为复位信号;tx_req为发送FIFO请求信号,让DMA从发送缓冲区搬运数据到发送FIFO;tx_fifo_data_out是从发送FIFO里面出来的8数据,发送模块封装这些数据,发送给PHY;这里没有对PHY进行验证,把发送模块发出的数据TXD和数据使能TXEN直接与接收模块数据端和数据有效信号分别相连接;接收模块把TXD进行串并转换,得到8为rx_data;byte_cnt为接收到rx_data的个数。
功能仿真通过之后,把核心模块连接成一个整体(SRAM直接调用Quartus II 的IP Core),通过Quartus II综合以后,下载到FPGA开发板里面。
用FPGA 模拟网络控制器芯片,与计算机进行通信。
FPGA与PC通过RJ-45相连。
应用软件发一数据包给FPGA,接收模块接收到数据包后,通过DMA将数据从FIFO 搬运到接收缓冲区。
一包数据接收完成后,通过附加逻辑,让FPGA发送出刚刚接收到的数据包,附加逻辑还完成了把接收到的数据按位取反的功能。
应用软件显示PC收到的数据包,通过比较PC发给FPGA的数据包和FPGA发送给PC的数据包,验证了核心模块的功能正确(FPGA的附加逻辑将接收到的数据包进行了按位取反操作)。
芯片实现
设计验证通过以后,经过图5所示的流程,得到整个芯片的版图。
本次流片采用华虹NEC 0.35μm CMOS工艺,芯片面积为5640μm×5480μm (不计划片槽和缓冲区),芯片有100个管脚。
芯片的右上部分是实现MAC层的数字区,左下区域是华虹NEC提供的IP Core--32KB的SRAM,用作缓冲区,右下区域完成PHY功能,周围是管脚。