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.

CC1310: cc1310 nortos 低功耗是咋实现的嘛?

Part Number: CC1310

cc1310 nortos 低功耗是咋实现的嘛?

我是自唤醒的,无法使用Power_shutdown();从而外部唤醒实现低功耗。

我使用了sleep();待机模式?常处在2mA。。。

我又尝试了Power_sleep();到电源策略来 降低功耗。。。但是 我不知Power_sleep(uint_fast16_t sleepState);的参数sleepState该给啥。。。当然也不知是否会降低功耗。。。

有哪位大神 你知道cc1310 nortos 低功耗程序代码是咋实现的嘛?

  • nortos可以参考SDK中的例程C:\ti\simplelink_cc13x0_sdk_4_20_01_03\examples\nortos\CC1310_LAUNCHXL\drivers\pinStandby测量

    它已经设置好了电源策略,会在休眠期间自动进入standby模式,测量时注意断开调试器,仅使用外部的VDD和GND供电

  • 大佬您好。

    关于pinStandby这个测试程序我有看过,但是好多说是进入待机了 并没有休眠。我上午拿了这个sleep();函数进行了测试。在断开调试器,仅使用外部的VDD和GND供电情况下,电路中得工作电流保持在1mA~2mA。这么一算 并不能算是 低功耗呀!

    不知我这是不是 搞错了啥。期待您得指出~

  • 拔掉launchpad上相应的跳帽,使用直流电源分析仪来测量,参考类似的文档:https://www.ti.com.cn/cn/lit/an/zhca712c/zhca712c.pdf

  • 大佬 您好~   由于一些事务耽搁了一段时间。我手头上没有直流电源分析仪。但是依旧使用电流表对pinStandby 这个示例进行了测试,现象也确实如您所说电流会降到最低,电流表显示 1uA 以内,是很棒的了!

    我的问题就又来了,因为这个是只有小灯的功耗。当我添加了无线射频后,就又不得行了。。。 我的发送是每间隔5s发一次,发送的 瞬间峰值大概在5mA,退出就保持在4mA。。。这,无线这一块儿在低功耗是哪里需要再设置下吗?或者说我哪里还需要再做些什么?

  • 1uA以内是standby的功耗,要达到不传输数据时低功耗,要保证所有的外设和Radio都关闭

    参考SDK C\ti\simplelink_cc13x0_sdk_4_20_01_03\examples\nortos\CC1310_LAUNCHXL\drivers\rfWakeOnRadioTx和Rx例程

    它是射频发送的低功耗示例

  • 非常开心收到您给的回复~o(* ̄▽ ̄*)ブ。

    我速度去测试,并在后面及时反馈测试结果数据。

    非常非常感谢您~  愉快的每一天(●'◡'●)

  • 大佬 您好~ 昨天得到您的建议后,我就rfWakeOnRadioTx此示例做了测试,今天得到一个偏于稳定的值。

    在此示例不做任何修改的情况下  不按键触发Tx 电流稳在3.7mA左右,按键触发后 大于5mA,,,这不算是低功耗吧?

    期待您的回复~

  • 这看起来不正常,万用表测的是平均值,分辨率不够,找一台可以实时测量电流波形仪器来测

  • 谢谢 您得指出。问下您这边有关于这个示例 低功耗得参数 嘛?我想去寻求下硬件平台得帮助,有个大致得参数做对比。~

  • 没有按下按键发送时,会进入到standby模式,大概在1uA左右

  • 大佬您好,依旧是没有电流波形仪器的一天。在我寻求了硬件平台的帮助后,他们在没有此仪器的情况下,撇开我使用电流表的测量方法,在电路中串联了一个电阻,再经过放大,再通过示波器算取获值。数据也是相当的稳定.。。。未发送的状态下3.7mA左右 。。。这样测的值准确吗?

    大概的电路如图:

  • 应该是准确的,你删除代码中的串口显示相关的代码然后测一下看看

    例程默认使用了串口打印,串口打印时不会进入低功耗状态,这时差不多有3mA的电流

  • 大佬,下午好~。后面让硬件平台帮忙测试的 就是去了display部分的代码后  才去测试的。。。现在好怀疑自己 ,看了下代码流程,还在想 是不是没进入Power_idleFunc()函数。。。

  • 大佬您好,由于我功耗没降下来。详细的检查自己曾经改过什么。现在有一下几个文件我有做修改,您要有空麻烦您帮忙分析下是不是我哪里修改导致的呢!

    手头上有三个不同内存大小的芯片cc1310f128(评估板 、4*4封装)、cc1310f64(4*4封装)、cc1310f32(4*4封装)

    nortos、为了适配4*4的大小以及不带系统,我对一下文件做了修改:

  • 看起来没问题,就是修改这几个文件

    下面是以前4*4的配置文件,与新的SDK相比有了一些小变化,你可以参考它修改文件

    CC1310DK_4XD.zip

  • 好的呢 谢谢您给的参考文件。我及时核对。

    周末时间到了,祝您有个愉快的周末~

    下周我得继续与 降功耗作斗争 及时反馈我的降功耗的过程 中间问题肯定也是好多好多 再次感谢您的支持! ღ( ´・ᴗ・` )比心❥(^_-)

  • 大佬好~  我后面测试发现 它好像是没有进入低功耗。调用的电源管理函数  都没有进去。

    后来 在我单独使用了power_sleep();且让它进去以后 ,发现功耗确实降下来了达到20uA以内。。但是 我又出不来了!(唤醒不了)

    在查看了power_sleep()这个函数的各方面说明后,我明确的需要 使用RTC来实现唤醒(也就是 退出低功耗)。但是它的函数说明 不能直接调用还有约束啥的。。。看的我一头雾水。我尝试将其放进电源策略Policy内实现,使能和退出 之类的,也不成。

    大佬您对此函数的使用 有啥建议嘛?

  • 你用rtos版本的测一下看看是否和nortos结果一样

  • 同样在评估板下进行测试:rtos版本的 nortos版本的都测试了呢 都是进不去的 功耗也没降

    当然同在评估板下 我使用power_sleep(),使其进去 这个函数  功耗是降下来

  • 我测试了一下,确实有3mA左右的电流,检查代码发现这与 semaphore_pend 中的 BIOS_WAIT_FOREVER 有关

    Radio内核永远不会关闭,所以会有较高的功耗

    可以在 semaphore_pend 命令之前执行 RF_yield关闭Radio

    /* Enter main TX loop */
    while(1)
    {
    RF_yield(rfHandle); //Added to force radio into standby while waiting for button press
    /* Wait for a button press */
    Semaphore_pend(txSemaphoreHandle, BIOS_WAIT_FOREVER);

    注意测功耗时仅使用两根杜邦线供电,拔掉所有的跳帽和USB线

  • 大佬 感谢您的解答~这个 我速度去测!

    还有一个:由于我希望是进入 standby模式后  内部自唤醒,查看了下资料,此模式下是支持Wakeup on RTC的。

    在nortos下,我查了许多他人的答复,也都是迷糊的紧~   期待在您忙碌中给些建议ღ( ´・ᴗ・` )  辛苦大佬啦❥(^_-)

  • RTC问题请重新开一个新的帖子,以便其他人查找查找

  • 嗯嗯  好的呢 谢谢您~ 

    关于standby模式下期待内部RTC唤醒的问题,连接如下:

    e2echina.ti.com/.../cc1310-nortos-standby-rtc

  • 好的,将在新帖子中回复