Xilinx 千兆以太网TEMAC IP核 MDIO 配置及物理接口

基于AXI4-Lite接口可以访问MDIO(Management Data Input/Output)接口,而MDIO接口连接MAC外部的PHY芯片,用户可通过AXI4-Lite接口实现对PHY芯片的配置。

1 MDIO接口简介

开放系统互连模型OSI的最低两层分别是数据链路层和物理层,数据链路层的主要功能包括数据帧的构建、数据差错检查、发送控制和向网络层提供标准的数据接口等;物理层定义了数据发送与接收所需要的电与光信号、线路状态、时钟基准、数据编码和电路等,支持向数据链路层设备提供标准接口。以太网的PHY(物理层)提供传输介质并与MAC层进行连接,将数据转换为光或电信号,而MAC需要配置PHY器件寄存器信息,以保证PHY器件按照使用需求收发数据。

MAC对PHY器件工作状态的确定和对PHY器件的控制是使用MDIO接口读/写 PHY器件的寄存器来完成的。PHY器件的寄存器的地址空间为5位,地址从0到31最多可以定义32个寄存器。IEEE802.3定义了地址为0~15这16个寄存器的功能,地址为16~31的寄存器留给芯片制造商自由定义。PHY器件的状态反映在寄存器内,MAC通过MDIO总线不断读取PHY器件的状态寄存器以得知PHY器件当前的状态,如连接速度、双工能力等。

MAC对PHY器件设定的控制管理内容包括:工作速率,10/100/1000Mbps固定速率或自动协商速率;传输介质,光纤或铜线连接物理层设备;工作模式,光纤连接的TBI模式,铜线连接的MII、GMII等模式。MDIO接口正是用于传输MAC对PHY器件控制管理信息的模块,其应用环境如图1所示。

479e9d8c6ab546a58fe972e7f5944e8a.png

图1 MDIO接口的应用环境

2 MDIO接口信号定义

MDIO接口的应用协议由IEEE802.3标准定义,接口信号包括管理数据时钟(MDC)和MDIO管理数据。

(1)管理数据时钟(MDC)

MDC由MAC驱动,作为MDIO信号线上的时序参考输出到PHY器件。协议定义了MDC的最高工作频率不超过2.5MHz。

(2)MDIO 管理数据

MDIO管理数据是MAC与PHY器件之间的双向串行数据,它被用于传输两者间的状态信息和控制信息。其中,控制信息由MAC产生并与MDC同步,以供PHY器件采样;状态信息由PHY器件驱动,以供MAC读取。

(3)数据帧定义

MDIO接口上的信息是以数据帧的形式进行传输的,MDIO接口数据帧格式如表1所示。

表1 MDIO 接口数据帧格式

2a0f1353b67a4d4faa802d304d0a5e9b.png

● PRE 为帧同步码,MAC向PHY器件发送32个连续的“1”用于器件的同步通信(需要注意的是,该域不是必需的,部分PHY器件的MDIO操作没有PRE)。

● ST 为帧开始标志,MAC输出“01”通知PHY器件帧传输开始。

● OP为帧操作码,“01”表示该帧为1次写操作请求,“10”表示该帧为1次读操作请求。

● PHYAD为PHY器件地址,5bit宽,即一个MDIO总线最多可以外加32(25)个PHY器件。每个PHY器件都把自己的地址与PHYAD进行比较,若匹配则响应后续操作,若不匹配则忽略后续操作。

● REGAD为PHY器件寄存器地址,5bit宽,用于选择PHY器件内部的32个寄存器中的某一个寄存器的地址。

● TA 为状态转换域,2比特。读操作时,第1比特由MDIO模块送出的高阻态来进行设置,第2比特由PHY芯片置为“0”,即“Z0”。写操作时,MDIO信号由MDIO模块控制,输出“10”。

● DATA 为帧寄存器数据域,16比特。读操作时为PHY器件送到MDIO模块的串行数据,写操作时为MDIO模块送到PHY器件的串行数据。

● IDLE为帧结束后的空闲状态,此时是高阻态。由于主从双方共享双向总线,所以一方在控制帧发送完成以后,需迅速将信号置于高阻态,便于其他方占用。

3 TEMAC核中的MDIO控制

TEMAC核的MDIO总线系统为主从结构,如图2所示。TEMAC核作为主机, PHY器件作为从设备,主机通过MDIO总线发出修改寄存器配置和访问状态寄存器的请求,从设备必须对主机的请求做出响应。

