本文章深入剖析了MDIO和SMI通信协议及其应用,旨在帮助读者理解其工作原理并掌握实际操作技巧。
MDIO(Management Data Input/Output)是一种串行管理接口,在以太网物理层设备的管理领域广泛应用,并通常直接称为 MDIO 接口。它包含在 IEEE 802.3 协议中,专为以太网 PHY 设备提供一种串行总线形式的通信方式。
MDIO 包含以下主要组件:
* STA(Station Management Entity):STA 负责通过 MDIO 接口与物理层设备进行信息交换。它作为主控端可以是 MCU、MAC 或 ONU 等设备。
* PHY(Physical Layer Device):PHY 则是从属的,一个 STA 最多能够控制 32 个这样的设备。
MDIO 的时序协议包括:
* MDC(管理数据输入/输出时钟信号):由主控端STA提供的MDC信号是 MDIO 接口的工作基础。它用作对 MDIO 数据进行采样的时钟,通常在上升沿执行采样操作。
* MDIO(管理数据输入/输出双向数据线):MDIO 线路用于 STA 和 PHY 之间的控制信息及状态消息的交换。
MDIO 的帧格式如下:
* IDLE:当没有发送任何 MDIO 帧时,线路保持高阻态或通过外部上拉电阻显示为高电平。
* PRE(前导):在每个数据包之前,STA 需要连续输出 32 个周期的高电平信号,并由 MDC 提供相应的时钟脉冲。
* ST:帧开始标志位,采用 01 表示新帧的起始位置。
* OP(操作类型):10 对应读取指令而 01 则表示写入动作;
* PHYAD:5 位地址用于标识不同的物理层设备,在一个 MDIO 接口下最多可管理32个这样的PHY。
* REGAD:5 位寄存器地址,总共可以访问到的寄存器数量为32。前16个已被详细定义。
* TA(转换时间):在读写操作之间需要短暂等待以确保数据传输正确无误。
* DATA: 数据域,在进行写入时由STA发送,在执行读取指令期间则由PHY设备填充。
MDIO Clause 22 和 Clause45 帧格式分别适用于千兆/百兆和更高带宽的以太网物理层,后者通过增加寄存器访问能力来扩展了前者的功能。