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.

CC1312R: 如何进入低功耗模式

Part Number: CC1312R
Other Parts Discussed in Thread: CC1310, ENERGYTRACE

应用程序进入阻滞状态就相当于进入低功耗模式了么?Semaphore_pend

  • 不,应用程序进入阻滞状态并不等同于进入低功耗模式。进入低功耗模式通常是一种主动操作,例如关闭不必要的外设,减小时钟频率,以减少整个设备的功耗等。

    Semaphore_pend用于等待信号量的发放,如果信号量当前不可用,则将它阻塞当前任务(即进入阻滞状态),直到信号量可用为止。

  • https://e2echina.ti.com/support/wireless-connectivity/sub-1-ghz/f/sub-1-ghz-forum/151639/cc1310-433-tirtos/我是看到1310这么写的,而且之前还用过,如果1312不是,那么低功耗模式怎么进入呢?有没有对应的函数命令控制进入低功耗呢

  • 比较着急,希望尽快回复,谢谢,外设我全都关闭了,现在问题是CPU的功耗需要在阻滞的时候降到最低

  • Hi zjj12138,

    您的理解是正确的,在power policy被启用时(例如大多数无线协议栈如TI15.4 stack),Semaphore_pend调用后芯片会自动进入standby,直到被信号量唤醒。CC1310和CC1312在这一块逻辑没有区别。

    Best regards,

    Shuyang

  • 不太理解您说的意思,到底是Semaphore_pend调用后是到底是不是低功耗呢?之前您说的是需要专门的函数让它进入低功耗,现在您又确认了只要Semaphore_pend调用后就是低功耗是么?但是我现在测试发现Semaphore_pend调用后功耗再8mA不是低功耗状态

  • 您的程序是基于哪个例程?另外测量功耗的方法是怎么样的?

    建议您参考下面的文档,先用SDK中的gpio_standby例程验证一下功耗:

    https://www.ti.com/lit/pdf/swra478

    Best regards,

    Shuyang

  • 基于rfPacketTX_CC1312R1_LAUNCHXL_tirtos7_tichang,我的目的大概是小核5秒钟采集一次,然后一分钟唤醒一次大核通过SUB1G将数据传输出去,在发数据的时候进入低功耗状态,只有小核每5秒采集一次数据。使用gpio_standby例程测试过功耗,效果相对好一些,但是如果在gpio_standby例程的基础上修改,修改后和rfPacketTX_CC1312R1_LAUNCHXL_tirtos7_tichang例程是一样的。

  • 我没有专业的仪器测量功耗但是你无需怀疑的的测量方法。我是电池供电 然后设计中有电容在运行稳定的时候将电池供电关断,测量放点/耗电情况。这种方式是可以测出放点电流的。

  • Hi zjj12138,

    您是在LaunchPad开发板还是自己的板子上测的?需要注意的是测量功耗时要断开JTAG引脚和其它GPIO引脚,如果是Launchpad的话要把中间的跳线帽拔掉(具体参考上面提到的文档)。

    您直接运行未修改的rfPacketTX_CC1312R1_LAUNCHXL_tirtos7_tichang例程时功耗是多少?我刚测量了一下,平均功耗是210uA左右,如果用EnergyTrace的话可以看到射频不工作时芯片处于standby状态:

    您可以用同样的方式确认一下测试环境是否有问题,如果您在例程上的结果和我接近的话,那就需要进一步查找软件代码上的原因。谢谢!

    Best regards,

    Shuyang