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.

[参考译文] AM6422:AM6422 + DP83869 RGMII 调优

Guru**** 2463330 points
Other Parts Discussed in Thread: AM6422

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1474520/am6422-am6422-dp83869-rgmii-tuning

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

工具与软件:

大家好、

我是一名电子工程师、正在微调我们设计的 CPU 板、我们将按照以下配置集成一个 SoC AM6422和两个 TI DP83869以太网 PHY:

我们旨在优化 AM64和我们的以太网 PHY 之间的 RGMII 时序、我们依靠 TI 应用手册 SNLA243来指导我们的调整。

我们进行了一系列测试以了解和调整传输和接收延迟、我们希望在最终确定配置之前与您验证我们的分析。

该微调的目标是正确调整 RGMII 中的 RX 和 TX 延迟、以确保可靠的通信以及相对于数据信号的适当时钟边沿定位。

我们观察到:

  • 在上 RX 侧 ,我们成功地将 RXC 边缘集中在数据眼图中,确保了稳健的计时。
  • 在上 TX 端 ,调整似乎没有可见的效果,我们正在试图理解为什么。

为了分析这些现象,我们进行了几项详细的测试(见下文)。

️ μ A 测试和观察结果

Rx 调整和验证

通过调整设备树中的 Rx-internal-delay-ps、我们可以将 RXC 边沿置于数据眼图的中心。

下面是 RXC 和 RX_Dx 的测量值、其中最低密度曲线表示无延迟(0x00)、最密集曲线表示延迟(0x77):

 

此测量使我们能够实时观察、这确实会影响 RX 时序。

通过寄存器设置调整延迟后、得到了以下曲线:

通信是稳定的、边沿稍微位于眼图的开口部分内(白色虚线)、并且设置/保持裕度看起来是正确的。
从我们的角度来看、该配置是功能性的并经过验证。

️ μ A 测试和异常时的影响

设备树中的初始配置为:

tx-internal-delay-ps =<250>;

rx-internal-delay-ps =<2000>;

就目前情况而言、通信效果良好 Iperf (用于测试两台主机之间的带宽、吞吐量和延迟的网络性能测量工具)运行正确。

我们通过器件树和 PHY 寄存器(例如寄存器0x86)修改了 TX_DELAY 值、但在 TX 信号上观察不到可见的影响。

从 TX 眼图来看、情况似乎处于临界状态:

时钟边沿与眼图最开放的部分对齐、但它们太接近 TX_D 转换、接近设置/保持约束限制。 理想情况下、我们会将这些边沿向左移、以重新进入时序(这就像通过调整 TXC "时光倒流")。

降级测试:我们如何"中断"通信

为了更好地理解设置的影响,我们有意通过修改某些参数来干扰通信:

  • 通过在 TX 上应用显式2ns 移位、我们观察到通信完全丢失。
  • 通信变得不稳定、然后 Iperf 不再起作用。
  • 我们试图找到中间状态(在正常运行和完全失败之间)、但没有观察到任何逐渐降级的情况、只是通信正常运行或完全失败。

这让我们不禁要问、某些设置是否得到了有效考虑、以及这种通信中断的确切原因是什么。

 

我们相信我们已经理解了什么

  • RX 调优是有效的、我们可以对其进行控制。
  • 尽管对器件树和 PHY 寄存器进行了修改、但 TX 调优似乎没有任何可见的效果。
  • TX 中明确的2ns 移位会导致总通信丢失、不存在中间降级状态。

编辑: 根据我们从 TI FAE 获得的第一个反馈、我们知道 TX 延迟是一个内部延迟块、在测量中不会在物理上表现出来。 相反、它影响 PHY 芯片及其引脚之间的内部时序关系。

 更新问题部分

  1. 根据我们的测量、您是否确认我们的 TX 时序裕度可接受?
  2. 由于 TX 延迟在测量中不会在物理上表现出来、是否有其他方法可以验证我们是否正确满足设置/保持要求?
  3. 我们是否应该仅依赖于基于已知内部 TX 延迟值的理论计算、或者是否有确认正确 TX 时序的实用方法?
  4. 我们观察到、应用2ns TX 移位会导致总通信损耗、而不会出现中间性能下降。 这在 RGMII 中是预期行为吗?
  5. 考虑到在测量中无法直接观察到 TX 延迟、是否有其他优秀实践可确保实现稳健的 TX 时序?

提前感谢您的帮助和见解!

Jamel

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

    AM64x 器件不支持调节其输出信号。 有一个与 AM64x MAC 关联的保留寄存器位 允许在时钟 转换的同时启动数据、或允许在时钟转换之前的1/4周期启动数据。 由于 AM64x 器件 不支持第一个选项、因此该寄存器位默认设置为在时钟上引入内部延迟的状态。 为了使用第一个选项、AM64x 器件未进行时序闭合。 因此、 在观察 TX 数据路径时、您应该会看到固定的延迟关系。  我认为您正在进行的调整与 RGMII PHY 相关。 如果是、我希望 RX 数据路径会发生变化、但 TX 数据路径会不会发生变化、因为引入的 TX 延迟发生在 RGMII PHY 内部。

    此致、
    Paul

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

    您的 PCB 设计是否相对于 TX 数据引入了明显更高的 TX 时钟延迟?  我提出这个问题是因为我预计延迟关系会与提供的快照中显示的关系不同。 您是否校正了示波器探针、以确保其中一个探针引入的延迟不会比另一个探针更大?

    此致、
    Paul

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

    我们的 PCB 布线长度小于10cm、并且我们实现了长度匹配以确保适当的信号完整性。 这应最大限度地降低 PCB 传播延迟的影响。 但是、在检查示波器探头后、我们的初始测量值似乎出现了1.34ns 的探头延迟、这可能导致我们对 TXC 与 TX_Dx 时序的解释错误。 鉴于此、我们计划重新正确测量、以确认实际的时序关系。 感谢您的指导、这确实有助于我们澄清情况。 一旦获得更准确的数据、我们将会更新!

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

    您好、Jamel

    感谢您的更新。

    此致、

    Sreenivasa