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.

[参考译文] TMS320F280049C:使用 CPU 计时器2通过二级自由运行计数器进行1oo2软件表决

Guru**** 2580295 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1348927/tms320f280049c-using-cpu-timer-2-for-1oo2-software-voting-using-secondary-free-running-counter

器件型号:TMS320F280049C

您好!

我们有一个使用 TI RTOS (不带时间戳模块)的应用程序。

我们要使用 TIMER2 (使用内部 示波器作为源)作为 TIMER0的诊断(用于 RTOS 1ms 时钟)  

定时器0使用系统时钟(100Mhz)作为源  

定时器 2内部振荡器1时钟源(无预分频器)

然后我们将计时器2配置为每毫秒中断一次、并每次增加一个软件计数器、并使用该计数器在1秒软件任务中对照 RTOS ms 计数器进行检查。

观察结果/问题:

1.我注意到计时器2计算出的值不断漂移。  

2.如果我要把 SysClock 配置为计时器2的时钟源,那么计数器不会偏移,但这样不会避免共 模错误。

3 在 TRM 第3.7.3.6章中 提到、对于计时器2 "如果使用非 Sys时 钟源、则源必须分频为不超过 sysclck 的一半"。

这是否意味着我们无法将 Timer2用于此目的?

谢谢!

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

    您好、Sorin:

    Unknown 说:
    1. 我注意到、使用计时器2计算出的值不断漂移。  [/报价]

    您能否提供有关该恒定漂移值的详细信息? 是否由其负责遵守 INTOSC 的数据表规格?

    如果是、则可能会出现这种漂移。 如果没有、用户可能还需要检查任何其他延迟来源、例如 ISR 本身内的内容。

    3 在 TRM 第3.7.3.6章中 提到、对于计时器2 "如果使用非 Sys时 钟源、则源必须分频为不超过 sysclck 的一半"。

    这是否意味着我们无法将 Timer2用于此目的?

    [/报价]

    此 TRM 详细信息 基本上意味着 INTOSC (非 SYSCLK 源)<= SYSCLK/2。 换句话说、必须设置预分频器值、使 INTOSC 不大于 SYSCLK 的一半。 如果 SYSCLK 为100MHz、则 非 SYSCLK 源必须是50MHz 或更低、因此我认为这不会对您的情况造成问题。

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

    很抱歉迟到了回复。

    事实证明我在计算代码中有一个错误。

    漂移与数据规格无关。 再次感谢