热度 1| |
该日志中介绍的MDIO接口的帧结构兼容802.3协议22.2.4.5中介绍的帧结构,这样以来,两个系统可以在同一个MDIO总线上共存。日志中介绍的MDIO接口的电气特性与IEEE802.3协议22.2.4.5中介绍的接口的电气特性不兼容。因此如果两个系统要想共存在同一个总线上,必须添加一个电压转换器件(见附录 45A)。表45-202是用于MDIO间址读取的扩展表。
每一个MMG都应该使用一个16bits的地址寄存器来存储即将被数据传输帧读写的寄存器的地址。地址寄存器应该能够被地址帧刷新。在上电或器件复位状态下,地址寄存器的内容没有定义。
写、读、以及快速读加地址帧都应该能够访问地址存储在地址寄存器中的寄存器。写帧和读帧不应该修改地址寄存器中的内容。
如果收到一个快速读加地址帧并完成了读操作,MMD应该将地址寄存器加1.如果地址寄存器的值为65535,MMD就不应该再增加地址寄存器。
如果在一个设计中如果包含了好几个MMD,那么就应该使用分开的地址寄存器。这样一来每一个MMD就可以相对独立的操作每一个地址寄存器。
45.3.1 IDLE (idle condition)
MDIO的空闲状态是一个高阻态。应该关断所有的三态驱动源,MMD的上拉电阻会将MDIO总线拉为逻辑1.
45.3.2 PRE (preamble)
在每一次交互的开始,STA实体应该在MDC的驱动下发送32个连续的1序列,以此来建立同步。MMD相应任何交互之前,在MDC时钟下观察32个连续的1序列。
45.3.3 ST (start of frame)
间址读写周期的帧起始标志为<00>。这种形式明确将交互操作和默认的1区分出来,同时指示出这个帧形式是间址操作。45章中描述的器件应该忽略掉22章定义的ST=<01>形式的帧结构。
45.3.4 OP (operation code)
操作类型区域指示了帧的交互类型。<00>编码指示了帧的净荷区承载了即将读写的寄存器的地址。<01>编码表示帧的净荷区承载的是要写入寄存器的内容,而要写的寄存器的地址由前一个地址帧提供。<11>编码指示该帧是一个读操作。<10>编码指示该帧是一个地址自加快读操作。
45.3.5 PRTAD (port address)
端口地址是5bits,允许32个不同的端口地址。发送和接收的第一个端口地址是端口地址的最高位。STA必须预先知道连接在其上的每一个端口的端口地址,无论那是一个端口还是好几个端口。
45.3.6 DEVAD (device address)
器件地址是5bits,每个端口最多允许32个不同的MMD。第一个发送和接收的器件地址是高位。
45.3.7 TA (turnaround)
翻转时间是2bits的时间间隙,该时间间隙介于管理帧的地址域和数据域,主要是为了切断一次读操作的连接。对于读操作和快读地址加一操作,STA和MMD都应该在在翻转区间的第一比特保持高阻态。MMD应该在读操作的第二个翻转比特区间将线路驱动为逻辑0.在写操作和地址操作,STA应该在翻转操作的第一个比特区间驱动逻辑1,在第二个比特区间驱动逻辑0.图22-15展示的是读操作翻转区间时MDIO的表现形式。
45.3.8 ADDRESS / DATA
地址/数据区域是16bits。在一个地址周期,这段区域包含的是下一个周期即将读写寄存器的地址。在一个写帧的数据周期,这段区间是要写入寄存器的地址。对于一个读操作或快读地址加一操作,该段区域包含的是寄存器的内容。第一个发送和接收的比特是bit15.