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.

[参考译文] F29H850TU:EtherCAT -与 PHY 共享时钟、并提供相关建议和权衡

Guru**** 2386620 points
Other Parts Discussed in Thread: F29H850TU, DP83826I
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1478016/f29h850tu-ethercat---share-clock-with-phys-recommendations-and-tradeoffs

器件型号:F29H850TU
主题中讨论的其他器件: DP83826IF29H85X-F29H85X-EVM SOM

工具/软件:

尊敬的专家:

我正在基于 F29H850TU (顺便说一下、这是一款支持 EtherCAT 的空间限制器件)设计。

我计划使用单个25MHz 晶体和 将时钟分配到2个以太网 PHY (处于 MII 模式的 DP83826I)、主要是为了避免额外的时钟缓冲器的空间和成本。
实现这一目标的方法似乎有多种。

F29H85X controlSOM 评估板用户指南中包含:


 F29H85x 和 F29P58x 实时微控制器技术参考手册中重点介绍了相同的时钟源选择

同一节中给出了关于时钟的唯一警告:

[简单说明、我假设:
 ESC_PHY_CLK
 ESCSS_PHY_CLK
 ECAT_PHY_CLK
都指定了名称冲突的同一信号]

还有另一种方法:XCLKOUT。

为 XCLKOUT 配置一个带有25MHz 晶体的1:1将提供一个缓冲25MHz 输出。

=====

现在的问题是:

有一个 ESC_PHY_CLK 信号、是否可以同时在两个 GPIO 上输出该信号以馈送两个 PHY? (GPIO48和 GPIO54)
或者、仅在一个引脚上输出并路由到两个 PHY 的输入是更好的吗? (与在 EVM 上一样、其中 GPIO54用于这两者)

使用 ESC_PHY_CLK 与使用 XCLKOUT 实现相同功能有什么区别吗?

我们如何评估使用这些器件而不是外部时钟缓冲器所带来的缺点?
是否使用为 F29H850TU 指定的 ESC_PHY_CLK 或 XCLKOUT 添加了抖动和延迟?

一方面我被告知"这个引脚是为了那个",另一方面"但你最好不要使用它"... 只是有点困惑。

