MDIO/SMI通信接口详解
MDIO(Management Data Input/Output)是一种串行管理接口,通常直接被称为 MDIO 接口,主要应用于以太 PHY 的管理。MDIO 接口包含在 IEEE 802.3 协议中,是专用于以太 PHY 的管理的串行总线接口。
MDIO 接口的组成部分包括:
* STA(Station Management Entity):STA 设备通过 MDIO 接口与 PHY 通信, STA 设备是主控设备,例如 MCU、MAC、ONU 等。
* PHY(Physical Layer Device):PHY 是从设备,一个 STA 最多管理 32 个 PHY。
MDIO 接口的时序协议:
* MDC(时钟信号):MDC 信号由 STA 控制,是 MDIO 接口的时钟信号,用于对 MDIO 的数据采样,上升沿采样,不在意 MDC 时钟的频率,MDC 可以是非周期性信号。
* MDIO(数据信号):MDIO 是 MDIO 接口的数据信号,为双向信号,STA 和 PHY 均可以接管,用来在 PHY 控制芯片和 PHY 芯片之间的传递控制和状态信息。
MDIO 帧格式:
* IDLE:空闲域,无 MDIO 帧发送时,MDIO 接口输出高阻(外部有上拉电阻,总线上看到的是高电平)。
* PRE:Preamble,前导,每帧发送前,STA 通过 MDIO 连续发送 32 个 MDC 周期的高电平,同时通过 MDC 输出 32 个时钟周期。
* ST:2bit,Start of Frame,帧起始符,2’b01 代表帧起始。
* OP:2bit,操作码,2’b10 代表读,2’b01 代表写。
* PHYAD:5bit,PHY 地址,因此 1 个 MDIO 最多管理 32 个 PHY。
* REGAD:5bit,寄存器地址,总共 32 个寄存器地址,协议对前 16 个寄存器地址进行了详细的定义。
* TA:Turnaround,地址传输和数据传输转换时的空闲时间。
* DATA:16bit,数据域,写操作的时候,STA 用来发送写数据,读操作的时候,PHY 用来发送读数据。
MDIO Clause22 和 Clause45 帧格式:
* MDIO Clause22 帧格式:主要应用于千兆/百兆的以太 PHY。
* MDIO Clause45 帧格式:主要应用于千兆以上的以太 PHY,相对于 Clause22 帧格式而言,Clause45 做了一些扩展,目的是为了访问更多的寄存器。
MDIO/SMI 通信接口是以太 PHY 的管理接口,主要应用于以太 PHY 的管理,STA 设备通过 MDIO 接口与 PHY 通信,MDIO 接口的时序协议和帧格式是 MDIO 接口的核心内容。