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.

[参考译文] CC1352R:在 CC1352R 上启用电源待机策略后、FreeRTOS 软件计时器会在前两个周期后晚约 4.5s 到期

Guru**** 2892870 points

Other Parts Discussed in Thread: CC1352R

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

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1636961/cc1352r-freertos-software-timers-expire-about-4-5-s-late-after-first-two-cycles-when-power-standby-policy-is-enabled-on-cc1352r

器件型号: CC1352R

我正在使用 CC1352R 并启用 FreeRTOS 和 TI 电源待机策略。 我的应用程序大部分时间都处于睡眠状态、定期唤醒、执行一些工作、然后重新进入睡眠状态。

从电源日志来看、在睡眠期间、器件有时会保持在 WFI 中、有时会进入待机状态。

我将 FreeRTOS 系统节拍与 RTC 时序进行了比较。 在前两个计时器周期内、两者都正确匹配。 之后、会出现大约 4.5 秒的固定偏移。 从那时起、FreeRTOS 计时器会实时比预期晚约 4.5 秒到期。

例如、配置为 60 秒的计时器将在大约 64.5 秒时到期。 我还测试了 10 秒 5 分钟的计时器,我得到了相同的额外延迟约 4.5 秒。

该偏移看起来是固定的、与配置的计时器周期不成正比。

您是否在  CC1352R 上执行无嘀嗒声空闲/待机电源策略之前看到过这种行为? FreeRTOS 定时器、 Power_sleep ()、待机唤醒和 ClockP/RTC 时间重建`之间的交互是否存在任何已知问题?

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

    您好:Marc、

    这是通过我们上一个主题的修复吗? 还是在我们的 SDK 的普通版本上?

    此致、

    Arthur

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

    尊敬的 Arthur:

    我在以下两种设置上进行了测试:

    • (SDK 8.32.00.07)
    • SDK 8.30.01.01 、以及我之前 TI 论坛主题中添加的补丁

    在这两种情况下、我都会看到相同的行为。

    在测试时、我还注意到其他内容:
    如果将电源策略更改为PowerCC26XX_doWFI、则固定的~4.5s 延迟将消失。 但是、在这种情况下、我会看到大约漂移 0.5 秒/分钟 和 RTC 之间进行通信。

    因此、目前:

    • 一方 待机策略已启用 我得到了一个 固定偏移约为 4.5s 稳定保持稳定
    • 使用doWFI、我没有得到固定偏移量、但我仍然看到了 渐进性差异 FreeRTOS 时间和 RTC 时间之间

    这让我认为这个问题可能与在低功耗运行模式下如何重建或维护时间有关。

    Marc

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

    您好:Marc、

    您可以尝试使用我们的 SDK 修复吗?
     e2e.ti.com/.../PowerCC26X2_5F00_freertos.c

    我想问的原因是、在尝试时(在 2600 秒的睡眠状态下)、我无法观察到 4.5 秒的延迟:

    此致、

    Arthur

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

    尊敬的 Arthur:

    非常感谢。 我测试了您的 SDK 修复程序、它已经解决了我的问题。

    我还想问:为什么最新的 SDK 版本中不包含此修复? 在哪里可以找到它,以便下次不会错过它?

    此致、
    Marc

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

    您好:Marc、

    原因是 8.32 版本仅计划更新某些堆栈组件 (Wi-SUN)。 所以这个修复程序没有被合并。

    您将在下一个 SDK 版本的版本说明中找到它、该版本将提供修复程序、它应该附带很多错误。

    此致、

    Arthur