7天快速入门Zigbee:低功耗节点设计

版权声明:本文为博主原创文章,欢迎交流,欢迎转载;转载请勿篡改内容,并且注明出处,禁止用于商业目的,谢谢! https://blog.csdn.net/u012993936/article/details/83449105

7天快速入门Zigbee:低功耗节点设计


1.概述

  本文章介绍了CC2530芯片的功耗参数,实测协议栈未进入低功耗模式时的功耗和进入低功耗模式时的功耗,讲解如何设置协议栈进入低功耗模式,并且列出了调节低功耗模式功耗的几个关键参数。

2. CC2530的功耗参数

数据手册参数
-主动模式RX(CPU空闲):24mA
-主动模式TX在1dBm输出功率(CPU空闲):29mA
-电源模式1(4us唤醒):0.2mA
-电源模式2(睡眠定时器运行):1uA
-电源模式3(外部中断):0.4uA
实际测量参数
-CC2530全速运行Z-Stack Mesh 1.0.0协调器协议栈:26mA
在这里插入图片描述
-CC2530全速运行Z-Stack Mesh 1.0.0路由器协议栈:27mA
在这里插入图片描述
-CC2530全速运行Z-Stack Mesh 1.0.0终端协议栈(1秒请求一次数据):8mA
在这里插入图片描述
-CC2530开启低功耗运行Z-Stack Mesh 1.0.0终端协议栈(2秒请求一次数据):2秒休眠时间为1uA,2秒后唤醒发送一次数据的瞬时电流万用表无法捕捉,理论上为27mA以上。
在这里插入图片描述
  从上述参数我们可以看出终端节点开启低功耗模式跟没开启低功耗模式的耗电量是天差地别的。

3. 如何进入低功耗模式

  因为协调器设备和路由器设备需要常在线,是无法进入低功耗模式的,所以我们主要讨论如何让终端设备进入低功耗模式。
如何让协议栈进入低功耗模式:
1)添加预编译选项:POWER_SAVING
  默认情况下,Z-stack里终端设备的电源管理功能是关闭的,添加预编译选项“POWER_SAVING”以开启此功能。
2)在“f8wConfig.cfg”文件里设置:-DRFD_RCVC_ALWAYS_ON=FALSE
  这个宏定义表示是否要一直开启射频接收功能,终端协议栈默认选择是FALSE。
  设置完这两个选项后,终端设备就可以正常的进入低功耗模式了。

4. 影响低功耗模式的几个参数

1)终端节点会周期性向父节点发送数据请求命令(data request)来询问父节点是否有数据要给自己,此时需要唤醒设备并发送数据。
  可以根据自己的项目需求来设置“f8wConfig.cfg”文件里“DPOLL_RATE”改变终端节点询问父节点的间隔时间,单位:ms;时间设置的越长越省电;设置为0则不进行轮询。对于一个不需要接收消息的终端设备,在它加入网络后,可将此参数设置为0
2)终端节点在发出“data request”命令后,会收到父节点的数据指示命令(data indication),然后经过指定时间后向父节点请求消息队列。
  可以通过设置“f8wConfig.cfg”文件里“DQUEUED_POLL_RATE”来设置间隔时间,单位:ms;时间设置的越短越省电。
3)终端设备在收到数据确认指示后,就会向父节点请求响应消息,这个时间间隔可由“f8wConfig.cfg”文件里“DRESPONSE_POLL_RATE”来设置间隔时间,单位:ms;时间设置的越短越省电。
4)协议栈中只要有事件发生,设备就会从休眠状态中唤醒并处理事件,处理完成后再进入休眠。例如一个低功耗节点利用事件机制1秒钟闪烁一次LED灯,则协议栈将会在事件触发的时候唤醒并处理LED事件,然后再进入休眠。所以在设计低功耗设备的时候要注意应用层事件的应用。
5)关闭协议栈本身自带的硬件轮询事件。查看“hal_drivers.c”文件中的“hal_ProcessEvent”函数可知要关闭协议栈内部的LED轮询事件和KEY轮询事件,在预编译添加:HAL_LED=FALSE 和 HAL_KEY=FALSE。

5. 快速应用

步骤 执行项目
使能低功耗功能 添加预编译选项:POWER_SAVING
关闭射频接收常开功能 在“f8wConfig.cfg”文件里设置:
-DRFD_RCVC_ALWAYS_ON=FALSE
设置终端设备轮询速率 设置“f8wConfig.cfg”文件里“-DPOLL_RATE”
设置终端设备队列轮询速率 设置“f8wConfig.cfg”文件里“-DQUEUED_POLL_RATE”
设置终端设备响应轮询速率 设置“f8wConfig.cfg”文件里“-DRESPONSE_POLL_RATE”
关闭协议栈内部LED轮询和KEY轮询 在预编译添加:
HAL_LED=FALSE 和 HAL_KEY=FALSE

大家的支持就是我分享技术的动力,希望大家需转载时能附上原作者的博客:https://blog.csdn.net/u012993936,谢谢。

猜你喜欢

转载自blog.csdn.net/u012993936/article/details/83449105