java怎么拦截某个对象
621
2022-10-24
MDIO接口的基础知识详解
MDIO概述
MDIO应用框图
图1 MDIO应用框图
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代表写。
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
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~