MDIO接口的基础知识详解-接口/总线/驱动-飞外网

飞外网>接口/总线/驱动>MDIO接口的基础知识详解

MDIO接口的基础知识详解 来源:天南街与非门•作者:天南街与非门• 2020-09-29 14:55 • 次阅读 • 个评论

MDIO概述

MDIO接口,是Management Data Input/Output的缩写。MDIO接口包含在IEEE802.3协议中,是专用于以太PHY的管理的串行总线接口。

MDIO应用框图

图1 MDIO应用框图

图1为MDIO应用框图。STA设备通过MDIO接口与PHY通信。STA(StaTIon Management)为主控设备,比如MCU、MAC、ONU等。PHY为从设备。一个STA最多管理32个PHY。MDC信号由STA控制,MDIO信号根据通信方式的不同可以由STA或者PHY接管控制。通常MDIO会通过电阻上拉至接口电源。

MDIO接口信号

如表1所示,MDIO接口包含两根信号线,一根时钟线,一根数据线。

表1 MDIO接口信号

MDC为MDIO接口时钟信号,来自STA,用来对MDIO的数据采样。MDC可以是非周期性信号。协议对MDC的高低电平的最大宽度并没有限制,仅限制了MDC的最小高低电平宽度不能小于160ns,最小周期不能小于400ns。这意味着MDC最高频率不能超过2.5MHz。

MDIO为MDIO接口数据信号,为双向信号,STA和PHY均可以接管。用来在PHY控制芯片和PHY芯片之间的传递控制和状态信息。

图2 MDIO接口时序

协议对MDIO接口时序进行了定义。如图2所示,以MDC上升沿为基准。当MDIO由STA输出时,需要满足建立时间、保持时间均大于10ns。当MDIO由PHY输出时,需要满足输出延迟不超过300ns。

MDIO帧格式

MDIO有两种模式:俗称1G MDIO和XG MDIO。1G MDIO由IEEE 802.3 Clause22定义,主要应用于千兆/百兆的以太PHY,XG MDIO由IEEE 802.3 Clause45定义,主要用于千兆以上的以太PHY。下面以Clause22为例介绍MDIO帧格式,如图3所示。

图3 MDIO Clause22帧格式

IDLE:空闲域。无MDIO帧发送时,MDIO接口输出高阻(外部有上拉电阻,总线上看到的是高电平)。

PRE:Preamble,前导。每帧发送前,STA通过MDIO连续发送32个MDC周期的高电平,同时通过MDC输出32个时钟周期。前导的作用是为PHY建立同步提供时间。如果STA能够确定PHY可以接收管理帧,可以压缩前导的发送。

ST:2bit,Start of Frame。帧起始符,2’b01代表帧起始。

OP:2bit,操作码。2’b10代表读,2’b01代表写。

PHYAD:5bit,PHY地址。因此1个MDIO最多管理32个PHY。MDIO在访问PHY之前,需要提前知晓各个PHY的地址。所有PHY均需要对地址0进行响应。

REGAD:5bit,寄存器地址。总共32个寄存器地址,协议对前16个寄存器地址进行了详细的定义。其中地址0为控制寄存器,地址1为状态寄存器,其他14个地址为扩展寄存器。

TA:2bit,Turnaround。TA是地址传输和数据传输转换时的空闲时间。因为读操作的时候,地址传输和数据传输控制方不同,设置2bit TA的目的就是为了防止MDIO总线上产生竞争。

读情形,TA第1bit,PHY和STA均释放总线控制输出高阻。TA第2bit,总线交由PHY控制,输出0,即读操作时TA为2‘bZ0(由于总线有上拉电阻存在,从总线上看到的依然是2’b10)。写情形,TA由STA输出2‘b10。

DATA:16bit,数据域。写操作的时候,STA用来发送写数据。读操作的时候,PHY用来发送读数据。

注:MDIO发送bit序为高比特先传。

图4 MDIO Clause45帧格式

