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 背对背 PHY 配置问题

Guru**** 2393725 points


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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1510147/dp83869hm-sgmii-back-to-back-phy-configuration-issue

器件型号:DP83869HM
主题:DP83869中讨论的其他器件

工具/软件:

您好、

我目前正在对一个设计进行故障排除、我们试图在 SGMII 背对背配置中使用 PHY 在两个 FPGA 之间建立单向通信。 通过断开与正在传输数据的 FPGA 相对应的 RX SGMII 差分对来强制进行单向通信。

我们已经使用示波器探测 FPGA 的 TX 时钟信号、测得的频率为125 MHz。 这是正确的、因为 MAC 接口的配置链路速度为1000Mbps。 PHY 的 RX 时钟信号的频率为2.5 MHz、我假设这意味着未建立链路或发生其他一些问题。

请参阅下面的问题列表。

1.这种 SGMII 背对背配置是否可行?

2.  PHY 之间连接的4个信号中只有2个可以正常工作吗?

3.是否需要任何特殊的寄存器配置才能使其正常工作? 我在一篇旧论坛帖子中读到、其中提到需要禁用自动协商功能。

4、实现 MII 环回模式的工作步骤是什么? 我无法使该模式正常工作。

 

谢谢、

Jean

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

    尊敬的 Jean:

    1.在 DP83869上使用 SGMII-RGMII 桥接模式时、该方框图看起来是可行的、但 您不应断开 SGMII 接收线。 SGMII 和 RGMII 都是双向接口。 强制它们是单向的、可能会违反其规格

    2.否,您应该将发送和接收线路都连接到 PHY 以正确地进行数据传输。

    3.我也看到了该线程,但是最近的线程指出,不需要禁用自动协商。 您应该不必禁用自动协商、即可使 SGMII 背对背工作。

    4.要使 MII 环回正常工作、应该将寄存器0x0000 [14]设置为"1"。 该寄存器是否不写入系统中 MII 线路上的环回数据?

    Unknown 说:
    PHY 的 RX 时钟信号的频率为2.5 MHz、我假设这意味着尚未建立链路或存在其他一些问题。

    这很奇怪。 处于125MHz 模式时、RX_CLK 应从 PHY 输出一个 RGMII 时钟。 您能分享该设计的原理图吗? 我可以查看实施问题。

    此外、您能否详细说明一下为什么要强制进行单向 SGMII 连接? 我并不知道以前使用我们的任何 PHY 都这样做了。

    此致、

    Shane

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

    嗨、Shane、

    很遗憾、我无法分享此设计的原理图。  

    我们能够验证 PHY 是否配置为 SGMII-RGMII 桥接模式。 对电路板进行了修改、使得每个 PHY 的 SGMII 线路通过跳线连接到具有 SFP 端口的另一个电路板。 我们在 Linux 计算机上使用 packeth 和 Wireshark 来发送/监控进出端口的网络流量。 我认为该测试确认 PHY 的 Strap 配置正确、并且 RGMII 接口没有时序问题。

    下面还列出了几个问题。

    1.当 PHY 设置为在桥接模式下工作时、如何建立链路?  

    2.是否可以通过寄存器强制建立链路?

    谢谢、

    Jean

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

    尊敬的 Jean:

    在 RGMII-SGMII 模式下、 RGMII 接口将调整到 SGMII 接口速度。 SGMII 接口速度将通过 SGMII 自动协商来确定。 在此模式下、如果 SGMII 侧没有链路、RX_CLK 将默认为2.5MHz。 我相信这就是您之前看到的情况:

    在 SGMII-RGMII 模式下、角色会相反。 SGMII 接口会进行调整以满足 RGMII 接口速度、因此首先需要建立 RGMII 链路。

    是否可以通过注册表强制链接?

    强制链路是指禁用 SGMII 自动协商吗? 这可以通过 SGMII_AutoNeG_EN 寄存器来实现:

    此致、

    Shane

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

    在 DP83867的故障排除指南中、第3.5节提到了如何解决以1G 速度运行的两个 PHY 之间的链路建立问题。 这些解决方案是否也适用于 DP83869器件? 我想将一个 PHY 配置为主器件、另一个配置为主器件、然后通过 MDIO 寄存器执行软复位。 目前、我们原型板上的两个 PHY 的活动 LED 都闪烁、但没有建立链路。

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

    尊敬的 Jean:

    是的、这些解决方案适用于 DP83869、但它们旨在帮助解决 MDI 侧链路建立问题。 由于您使用 SGMII-RGMII 桥接模式、因此链路发生在 SGMII 上、而不是 MDI (铜缆)线路。 您如何检查 DP83869上的链路状态(LED_0/Register/...)?

    您能否检查 SGMII 布线是否正确?

    此致、

    Shane

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

    嗨、Shane、

    我将尝试通过寄存器检查链路状态。 我认为 SGMII 路由是正确的、因为我们同时收到了两个 PHY 的活动灯。 PCB 上的 SGMII 信号布线长度约为6英寸。 我将读取指示链路状态(01h)的寄存器并发布我读回的任何内容。 我是否应该检查任何有助于解决此问题的寄存器?

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

    尊敬的 Jean:

    我自己的理解是、SGMII 链路是否未建立的问题? 我想知道您看到 DP83869存在什么症状、导致出现问题(ping 不工作/数据包错误/无链路/...)

    如果 SGMII 链路存在问题、最好查看寄存器0x0037 [0]以检查 SGMII 自动协商是否完成。

    此外、在 MII 桥接模式下、链路状态不会显示在01h 中。 若要查看正确的链路状态、请检查寄存器0x0C01 [2]:

    如果您怀疑 SGMII 是问题、我们有一个文档提供了 SGMII 接口调试技巧

    此致、

    Shane

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

    您好 Shane、您是否知道这些 PHY 中的两个是否甚至可以通过 SGMII 重新连接、并将它们绑定为 SGMII-RGMII 模式?

    设置如下:

    - FPGA A 的 EMAC 通过 RGMII 连接到 PHY A

    - PHY A 通过 SGMII 连接到 PHY B

    - PHY B 通过 RGMII 连接到 FPGA B 的 EMAC

    -两个 PHY 都配置为 SGMII-RGMII 模式。

    这样的设置是否适用于这些 PHY?

    谢谢、

    Phillipe

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

    尊敬的 Phillipie:

    是此配置有效。

    我不清楚您看到的问题是什么。 我看到的唯一症状是 RX_CLK 信号为2.5MHz、这是 RGMII-SGMII 模式下的预期症状。

    此致、

    Shane

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

    好的。 感谢您确认我们的设置是否有效。

    我将提供更多背景信息。

    - RGMII-SGMII 模式:我们通过读取寄存器0x1DF 来确认这两个模式的搭接。

    -我们通过写入寄存器0xC00关闭了自动协商。 我们注意到链路 LED 亮起、每当我们尝试发送流量时、活动 LED 都会闪烁、因此取得了一些进展。 我们还测量了 RX_CLK 为125MHz。

    但是、我们无法在 FPGA 内的 EMAC 两端接收数据。

    之前、借助我们的技术、将 SGMII 接口临时连接到单独板上的 SFP 笼、我们能够确认 FPGA 的 EMAC 和 PHY 之间的 RGMII 接口是否正确。 我们能够向机架中的 SFP 模块发送和接收流量。

    我们是否缺少实现两个 PHY 正确通信的步骤?

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

    两个连接的 PHY 或只有一个 PHY 的链路和活动 LED 是否亮起?

    听起来 RGMII->SGMII 连接正常、因此下一步是检查 SGMII->SGMII 连接。 如果两个 PHY 都显示链路接通、则此设置应有效。 为了确认这一点、我建议同时读取两个 PHY 中的 STTS_LINK_STATUS 寄存器。

    此致、

    Shane

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

    我们确实读取了状态寄存器0xC01、并且报告两个 PHY 的链路均已接通。

    链路指示灯稳定亮起。

    当我们尝试发送流量时、活动 LED 指示灯正在闪烁。

    您认为我们可能错过了其他步骤吗?

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

    SGMII 链路看起来正常、活动 LED 显示数据正在通过。 您是否尝试从一个 MAC ping 另一个 MAC、或者您是否在一端生成数据包并在另一端进行检查?

    接收 MAC 是否显示数据包丢失或根本没有数据包?

    此致、

    Shane

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

    是的、我正在从一个 MAC 发送数据包、并在另一个 MAC 上进行检查、但我们没有收到数据包

    任何数据包。

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

    SGMII 链路建立后(LED 稳定亮起)、两个 PHY 的 RX_CLK 输出是否仍为2.5MHz?

    当 SGMII 上没有链路时、预计会有2.5MHz、但 SGMII 链路建立后、速度应会增加

    此致、

    Shane

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

    嗨、Shane、

    我有一个与镜像模式相关的单独问题。 如果我将 PHY 配置为 SGMII 转铜缆模式、启用镜像模式是否仅影响 MDI 信号极性、或者也是否影响 SGMII 信号? 基本上、如果我启用了此模式、是否需要交换进入 PHY 的 TX 或 RX SGMII 线路的极性?

    谢谢、

    Jean

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

    尊敬的 Jean:

    镜像模式仅适用于 MDI 接口。 RGMII 和 SGMII 都不会受到影响。

    这就是为什么在桥接模式下重新使用镜像模式启用 strap 配置的原因:

    此致、

    Shane