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.

[参考译文] TMS320F28388D:F28388D (USB 或 EtherCAT - 20Mhz 或25MHz)的时钟架构设计

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1368765/tms320f28388d-clock-architecture-design-for-f28388d-usb-or-ethercat---20mhz-or-25mhz

器件型号:TMS320F28388D

工具与软件:

大家好!

我们通过论坛通读并且对 F28388D 控制卡上的时钟设计感到困惑、20MHz 因为 USB 引导加载程序需要20MHz、因为它针对该时钟25MHz 进行了硬编码(为什么?) 为了实现 EtherCAT 兼容性、需要符合25MHz (我已经哭了...)  

那么、如何为我们简化该过程呢? 能否在我们的设计中仅使用20MHz 时钟、以便能够使用 USB 引导加载程序并安全地使用 EtherCAT? 如果我们将20MHz 时钟与 EtherCAT (而不是25MHz)配合使用、会面临哪些挑战?

谢谢

John

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

    尊敬的 John:

    USB 引导加载程序需要20Mhz 晶体、因为它是在引导 ROM 代码中配置的、现在无法更改。

    EtherCAT PHY 时钟需要25MHz 时钟、这是一个设计驱动的要求。  EtherCAT 功能时钟输入 CLK25和 CLK100由 MCU 时钟模块使用 SYSPLL 或 AUXPLL 提供。 在 SoC 级别、关于使用 SYSPLL 或 AUXPLL 的输入、您有多个选项可供选择、如下所示。

    因此您可以通过所需的设置来配置 AUXPLL 并路由到 EtherCAT。 或者、您也可以在 SYSPLL 运行20MHz XTAL 时将 AUXCLKIN 路由到 AUXPLL 并发送到 EtherCAT。

    我建议您阅读 2838x 技术参考手册中的31.2.6.2时钟部分。


    如图所示、如果要使用的20Mhz 晶体满足精度要求、则可以选择使用 PLL 并配置 Div 与门以获得25MHz。

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

    您好@Prarthan Bhatt、

    感谢您的回答、由于我们现在正在设计电路板、我们能否如下所示:

    因此、基本上将 X1连接到20MHz 时钟以运行主 CPU 时钟和 USB 和 CAN、同时使用 AUXIN/GPIO133来精确地为 EtherCAT 和以太网提供25MHz、并通过以下时钟路由:



    我在此设计中看到的唯一问题是20MHz 和25MHz 时钟现在未同步、因为它们来自两个完全不同的源、这是否会导致任何问题? ---如果是,解决方案是什么?

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

    尊敬的 John:

    是的、这个想法应该可行、我建议尝试配置来测试它是否按预期工作。

    对于时钟同步、我建议您查看从基于计时的事件到开始事务发送到 EtherCAT 外设的某种同步触发。 我不熟悉 EtherCAT/NET、因此我建议您制作另一个线程、询问您在不同步时钟方面遇到的具体挑战、以及如何使用 EtherCAT 外设的功能来克服这些挑战。

    谢谢!