MDIO Clause45在Clause22基础上做了一些扩展,目的是为了访问更多的寄存器。Clause45帧格式如图4所示。相对于Clause22帧格式而言,Clause45做了如下修改:

1、ST由01修改为00

2、OP进行了重新定义。00:地址帧 01:写 11:读 10:增量读(Post-read-increment-address)

3、PHYAD域修改名称为PRTAD,端口地址但仍代表PHY地址

4、REGAD修改为DEVAD,Clause45将PHY内部子模块的地址进行细分,这些子模块用DEVAD寻址。子模块内部的寄存器则使用地址帧进行寻址。

Clause45的修改大大扩展了访问地址范围,但是由于地址和读写操作的分离,导致访问效率降低一半。为了解决该问题,Clause45新增了增量读模式,允许先发送一次地址帧,后续仅发送增量读操作。在每次读完成后,PHY会自动将地址移动到下一个相邻的寄存器地址,这样就能完成从指定地址开始顺序读取设备内部的寄存器,而无需重新发送地址帧,访问效率可以和Clause22相当。

后记

MDIO接口不仅定义了帧格式,还对其访问空间的寄存器进行了详细的定义,因此它只能应用于以太PHY的管理接口。对于MDIO寄存器详细定义感兴趣的同学,可以参考IEEE802.3 22.2.4(Clause22)和45.2(Clause45)中的描述。

Clause22和Clause45是不能共存的,如果应用时存在共存的情况,可以参考IEEE 802.3 Annex45A中关于Clause22 PHY,Clause45 PHY混合组网时的解决方案描述。简单说就是通过协议转换芯片进行混合组网。
责任编辑人:CC


