MDIO接口,是Management Data Input/Output的缩写。MDIO接口包含在IEEE802.3协议中,是专用于以太PHY的管理的串行总线接口。下面小编给大家介绍一下“MDIO接口的基础知识详解


1.MDIO接口的基础知识详解

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

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

协议对MDIO接口时序进行了定义。以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。

DLE:空闲域。无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用来发送读数据。

(图片来源于互联网)