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.

[参考译文] DP83825I:以太网通信问题(PHY 与 STM32H757XI 一起使用)

Guru**** 2501325 points
Other Parts Discussed in Thread: DP83825I

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1556250/dp83825i-ethernet-communication-problem-phy-used-with-stm32h757xi

器件型号:DP83825I


工具/软件:

尊敬的 TI 团队:

我们将 STM32H757 微控制器与 DP83825I phy(通过 RMII 接口链接在一起)搭配使用、其中该 phy 链接到 25MHz 石英、以便能够为 CPU 提供 50MHz 基准时钟。 当以太网电缆插入 RJ45 连接器(具有集成磁性元件的 RJ45)时、会发生一些通信损耗。 我们使用 phy 给出的参考时钟检查了 MDIO + MDC 信号和 RX0-1/TX0-1 信号、一切似乎都正常(与连接到 NXP 的 LPC54606 微控制器的其他电路相比、该 PHY 链接到该微控制器并正常工作)。

但是、在检查寄存器配置时、我们注意到一些未由我们程序配置的寄存器(例如 LEDCR、MLEDCR 和 PHYSTS)没有数据表指定的默认值。 因此、激活的 LED(链接在 phy 的 LED0 物理引脚上)“默认“具有反极性 (LEDCR 寄存器的位 7 默认为 1、而不是 0)。

请在附件中找到有关 PHY 接线的原理图:

   

(没有填充划线的元件)

非常感谢、

此致、

Benjamin

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    嗨、Benjamin、  

    LED0 会根据 Strap 配置自动设置极性。 如果 LED0 在功率斜升时被拉低、LED0 将变为高电平有效、反之亦然。 LED0 在原理图中似乎被拉低了。 这将导致 LED0 极性为高电平有效、而不是低电平有效。  

    此致、
    j

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 J:

    感谢您的回答。

    实际上、它似乎解决了 LED 问题(不是以太网通信问题)、但在数据表的“搭接配置“部分中写道、该引脚用于启用或不启用自动协商功能、而不是 LED 极性、这就是我焊接下拉电阻器的原因(现在,我们的程序将通过写入寄存器启用自动协商功能)。

    此致、

    Benjamin

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    嗨、Benjamin、  

    您是对的。 但是、strap 配置也会影响 LED0 的极性。  
    您能否说明存在哪种通信损失? 测试和设置是什么? 发生频率如何? 这是针对特定链路伙伴还是所有链路伙伴发生的?

    此致、
    j

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 J:

    首先、我通过计算机上的 Windows 命令提示符向器件的 IP 地址发送了 ping。 焊接了 phy 的器件有时会应答、有时甚至会应答、在多次失败后、我在命令提示符窗口中收到反馈、表明它无法到达 IP 地址处的元素。

    带有 phy 和我的计算机的设备链接到 MikroTik 或 Cisco 交换机(例如 Mikrotik 的 Hap mini 和 hapac2)   。 所有链路伙伴都会进行同步。

    此致、

    Benjamin

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    嗨、Benjamin、  

    感谢您的意见。 您是否检查了 ping 失败时 PHY 是否处于活动状态?  
    您能否验证 PHY 的电源是否存在、时钟是否正在馈送到 PHY 中? 当 PHY 未响应 ping 时、您能否访问寄存器?

    此外、您是否尝试过直接链接 PC 和 PHY 以查看是否能够始终获得响应?  

    请告诉我。  

    此致、
    j

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 J:

    我们已经检查了与 PHY 通信的所有这些方面(检查了电源压降,石英信号形成,从 PHY 到 CPU 的 RMII 基准时钟信号、RMII RX0-1/TX0-1 信号、MDC 和 MDIO 信号)。

    我们可能有一个新的 查询行、我们目前正在检查、如果它解决了我们的问题、我将向您提供反馈。

    此致、

    Benjamin

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    嗨、Benjamin、  

    查看数据路径是否有任何问题的另一种方法是使用环回模式。
    您可以在 DP83825 上使用反向环回模式来查看从链路伙伴到 DP83825 是否存在任何数据包丢失。
    此外、您可以使用 MII 环回来验证 MII 路径上是否有任何数据丢失。  

    可 通过设置 BISCR (16h) 第[4]位来启用反向环回。
    通过 设置 BMCR (0h) 中的位[14]和 BISCR (16h) 中的位[2]、可以启用 MII 环回。

    如果在 DP83825 上执行 MII 环回和反向环回后未检测到问题、我建议将 PHY 直接链接到 PC 并进行 ping、因为这似乎是网络路由问题。

    此致、
    j