在ZigBee网络中,COO、Router通常由外部电源供电,而ZED节点一般由电池供电。为了提高ZED节点的工作时间,我们需要进行低功耗设计。
低功耗可以从两个层面上考虑:1是硬件层面上的,2是软件层面上的。从硬件层面上说,可考虑的角度主要有:MCU及电路中的其他芯片是否支持睡眠、使用上下拉电阻节约功耗、电源芯片是否可管理、芯片及偏置电路的漏电流等。从软件层面上说,就是提高通信效率、设计睡眠与唤醒策略、加快处理速率减少工作时间等。
我从通信软件设计的角度,列举了几种可行的通讯方案,并最终选择了适合自己的方案。
几种可行的工作方式如下所示:
其中,横轴表示时间,蓝色填充部分表示当前是唤醒状态。首行是网关,其工作伊始就一直处于唤醒状态,其余行表示子节点,子节点大部分时间处于休眠状态。
上图中不同工作模式的工作特性如下:
工作模式 |
工作特性 |
响应上报 |
·主机发送指令,节点定时唤醒响应 |
快响应 |
·节点睡眠时间较短,若有命令则响应,无命令则立刻睡眠 |
主动上报 |
·主机不发送指令,节点主动将数据上报 |
变时间系数 |
·主动上报,但休眠时间与电量相关 |
带应答的 |
·主动上报,但是需要主机响应确认 |
懒模式 |
·t_cycle6大于t_cycle |
不同模式的优缺点如下:
工作模式 |
优点 |
缺点 |
响应上报 |
·程序简单,定时逻辑由主机完成 ·从机可以确认网络通信是否正常 |
·增加了数据量 ·有时主机发送的指令会丢失 |
快响应 |
·数据更新速率高 |
·节点效率低,功耗大 |
主动上报 |
·网络资源占用少 |
·得不到主机的反馈信息 |
变时间系数主动上报 |
·电量多时,时间间隔小,数据更新快 |
·上报速率、超时时间不可控 |
带应答的 |
·保证数据可靠上发 |
·数据流量大,相比无应答方式 |
懒模式 |
·功耗低 |
·一次可能会接收到多条指令 |
在我的实际设计中,不要求数据更新速率很高,且主机下发的数据很少,但我对工作时间却要求较高,需要能工作一年以上。经过一些实验和比较,最终我采用了响应上报模式,主机每个周期下发心跳帧,节点只有接收到心跳帧才试图向主机发送数据,这样保证了主机或网络故障时节点不会白白发送数据,造成电量流失。并且节点在电量较低时自动进入懒模式,牺牲数据更新率以延长工作时间。
当然,要验证该方案的可行性,我还需要很多的测试工作。
>> 本文章版权归作者所有,如需转载请联系作者授权许可。
>> 原文来自: 云飞机器人实验室
>> 原文地址: Smart Home | ZigBee无线设备的低功耗通讯方案
>> 关于我们: 关于云飞实验室
>> 支持我们: 帮助我们可持续发展
1 thought on “Smart Home | ZigBee无线设备的低功耗通讯方案”