字段描述 | start | op | Phy_addr | Reg_addr | TA | data |
空间(bits) | 2 | 2 | 5 | 5 | 2 | 16 |
start:开始标识码
op:读写操作,10为读,01为写
phy_addr:标识phy地址
reg_addr:标识phy寄存器地址
TA:MDIO需要2个时钟周期的访问时间
data:MDIO串行读出/写入16 bits的寄存器数据
读写完成后,MDIO恢复成Idle状态,同时MDIO进入高阻状态
DX107中写寄存器的过程如下:
1. 将16 bits的寄存器高地址写入SMI Write Address MSBs Register
2. 将16 bits的寄存器低地址写入SMI Write Address LSBs Register
3. 将数据高16 bits写入SMI Write Data MSBs Register
4. 将数据低16 bits写入SMI Write Data LSBs Register
5. 读SMI Read-write status Register,直到<SMIwriteDone>拉高