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.

[参考译文] CC2652RB:CC26X2电源策略驱动器待机至休眠

Guru**** 2563960 points
Other Parts Discussed in Thread: CC2652RB

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1015644/cc2652rb-cc26x2-power-policy-driver-standby-to-sleep

器件型号:CC2652RB

您好!

我们通过 SPI 通信协议将振动传感器连接到 CC2652RB、从器件(传感器)以不同的输出数据速率运行(100Hz、1600Hz、3200Hz、...)

我们在单个 SPI 多字节读取事务中使用水印计数从传感器缓冲器 FIFO 读取40个原始数据样本(240字节)、并通过 BLE 传输传感器数据。 SPI 配置为阻塞模式。

计时 器用于根据配置的传感器输出数据速率调用 SPI 多字节读取事务(即、在1600Hz 时、每25毫秒调用一次 SPI 多字节读取;在3200Hz 时、每12.5毫秒调用一次 SPI 多字节读取)。

我们观察到、MCU 将在 1600Hz 的 SPI 多字节读取事务之间进入待机状态(两个 SPI 读取操作之间为25毫秒)、  而 MCU会在3200Hz (两个 SPI 读取操作之间为12毫秒)和更高的 ODR 上进入待机状态。

为了进行调试,我们添加了 TI 电源策略驱动程序,并观察 到 Power_sleep()函数未在更高的数据速率(3200Hz 及更高)下执行。 即、MCU 在 SPI 事务之间不会进入待机状态。

我们想了解 有关电源策略驱动程序调用 Power_sleep() 函数的条件的更多详细信息。

提前感谢、

此致、

Saathwik。

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

    您好!

    您使用的是哪款 SDK?

    鉴于 MCU 的当前状态、例如哪些外设处于活动状态、该器件将进入可进入的最低功耗状态。

    另一个决定因素是器件是否能够进入睡眠模式超过2ms。 这是为了考虑进入/离开待机的开销。

    器件花费多长时间处理传感器数据? 如果有大量数据、器件可能没有2ms 的裕量进入待机状态。
    您能否在读取传感器之前/之后添加 GPIO 切换以查看器件能够进入睡眠状态的时间?

    除了 Power_sleep()函数之外,您还可能需要查看 PowerCC26XX_standbyPolicy (在 C:\ti\simplelink_cc13x2_26x2_sdk_5_10_00_48_s\kernel\tirtos\packages\ti\DPL\PowerCC26X2_tirtos.c 中定义)。

    谢谢、
    Toby

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

    感谢 Toby Pan 的回复、

    我们目前正在使用 SDK 版本  simplelink_cc13x2_26x2_SDK_4_10_00_78。

    如前所述、我们将在单个 SPI 多字节读取事务中收集240字节的传感器数据、以处理传感器数据并通过 BLE 传输数据、消耗的时间约为1.6ms (0.5ms 用于处理+ 1.1ms 用于传输)。

    根据计算结果、在3200Hz 传感器输出数据速率下、每12ms 读取一次 SPI。 SPI 读取后、作为调试的一部分、在多字节读取后添加了 SPI_CLOSE ()、以确保在单个多字节读取后没有 SPI 事务。 因此、我们将确保在下一次 SPI 读取之前 MCU 上没有任何活动。 MCU 在 SPI 事务之间空闲大约10毫秒、预计将进入待机状态。 我们仍然观察到 Power_sleep()没有被调用,MCU 也不会处于待机状态。

    根据时序分析、由于 MCU 有足够的时间进入待机模式、我们还可以考虑哪些其他限制来进一步进行调试?

    此致、

    Saathwik

     

     

     

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

    要缩小可能保持待机模式的范围、请尝试检查 PRCM 寄存器。
    具体而言、PDSTAT0和 PDSTAT1显示启用了哪个电源域。

    然后、可以将其映射到 TRM 第7.6节中的功率模式表。

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

    按照建议、观察了 PRCM 寄存器 PDSTAT0和 PDSTAT1。 我们注意到、当传感器 ODR 为1600Hz 时、PDSTAT0的 Periph_on、serial_on 和 RFC_on 位将切换0和1。 当传感器 ODR 为3200Hz、Periph_on、PDSTAT0的 serial_on 位始终为1 (域已通电)时, RFC_ON 是否正在切换?

    这是 MCU 不会进入待机模式的原因吗?  我们能否获得有关上述寄存器运行条件的更多详细信息?

    我们如何进一步对此进行调试?  

    注意:我们还通过将电源策略驱动程序添加到工程中进行了调试、并观察  了"PowerCC26X2_ModuleState_"PowerCC26X2_ModuleState 的行为。  限制掩码"。 观察到  限制掩码值将为零、但我们观察到 MCU 不会处于待机状态。  

    此致、

    Saathwik