a9cf365e44cb47cdb2281ea9c9da0f10.png

图2 MDIO总线系统示例

(1)MDIO 接口的读/写时序

读/写过程由MDIO管理数据帧实现,且由工作在主模式的MDIO初始化,所有工作在从模式的MDIO只要被选中就必须做出应答。MDIO详细说明请参考IEEE802.3标准。如图3所示为MDIO写时序,是MAC核驱动MDIO的过程,操作码OP为“01”,通过匹配PHYAD选中PHY器件,并将16比特的数据域(WRITE DATA)写入PHY器件中匹配REGAD的寄存器。MDIO读时序如图4所示,分为MAC驱动MDIO和PHY驱动MDIO两个阶段,操作码OP为“10”,PHYAD匹配的PHY器件将被REGAD选中的寄存器信息返回给 MDIO模块。

cb5ba9b5e19e46d0b3b5d38806344919.png

图3 MDIO时序

582cef54e92c4a758e1135c9aa1f0a8d.png

图4 MDIO读时序

(2)基于 MDIO 的PHY配置与控制

通过管理接口访问MDIO接口是寄存器映射过程,进而实现对PHY寄存器的配置。 MDIO配置寄存器地址如表2所示,各寄存器的比特位详细定义请参考UG800。

表2 MDIO配置寄存器地址

89e44e39145b490894ebfa754cdde914.png

通过AXI4-Lite接口实现1次MDIO写操作:首先将要写入的数据置于MDIO写数据寄存器(WRITEDATA)中,写操作初始化由AXI4-Lite接口设定MDIO配置字1(MDIO Configuration Word1)寄存器实现,OP置为“01”,将要访问的PHY器件地址及其寄存器地址分别写入PHYAD和REGAD。MDIO配置字1寄存器中的第7比特为MDIO READY信号,用于表示MDIO读/写操作是否可用。当写操作配置完成时,MDIO READY信号会被置于无效状态,且MDIOREADY在这次写操作完成后才结束无效状态。

通过AXI4-Lite接口实现1次MDIO读操作:同样由AXI4-Lite接口设定MDIO的配置字1寄存器实现初始化,OP置为“10”,将要访问的PHY器件地址及其寄存器地址分别写入PHYAD和REGAD。当读操作配置完成时,MDIO READY信号会被置于无效状态,直到这次读操作完成;当MDIO READY再次有效时,表示请求读取的数据在MDIO的READ DATA寄存器中,可以被AXI4-Lite接口读出。

4 MII接口分析

MII即媒体独立接口,也叫介质无关接口,它是IEEE-802.3定义的以太网行业标准。它包括一个数据接口和管理接口:数据接口支持10/100Mbps数据速率,包括16个信号,分为2个独立的发送和接收通道,收发通道都有自己的数据、时钟和控制信号,数据位宽为4比特:管理接口是一个双信号接口,一个是时钟信号,另一个是数据信号。通过管理接口,上层能监视和控制PHY器件。MII接口速率为10Mbps时,时钟频率为2.5MHz:MII接口速率为100Mbps时,时钟频率为25MHz。TEMAC核的MII接口信号简要说明如表3所示。

表3 MII 接口信号简要说明

0463c8f4d6384b17bfdfe57815318645.png

MII接口使用灵活,但其由2根时钟信号线和14根数据状态信号线组成,接口信号线过多;以MII接口作为交换机接口,将造成引脚数目较多,给芯片和PCB设计带来了一定的难度。通过信号复用、调整数据宽度,设计出了简化版的MII,将MII的16根数据线减少为8根,即RMII接口,数据位宽为2比特。由于TEMAC并不支持RMII,所以这里不再赘述。

5 GMII/RGMII接口分析

千兆媒体独立接口GMII是对MII的扩展,接口位宽为8比特,支持1000Mbps传输速率(工作时钟为125MHz),同时兼容MII 的10/100Mbps模式。TEMAC核的GMII接口信号简要说明如表4所示。

表4 GMII 接口信号简要说明

59b984aa9fa642cba96b31f460ca406e.png

