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.

[参考译文] TMDX654IDKEVM:硬件时间戳错误- 10MBit 和100MBit 时精度差

Guru**** 2556410 points
Other Parts Discussed in Thread: TMDX654IDKEVM, DP83867IR

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1123101/tmdx654idkevm-wrong-hw-timestamps---bad-precision-with-10mbit-and-100mbit

器件型号:TMDX654IDKEVM
主题中讨论的其他器件: DP83867IRDP83869

您好!

10Mbit 和100Mbit 的硬件时间戳精度有问题。
获得的硬件时间戳的传播比1Gbit 要差得多。 对于10Mbit、扩展比100Mbit 的扩展要差10倍以上。

精度不能令人满意、也不足以进行延迟测量和同步。

您何时计划修复该问题并提供更精确的时间戳?


硬件:TMDX654IDKEVM
软件:PROCESSOR-SDK-LINUX-RT-AM65X

此致
Lukas

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

    Lukas、您好!

    您将什么接口用于以太网? 您使用什么方法来生成时间戳?

    此致、

    Nick

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

    您好、Nick、

    我使用的是 PRU ICSSG 接口。

    设置是通过 phc2sys 实现的具有同步时钟的两个接口之间的环路连接。

    在接口上为 Rx 和 Tx 上的所有帧启用硬件时间戳。 通信通过原始套接字生成、因此从套接字的错误队列获取 Tx 时间戳。

    通过双向发送一个帧来完成测试、从获得的时间戳计算延迟。 在获得帧和时间戳后重复测量。

    此致、
    Lukas

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

    Lukas、您好!

    对延迟答复表示歉意。 我在8月剩余时间休假、所以我将您的问题发送给另一位团队成员进行评论。

    您能否举例说明您观察到的结果以及您期望看到的结果?

    此致、

    Nick

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

    此外、AM65x 上的 PRU 以太网固件也随着时间的推移而不断发展。 您在 AM65x 上运行的软件版本是什么?

    此致、

    Nick

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

    除了 SDK 版本(PRU 固件和以太网驱动程序需要此版本、正如 Nick 提到的、Linux 标准以太网 ICSSG PRU 固件已有重大更新)、您还可以共享运行的命令(phc2sys 参数、可能与您的其他文章中的参数相同)吗?  

    在100M 与1G 的比较中、您看到的绝对结果是什么? 对于10M 与100M、幅度的差值或扩展顺序是否不同? 在每个带宽步长下、绝对延迟当然会上升10倍。

    我尝试了一些具有不同链路速度的 ptp4l 测试、我看到产生的 ptp4l rms 误差在1G 时可能降至3-4、看起来在100M 时为10-15。 拓扑不是环回、而是与两个板点对点。 我将检查这是否符合预期、以及链路速度和 RGMII 是否不同。

     Pekka

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

    Lukas

    我在与 DP83867团队和 Sitara CPSW 上的以太网设计人员讨论后确认、使用 RGMII、您将观察到随 RGMII 时钟速度随该速度变化的额外抖动:

    以太网速度 RGMII 时钟速度 预期相对抖动
    1G 250MHz 1个
    100米 50MHz 5倍
    10m 5MHz 50倍

    因此、如果观察到1G 处的抖动为8ns、则会在100M 时看到40ns、在10M 时看到400ns。

     Pekka

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

    您好!

    您是否计划解决此问题?

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

    低速时的 RGMII 是接口的较低时钟速度、因此无需修复。 如果您希望在10/100时获得更高的精度和更低的固定延迟、则应使用 MII 来连接 PHY。  DP83867IR 还支持 MII、我建议您在需要运行10/100时使用该接口、同时最大限度地控制延迟。 我们将 MII 与 EtherCAT 示例结合使用。

     Pekka

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

    我找不到适用于  PROCESSOR-SDK-LINUX-RT-AM65X 的 EtherCAT 示例。

    我在这里看了一下 :software-dl.ti.com/.../index.html

    请提供链接。

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

    在 AM65x 上、我们不支持 Linux 上的 EtherCAT 从站。 我以 EtherCAT 为例,将通用评估板 TMDX654IDKEVM 和 MII 用于以太网(AM65x 示例位于 https://software-dl.ti.com/processor-industrial-sw/esd/docs/indsw/EtherCAT_Slave/01_00_10/PRU_ICSS_EtherCAT_Release_Notes.html )。

    我们支持的 Linux 示例在 RGMII 模式下使用 PHY。  https://software-dl.ti.com/processor-sdk-linux-rt/esd/AM65X/08_02_00_01/exports/docs/linux/Foundational_Components/PRU-ICSS/Linux_Drivers/PRU_ICSSG_Ethernet.html 提供了一些有关将 Linux 配置为不同模式所需更改的信息。

     Pekka

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

    根据 TI 用户指南(https://www.ti.com/lit/ug/spruim6a/spruim6a.pdf?ts=1662575097548)-第7章从 RGMII 更改为 MII 只能在硬件更改的情况下才能实现。 我们实际上需要其他方法来在100MBit 和10MBit 上获得更高的精度。

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

    AM65x IDK 板主要设计为使用 RGMII 连接到 PHY 芯片。 如果计划在构建自己的专用硬件之前优先考虑10M/100M 延迟而不是支持1G、则可以选择修改以测试 MII。

    最终结果是,评估板(https://www.ti.com/tool/TMDX654IDKEVM )默认不是针对最佳10M/100M 运行进行优化的硬件,而是1G。

     Pekka

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

    Marek、

    对上述内容的澄清。 从 RGMII 转向 MII 有利于绝对延迟(https://www.ti.com/lit/an/snla240a/snla240a.pdf ),但为了更好地控制抖动,PHY 和 RGMII (或 MII)的时钟应是相同的时钟域。 在 EVM 用户指南 https://www.ti.com/lit/ug/spruim6a/spruim6a.pdf 的"3.3.1.3以太网 PHY 时钟"部分中、更改了使用来自 AM65x 的时钟(添加一个电阻器)而不是单独的25MHz 振荡器所需的时间。 AM65x 选项的时钟不适用于以太网引导、这是选择其他配置作为开发板上默认配置的根本原因。

    我确实得到了进一步的注释、"在主模式下、而不是从模式下、DP83867和 DP83869支持 MAC 和 PHY 的通用时钟"。

     Pekka

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

    您好、Pekka、

    我想问、从 RGMII 切换到 MII 如何帮助实现时间戳精度?  从我所能找到的结果来看、RGMII 使用与 MII 相同的时钟速度进行100Mbps 和10Mbps 操作、因此我不理解可能的增益。

    在时序非常重要的工业应用中、能够精确地在器件之间同步时钟至关重要、为此、用户需要最坏8纳秒的时间戳精度。  这适用于任何速度、无论是1000 Mbps、100 Mbps 还是10 Mbps。  目前、面向精确计时的100Mbps 工业网络可以实现这一目标、并取决于此功能。

    因此、如果您需要工业网络、并且无法为时间戳提供如此精确的时间戳(这与延迟无关!)、那么在我看来、您会遇到错误。  (它可能是实际硬件架构中的错误。)

    我们是否可以同意这一点?

    此致、
    1月

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

    我不怀疑受管抖动所实现的时间戳精度的用例需求。 我要澄清 的是 TMDX654IDKEVM 评估板的功能和设计目标。 它是一款评估板、展示了许多用于评估 AM65x 系列器件能否用于专为工业等特定用例而设计的产品的特性和模式。

    [引用 userid="494543" URL"~/support/processors-group/processors/f/processors-forum/1123101/tmdx654idkevm-wrong-hw-timestamps---bad-precision-with-10mbit-and-100mbit/4210814 #4210814"]我想问、从 RGMII 切换到 MII 如何帮助实现时间戳精度?  从我所能找到的结果来看、RGMII 使用与 MII 相同的时钟速度进行100Mbps 和10Mbps 操作、因此我不理解可能的增益。

    当我试图澄清 RGMII 到 MII 时、绝对延迟和间接抖动会带来好处。 对于抖动、密钥是 MAC 和 PHY 的通用时钟源。 在基于 MII 的工业设计中、PHY 通常为 MAC 提供 TXCLK、这有助于实现抖动。 使用 DP83867和 DP83869等 PHY 以及 MAC 和 PHY 的通用时钟源、RGMII 也可以遵循相同的原理。 与 MII 相反、RGMII 不是 IEEE802.3标准、也不指定延迟要求。

    [引用 userid="494543" URL"~/support/processors-group/processors/f/processors-forum/1123101/tmdx654idkevm-wrong-hw-timestamps---bad-precision-with-10mbit-and-100mbit/4210814 #4210814"]n 对于时序至关重要的工业应用而言、能够在器件之间精确同步时钟至关重要、为此、用户需要时间戳精度最差为8纳秒。  这适用于任何速度、无论是1000 Mbps、100 Mbps 还是10 Mbps。  目前、面向精确计时的100Mbps 工业网络可以实现这一目标、并取决于此功能。[/QUERP]

    是有道理。

    [引用 userid="494543" URL"~/support/processors-group/processors/f/processors-forum/1123101/tmdx654idkevm-wrong-hw-timestamps---bad-precision-with-10mbit-and-100mbit/4210814 #4210814"]

    因此、如果您需要工业网络、并且无法为时间戳提供如此精确的时间戳(这与延迟无关!)、那么在我看来、您会遇到错误。  (它可能是实际硬件架构中的错误。)

    我们是否可以同意这一点?

    [/报价]

    对于为工业网络设计的硬件、严格要求最大限度地减少时间戳的抖动是正确的、设计最小抖动是合理的。 评估板(TMDX654IDKEVM)选择作为默认设置、但未针对抖动进行优化、更高优先级的要求是支持以太网引导作为默认模式。 优化 MAC 和 PHY 之间抖动的时钟解决方案应使用来自 PHY 和 MAC 的通用时钟。

    在 EVM 用户指南 https://www.ti.com/lit/ug/spruim6a/spruim6a.pdf 的"3.3.1.3以太网 PHY 时钟"部分介绍了一种替代方案、该方案使用电阻器更改来获取来自 AM65x MCU_CLKOUT0引脚的 PHY 时钟。

     Pekka