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.

[参考译文] TMS320F280037:用于 CAN 引导模式的 SE 外部振荡器

Guru**** 2390755 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1337159/tms320f280037-se-external-oscillator-used-for-can-boot-mode

器件型号:TMS320F280037

大家好!

我们正在计划使用 CAN 引导从 RAM 加载并执行我们的应用。  但我们的设计需要使用连接到 X1的单端振荡器。 根据文档并检查 C2000库中的引导 ROM 代码、看起来 ROM 初始化时钟设置、这样的话、它要求在 X1/X2上有一个晶振。 在主应用程序代码中、我们使用 X2 GPIO 作为信号输出。

使用调试器并设置仿真的引导配置地址、我能够在 SEND_TEST 模式下将引导模式设置为 CAN。 CAN 数据包按照预期以125Mbps 的速率发送(外部 OSC 为25MHz、数据包未进行 ACK、因此自动重试不断发送0x0320数据包)  

尽管它看起来可以与 XTALCR 一起使用。 SE = 0时、这个配置有问题。 在 CAN 引导模式下将 SE 振荡器用于引导 ROM 有什么风险? 在正常应用程序中、我们确实设置了 XTALCR.SE。

对于我们的应用、我们无法使用标准晶体。

谢谢!

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

    我刚刚找到这个帖子 :TMS320F28379D:振荡器选择位

    此处提到晶体的处理方式与 SE 振荡器没有区别。 该位是否如此、X2可用作 GPIO? 在这种情况下、由于引导 ROM 未将 X2用作 GPIO、因此以这种方式运行是否安全?

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

    您好、Jay、

    F280039振荡器的等效器件是皮尔斯反相振荡器。  在 XTAL 模式下、它是一个高增益运算放大器、以 X1和 X2作为反馈路径、为晶体供电并保持其振荡。  在不处于 SE 模式(SE = 0)时将固定时钟源驱动到 X1、同时使 X2悬空、就像您在 CAN 引导模式中描述的配置设置为 XTAL 模式的情况一样、 似乎会断开反馈路径、但实际上 X1和 X2之间存在一个较大的电阻、该电阻仍然模拟闭环、不同之处在于固定25MHz 输入始终可以保证启动和振荡。

    这种情况的独特之处在于它不是以这种方式运行的、但它肯定会如上所述运行。  此独特用例未进行量化的唯一因素是对时钟的任何影响。  幸运的是、CAN 协议内置了在使用不可靠的时钟时检测数据完整性的机制。  CAN 将针对控制字段中由于时钟问题而不匹配的确定性位报告位1或位0错误、如果位值不正确、甚至会通过 CRC 错误来指示此情况。  如果错误太多、甚至可能触发总线关闭。 此外、CAN 引导模式的运行速度相对较低(125kbps)、因此任何抖动影响都可以忽略不计。

    另一个问题是、如果处于 SE 模式(SE=1)。  X2可用作另一个 GPIO (GPIO18)。

    此致、

    约瑟夫

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

    感谢您的全面响应。 X2 实际连接到了一个有源电路、在主代码运行前不应切换(因为主代码启动了该引脚上的事务)。  在我的基准测试中、该线被保持为默认低电平。 在实际系统中、它可能很高、但会是静态的。 因此它不是悬空的。 这是否会改变任何内容或使配置更加/更加不稳定/可靠?

    我关于 SE 和 GPIO 的问题更多地是关于该引脚的内部架构;也就是说、SE 作为设置存在的原因是将 该输入配置为 GPIO、而不执行任何其他功能。 您已在回复的第一段中对此进行了解答。

    杰伊

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

    您好、Jay、

    X2上的负载是多少?  是否会具有大于~10K 的高阻抗?  在 XTAL 模式中、晶体振荡器以高达1mW 的最大功率驱动石英。  只要 X2负载大于10K、您就不会面临振荡器电路过载的风险。

    约瑟夫

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

    好的、除非您将引导模式切换至 CAN、否则 X1和 X2配置为 GPIO、这不是问题。 由于我使用 CAN 引导模式、这些模式被配置为 XTAL、因此存在损坏器件的风险。 由于我们将其用作输入、因此它应该是相当高的阻抗、但我需要验证。

    可能最好的做法是在 CAN 引导模式、周期中使用 XTAL。 我们的备用计划是使用仅依赖于内部振荡器的 SCI。

    感谢您的澄清。 我将检查负载并作出响应。

    杰伊

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

    Jay、

    好的、如果您还有任何疑问、请告诉我。

    此致、

    约瑟夫

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

    谢谢、Joseph。 我们可能会在将来的修订版中将我们的连接更改为不使用 X2。