(配套源码、软件、开发板等资源,可移步博客同名QQ群/TB店铺:拿破仑940911)
本节与下一节都将讲述关于ZigBee终端设备的低功耗。
本节主要讲解关于基于CC2530芯片的ZigBee技术的低功耗理论部分。
一、应用背景
无论是在智能家居,还是医疗,亦或是在工业控制等领域,“功耗”都是一个非常重要的问题。因为在很多实际情况下,设备只能使用电池供电,而不能使用220V交流电或24V直流电等方式给设备保持常供电。这个时候,低功耗技术就显得尤为重要。否则,频繁地更换电池会对人力和物力造成极大的浪费。
而“低功耗”正是ZigBee技术诸多重要特点及优势之一,因此ZigBee技术在很多领域都有着非常广泛的应用。
二、ZigBee基本概念回顾
讲到ZigBee技术的低功耗,在这里就不得不再重申一下一些ZigBee的基本概念了。ZigBee网络中有三种逻辑设备:协调器(Coordinator)、路由器(Router)和终端(EndDevice)。
协调器节点:是网络中的第一个设备。负责创建、维持和管理网络等,必须要由主电源常供电。
路由器节点:主要负责路由发现、消息传输、允许其他设备通过它加入网络等,一般也多采用主电源常供电。
终端节点:一般负责数据采集或控制功能,只能通过协调器或路由器加入网络,且其他设备不能通过它加入网络。因为它没有特定的维持网络结构的责任,所以可以睡眠或者唤醒,功耗较低,一般采用电池供电。
由此可见,ZigBee技术中真正的低功耗只是针对于终端设备而言的。而对于常供电的ZigBee协调器和ZigBee路由器,我们一般不去考虑它们的功耗。
PS:本文后面提到的“设备”,非特殊说明,均指“ZigBee终端设备”。
三、动态功耗与静态功耗
对于ZigBee终端设备来说,有的时候它是“有事可做”的,但更多的时候它其实是“无事可做”的!在这里,我们就把ZigBee终端设备在“有事可做”和“无事可做”两种不同情况下功耗,分别称为“动态功耗”和“静态功耗”。那么这样一来,ZigBee终端设备的功耗就主要是由“动态功耗”和“静态功耗”两部分组成的了。
这里我们以下一节中将会用到的一张图来简单说明:
上图是一个ZigBee终端设备在入网时及入网后的实时功耗图,可以看到如图所示的交点处的电流大小为8.087mA。
从图中可以看到有很多“毛刺”,其实在这个时候,ZigBee终端设备正在与其父节点交互,或者是正在采集传感数据等,这个时候的功耗就是我们所说的“动态功耗”;更多时候,甚至是90%以上的时间,它其实都是“无事可做”的,也就是图中所示的“平滑区”,这个时候的功耗就是我们所说的“静态功耗”。
由此可见,实际占主导地位的其实是“静态功耗”。
四、CC2530的休眠模式
如手册《CC253x User's Guide》 4.1 Power Management Introduction所述:
CC2530总共有5种工作模式,其中有3种是休眠模式,分别为PM1、PM2和PM3。
此外手册中还提到:虽然CC2530有三种不同的休眠模式,但Z-Stack协议栈中只用了其中两种。
协议栈中的代码也确实如此,只用到了PM2和PM3,分别称为TIMER_SLEEP(定时睡眠)模式和DEEP_SLEEP(深度睡眠)模式。
文档中还有如下说明:
由于DEEP_SLEEP(深度睡眠)模式必须要“复位( 重启)”或者“外部中断”来唤醒,所以一般只适合用于需要按键这一类型的设备。如果不能产生外部中断,则一般使用PM2模式,也就是TIMER_SLEEP(定时睡眠)模式。
(配套源码、软件、开发板等资源,可移步博客同名QQ群/TB店铺:拿破仑940911)