CAN总线的基础知识详细讲解CAN总线的基础知识详细讲解。2022-04-01 21:35:145使用Kotlin构建Android应用的基础知识2021 年 10 月,我们发布了 使用 Kotlin 构建 Android 应用的基础知识 课程的最后一个单元,这是我们推出的免费自学编程课程,致力于帮助没有编程经验的人2022-03-29 09:25:48210微带天线基础知识免费微带天线基础知识免费。2022-03-23 10:32:481电路基础知识分享电路基础知识分享。2022-03-09 21:11:5513人工智能基础知识人工智能基础知识免费。2022-03-03 21:42:064PCB应变测试基础知识PCB应变测试我们日常会遇到的基础知识解答。2022-02-18 14:12:330减速电机基础知识问答减速电机基础知识问答2022-01-07 14:12:2447串口通信基础知识详解目录通信基础知识STM32串口通信基础(UART)串口通信过程UART中设置的参数通信基础知识  首先两个设备间的通信方式可分为并行通信和串行通信两种他们区别如下:并行通信串行通信传输原理数据各个2021-12-20 19:20:4913全面介绍PCIe总线的基础知识全面介绍PCIe总线的基础知识2021-12-13 15:21:1812伺服驱动的基础知识_pdf伺服驱动的基础知识_pdf2021-12-11 17:02:315开关电源基础知识开关电源基础知识(核达中远通电源技术有限公司上市)-介绍了开关电源、基础知识、分类与调制方式2021-09-29 11:00:0823Oracle数据库基础知识讲解Oracle数据库基础知识讲解(肇庆理士电源技术有限公司图片)-该文档为Oracle数据库基础知识讲解文档,是一份不错的参考文档,感兴趣的可以看看,,,,,,,,,2021-09-28 13:39:153Oracle数据库基础知识Oracle数据库基础知识(现代电源技术课程总结)-该文档为Oracle数据库基础知识讲解文档,是一份还算不错的参考文档,感兴趣的可以看看,,,,,,,,,,,2021-09-28 10:33:071直流电路基础知识直流电路基础知识(电源技术杂志小木虫)-直流电路基础知识,有需要的可以参考!2021-09-15 19:06:2415DC-DC电源基础知识DC-DC电源基础知识(现代电源技术发展综述)-DC-DC电源基础知识,有需要的可以参考!2021-09-15 18:16:3447Git基础知识综述Git基础知识综述2021-08-31 10:09:240变压器(Transformer)基础知识详解变压器(Transformer)基础知识点免费。2021-06-23 11:49:2334示波器探头的基础知识本文主要介绍了关于示波器探头的基础知识。2021-06-19 09:40:2331天线基础知识与原理天线基础知识与原理免费。2021-06-15 17:05:3251射频、光纤基础知识射频、光纤基础知识免费。2021-06-15 17:01:5713微波电路及设计的基础知识微波电路及设计的基础知识免费。2021-06-08 11:33:3027射频电路预备基础知识射频电路预备基础知识免费。2021-06-07 14:41:5737华为EMC基础知识汇总资源华为EMC基础知识汇总资源2021-06-04 11:14:0562EMC的原理基础知识讲解EMC的原理基础知识讲解免费。2021-05-28 17:24:4316机器视觉基础知识详解模板机器视觉基础知识详解模板。2021-05-28 14:50:309C语言基础知识讲解C语言基础知识讲解2021-05-19 14:11:139LED基础知识教程LED基础知识教程免费。2021-05-12 14:57:3031微带天线基础知识微带天线基础知识免费。2021-04-26 11:40:313神经网络基础知识神经网络基础知识课件免费。2021-04-21 09:37:414线性系统基础知识线性系统基础知识免费。2021-04-15 15:13:234光功能晶体基础知识光功能晶体基础知识资料免费。2021-04-15 15:00:237静电放电基础知识讲解介绍静电放电的基础知识。2021-03-22 15:41:5317VGA接口/DVI接口/HDMI接口/DP接口的基础知识显示器应该选择什么连接线呢?这是由显卡显示接口与显示器显示接口来决定的,但因为很多用户不了解这些接口的知识,那么就无法选择显示器连接线。接下来就为大家分享VGA接口、DVI接口、HDMI接口以及DP接口的基础知识。2021-01-26 10:17:056531VGA显示接口基础知识详解VGA显示接口是显卡上输出模拟信号的接口,也叫D-Sub接口。VGA接口是一种D型接口,共有15针孔,分成三排,每排五个。2020-07-15 14:53:052530蓝牙模块基础知识本文主要介绍了蓝牙模块基础知识.2018-06-23 21:05:4143被动元件基础知识电容器的基础知识。2018-05-29 15:12:3813FreeRTOS基础知识详解pdfFreeRTOS基础知识详解2018-03-28 17:18:4141PCB板基础知识PCB板基础知识入门资料,给大家分享一下2017-11-18 11:51:1926linux Android基础知识总结linux Android基础知识总结2017-10-24 09:02:475RRC和RB等LTE接口与承载相关基础知识介绍本文介绍了LTE接口与承载相关基础知识,介绍了E-RAB在LTE系统中的位置和组成以及RB的功能和管理等知识。2017-10-13 13:09:517电源管理基础知识电源管理基础知识电源管理基础知识电源管理基础知识电源管理基础知识电源管理基础知识2017-09-15 14:38:3659linux /Android 基础知识总结大全本文档介绍了linux /Android 基础知识总结大全,包含了源代码以及详解,供网友参考。2017-09-11 17:49:416电能计量的基础知识电能计量的基础知识2017-09-08 17:40:0210电工培训基础知识PPT电工培训基础知识2017-04-06 23:17:4328示波器基础知识百问示波器基础知识百问2017-03-04 11:11:327基础知识[GPRS概念术语基础知识[GPRS概念术语2017-02-14 00:31:4015示波器基础知识大全示波器基础知识大全2017-01-16 21:29:4254开关磁阻电机基础知识开关磁阻电机基础知识2017-01-20 21:03:221基础知识-NVR基础知识-NVR2016-12-25 20:57:101光端机产品基础知识产品基础知识2016-12-22 23:26:300免费教程PLC基础知识大全免费教程PLC基础知识大全2016-12-08 10:43:1927matlab基础知识简介介绍了matlab的变量,函数,文件等基础知识2016-12-07 16:29:4810单片机基础知识单片机基础知识【更齐全】2016-12-02 14:00:225BGA布线的基础知识BGA布线的基础知识2016-11-23 16:37:156单片机基础知识单片机基础知识2016-11-27 16:19:433MEMS传感器概念、分类等基础知识详解关于MEMS传感器的基础知识,你了解多少?本文将从MEMS传感器的概念、制造及工艺、MEMS传感器与传统传感器的区别、MEMS传感器的分类几大部分详解,帮助初识MEMS传感器的读者快速了解这一重要器件。2016-12-06 10:51:554754电子元器件基础知识电子元器件基础知识2016-10-05 16:40:0054开关电源基础知识开关电源基础知识2016-10-25 11:20:5850电感资料--电感基础知识电子专业单片机相关知识学习教材资料——电感资料--电感基础知识2016-09-26 23:19:5241模拟电子基础知识复习模拟电子的相关知识学习教材资料——模拟电子基础知识复习2016-09-18 22:54:1047华为射频基础知识培训电子专业单片机相关知识学习教材资料,华为射频基础知识培训。2016-08-31 22:38:4728EMC基础知识---华为该文档是华为内部发行的EMC的基础知识,旨在普及EMC知识。2016-08-29 16:46:0573PLC梯形图编程基础知识详解PLC梯形图编程基础知识详解,感兴趣的伙伴们可以看看。2016-08-04 11:17:416synplify基础知识说明synplify基础知识说明2016-06-16 16:09:5625WIFI天线基础知识详细介绍WIFI天线的作用与地位等基础知识2016-05-27 14:48:3820labview基础知识labview软件的基础知识汇总,适合新手入门。。2016-05-09 15:30:044显示技术基础知识显示技术基础知识,精确解析,实用文件资源。2016-04-24 17:48:313CAD软件基础知识CAD软件基础知识。2016-03-31 09:24:3615主板基础知识与维修教程主板基础知识与维修教程 电脑组装教程图文并茂2016-03-21 01:00:246嵌入式系统基础知识关于嵌入式系统基础知识关于嵌入式系统基础知识关于嵌入式系统基础知识2016-03-03 14:57:284使用Eclipse基础知识使用Eclipse 基础知识 使用Eclipse 基础知识 适合初学者学习使用2016-02-25 19:24:534BGA布线的基础知识BGA布线的基础知识,有需要的下来看看。2016-01-31 22:40:2619WLAN基础知识培训WLAN基础知识,协议基础,频带,带宽,协议子类别及其对应传输速度2016-01-04 10:24:004计算机基础知识介绍计算机基础知识计算机基础知识计算机基础知识2015-12-01 23:01:2522矢量(向量)运算的基础知识矢量(向量)运算的基础知识,其中包括简要介绍、基础知识、矢量的点乘、×乘、矢量的导数与微积分、以及一些练习题。2015-11-20 11:09:373路由器常用基础知识总结路由器常用基础知识总结路由器常用基础知识总结路由器常用基础知识总结2015-10-30 17:05:3313红外基础知识关于红外基础知识的讲解2011-11-02 18:43:22260LED照明电气基础知识LED照明电气基础知识2010-12-23 17:24:2295QC基础知识QC基础知识阐述2010-06-02 10:01:17151信号链基础知识#29:数字接口—单端接口与差动接口的对比信号链基础知识#29:数字接口—单端接口与差动接口的对比本《信号链基础知识》系列文章向您介绍了在将数字转换结果从模数转换器 (ADC) 传输到2010-03-30 10:36:58683通信基础知识教程通信基础知识1、电信基础知识2、通信电源技术3、配线设备结构、原理与防护4、防雷基础知识5、EMC基础知识6、防腐蚀原理与技术7、产品安2010-03-04 16:48:3423直流微电机基础知识