TI中文支持网
TI专业的中文技术问题搜集分享网站

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

Part Number:CC1310

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

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

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

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

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

Kevin Qiu1:

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

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

,

LanYi:

大佬您好。

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

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

,

Kevin Qiu1:

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

,

LanYi:

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

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

,

Kevin Qiu1:

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

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

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

,

LanYi:

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

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

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

,

LanYi:

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

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

期待您的回复~

,

Kevin Qiu1:

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

,

LanYi:

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

,

Kevin Qiu1:

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

,

LanYi:

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

大概的电路如图:

,

Kevin Qiu1:

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

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

,

LanYi:

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

,

LanYi:

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

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

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

,

Kevin Qiu1:

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

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

CC1310DK_4XD.zip

,

LanYi:

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

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

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

,

Kevin Qiu1:

不客气

,

LanYi:

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

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

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

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

,

Kevin Qiu1:

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

,

LanYi:

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

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

,

LanYi:

,

Kevin Qiu1:

我测试了一下,确实有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线

,

LanYi:

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

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

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

,

Kevin Qiu1:

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

,

LanYi:

嗯嗯  好的呢 谢谢您~ 

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

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

,

Kevin Qiu1:

好的,将在新帖子中回复

赞(0)
未经允许不得转载:TI中文支持网 » CC1310: cc1310 nortos 低功耗是咋实现的嘛?
分享到: 更多 (0)