MDIO
MDIO,全称Management Data Input/Output,管理数据的进出,同时也被称为SMI (Serial Management Interface) 和 MIIM(Media Independent Interface Management),是以太协议中,MAC用来管理PHY的管理总线协议。
协议标准
MDIO接口由两个信号实现:
MDIO 接口时钟(MDC):由MAC设备驱动到PHY的时钟。MDIO数据与MDC时钟同步,在MDC上升沿有效。
MDIO 数据:双向,用于MAC读写PHY寄存器的数据。
总线仅支持单个MAC作为主设备,最多可以有32个PHY从设备。MDC可以是周期性的,最小周期为400ns,对应的最大频率为2.5MHz。这指的是早期的C22模式的标准,后面定义的C45模式的,可以支持65535个PHY设备,频率也更快,可达25M。
C22 的帧格式
前导码PRE_32:
32个bit高电平,表示前导码
开始ST:
2个bit表示开始信号,C22模式的为'01'。
操作码OP:
2个bit表示操作类型,读还是写,'10'读,'01'写。
PHY地址PA5:
5个bit表示PHY地址。
寄存器地址RA5:
5个bit表示寄存器地址。
跳转TA:
2个bit跳转帧。当向PHY写数据时候,这2个bit为"10",当从PHY读数据时候,释放总线两个时钟周期,第二个bit由PHY器件拉低。
数据D16:
16个bit的数据。
空闲状态Z:
空闲时候,总线保持三态。
)
C45 的帧格式
前导码PRE_32:
32个bit高电平,表示前导码
开始ST:
2个bit表示开始信号,C45模式的为'00'。
操作码OP:
2个bit表示操作类型,地址、读还是写,'00'地址,'11'读,'01'写, '10'增量读。
PHY地址PA5:
5个bit表示PHY地址。
设备类型DEV5:
5个bit表示device type。
跳转TA:
2个bit跳转帧。当向PHY写数据时候,这2个bit为"10",当从PHY读数据时候,释放总线两个时钟周期,第二个bit由PHY器件拉低。
寄存器地址/数据D16:
当操作码为读写时候,表示16个bit的数据。当操作码为地址时候,表示16个bit的寄存器地址。
空闲状态Z:
空闲时候,总线保持三态。
使用C22模式访问C45标准的器件
为了兼容性,协议定义了一套使用C22模式访问C45标准的设备。C45标准的设备都要预留reg13和reg14能够使用C22模式访问到。
reg13,用于填写C45特有的定义device type和操作码。
reg14,用于传输寄存器或者数据。
欢迎访问我的博客