我有一个采用 DP83869HM 的电路板设计、我尝试在"1000M 媒体转换器模式"中使用该设计
我有一个微控制器、我将使用该微控制器通过 MDIO/MDC 配置 DP83869HM 寄存器
我按照数据表第9.4.8.4节中的步骤对寄存器进行了编程
- 将0x0044写入寄存器0x01DF
- 将0x1140写入寄存器0x0000
- 将0x5048写入寄存器0x0010
- 将0x1140写入寄存器0x0C00
通过 MDIO 配置 phy 后、我将 PC 以太网连接到电路板、并看到网络接口出现。 我还能够检测另一端的链路 但我无法从任一端 ping 通、接收数据包计数器永远不会上升。
在进一步挖掘之后、我注意到 SNLA318第1.6节"1000Mbps 媒体转换器"显示为...
"重要说明:1000 Mbps 介质转换器模式所需的寄存器配置:-将0x1FFC 写入寄存器0x01EC (将位[0]设置为0)"
因此、我将寄存器编程序列更改为
- 将0x0044写入寄存器0x01DF
- 将0x1140写入寄存器0x0000
- 将0x5048写入寄存器0x0010
- 将0x1140写入寄存器0x0C00
- 将0x1FFC 写入寄存器0x01EC
这会导致连接断开/我的 PC 或另一侧无法检测到连接。
我已经仔细检查了自举、引脚排列和寄存器配置。 但我一直无法弄清为什么我无法通过 phy 进行通信。
这里是我从一些寄存器中读出的值。
OP_MODE_DECODE = 0x0044 
BMCR = 0x1140 
PHY_CONTROL = 0x5048 
FX_CTRL = 0x1140 
BMSR = 0x7969 
FX_STS = 0x6149 
1KSCR = 0xF000 
TLOG_STS  = 0x183E 
SERDES_SYNC_STS = 0x0220 
 
				 
		 
					