MDIO
通过 Management Data In/Out (MDIO) 接口,GMAC 可以对 PHY 的寄存器进行读写操作,进而控制 PHY 的工作模式以及获取 PHY 的工作状态。操作寄存器 MDIO_CTL 和 MDIO_DAT 可实现操作 MDIO 接口。
MDIO 接口由 MDC 以及 MDIO 实现:
-
MDC:时钟输出信号,提供给 PHY。根据 AHB 总线的时钟来配置时钟分频系数获得,具体配置见寄存器 0x090 MDIO_CTL 描述。
-
MDIO:数据输入输出信号。
MDIO 的帧的格式:Idle + Preamble + Start + Opcode + Phy Addr + Reg Addr + TA + Data。
MDIO帧域 | 描述 |
---|---|
IDLE | IDLE 域 |
PREAMBLE | 32个连续的 bit 1 |
START | 标志帧的起始位置,2’b10 |
OPCODE | 操作标识域,2’b10 表示读,2’b01 表示写 |
PHY ADDR | 5-bit 的 PHY 地址域 |
REG ADDR | PHY 寄存器地址 |
TA | Turnaround 域,读操作为 2’bZ0,写操作为 2’b10 |
DATA | 16 bit 数据,读操作 MAC 为接收数据,写操作 MAC 为发送数据。 |