概述
怎样使用Zigbee模块的低功耗功能
低功耗其实包含二方面的含义:一是运行时的功耗,一般单片机在20mA左右,二是休眠时的功耗,一般可到几个uA。
运行时的功耗不管怎么小,几个mA还是需要的,再好的电池也支撑不了几天,所以,没有任务的时候,让系统进入休眠状态,才是真正的省电。
下面以DRF1609H来说明下,怎么使Zigbee模块进入、退出休眠状态,及需要注意的事项。
一、概述
Zigbee模块有三种角色(三种类型的节点):Coordinator(协调器),Router(路由器),End Device(终端节点)。
Coordinator(协调器):是Zigbee网络的创建者,并实时负责整个Zigbee网络的维护,可以收发数据,每个网络必须存在且只有一个Coordinator(协调器),Coordinator(协调器)可以收发数据;
Router(路由器):可以收发数据,并且可以自动为其它Zigbee模块提供路由(中继);
End Device(终端节点):可以收发数据,不能为其它节点提供路由(中继),可以设定进入休眠状态;
二、使用方法
1,将Zigbee模块节点类型设置为End Device;
2,发送指令,使Zigbee模块进入休眠(以下为16进制数字);
3,Zigbee模块立即进入休眠状态,进入休眠状态时会保持进入前的任务(如,进入前在寻找网络,则离开低功耗后会继续寻找网络)
4,在休眠状态模式下,拉低FUNCTION按键引脚3ms,则立即退出休眠状态,串口输出3个字节确认:0xFA 0x0A 0x60(前面2个字节的和,保留低8位)。
三、休眠参数
休眠状态电流:平均约5-6uA,退出休眠状态时间:3ms。
四、使用休眠功能注意事项:
退出休眠后,发送数据应预留足够的时间,预留时间=串口传输时间+10MS,如波特率为9600,传输10个字节,则串口占用时间为9.6MS,总共需要预留19.6MS,到再次进入休眠状态;
DRF1609H带有PA,发射电流可达200MA,但是持续时间非常短(10个字节,大约需要0.4MS),如果采用电池供电,应在模块的电源端至少加10UF以上电容;
五、使用休眠的路由问题:
如图所示,假设E(End Device)在A点,发送数据能直接到达C(Coordinator),休眠后,从A点移动到B点,不能直接到达C,必须通过R(Router)自动路由到C,此时E发出的数据,C将收不到,因为E一直在休眠状态,无法更新自己的路由路径。
六、解决休眠的路由方法:
1,End Device休眠结束后,按点对点方式发送数据,由于Coordinator的短地址永远是0x0000,所以按短地址寻址的点对点方式发送:FD + 数据长度 + 0x0000(Coordinator短地址) + 数据
2,或者,休眠结束后让E立即重启,重启后会自动寻找新的路由路径。或者让E保持正常工作状态10秒以上,获得新的路由路径。
喜欢我们,记得点赞订阅哦
最后
以上就是坦率星月为你收集整理的怎样使用Zigbee模块的低功耗功能的全部内容,希望文章能够帮你解决怎样使用Zigbee模块的低功耗功能所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复