【技术】基于EmberZNet 6.0的Zigbee先进睡眠机制浅析
Zigbee是很多智能家居系统采用的无线协议,主要依靠他的低速率、自组网、低功耗的特点。很多厂家都有Zigbee方案,但是SILICON LABS的Zigbee方案具有快速开发、网络稳定、功耗更低、集成微功耗PA等优势,在市场上面很受青睐,目前,全球范围内至少有1亿颗基于EmberZNet的Zigbee节点,足以证明它的优秀。
本文讨论EmberZNet的先进的睡眠机制,以帮助开发者能够对它的机制有更深刻的认识,从而能够对它有更好的利用。
EmberZNet的Zigbee的主推方案是EFR32MG系列产品,EFR32MG本身具有五种低功耗工作模式:
EM0:Active状态,此时CPU活动、外设活动,功耗最高,最低65uA/MHz。
EM1:IDLE状态,此时,CPU停止,外设活动,功耗和所使用的外设有关,一般可以认为此时3mA~5mA左右的功耗。
EM2:Deepsleep状态,此时,部分LFXO或LFRCO、ULFRCO低速时钟的外设活动,RAM保存,标称此时电流为1.5uA。
EM3:Stop状态,此时高速时钟HFXO或HFRCO、LFRCO、LFXO均会被关掉,ULFRCO活动,采用ULFRCO的外设仍然可以运行,可选的RAM保存,如RTCC/WDOG/CROTIMER。
EM4H:冬眠状态,从该状态开始,RAM的保存将受到限制,最多通过RTCC外设的RAM区保存128字节的RAM数据。因此,该状态唤醒将会将系统复位。在该状态下,可以使用Cryotimer和指定的GPIO唤醒。
EM4S:关闭状态,在该状态下,所有外设基本都关掉,RAM全部丢失,可以通过基于ULFRCO的Cryotimer或指定的GPIO唤醒,唤醒后系统复位。
在EmberZNet协议栈中,使用到了EM0 、EM1、EM2和EM4H模式,主要的休眠工作在idle-sleep-soc.c line21的void emberAfPluginIdleSleepTickCallback(void)函数中处理。
流程如下:
1.要关闭全局中断,保证睡眠的处理不被中断打断和篡改。
2.是否可以进入休眠,判断条件是
1)开发者是否指定保持唤醒状态不休眠。
2)开发者是否指定未加入网络时不休眠。
3)是否有串口正在发送数据,此时不能休眠。
4)是够有任务等待执行,如果有则不能休眠,要处理就绪的任务,包括用户任务和协议栈任务。
如果这些均全部通过,那至少可以进入IDLE状态了。
3.如果判定可以休眠,对于Sleepy End Device来说,由于RADIO在休眠时是不可以打开的,因此,还需要进行进一步判断是否可以关闭Radio,进入休憩模式,判断依据是查询是否有高优先级的协议栈任务需要运行,目前定义是4个任务具有高优先级:
1)RADIO数据发送任务。
2)RADIO数据接收任务。
3)RADIO外设正在使用。
4)RF4CE网络忙。(一种Zigbee遥控标准协议)
如果有以上任务正在执行,则系统还是不能休眠。
4.如果没有stack高优先级任务在执行,系统就可以安心休眠,首先,需要计算休眠的时间,休眠时间指从现在开始到执行下一个事件发生的时间,以[1/1024]秒为单位,如果计算出来可以休眠的时间小于5ms(系统默认,可修改),那也不可以进入Deepsleep状态,因为进入Deepsleep需要关外设、关协议栈,唤醒后需要开外设、开协议栈,这些动作完成也需要几毫秒的时间,功耗核算下来进入Deepsleep没有任何意义。这种情况下系统会默认进入个EM1 IDLE状态就可以了。如果休眠时间大于5ms,那系统就着手进入deepsleep。再次唤醒时,会给出已经睡眠了多久,用以做调试使用。
注意一点是,无论系统进入IDLE或Deepsleep状态,都会在睡眠之前把中断全部再重新打开,用作唤醒源,但操作是封装在睡眠函数中未开源,我们不要再去手动添加。
接下来,如果我们想要使用EM4--系统最低功耗的模式,那我们需要再进行一点复杂的处理。
首先,EM4唤醒就会复位,因此,在进入EM4之前,要保存Parent Info,也就是父节点的IEEE地址和NodeID,这个不要我们去做,系统会自动添加,在判定是否进入EM4时,默认会进行bool emberParentTokenSet(void)判断是否该操作已经完成,如果未完成则不能进入EM4。同时,需要用户在bool emberAfOKToGoToEM4Callback()函数中返回true,系统才可以确认进入EM4,在进入EM4之前,系统会使用RTCC保存16字节的与当前网络通信加密有关的数据,包括发送数据的FrameCounter、接收数据的FrameCounter、发送数据的LinkKeyFrameCounter、接收数据的LinkKeyFrameCounter,再次唤醒时会自动读取。从EM4唤醒后,系统会获取复位原因,如果是EM4造成的,则会进入void emberAfCameBackFromEM4Callback()函数中,进行EM4的参数回读工作。
但是,使用EM4还是需要做很多工作,因为如果直接使用EM4,会造成周期性的任务事件没有办法执行,每次进入EM4会丢失之前的任务信息,比如Sleepy End Device的Short poll、Long Poll事件无法正常执行。建议是在进入EM4之前就先做好此类工作,bool emberAfOKToGoToEM4Callback()是非常适合的接口。
EM4目前进入机制中协议栈有些地方需要修改,除在ISC文件中选择EM4 plugin外。需要增加EMBER_AF_PLUGIN_EM4、EMBER_ENABLE_EM4定义,重复的定义问题可以去掉$Prj_name.h中的相同定义。在micro.c文件line380 void setEm4WakeupTimer(uint32_t duration)中的 cryotimerInit.period = closestPowerOfTwo(duration);计算周期不正确,请参考手册配置。另外,在child.h文件line 334
#define emberOkToGoToLowPowerMode() (!emberCurrentStackTasks() && emberParentTokenSet())
修改为
#define emberOkToGoToLowPowerMode() (!emberCurrentStackTasks() && !emberParentTokenSet())
世强元件电商版权所有,转载请注明来源及链接。
- |
- +1 赞 0
- 收藏
- 评论 8
本网站所有内容禁止转载,否则追究法律责任!
评论
全部评论(8)
-
Ranger Lv8. 研究员 2018-06-02不错
-
饮水者 Lv8. 研究员 2018-03-30不错
-
海绵宝宝 Lv7. 资深专家 2018-03-30zigbee已经很成熟了
-
用户18396822 Lv8 2018-01-05支持
-
冷锋 Lv7. 资深专家 2018-01-05学习了
-
用户56731903 Lv9. 科学家 2017-12-27学习了!
-
serena Lv7. 资深专家 2017-12-27浅睡眠机制在低功耗中很重要
-
常大人 Lv5. 技术专家 2017-12-27学习了
相关推荐
超低功耗MCU具有低能耗、高集成度和多功能等特点,成为实现智能家居的重要驱动力
超低功耗MCU作为智能家居解决方案的核心技术之一,具有低能耗、高集成度和多功能等特点,成为实现智能家居的重要驱动力。本文深入探讨超低功耗MCU在智能家居中的应用以及其核心技术。
技术探讨 发布时间 : 2023-11-18
超低功耗MCU技术的挑战与突破推动物联网创新的关键因素
超低功耗MCU作为物联网设备的核心组件,需要满足长时间运行、低功耗和高性能等要求。本文将详细介绍超低功耗MCU技术所面临的挑战,并讨论了各种创新解决方案,以推动物联网领域的进一步发展。
技术探讨 发布时间 : 2023-10-20
【技术】详细介绍超低功耗MCU的基本原理、特点以及其在绿色智能家居领域的关键应用
本文将探讨超低功耗MCU在实现绿色智能家居中的关键技术。随着绿色环保和智能化的需求不断增长,超低功耗MCU作为一种关键技术,可以实现智能家居设备的高效能耗比和长时间运行。本文将详细介绍超低功耗MCU的基本原理、特点以及其在绿色智能家居领域的关键应用。
技术探讨 发布时间 : 2023-10-11
一文教你弄懂 ZigBee中的LQI和RSSI
Silicon Labs的EFR32MG系列支持SOC单芯片支持SuB-GHz、Bluetooth、ZigBee和Thread多协议,具有优越的射频性能、丰富的外设资源和超低的功耗等特性,被广泛的应用于智能家居产品中。很多工程师做智能家居产品开发时,是第一次真正接触ZigBee技术,可能对于ZigBee技术的一些概念不是非常清晰。本文向大家介绍ZigBee中的邻居表(neighbor-table)
设计经验 发布时间 : 2019-03-31
【经验】多协议无线 SOC EFR32MG实现ZigBee的OTA操作指南
EFR32MG系列是Silicon Labs公司推出支持多协议无线 SOC,可以单芯片支持私有协议、BLE5.0、BLE MESH、ZigBee和Thread协议,并且可以单芯片支持Sub-GHz和2.4GHz的频段。由于其超低功耗、高射频性能以及高集成度等特点被广泛应用于智能家居、安防、智能工业等市场。在ZigBee的实际应用中,OTA是必不可少的功能,由于选择的型号不同,配置OT
设计经验 发布时间 : 2018-09-24
M0+产品行业新标杆诞生,武汉芯源CW32L010安全低功耗MCU集合多项技术性能优势
2024年9月26日,武汉芯源半导体带着最新产品CW32L010安全低功耗MCU作客电巢直播间,举行了一场璀璨的XR技术新品发布会,此次直播,武汉芯源半导体技术总监 张亚凡、北中国区销售总监 孙秀艳与大家分享了武汉芯源半导体的发展历程和重要时刻,全面介绍和讲解了新品CW32L010实现的技术优势。
原厂动态 发布时间 : 2024-11-05
【经验】创建ZigBee的无线SOC网关工程操作步骤
Silicon Labs公司的EFR32MG系列是针对智能家居市场应用的多协议无线SOC,单芯片支持蓝牙、ZigBee和Thread等协议,尤其是高性价比的系列2产品MG21、MG22,在ZigBee应用方面受到广大工程师的青睐。对于新手来说,使用SOC模式网关是最简单不过,本文就指导大家创建ZigBee的SOC网关工程操作步骤。
设计经验 发布时间 : 2020-04-09
【经验】多协议无线SoC EFR32MG的ZigBee开发之Token使用教程
EFR32MG系列是Silicon Labs公司针对多协议推出的无线SOC,单芯片可以支持Sub-G、蓝牙、Thread和Zigbee多种协议。Token是用来存储非易失性数据的即掉电后也能保存,本文档指导大家如何在EmberZNet PRO应用程序中自定义Token来存储非易失性数据。
设计经验 发布时间 : 2019-02-13
2.4GHz无线SoC MG21助力开发SONOFF微型Zigbee USB智能适配器支持路由和快充
SILICON LABS近日宣布,其EFR32MG21(MG21)2.4GHz无线SoC获SONOFF公司选用于开发新型“ZBMicro”智能开关。该产品是SONOFF最新的微型Zigbee USB智能适配器,也是智能家居技术领域的开创性产品。从作为USB设备的智能开关到作为Zigbee路由器和支持快速充电的功能,ZBMicro提供了无与伦比的用户体验,提升了现代智能家居的连接性和便利性。
原厂动态 发布时间 : 2024-08-17
【经验】利用CLI命令创建EFR32MG的Zigbee工程绑定和上报条目
EFR32MG系列是Silicon Labs公司针对多协议推出的无线SOC,单芯片可以支持Sub-G、蓝牙、Thread和Zigbee多种协议。由于其高集成度、高射频性能以及低功耗等特性,被广泛应用于智能家居市场。Zigbee3.0发布后,Zigbee技术在智能家居应用中也越来越火爆。本文指导大家利用CLI命令创建EFR32MG的Zigbee工程绑定和上报条目,操作环境基于Simplicity S
设计经验 发布时间 : 2019-01-08
【经验】如何降低ZigBee设备入网时的平均电流
Silicon Labs的EFR32MG系列是支持蓝牙5、BLE MESH、ZigBee的多协议无线SOC,其具有高集成度、超低功耗等特性,被广泛应用于智能家居以及IOT市场。有些产品对于低功耗要求较高,如电池供电传感器、单火开关等,本文基于EmberZnet协议栈,指导大家使用EFR32MG系列SOC开发ZigBee产品时,如何降低ZigBee设备入网时的平均电流。
设计经验 发布时间 : 2019-05-23
超低功耗MCU智能家居的节能新宠
随着智能家居的快速发展,越来越多的家庭开始享受智能化带来的便捷和舒适。然而,智能家居设备在带来便利的同时,也带来了能耗问题。为了解决这一难题,超低功耗MCU(微控制器)逐渐成为智能家居领域的节能新宠。本文将深度解析超低功耗MCU在智能家居中的应用及其带来的节能效果。
原厂动态 发布时间 : 2024-06-25
【技术】浅析主流低功耗无线技术:BLE,蓝牙MESH,ZigBee和Thread协议,LPWAN技术
主流低功耗无线技术包括低功耗蓝牙(BLE)、蓝牙MESH、ZigBee、Thread协议和低功耗广域网LPWAN技术,为不同的应用产品选择正确的网状网络技术。
新技术 发布时间 : 2018-03-28
【经验】多协议无线SoC EFR32MG的ZigBee开发之Token概念解析
EFR32MG系列是Silicon Labs公司针对多协议推出的无线SOC,单芯片可以支持Sub-G、蓝牙、Thread和Zigbee多种协议。在EFR32MG芯片中没有eeprom,Silicon Labs提供了使用flash模拟eeprom(simulated eeprom)的用法,用来存储非易失性数据,所以实际上它们是直接存储在flash上。而这些数据的写入和访问就是通过token来实现的。
设计经验 发布时间 : 2019-02-12
通盘剖析多种无线协议在智能家居的应用和技术
Silicon Labs(亦称“芯科科技”)首席产品经理Rob Alexander先生近期参与行业媒体Big-Bit的专题访谈,针对智能家居应用的多样无线连接协议的特性和应用机会,以及相关的技术和解决方案发展趋势进行全面的解析,从而帮助行业开发人员迈向日益扩大规模的智能家居市场。
应用方案 发布时间 : 2024-06-23
电子商城
品牌:SILICON LABS
品类:Mighty Gecko Multi-Protocol Wireless SoC
价格:¥27.0929
现货: 90,767
现货市场
品牌:SILICON LABS
品类:Switch Hall Effect Magnetic Position Sensor
价格:¥2.2924
现货:126,000
服务
根据用户的蓝牙模块,使用Bluetooth 蓝牙测试装置MT8852B,测试蓝牙1.0至5.1,包括传输速率、功率、频率、调制和接收机灵敏度,生成测试报告。支持到场/视频直播测试,资深专家全程指导。
实验室地址: 深圳 提交需求>
支持 3Hz ~ 26.5GHz射频信号中心频率测试;9kHz ~ 3GHz频率范围内Wi-SUN、lora、zigbee、ble和Sub-G 灵敏度测量与测试,天线阻抗测量与匹配电路调试服务。支持到场/视频直播测试,资深专家全程指导。
实验室地址: 深圳/苏州 提交需求>
登录 | 立即注册
提交评论