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.

[参考译文] TMS320F28379D:使用 TIMER2的 XTAL 时钟完整性检查

Guru**** 2584355 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1186156/tms320f28379d-xtal-clock-integrity-check-using-timer2

器件型号:TMS320F28379D

您好!

我在少数数据表中看到 TIMER2可用于测量 XTAL (外部时钟20MHz)漂移。

由于此 XTAL 漂移在我们的设计中的重要性、我真的很想实施此完整性检查。

我找不到有关此主题的大量设计参考或示例。

有人能向我解释一下它的工作原理和配置方法吗?

我想我会使用 XTAL 作为 TIMER2的输入时钟、SYSCLK (PLL)将是高频采样时钟。

但我不知道它在内部是如何工作的以及如何配置它。 我想、如果 XTAL 漂移、SYSCLK (PLL)也会漂移!

谢谢你

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="527782" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1186156/tms320f28379d-xtal-clock-integrity-check-using-timer2 "]我在少数数据表中读出 TIMER2可用于测量 XTAL (外部时钟20MHz)漂移。[/quot]

    您能给我指出文档/页码等吗?

    通过将时钟源连接到 CPU 定时器2并检查时钟源是否在递增、确实可以测量时钟源的存在。 通常、这是在切换到该时钟源之前完成的。 www.ti.com/lit/SPRUHM8:第119页

    CPU 定时器0和1被连接至 PERx.SYSCLK。 默认情况下、定时器2连接到 PERx.SYSCLK、
    但也可以通过 TMR2CLKCTL 寄存器连接到 INTOSC1、INTOSC2、XTAL 或 AUXPLLCLK。
    该寄存器还为定时器2提供一个单独的预分频分频器。 如果使用 SYSCLK 以外的源、
    SYSCLK 频率必须至少是源频率的两倍、以确保正确采样

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

    文档编号 为 sprui78d - TMS320F2837xD 的功能安全手册。

    我需要指出的 是、我不想检查时钟是否存在、而是尝试检查主时钟是否发生漂移(XTAL 或 SYSPLL)。

    第45页的陈述如下:

    6.1 C2000 MCU 基础设施组件
    6.1.1使用 CPU 定时器进行时钟完整性检查


    建议使用 CPU 定时器模块来检测不正确的时钟频率和时钟 源之间的漂移。 CPU 定时器2有一个可编程计数器、此计数器的预分频值和时钟源可被选择。  使用系统时钟作为参考时基和所选时钟与系统 时钟之间的频率关系可以确定。 有关实现的时钟选择选项的更多信息、请参阅器件特定 数据表。 通过 使用 Timer2检查时钟完整性时设置更严格的界限、可以获得更高的诊断覆盖率。 通过使用不同的时钟源和 针对基准时钟和测得的时钟的不同预分频值、可减少常见原因故障。 默认情况下、定时器诊断不启用、 必须通过软件启用。 定时器模块采用的循环校验提供了一个自 检的固有电平(自动覆盖)、可考虑将其应用于延迟故障诊断。

    谢谢你

    劳伦特

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

    劳伦特

         我已经与团队中的安全专家进行了接触。 我会告诉您我发现了什么。 感谢您的耐心等待。

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

    谢谢、我很感激。

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

    劳伦特

                 在 F2837x SDL 中、我们通过将 CPU 计时器2配置为基于与 SYSCLK 不同的时钟源运行来实现这一点。 因此、如果 SYSCLK 基于 XTAL、您可以将定时器2配置为使用 INTOSC2、然后使用定时器2来测量一些已知的间隔、例如软件中的延迟环路或2个周期中断之间的内部延迟环路、并检查经历的时间是否在预期范围内。 不过、需要注意的一点是 INTOSC 本身的精度为±3%。 换言之、INTOSC 频率本身会随温度而变化。 由于 XTAL 和 INTOSC 之间的移位幅度和方向可能不同、因此建议的方法对于确定频率变化仍然有用。  

    在另一个注释中,安全手册中的内容有一个排印错误,因此读起来不是很好。 更正后的句子如下:  

    '使用系统时钟作为参考时基可以确定所选时钟和系统时钟之间的频率关系。'

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

    谢谢您 Hareesh、这很有道理。

    劳伦特