
ZigBee的低功耗是大家非常在意的一件事,譬如纽扣电池的供电设备。(现在我测试下来PM2大概在1.2uA,PM3 在0.3uA的样子,核心板,不算外设) 今天码字太多,就简单备忘一下:
1、入网功耗控制 扫描网络的时候,会增加特别大的功耗,如果网络设计的有问题,代码有bug,造成终端频繁的掉线,重连,电池消耗是很大的,所以在这一块上面需要根据实际需要去做好网络加入的功耗控制,节省电流。我的做法是,入网的时候在协议栈的ZDO_STATE_CHANGE事件中去判断网络状态,如果达到一定时间还是未成功的join或者rejoin,我就回选择继续睡眠,等待下一次定时扫描或者是触发扫描,更加实际应用来判断。
2、运行中功耗控制 加大request的间隔,降低发射功率也可以降低功耗,或者减少协议栈的重发次数,自己在应用层去做相关的送达控制,比如响应。
3、睡眠时的功耗控制 低功耗也就2中(其实有三种,那就是直接关闭电源)主要说说PM3 第一、关闭电源 第二、处理未使用的IO,避免频繁进入中断唤醒 第三、网络部分,PM3模式下虽然只能被中断唤醒,我想唤醒的目的只有一个,发送数据。协议栈的重发机制可不是闹着玩儿的,要是每次都重发5 6次,相当于缩减了5 6倍的使用寿命,这一点也需要好好注意。 4、其他注意事项 PM3模式下大家会发现很多有趣的事情,比如串口用不了了,定时器不准了,即使终端唤醒后也有可能造成这种现象。其实就是一个原因,电源没hold住的状态下晶振不起振了。这一点也一定需要注意。
本文转载自Internet of Things。
长按左侧二维码,识别关注