RGMII 接口是简化的GMII接口,支持10/100/1000Mbps的传输速率。TX/RX数据宽度从8位变为4位,时钟频率仍为125MHz,为了保持1000Mbps的传输速率不变,在参考时钟的上升沿发送GMII接口中的TXD[3:0]/RXD[3:0],在参考时钟的下降沿发送 GMII 接口中的TXD[7:4]/RXD[7:4]。由于RGMII使用了双倍速率触发器,并将接口信号线数量从24根减少到14根,比GMII减少了近一半的引脚数,所以PCB设计者更加青睐使用RGMII。TEMAC核的RGMII接口信号简要说明如表5所示。

表5 RGMII 接口信号简要说明

669e5e0ac15f40d0abf47aed2cdd7480.png

6 SGMII/1000Base-X接口分析

串行吉比特媒体独立接口(Serial GMII, SGMII)和1000BASE-X都是串行接口,SGMII接口将并行的GMII/MII转换为串行信号,支持10/100/1000Mbps。SGMII收发端各采用一对差分信号线,时钟频率为625MHz,采用时钟双沿采样。基于节省引脚数量的考虑, SGMII接口受到了PCB设计者的青睐。1000Base-X即光纤千兆以太网,X表示单模或多模光纤。基于SGMII接口的互连系统如图5所示。

e109bcd266194d4cae12e083a83d4f30.png

图5 基于SGMII接口的互连系统

当以太网MAC的物理接口配置为1000BASE-XPCS/PMA或SGMII时,PCS/PMA子层模块将内部并行接口(MII、GMII或RGMII)转换为串行接口(1000BASE-X或 SGMII),串行接口通过串行收发器与外部的光收发器进行通信。当TEMAC配置为1000BASE-X PCS/PMA模式时,与串行收发器的连接如图6所示。

5b02525686cc457fa8cd438702f72d13.png

图6 TEMAC配置为1000BASE-XPCS/PMA模式时的连接示意

TEMAC核的SGMII/1000BASE-X接口信号简要说明如表6所示。

表6 SGMII/1000BASE-X接口信号简要描述

0fa9c109cde3425e939958b551781dc3.png

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/10678.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

联丰策略股票炒股APP市场这些板块爆发!A股后市怎么走?

查查配5月10日,A股三大指数涨跌不一。 联丰策略拥有一支由知名互联网公司和国内证券金融机构的行业专家组成的一流运营团队。凭借他们在互联网产品开发和金融风险管理方面的丰富经验,我们的团队致力于为客户提供专业和个性化的证券交易服务。 截至收盘,沪指涨0.01%,报3154.55点…

leetcode-矩阵最长递增路径-102

题目要求 思路 1.通过双循环去把每一个结点作为起始点进行统计,将返回的路径长度存放在res中,取最大的res的长度。 2.递归中需要的几个值,x和y当前结点的坐标,pre用于存储上一个结点的元素值,因为要求是路径上的元素是…

FreeRtos内核源码分析(九)——协程

目录 一、协程简介 二、协程工作机制 2.1 协程控制块结构 2.2 协程管理方式 2.3 协程调度方式 2.4 协程通信机制 三、协程状态及状态切换 3.1 协程状态 3.2 状态切换 四、协程创建 五、协程调度分析 5.1 源码分析 5.2 逻辑图分析 六、协程通信 6.1 协程发送消息…

通过acl设置阻止数据包通过

实验拓扑和信息如图(配置信息参考上一章内容) acl设置代码 AR4 系统是视图下 acl 2000 rule 5 deny source 10.10.10.1 0 接口0视图下 数据接收时 traffic-filter inbound acl 2000 测试结果

javatest

