工具/软件:
大家好、我们生产了一款采用 PHY DP83869HM的原型。
为了进行测试、我们在背对背 SGMII 配置中连接了其中两个。
SGMII 链路如下所示:
上电后、一切似乎都正常。 所有电压轨均正常。
PHY 似乎能正常工作。 LED TX/RX 闪烁且链路接通 LED 亮起。
但是、PC 无法检测到与 LAN 网络的任何连接。
我想知道 SGMII 接线是否有误、或者自举中是否有错误。
我使用了此处描述的自举:
镜像已禁用
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具/软件:
大家好、我们生产了一款采用 PHY DP83869HM的原型。
为了进行测试、我们在背对背 SGMII 配置中连接了其中两个。
SGMII 链路如下所示:
上电后、一切似乎都正常。 所有电压轨均正常。
PHY 似乎能正常工作。 LED TX/RX 闪烁且链路接通 LED 亮起。
但是、PC 无法检测到与 LAN 网络的任何连接。
我想知道 SGMII 接线是否有误、或者自举中是否有错误。
我使用了此处描述的自举:
镜像已禁用
您好 J、以下是原理图的相关部分:
如果有必要的信息,我可以发送完整的设计每个电子邮件. =)
请告诉我任何疑问。
与 SGMII 至 SGMII 连接相关:
在这篇文章"DP83869HM:Connect 2 PHY over SGMII - Interface forum - Interface - TI E2E 支持论坛"中、我问过了该拓扑。 从答案中可以看出、SGMII 背对背连接是可能的。
您能否再次验证一下、让我知道我是否理解错误、或者第一篇文章是否涉及不同的应用程序。
感谢您的观看、祝您愉快
David
您好、David:
我为这个混乱而道歉。 如果系统的设计与您在前一篇文章中所述的系统类似、并通过 RJ45连接到 PC、DP83869HM 可以支持该系统。
我查看了原理图、觉得 Strap 配置是正确的。
根据 LED 指示、MDI 链路似乎正常。
但是、LED 链路建立状态不指示 SGMII 链路正常、因为 SGMII 链路有自己的自动协商。
您能否对下面提到的寄存器进行寄存器转储?
通过这些寄存器、我们能够了解 PHY 之间 SGMII 链路的状态、以及是否为 SGMII 启用了自动协商、这是来自 MDI 链路的独立自动协商过程。
如果自动协商开启、我建议通过将0x0014[7]切换为0来禁用自动协商并将 SGMII 置于强制模式、因为该链路在两个 PHY 之间、而不是 PHY 和 MAC 之间。 强制模式将使 SGMII 遵循 MDI 速度和配置、因此、只要任一 PHY 上的 MDI 配置相同、SGMII 就应该能够链接。
请告诉我。
此致、
j
你好 J,你在这里;
PHY_1
寄存器0000是:1140
寄存器0001为:796D
寄存器0002是:2000
寄存器0003为:A0F3
寄存器0004为:01E1
寄存器0005为:C1E1
寄存器0006是:006D
注册0007是:2001
寄存器0008是:7801
寄存器0009为:0300
寄存器000a 为:0000
寄存器000b 是:0000
寄存器000c 为:0000
寄存器000d 为:401F
寄存器000E 为:0000
寄存器000f 是:F000
寄存器0010为:5048
寄存器0011是:6F02
寄存器0012为:0000
寄存器0013为:0000
寄存器0014是:2947
寄存器0015是:0000
寄存器0016是:0000
寄存器0017是:0040
寄存器0018是:6150
寄存器0019是:4444
寄存器001A 是:0002
寄存器001B 为:0000
寄存器001C 为:0000
寄存器001D 为:0000
寄存器001E 是:0012
寄存器001F 为:0000
PHY_2
寄存器0000是:1140
寄存器0001为:796D
寄存器0002是:2000
寄存器0003为:A0F3
寄存器0004为:01E1
寄存器0005是:45E1
寄存器0006是:0067
注册0007是:2001
寄存器0008是:0000
寄存器0009为:0300
寄存器000a 为:0000
寄存器000b 是:0000
寄存器000c 为:0000
寄存器000d 为:401F
寄存器000E 为:0000
寄存器000f 是:F000
寄存器0010为:5048
寄存器0011为:7C02
寄存器0012为:0000
寄存器0013为:1C00
寄存器0014是:2947
寄存器0015是:0000
寄存器0016是:0000
寄存器0017是:0040
寄存器0018是:6150
寄存器0019是:4444
寄存器001A 是:0002
寄存器001B 为:0000
寄存器001C 为:0000
寄存器001D 为:0000
寄存器001E 是:0012
寄存器001F 为:0000
提前感谢您的支持
David
您好、David:
感谢你的等待。 为了确保、禁用 SGMII 自动协商后、寄存器0x37[1]是否为高电平?
此外、您是否在禁用 SGMII 自动协商后尝试了对 PHY (寄存器0x1F = 0x4000)进行软复位?
此外、您能否验证 SGMII 连接是否有交流耦合电容器(0.1uF)? 如果没有电容器、则可能会影响信号完整性。
如果可能、您还能否探测 SGMII 数据线以查看信号是否正确发送和接收?
如果发送和接收了 SGMII 信号、我认为我们可以尝试将其中一个 PHY 运行到环回模式、以找出根本原因。
请告诉我。
此致、
j
尊敬的 J:
我们现在尝试将我们的原型与另一家公司的产品集成在一起。 目前、我们在设备之间建立连接时遇到了问题。
拓扑如下:
在与我们的原型集成之前、我们执行了一些测试:
-"SGMII<>铜质"适配器在 SGMII 背对背配置中进行了测试。
-"网络接入点"也进行了测试。 不过、它们使用了实现不同 PHY 的专有 SGMII<>铜缆转换器。
基本上、当我将所有设备连接在一起时、我无法从 PC0<>PC1或 PC1<>PC0获取任何数据包。
通过读取两个 PHY 的寄存器0x37、我一直看到0x0。 因此、我认为问题在于"网络接入点"上 PHY 与微处理器之间的 SGMII 链路。
此外、我想提一下、安装在"网络接入点"上的微处理器是一个未实现 MAC 的 FPGA。 相反、它实现 SGMII<>GMII 转换、然后通过 HSDN (光纤)传输 GMII 级以太网数据包。
在测试时、我尝试禁用 SGMII 自动协商以及 MDI 自动协商、但没有成功的组合使 SGMII 链路正常工作。
您是否有此类拓扑的经验、或者可能有一些配置需要进一步测试?
此致、
David
您好、David:
很高兴听到您能够解决之前的问题。
即使没有 MAC、我也看到了有效的 SGMII 连接发生。 我们测试了使用 DP83867EVM 将 SGMII 重新连接回来、并将铜侧连接到两台不同的 PC、即使我必须强制在 PC 上建立链路、我们也能 ping 通。
能否验证两个网络接入点之间是否有链接?
此外、您能否强制在两台 PC 之间建立链路?
此外、连接铜缆后、您是否会看到链路状态 LED 发生变化? 无论 MAC 如何连接到 FPGA、链路状态 LED 都应变为高电平。
请告诉我。
此致、
j
您好、J、我的评论如下:
"您能否验证两个网络接入点之间是否有链接?"
该部件在理论上已经过测试、并确认它是由两个网络接入点的供应商提供的。 他们委托并使用自己的 SGMI<>铜缆适配器发送/接收软件包。
经过验证后、我们安装了 SGMII<>铜缆适配器(安装 DP83869HM)、我们无法让网络再正常工作。
"另外、您能强制两台 PC 之间建立链路吗?"
您能解释一下如何操作吗?
"另外、连接铜线后、您是否看到链路状态 LED 发生变化? 无论 MAC 连接到 FPGA、链路状态 LED 都应变为高电平。"
当我将电缆连接到适配器时、可以看到链路接通 LED 一直亮起。 此外、当我从一台 PC ping 另一台 PC 时。 可以看到 TX/RX LED 闪烁。 但是、如果对 CMD 执行 ARP 命令、我就看不到任何 ping 或 MAC 地址。
此致
David
您好、David:
感谢您的反馈。
"另外、是否可以强制在两台 PC 之间建立链路?"
您能解释一下如何做到这一点吗?
在 Linux 操作系统上、我意识到即使 LED 亮起、我发现操作系统未检测到链路。 我检查了以太网端口上的 ethtool 命令、如果未检测到链路、则必须使用 ethtool 强制建立链路。 我没有使用 Windows 检查链接、因此我不确定 Windows 上是否存在此类选项。
此外、您是否可以再次尝试启用 SGMII 自动协商、并更改 SGMII 自动协商计时器?
这可以使用寄存器31h[6:5]进行配置。
此外、当没有链路时、您是否看到寄存器37h 的位1变为高电平? 如果从 MAC 接收到新的自动协商页面、则该位为确认位。 我已经看到、第一次读取时此位为1、无论自动协商状态如何、如果在 PHY 上收到新页面、此位在第一次读取后会降至0。
请告诉我这是否有效。
此致、
j
我已将 PC0和 PC1设置为100 Mbps 和半双工。
然后、我将寄存器0x31设置为0x10F0。
然后、将0x4000设置为0x001f、重新启动 SGMII 链路。
这两个 PHY 0x37上始终为0、并且没有从一个 PHY 到另一个 PHY 的 ping。
我尝试了相同的方法、但两台 PC 的速度都是100Mbps、全双工。
情况相同、寄存器0x37始终为0。
我相信、由于我使用寄存器0x18将其中一个 LED 设置为在100BaseTX 链路建立时亮起、因此 MDI 侧的链路一直在工作。
寄存器0x37。 始终为0。 我尝试在下电上电之后和软重启之后(使用寄存器0x001f)继续读取它。
它始终为零。