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.

[参考译文] CC1354P10:计时器不准确 — 校准程序?

Guru**** 2644665 points

Other Parts Discussed in Thread: CC1354P10

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

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1578397/cc1354p10-timer-inaccuracy---calibration-procedure

部件号:CC1354P10


您好!

我遇到计时器不准确的问题。 我使用计时器计算秒数、如下所示:  

Timer_Handle timeTimerHandle;
Timer_Params timeTimerParams;

void TimerCb(Timer_Handle handle, int_fast16_t status) {
    _epoch++;
    GPIO_toggle(CONFIG_GPIO_DBG);
}

void TimerInit(){
    Timer_Params_init(&timeTimerParams);
    timeTimerParams.periodUnits = Timer_PERIOD_HZ;
    timeTimerParams.period = 1;
    timeTimerParams.timerMode = Timer_CONTINUOUS_CALLBACK;
    timeTimerParams.timerCallback = TimerCb;
    timeTimerHandle = Timer_open(CONFIG_TIMER_SECOND, &timeTimerParams);

    Timer_start(timeTimerHandle);
}

我得到以下波形、该波形精度很高、应为 500,000mHz。

image.png

a 还尝试使用 clock_settime (clock_realtime) clock_gettime (clock_realtime)。 这是同样的情况。  

我尝试在 WSMS 节点示例中使用此代码。 频率就是精确的。 我认为代码中有一些校准、但找不到。 在这种情况下、我会比较 sysconfigs、并且没有显著差异。

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

    尊敬的 Sebastian:

    为了提高计时器的精度、您需要使用高频振荡器。

    CC1354P10_1 的默认计时示例工程、获得类似的结果:

    如果添加以下内容、可获得更高的精度。

    #include <ti/drivers/Power.h>
    
    Power_setDependency(PowerCC26XX_XOSC_HF);

    此致、

    Daniel

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

    谢谢!