day4 2. public class test {public static void main(String[] args) {Scanner sc new Scanner(System.in);System.out.println("**************");System.out.println("存期 年利率");System.out.println("一年 2.25");System.ou…

Chromium编译指南2024 Windows11篇-编译前的准备工作和Visual Studio安装(一)

前言 在这个数字化快速发展的时代,浏览器不仅是我们获取信息的窗口,更是开发者表达创意和技术实力的舞台。 Chromium是由Google于2008年发起的开源浏览器项目,致力于为用户提供更快、更安全、更稳定的网页浏览体验。 其作为开源浏览器项目…

实验八 Linux虚拟内存 实验9.1:统计系统缺页次数成功案例

运行环境: VMware17.5.1 build-23298084Ubuntu 16.04LTS ubuntu版本下载地址Linux-4.16.10 linux历史版本下载地址虚拟机配置:硬盘一般不少于40G就行 内核版本不同内核文件代码也有出入,版本差异性令c文件要修改,如若要在linux6.7…

指针(5)加油吧

指针(5) 拿冒泡排序来举例: 1 .qsort void qsort (void* base,//base指向待排序数组的首元素的指针size_t num,//base指向数组中元素的个数size_t size,//base指向的数组中的一个元素的大小,单位是字节int(*cmp)(const void*,co…

HR人才测评,表达能力与岗位胜任力素质测评

什么是表达能力? 表达能力指的就是在语言能力基础之上发展形成的一种语用能力,可以结合自己所掌握的语言来实现交际的目的,能正确且灵活的把语言材料组合成为语言并且表达出想要表达的内容。 在百度百科中有如此定义,表达能力…

人工智能能否解决科学问题:Wolfram的视角

引言 在当今AI技术飞速发展的背景下,它在科学研究领域的应用正逐渐深入。从AlphaFold 3的推出到日益复杂的计算模型,AI似乎在向科学家的角色靠拢。然而,美国计算机科学家Stephen Wolfram在一系列讲座和文章中提出了反思:AI真的能…

如何给扫描好的3d模型贴图?---模大狮模型网

在数字化设计领域,3D模型的贴图是提升模型逼真度和视觉效果的重要步骤之一。尤其是对于扫描好的3D模型,通过添加适当的贴图,不仅可以增强模型的细节和真实感,还可以为设计带来更加生动的视觉体验。本文将为您详细介绍如何给扫描好…

算法详解——回溯法

一、回溯法概述——问题背景 回溯法是一种解决约束满足问题的方法,特别适用于解决组合问题、搜索优化问题等。它通过逐步构建候选解决方案并且在这个解决方案不再可能满足约束或条件时进行剪枝和回溯。具体来说,回溯法可以应用于以下类型的问题&#xff…

基于yolov5+gradio目标检测演示系统设计

YOLOv5与Gradio:目标检测可视化展示的新篇章 随着人工智能技术的深入发展,目标检测已成为现代智能应用中的一项关键技术。YOLOv5,作为目标检测领域的杰出代表,凭借其出色的实时性和准确性,赢得了广泛的认可和应用。而…

AI视频教程下载:用ChatGPT自动化各种工作任务

这是一门实用的无代码课程,旨在通过使用ChatGPT高级数据分析和代码解释器提高生产力。 通过让ChatGPT代码解释器创建程序来自动化单调的任务,提高您的计算机生产力。 这门课程专为那些渴望快速使用小型实用程序的人设计,不需要编程知识。相…

Java医院绩效管理应用系统源码java+ maven+ avue 公立医院绩效考核管理系统源码 支持二开

Java医院绩效管理应用系统源码java maven avue 公立医院绩效考核管理系统源码 支持二开 医院绩效管理系统解决方案紧扣新医改形势下医院绩效管理的要求,以“工作量为基础的考核方案”为核心思想,结合患者满意度、服务质量、技术难度、工作效率、医德医风…

如何使用 WavLM音频合成模型

微软亚洲研究院与 Azure 语音组的研究员们提出了通用语音预训练模型 WavLM。通过 Denoising Masked Speech Modeling 框架(核心思想是通过预测被掩蔽(即遮蔽或删除)的语音部分来训练模型,同时还包括去噪的过程)&#x…

使用单片机在图形点阵LCD上绘制波形图

使用单片机在图形点阵LCD上绘制波形图 需求: 假如有一组浮点数据,是通过AD转换得到的,保存在数组MyArray[]中,采集点数为len,采集周期为T,现在想用单片机在LCD上绘制出这组数据对应的波形图,该…

本地连接服务器Jupyter【简略版】

首先需要在你的服务器激活conda虚拟环境: 进入虚拟环境后使用conda install jupyter命令安装jupyter: 安装成功后先不要着急打开,因为需要设置密码,使用jupyter notebook password命令输入自己进入jupyter的密码: …

新能源汽车动力电池浸没式冷却方案介绍与未来趋势

前言 新能源汽车的兴起标志着汽车工业的一次革命,其中动力电池的设计与性能成为了关键。浸没式冷却方案作为一种新兴的技术,为动力电池系统提供了有效的散热解决方案,其在未来的发展趋势备受关注。 一 动力电池浸没式冷却方案介绍 首先&am…

用python写算法——栈笔记

栈 栈的定义相关算法题 栈的定义 1.它是一种运算受限的线性表。限定仅在表尾进行插入和删除操作的线性表。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面&#xff0…