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.

[参考译文] DP83867CS:帮助使用三个 PHY 元件连接到同一 I2C MDIO 线路

Guru**** 2526340 points


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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1552771/dp83867cs-help-with-using-three-phy-components-connected-to-the-same-i2c-mdio-lines

器件型号:DP83867CS


工具/软件:

您好:

我的团队设计了一个具有三个以太网连接的电路板、这意味着它包括三个 PHY 元件 DP83867、它们都连接到相同的 MDIO 线路、但地址不同 (4、8、12)。
此外、该板还具有一个运行 Linux 操作系统的处理器、可与板上的组件进行通信。
当主板通电时、所有三个以太网端口均可成功通信、但运行几小时后、其中一个端口停止通信、操作系统会输出以下消息:

[ 1047.865770] TI DP83867 ff0b0000.ethernet-ffffffff:04: Master/Slave resolution failed

发生这种情况后、不再能够通过 MDIO 线路访问 PHY。

您能帮助我们找出如何防止此问题吗?

注意–在我们设计的同一电路板上、还有一个采用 Linux 操作系统的处理器、其中连接了两个 PHY 组件(即两个以太网端口)、它们共享同一条 I2C MDIO 线路但具有不同的地址 (4、8)、在这种情况下我们根本不会遇到该问题。

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

    您好、  

    如果 PHY 复位、MDIO 访问是否会恢复、并且在此错误发生后、PHY 在 Linux 上是否仍可检测到?
    另外、这种情况的发生频率如何?
    您能给我们提供有关 PHY 的自举配置的更多详细信息吗?  

    此致、
    j

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

    重置可解决问题、
    该问题经常出现(每天一次)。

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

    尊敬的 Shira:  
    哪个 PHY 即将过期? 此外、在错误语句之后、是否可以在 Linux 上检测到有问题的 PHY?
    似乎所有 PHY 都处于相同的 strap 配置设置、唯一的区别是 PHY 地址。  

    Linux 端是否有任何其他日志? 您还能分享一下原理图、以便我们更好地看看这个问题吗?  
    目前、似乎它可能导致其中一个电压轨上的电源骤降、从而导致 PHY 卡在不良状态。  

    当 PHY 进入不良状态时、您能否探测 RBIAS 引脚并查看它是否正在输出 1V、您能否检查当 PHY 处于不良状态时 XI 引脚是否有时钟进入?

    此致、
    j

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

    您好、

    哪个 PHY 死不是永久的,当 phy 死 Linux 不能与 phy 通信,但与其他 phy 它做.  

    Linux 日志-

    dmesg | grep eth0 -
    [2.791714] macb ff0b0000.Ethernet eth0:adence gem rev 0x50070106、0xff0b0000 IRQ 60 (00:0A:35:16:C7:BE)
    [ 10.100274] macb ff0b0000.Ethernet eth0:PHY [ff0b0000.Ethernet-ffffffffff:0c]驱动程序[TI DP83867](IRQ=POLL)
    [ 10.100311] macb ff0b0000.Ethernet eth0:配置 phy/SGMII 链路模式
    [ 14.182864] macb ff0b0000.Ethernet eth0:无法生成目标频率:125000000 Hz
    [14.184424] macb ff0b0000.Ethernet eth0:链路接通 — 1Gbps/full — 流控制关闭
    [14.184466] IPv6:ADDRCONF (NETDEV_CHANGE):eth0:链路准备就绪

    dmesg | grep eth1 -
    [ 2.818679] macb ff0d0000.Ethernet eth1:cadence gem rev 0x50070106、地址为 0xff0d0000 IRQ 61 (00:C1:BE:33:00:17)
    [ 10.016515] macb ff0d0000.Ethernet eth1:PHY [ff0b0000.Ethernet-ffffffffff:08]驱动程序[TI DP83867](IRQ=POLL)
    [ 10.016546] macb ff0d0000.ethernet eth1:配置 phy/SGMII 链路模式
    [ 14.118845] macb ff0d0000.Ethernet eth1:无法生成目标频率:125000000 Hz
    [14.120428] macb ff0d0000.ethernet eth1:链路接通 — 1Gbps/full — 流控制关闭
    [14.120471] IPv6:ADDRCONF (NETDEV_CHANGE):eth1:链路准备就绪

    dmesg | grep eth2 -
    [ 2.852286] macb ff0e0000.Ethernet eth2:cadence gem rev 0x50070106、地址为 0xff0e0000 IRQ 62 (9e:3e:21:13:ea:5c)
    [ 9.992175] macb ff0e0000.ethernet eth2:无法连接 PHY(–19)

    原理图 -

    所有电源轨对于所有 PHY 都是通用的、因此如果电源出现问题、它会影响所有 PHY。
    我检查了 PHY 在发送 RBIAS= 1V 时的情况、XI 引脚中存在时钟。

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

    尊敬的 Shira:

    为了确认、这三个 PHY 中的任何一个可能在运行时死亡?
    此外、您可以发送质量更高的原理图图片或文件吗? 我不能阅读当前质量的信件。  

    我对为什么会发生这种情况有一些假设:
    1. MDIO 总线负载过高、三个器件不满足设置/保持时间规格、从而导致 PHY 从 Linux 中丢弃。 为此、我建议将 MDIO 上拉电阻器切换到较低的电阻、看看这是否是导致这种情况的原因。 当 PHY 从 Linux 丢弃时、您可以使用 MSP430 Launchpad 与有问题的 PHY 进行通信、以检查 PHY 是否响应 MSP430 的 MDIO 读取/写入。 当 MSP430 LaunchPad 驱动总线时、请确保 Linux 不会驱动 MDIO 总线。  
    2.可能的功率骤降。 如前所述、它们都共享同一电源轨、电源骤降会导致 PHY 卡在不良状态而无法恢复。 三个 PHY 中的任何一个都可能进入错误状态。 您能否尝试将电路板放置在示波器上并查看是否存在功率骤降?

    请告诉我。  

    此致、
    j


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

    您好、
    我们在 MDIO 线路上添加了一个上拉电阻
    我会更新,如果这有帮助,谢谢!

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

    尊敬的 Shira:

    请让我了解最新信息。 请注意、MDIO 线路需要通过 MDIO 总线协议实现 1.5k 至 2.2k 的上拉电阻。

    此致、
    j

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

    您好、
    添加上拉电阻没有帮助...
    您是否对解决方案有其他想法?
     原理图的链接-
    每个以太网连接有 3 张不同地址的图片
    https://imgur.com/a/XHzolxd

    谢谢

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

    尊敬的 Shira:  

    您是否尝试过使用不同的 MDIO 驱动器(如 MSP430 Launchpad)驱动有问题的 PHY?

    当从 Linux 丢弃 PHY 时、您可以使用 MSP430 Launchpad 与有问题的 PHY 进行通信、从而查看 PHY 是否对 MSP430 的 MDIO 读取/写入做出响应。 当 MSP430 LaunchPad 驱动总线时、请确保 Linux 不会驱动 MDIO 总线。  [/报价]

    另外、您是否检查过是否存在任何可能导致这种情况的功率骤降?

    此致、
    j

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

    您好、
    我无法连接 MSP430、因为我们使用的 是定制电路板、MDIO 线路连接到 zynqMP (FPGA Xilinx)、因此无法断开线路连接到另一个驱动器。
    我们检查过没有功率骤降。

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

    尊敬的 Shira:

    美国办事处在 9 月 1 日假期关闭。 我会在 9 月 2 日美国时间回来的。

    此致、

    j

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

    尊敬的 Shira:
    您是否可以使用 phytool 来读取/写入有问题的 PHY?

    我在内部讨论了这一点、很遗憾您无法访问 MDIO 总线。 如果能够以某种方式发生这种情况、这对调试会非常有帮助。  
    如果这是总线上的负载问题、在 MDIO 上使用 1.5k Ω 电阻器可能会解决该问题。 您还可以尝试在 MDC 上添加 1.5k Ω 电阻器以确保具有正确的上拉电阻器。 您也可以尝试一下吗?

    此致、
    j

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

    您好、
    我使用的是 phytool、但当端口停止处于运行状态时、无法与端口的地址进行通信(我仍然可以与其他端口地址通信)。
    我们添加了上拉电阻、但问题仍然发生。

    我们注意到的另一件事是、 操作系统报告断开连接并能够重新启动端口、直到某个时候它无法再恢复端口-
    dmesg | grep eth
    [0.000000] psci:探测 DT 的导管方法。
    [ 1.335494] usbcore:注册的新接口驱动程序 CDC_ether
    [ 2.786037] macb ff0b0000.ethernet:未启用部分存储和转发
    [2.795820] macb ff0b0000.Ethernet eth0:adence gem rev 0x50070106 at 0xff0b0000 IRQ 60 (00:0A:35:16:C7:BE)
    [ 2.806130] macb ff0d0000.ethernet:未启用部分存储和转发
    [2.822881] macb ff0d0000.Ethernet eth1:cadence gem rev 0x50070106、地址为 0xff0d0000 IRQ 61 (00:C1:BE:33:00:17)
    [ 2.833332] macb ff0e0000.ethernet:未启用部分存储和转发
    [2.850306] macb ff0e0000.Ethernet eth2:cadence gem rev 0x50070106、地址为 0xff0e0000 IRQ 62 (00:C1:BE:33:00:18)
    [ 10.97951] macb ff0d0000.Ethernet eth1:PHY [ff0b0000.Ethernet-ffffffffff:08]驱动程序[TI DP83867](IRQ=POLL)
    [ 10.979390] macb ff0d0000.ethernet eth1:配置 phy/SGMII 链路模式
    [ 10.980569] macb ff0d0000.ethernet:gem-ptpk-timer PTP 时钟已注册。
    [ 10.995575] macb ff0e0000.Ethernet eth2:PHY [ff0b0000.Ethernet-ffffffffff:04]驱动程序[TI DP83867](IRQ=POLL)
    [ 10.995611] macb ff0e0000.ethernet eth2:配置 phy/SGMII 链路模式
    [10.996753] macb ff0e0000.Ethernet: gem-ptpk-timer PTP 时钟已注册。
    [ 11.095610] macb ff0b0000.Ethernet eth0:PHY [ff0b0000.Ethernet-ffffffffff:0c]驱动程序[TI DP83867](IRQ=POLL)
    [ 11.095645] macb ff0b0000.Ethernet eth0:配置 phy/SGMII 链路模式
    [ 11.124201] macb ff0b0000.ethernet:已注册 gem-ptpk-timer PTP 时钟。
    [ 13.031203] macb ff0e0000.ethernet eth2:无法生成目标频率:25000000 Hz
    [13.032779] macb ff0e0000.ethernet eth2:链路接通 — 100Mbps/full — 流量控制关闭
    [13.032820] IPv6:ADDRCONF(NETDEV_CHANGE):eth2:链路准备就绪
    [ 15.079071] macb ff0d0000.Ethernet eth1:无法生成目标频率:125000000 Hz
    [15.080660] macb ff0d0000.Ethernet eth1:链路接通 — 1Gbps/full — 流控制关闭
    [15.080700] IPv6:ADDRCONF(NETDEV_CHANGE):eth1:链路准备就绪
    [ 15.174951] macb ff0b0000.ethernet eth0:无法生成目标频率:125000000 Hz
    [15.176538] macb ff0b0000.ethernet eth0:链路接通 — 1Gbps/full — 流控制关闭
    [15.176575] IPv6:ADDRCONF (NETDEV_CHANGE):eth0:链路准备就绪
    [40.678987] macb ff0e0000.ethernet eth2:链路断开
    [ 41.703114] macb ff0e0000.ethernet eth2:无法生成目标频率:25000000 Hz
    [41.703746] macb ff0e0000.ethernet eth2:链路接通 — 100Mbps/full — 流量控制关闭
    [76.518923] macb ff0d0000.ethernet eth1:链路断开
    [77.542987] macb ff0d0000.ethernet eth1:无法生成目标频率:125000000 Hz
    [77.543623] macb ff0d0000.ethernet eth1:链路接通 — 1Gbps/full — 流控制关闭
    [78.566858] macb ff0e0000.ethernet eth2:链路断开
    [ 79.590967] macb ff0e0000.ethernet eth2:无法生成目标频率:25000000 Hz
    [79.591597] macb ff0e0000.ethernet eth2:链路接通 — 100Mbps/full — 流量控制关闭
    [ 80.614869] macb ff0e0000.ethernet eth2:链路中断
    [ 81.638933] macb ff0e0000.Ethernet eth2:无法生成目标频率:25000000 Hz
    [81.639558] macb ff0e0000.Ethernet eth2:链路接通 — 100Mbps/full — 流量控制关闭
    [ 212.709758] macb ff0e0000.ethernet eth2:链路断开
    [ 213.733744] macb ff0e0000.ethernet eth2:无法生成目标频率:25000000 Hz
    [213.734371] macb ff0e0000.Ethernet eth2:链路接通 — 100Mbps/full — 流量控制关闭
    [ 222.949702] macb ff0e0000.ethernet eth2:链路中断
    [ 223.973812] macb ff0e0000.Ethernet eth2:无法生成目标频率:25000000 Hz
    [223.974437] macb ff0e0000.ethernet eth2:链路接通 — 100Mbps/full — 流量控制关闭
    [ 236.261565] macb ff0d0000.ethernet eth1:链路断开
    [ 237.285864] macb ff0d0000.ethernet eth1:无法生成目标频率:125000000 Hz
    [ 237.286500] macb ff0d0000.Ethernet eth1:链路接通 — 1Gbps/full — 流控制关闭
    [ 238.309522] macb ff0e0000.ethernet eth2:链路断开
    [ 239.333782] macb ff0e0000.ethernet eth2:无法生成目标频率:25000000 Hz
    [ 239.334410] macb ff0e0000.ethernet eth2:链路接通 — 100Mbps/full — 流量控制关闭
    [258.789508] macb ff0e0000.ethernet eth2:链路断开
    [ 259.813553] macb ff0e0000.ethernet eth2:无法生成目标频率:25000000 Hz
    [259.814180] macb ff0e0000.ethernet eth2:链路接通 — 100Mbps/full — 流量控制关闭
    [316.132579] macb ff0e0000.ethernet eth2:链路断开
    [317.156648] macb ff0e0000.ethernet eth2:无法生成目标频率:25000000 Hz
    [317.157275] macb ff0e0000.Ethernet eth2:链路接通 — 100Mbps/full — 流量控制关闭
    [ 333.540312] macb ff0e0000.Ethernet eth2:链路中断
    [ 334.564426] macb ff0e0000.ethernet eth2:无法生成目标频率:25000000 Hz
    [334.565054] macb ff0e0000.ethernet eth2:链路接通 — 100Mbps/full — 流量控制关闭
    [416.48357] macb ff0e0000.ethernet eth2:链路断开
    [417.507706] macb ff0e0000.Ethernet eth2:无法生成目标频率:25000000 Hz
    [417.508335] macb ff0e0000.Ethernet eth2:链路接通 — 100Mbps/full — 流量控制关闭
    [418.531616] macb ff0e0000.ethernet eth2:链路断开
    [419.555685] macb ff0e0000.ethernet eth2:无法生成目标频率:25000000 Hz
    [419.556311] macb ff0e0000.Ethernet eth2:链路接通 — 100Mbps/full — 流量控制关闭
    [ 488.163099] macb ff0e0000.ethernet eth2:链路断开
    [ 489.187242] macb ff0e0000.ethernet eth2:无法生成目标频率:25000000 Hz
    [489.187872] macb ff0e0000.ethernet eth2:链路接通 — 100Mbps/full — 流量控制关闭
    [ 656.096891] macb ff0d0000.ethernet eth1:链路断开
    [ 657.120965] macb ff0d0000.ethernet eth1:无法生成目标频率:125000000 Hz
    [ 657.121599] macb ff0d0000.ethernet eth1:链路接通 — 1Gbps/full — 流控制关闭
    [ 681.696600] macb ff0d0000.ethernet eth1:链路断开
    [ 682.720673] macb ff0d0000.ethernet eth1:无法生成目标频率:125000000 Hz
    [ 682.721307] macb ff0d0000.Ethernet eth1:链路接通 — 1Gbps/full — 流控制关闭
    [ 794.335486] macb ff0e0000.ethernet eth2:链路断开
    [795.359602] macb ff0e0000.ethernet eth2:无法生成目标频率:25000000 Hz
    [795.360227] macb ff0e0000.ethernet eth2:链路接通 — 100Mbps/full — 流量控制关闭
    [ 1002.205852] macb ff0e0000.ethernet eth2:链路断开
    [ 1003.22990] macb ff0e0000.ethernet eth2:无法生成目标频率:25000000 Hz
    [1003.230619] macb ff0e0000.ethernet eth2:链路接通 — 100Mbps/full — 流量控制关闭
    [ 1152.731751] macb ff0e0000.ethernet eth2:链路断开
    [ 1153.755794] macb ff0e0000.Ethernet eth2:无法生成目标频率:25000000 Hz
    [1153.756421] macb ff0e0000.Ethernet eth2:链路接通 — 100Mbps/full — 流量控制关闭
    [1880.788155] macb ff0e0000.ethernet eth2:链路断开
    [ 1881.812271] macb ff0e0000.Ethernet eth2:无法生成目标频率:25000000 Hz
    [1881.812900] macb ff0e0000.Ethernet eth2:链路接通 — 100Mbps/full — 流量控制关闭
    [ 2091.731235] macb ff0e0000.ethernet eth2:链路断开
    [ 2092.755369] macb ff0e0000.ethernet eth2:无法生成目标频率:25000000 Hz
    [2092.755995] macb ff0e0000.ethernet eth2:链路接通 — 100Mbps/full — 流量控制关闭
    [ 2249.429005] macb ff0e0000.ethernet eth2:链路断开
    [ 2250.453165] macb ff0e0000.Ethernet eth2:无法生成目标频率:25000000 Hz
    [ 2250.453793] macb ff0e0000.Ethernet eth2:链路接通 — 100Mbps/full — 流量控制关闭
    [ 2806.486934] macb ff0e0000.ethernet eth2:链路断开

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

    尊敬的 Shira:  

    您能否在 PHY 处于问题状态时探测 CLKOUT 是否产生任何 CLK? 此外、链路不断上升和下降似乎并不正常。 这看起来不像是 MDC/MDIO 问题。 当操作系统上的链路上升和下降时、是否发生任何连接更改? 此外、 是否始终是从 FPGA 中丢弃的 eth2? 我最初知道任何随机的 PHY 都将从 Linux 中丢弃、但看起来始终是 eth2 导致问题。  

    最后、如果 eth2 被禁用、然后将电路板置于系统下、其他 PHY 是否会从 Linux 中丢弃? 如果这是 MDIO/MDC 负载问题、该测试应排除 MDC/MDIO 问题、并且 PHY 中还发生了其他问题?

    此致、
    j

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

    当 eth2 不工作/不运行时、CLKOUT(发生故障的 PHY 的)仍会产生 CLK 频率 25MHz。

    在运行时(操作系统正在打印消息时)、我们没有更改任何内容、也没有触摸电缆。

    我们有多块电路板、每块电路板上都有不同的以太网端口、这会导致问题。 我总是从一个特定的板发送消息,其中 eth2 不能正常工作。

    当我在操作系统上禁用 eth2 时、操作系统未打印断开连接消息。

    因此、该问题确实与 MDIO/MDC 负载问题无关。

    您能就问题所在提出更多的想法吗?

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

    尊敬的 Shira:  

    我懂了。 您是否尝试过重新焊接有问题的 PHY 或连接器? 我想这是否可能是焊接问题、因为这是在多个电路板上发生的、每个电路板上不同的端口都会出现问题。 基于连接不断上升和下降的事实、我想知道焊接是否做得不正确。  

    请告诉我您的想法。  

    此致、
    j