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.
工具与软件:
大家好!
我们通过论坛通读并且对 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 外设的功能来克服这些挑战。
谢谢!