MDC/MDIO接口定义
作者:互联网
MDC/MDIO接口是为MII总线接口定义的,在802.3协议clause 22中有详细的介绍,MII用于连接MAC和PHY,包含两种信号:
1. 数据接口,用于MAC和PHY之间接收和发送以太网数据
2. 一个PHY管理接口,即MDIO接口,用于读写PHY的控制寄存器和状态寄存器。
本文主要描述PHY的管理接口,MDIO/MDC.
MDC (Management Data Clock), MDC是由MAC管理实体输出给PHY,作为管理数据MDIO的参考时钟信号,在上升沿触发MDIO的读写。MDC是一个非周期性的信号,最小时钟周期为400ns,与MII中的TX_CLK和RX_CLK无关。
MDIO(Management Data Input Output),MDIO是一个双向信号线,用来传输PHY的控制和状态信息。控制信息由MAC驱动,状态信息有PHY驱动。MDIO信号线初始为三态,由MAC或者PHY来驱动信号。
MDC/MDIO时序图
当MDIO由MAC驱动的时候,MAC芯片提供最小10ns的建立时间和最小10ns的保持时间。
需要注意的是,为了保证PHY能准确采样,当MAC向MDIO写数据的时候,需要在MDC的上升沿之前就把数据写到MDIO上,要求等待10ns以上再发出一个MDC的上升沿。
当MDIO由PHY芯片驱动时候,由MAC芯片在MDC的上升沿进行采样。而为了保证MAC能准确采样,当PHY向MDIO写数据时,这个clock-to-data的delay时间范围可以是0-300ns(小于上面提到的400ns)。
Preamble+Start:32bits的前导码以及2bit的开始位。
OP Code:2bits的操作码,10表示读,01表示写
PHYAD:5bits的PHY地址,一般PHY地址从0开始顺序编号,例如6口switch中PHY地址为0-5。
REGAD:5bits的寄存器地址,即要读或写的寄存器。
Turn Around:2bits的TA,在读命令中,MDIO在此时由MAC驱动改为PHY驱动,并等待一个时钟周期准备发送数据。在写命令中,不需要MDIO方向发生变化,则只是等待两个时钟周期准备写入数据。
Data:16bits数据,在读命令中,PHY芯片将读到的对应PHYAD的REGAD寄存器的数据写到Data中,在写命令中,MAC将要写入对应PHYAD的REGAD寄存器的值写入Data中。
Idle:空闲状态,此时MDIO无源驱动,处高阻状态,但一般用上拉电阻使其处在高电平。
Marvel CN71XX的SMI电路图
CN71XX的CPU有两个SMI的管理接口,其中SMI0连接到了BCM54210的PHY芯片。
标签:MDC,MDIO,MAC,PHY,寄存器,接口定义,Data 来源: https://www.cnblogs.com/rykang/p/11905593.html