谢谢!

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

    您好、Jeorme、


    我一直在查看此内容、但找不到包含该部分的文档
    2.4.5 EtherCAT PHY 时钟选择。  
    您能告诉我您提到的是哪个文件吗?

    此致、

    Keshav

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

    您好 Keshav、  
    其来源:
    EVM 用户指南:F29H85X-EVM-EVM SOM
    F29H85X controlSOM 评估板
    SPRUJE4B–2024年8月–2024年12月修订
    www.ti.com/.../spruje4

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

    我发现这个论坛帖子从4年前:
    https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1027021/tms320f28388d-ethercat-slave-controller-esc_phy_clk-output-switching-characteristics

    这个问题与以下方面有关:
    TMS320F28388
    TMS320F28P650
    TMS320F29H850
    我只找到了"您应该使用外部缓冲区"的答案、没有任何理由。

    如果 TI 在 ESC_PHY_CLK 信号中进行设计、为什么 TI 如此不情愿地建议使用它?

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

    嗨、Jerome、

    数据表中未完全描述或规定 ECAT_PHY_CLK 信号/功能。 因此、我们建议使用外部振荡器+时钟缓冲器、并在我们的评估板设计中使用该电路来满足 Beckhoff 的要求(2个 PHY 和 ESC 的共享+/- 25PPM 时钟源)。 您仍然可以使用和评估该功能、但我们建议设计人员进一步验证该功能是否在其系统的所有运行条件下均有效。

    [引述 userid="290091" url="~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1478016/f29h850tu-ethercat---share-clock-with-phys-recommendations-and-tradeoffs 有一个 ESC_PHY_CLK 信号、是否可以同时在两个 GPIO 上输出该信号以馈送两个 PHY? (GPIO48和 GPIO54)
    或者、仅在一个引脚上输出并路由到两个 PHY 的输入是更好的吗? (与在 EVM 上一样、其中 GPIO54用于这两者)
    [/报价]

    这是可能的、但这可能会在信号之间引入额外的偏斜。 将时钟信号与2个 PHY 相匹配的布线也很重要。

    [引述 userid="290091" url="~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1478016/f29h850tu-ethercat---share-clock-with-phys-recommendations-and-tradeoffs
    使用 ESC_PHY_CLK 与使用 XCLKOUT 实现相同功能有什么区别吗? [/报价]

    ESC_PHY_CLK 是进入 C2000 ESC 模块的时钟、因此使用它会是更好的选择。

    [引述 userid="290091" url="~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1478016/f29h850tu-ethercat---share-clock-with-phys-recommendations-and-tradeoffs 我们如何评估使用这些器件而不是外部时钟缓冲器所带来的缺点?
    是否使用为 F29H850TU 指定的 ESC_PHY_CLK 或 XCLKOUT 添加了抖动和延迟? [/报价]

    当前未像我提到的那样指定。 您可以在 PHY 输入引脚上对时钟执行进一步的测试/测量。

    此致、

    Kevin

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

    谢谢 Kevin、

    这回答了我的问题。

    如果您同意、我想让这个问题暂时不回答、因为我们将在 F29H85X-F29H85X-EVM-EVM 上执行测量 SOM 并在此处报告结果。

    谢谢!

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

    嗨、Jerome、

    是的、这不是问题、我想听听您的结果。  我会提到,这篇帖子可能会在30天的非活动后自行关闭,所以最好在那之前点击它。 如果我看到它闭合、我将重新打开它。

    我知道其他客户使用成功 ESC_PHY_CLK 硬件设计。 如果我有更多的数据要分享给你以后,我也会告诉你。

    顺便说 一下、共享的+/-25ppm 时钟要求来自下面的 Beckhoff (EtherCAT 的设计人员)参考文档。

    https://download.beckhoff.com/download/Document/io/ethercat-development-products/an_phy_selection_guidev3.0.pdf

    此致、

    Kevin

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

    碰撞!

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

    您好 Kevin、

    我已经结束了我的测试。

    我的实验是比较 ESC_PHY_CLK 信号上的抖动和 F29H85X-EVM-EVM 上的缓冲时钟信号 SOM

    第一步、我必须确定时钟源(外部振荡器)是稳定的、否则它可能会传播并在稍后引起错误结论。

    我使用了一个每秒1个脉冲的小型 GPS 模块来提供精确的时钟源、将其连接到 GPIO77并使用 ECAP 来持续测量脉冲的周期。 基本上、它需要200m 时钟脉冲、然后自复位并继续。

    平均值为最小值/最大值时、我可以得出以下结果:

    最小值:199998564
    最大值:199998607
    平均:199998578
    脉冲数:6065

    因此、在101分钟内、我的静态偏移量为200e6-199998578=每秒1422个脉冲。
    1422/200e6 = 7.2ppm。

    频率分布为 199998607-199998564=43
    43/200e6=0.2ppm

    我的结论是,时钟是精确的 ,具有非常小的速度。

    ==

    实验的第二部分是比较时钟:


    ESC_CLK_PHY (同样、为什么这里命名为 ETHERCATPHYCLK?) 在 GPIO54上激活、在 R31上探测
    在 R32上探测缓冲出
    XCLKOUT 在 GPIO219上被激活、并在 R44上被探测。
    请注意、我的测试制 XCLKOUT 会转到200MHz、超过数据表中的50MHz 最大值。 它确实有效、对于这个测试来说已经足够了。 当然、信号被削波并采用正弦波、而不是完美的方波。

    我使用示波器探测了在时钟缓冲输出上触发的三个信号、并具有无限持久性。
    让它运行一段时间。

    蓝色= ESC_PHY_CLK
    黄色=时钟缓冲 输出
    PLLSYSCLK 上的绿色= XCLKOUT

    实际目标是将 Bufferd 与 ESC_PHY_CLK 进行 ton 比较。 因为前者是源,后者是经过一些转换。 ESC_PHY_CLK 上的任何异常都将由这些转换引入。

    这是30分钟后的屏幕截图。 我也跑了4个小时,同样的结果,但失去了屏幕截图。 注意我的绿色探头有点古怪和敲击表使测量跳跃幅度,并注意,在这些频率,探测技术是超级重要的,我忽略了其中的大多数,导致不完美的方波。 我还怀疑我的探头之间存在一些串扰。 请不要评判;)。

    此屏幕截图告诉我什么?

    - PLLSYSCLK 非常抖动稳定。 我不希望它"跳过任何类型的节拍"。 蓝色上升/下降没有移动。
    - ESC_PHY_CLK 几乎是完美的相位与时钟缓冲器。 PLL 和其他分频器几乎没有引入延迟。
    - ESC_PHY_CLK 上没有可观察到的抖动。 上升和下降期间的蓝线"持久性涂片"是最小的。

    Beckhoff 在"应用手册–PHY 选择指南" V3.0:
     - ESC 和 PHY 应共享相同的时钟源
     - ESC 和 PHY 在时钟中可能有相移差异,但相移应保持恒定
     - ESC 和 PHY 时钟在室温下不应大于25ppm 的误差。  




    ==

    此实验 可让我得出结论、ESC_PHY_CLK 输出是稳定和精确的。 该图清楚地显示了时钟是 PLLCLK 的一个分支、在 ESC 模块和 ESC_PHY_CLK 输出之间直接共享。

    似乎没有通过 PLL 化时钟的通道注入奇怪的抖动。

    我们还运行了 EtherCAT 环回示例、并将 ESC_PHY_CLK 作为成功的共享源。

    Kevins 之前的评论"我知道其他客户使用成功  ESC_PHY_CLK  C2000器件上"确认我不是疯子。

    综上所述、我将在我们即将进行的设计中按 ESC_PHY_CLK 作为 PHY 时钟源、我敦促 TI 软化文档的措辞、甚至在未来的 SOM 上避开时钟缓冲器... 如果仍有任何疑虑、也可以提供更多指导。

    谢谢!