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.

[参考译文] DP83869HM:SGMII SERDES 同步有时会失败

Guru**** 2443540 points
Other Parts Discussed in Thread: DP83869HM

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1341452/dp83869hm-sgmii-serdes-sync-fails-sometimes

器件型号:DP83869HM

我们在 Intel Elkhart Lake CPU 上使用三个 DP83869HM (SGMII 转铜缆)。


连接到 PCH 的 PHY 始终可以工作、但连接到 PSE 的另外两个似乎有时在建立 SGMII 链路时存在问题。
SERDES_SYNC_STS 寄存器中的位8 (偏移= 4Fh)为0。

重新启动同步的正确过程是什么?
此寄存器中的其他保留位意味着什么?

所有三个 PHY 的原理图相同(已由 TI 检查)。 PHY 和以太网交换机之间的以太网链路也在所有三个端口上建立。

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

    您好!

    虽然寄存器0x4F 可能是一个有用的线索、您还可以检查寄存器0x37吗? 请注意、这些寄存器是扩展寄存器、因此需要进行扩展访问、详见数据表。

    你也可以使用寄存器0x14[12]启动 SGMII 块。  

    虽然原理图可能相同、但布局和/或 MAC 可能是通信出错的来源、尤其是 PCH (您能否提供相关定义?) 连接正常。

    您能否检查所有3个设计之间的寄存器0x6E 以确保 PHY 已正确捆绑?

    应用手册 可能包含更多可能有用的故障排除提示。 请检查此问题、如果问题未通过本文档中的步骤解决、我们可以继续。

    此致、

    格罗姆

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

    您好 Gerome

    Intel CPU 包含一个 PCH (平台控制器集线器)、它或多或少是具有一个以太网 MAC 的 CPU 芯片组和一个 PSE (可编程服务引擎)、后者是 CPU 中的另一个子系统、包含另外两个以太网 MAC。

    这是三个 PHY 工作时的寄存器

    dwmacEndStart-0: MDIO # 0 SGMII_AUTO_NEG_STATUS       0x0000
    dwmacEndStart-0: MDIO # 0 SERDES Sync Status          0x0146
    dwmacEndStart-0: MDIO # 0 STRAP_STS Register          0x0c00

     

    dwmacEndStart-1: MDIO # 0 SGMII_AUTO_NEG_STATUS       0x0000
    dwmacEndStart-1: MDIO # 0 SERDES Sync Status          0x0156
    dwmacEndStart-1: MDIO # 0 STRAP_STS Register          0x0c00

     

    dwmacEndStart-2: MDIO # 0 SGMII_AUTO_NEG_STATUS       0x0003
    dwmacEndStart-2: MDIO # 0 SERDES Sync Status          0x0146
    dwmacEndStart-2: MDIO # 0 STRAP_STS Register          0x0c00

    ------------------

    这是不工作时的寄存器

    dwmacEndStart-0: MDIO # 0 SGMII_AUTO_NEG_STATUS       0x0000 
    dwmacEndStart-0: MDIO # 0 SERDES Sync Status          0x0290 -> not-synced, what does 90 mean?
    dwmacEndStart-0: MDIO # 0 STRAP_STS Register          0x0c00

     

    dwmacEndStart-1: MDIO # 0 SGMII_AUTO_NEG_STATUS       0x0000
    dwmacEndStart-1: MDIO # 0 SERDES Sync Status          0x0250
    dwmacEndStart-1: MDIO # 0 STRAP_STS Register          0x0c00

     

    dwmacEndStart-2: MDIO # 0 SGMII_AUTO_NEG_STATUS       0x0003 
    dwmacEndStart-2: MDIO # 0 SERDES Sync Status          0x0186 -> not-synced, what does 86 mean?
    dwmacEndStart-2: MDIO # 0 STRAP_STS Register          0x0c00 

    ------------------

    是否有扩展数据表? 我看到了其他支持问题、他们讨论的是主页数据表中未介绍的寄存器(0xd6)。

    硬件每次使用 BIOS/Win10时都能正常工作、问题出在我们使用 Coreboot/VxWorks 的目标系统上。 我们假设 Coreboot 无法正确设置某些寄存器或顺序错误、因此无法建立 SGMII 链路。   

    我还使用 MSP430 LaunchPad 进行了以太网合规性测试、三个端口都测试为10/100/1000MBit/s。   

    此致

    马丁

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

    尊敬的 Martin:

    我想少关注一些寄存器0x4F、而更多地关注寄存器0x37。 如您所见、即使未同步、SGMII 仍在 MAC2上连接。 同时、MAC1和2绝不会连接 SGMII (0x3)。  

    您声称在 BIOS 中、这个设计工作正常、而在 VxWorks 上、问题正是如此。 如果硬件完全相同但存在软件差异、则意味着某个软件正在对功能进行门控。 您能否检查两个软件在搭接方面的差异? 我还建议检查 SGMII 线路上的信令、以查看是否存在偏移。 差动探头在这种情况下会很有用。

    此致、

    格罗姆