【技术】基于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在智能家居中的应用以及其核心技术。
浅谈超低功耗MCU在物联网应用中的作用
超低功耗MCU在物联网应用中展现出了重要价值。其低功耗和高度集成的特点,为物联网设备提供了强大支持。物联网作为新一代信息技术的重要组成部分,正日益渗透到个人生活、工业生产和城市运营等领域。
超低功耗MCU:物联网应用中的关键驱动力
超低功耗MCU在物联网应用中扮演着关键的角色。其卓越的能效表现使得物联网设备能够实现更低功耗、更长寿命的运行。本文详细介绍了超低功耗MCU的工作原理、特点以及在物联网领域中的广泛应用案例。
SILICON LABS ZIGBEE 无线 Gecko SoC选型表
EFR32MG无线 Gecko SoC 是在 IoT 设备上实现节能多协议连网的理想之选。芯片解决方案结合了 76.8MHz ARM和高性能 2.4GHz 无线电,旨在为 IoT连接应用提供行业领先的节无线 SoC。
产品型号
|
品类
|
Protocol Stack
|
Frequency Band @ Max TX Power(GHz@dBm)
|
Flash(kB)
|
RAM(kB)
|
GPIO(个数)
|
Operating Temperature(℃)
|
Storage Temperature(℃)
|
Pin Count
|
AVDD Supply Voltage(V)
|
EFR32MG12P433F1024GL125-C
|
Gecko Multi-Protocol Wireless SoC
|
Bluetooth LE Zigbee Thread Proprietary, Wi-SUN
|
2.4GHz @ 19dBm, Sub-GHz @ 20dBm
|
1024kB
|
256kB
|
65
|
-40℃~85℃
|
-50℃~150℃
|
BGA125
|
1.8V~3.8V
|
选型表 - SILICON LABS 立即选型
一文教你弄懂 ZigBee中的LQI和RSSI
Silicon Labs的EFR32MG系列支持SOC单芯片支持SuB-GHz、Bluetooth、ZigBee和Thread多协议,具有优越的射频性能、丰富的外设资源和超低的功耗等特性,被广泛的应用于智能家居产品中。很多工程师做智能家居产品开发时,是第一次真正接触ZigBee技术,可能对于ZigBee技术的一些概念不是非常清晰。本文向大家介绍ZigBee中的邻居表(neighbor-table)
M0+产品行业新标杆诞生,武汉芯源CW32L010安全低功耗MCU集合多项技术性能优势
2024年9月26日,武汉芯源半导体带着最新产品CW32L010安全低功耗MCU作客电巢直播间,举行了一场璀璨的XR技术新品发布会,此次直播,武汉芯源半导体技术总监 张亚凡、北中国区销售总监 孙秀艳与大家分享了武汉芯源半导体的发展历程和重要时刻,全面介绍和讲解了新品CW32L010实现的技术优势。
【经验】多协议无线 SOC EFR32MG实现ZigBee的OTA操作指南
EFR32MG系列是Silicon Labs公司推出支持多协议无线 SOC,可以单芯片支持私有协议、BLE5.0、BLE MESH、ZigBee和Thread协议,并且可以单芯片支持Sub-GHz和2.4GHz的频段。由于其超低功耗、高射频性能以及高集成度等特点被广泛应用于智能家居、安防、智能工业等市场。在ZigBee的实际应用中,OTA是必不可少的功能,由于选择的型号不同,配置OT
SILICON LABS Matter 无线SoC选型表
EFR32MG24 无线 SoC 是使用 Matter、OpenThread 和 Zigbee 进行网状物联网无线连接的理想选择
产品型号
|
品类
|
Protocol Stack
|
MAX TX Power (dBm)
|
Flash(kB)
|
RAM(kB)
|
GPIO(个数)
|
Secure Vault
|
IADC High-Speed/High-Accuracy
|
Multi Vector Processor
|
Max CPU Speed(MHz)
|
Operating Temperature(℃)
|
Storage Temperature(℃)
|
Pin Count
|
AVDD Supply Voltage(V)
|
EFR32MG24B310F1536IM48-B
|
Wireless SoC
|
Matter,Zigbee,Thread,Bluetooth 5.3
|
10dBm
|
1536kB
|
256kB
|
28
|
High
|
IADC High-Speed/High-Accuracy
|
Multi Vector Processor
|
78.0MHz
|
-40℃~125℃
|
-50℃~150℃
|
QFN48
|
1.71V~3.8V
|
选型表 - SILICON LABS 立即选型
武汉芯源半导体安全低功耗MCU CW32L010 | 新品使用初体验
CW32L010新品的正式发布,标志着嵌入式技术领域的又一次创新突破。今日,我们有幸进行该新品的首次使用体验,以一块L010核心板为例,体验一下这颗芯片
【经验】创建ZigBee的无线SOC网关工程操作步骤
Silicon Labs公司的EFR32MG系列是针对智能家居市场应用的多协议无线SOC,单芯片支持蓝牙、ZigBee和Thread等协议,尤其是高性价比的系列2产品MG21、MG22,在ZigBee应用方面受到广大工程师的青睐。对于新手来说,使用SOC模式网关是最简单不过,本文就指导大家创建ZigBee的SOC网关工程操作步骤。
【经验】多协议无线SoC EFR32MG的ZigBee开发之Token使用教程
EFR32MG系列是Silicon Labs公司针对多协议推出的无线SOC,单芯片可以支持Sub-G、蓝牙、Thread和Zigbee多种协议。Token是用来存储非易失性数据的即掉电后也能保存,本文档指导大家如何在EmberZNet PRO应用程序中自定义Token来存储非易失性数据。
Z-wave是什么?zwave网关如何实现智能家居?
Z-Wave是一种无线协议,广泛用于智能家居解决方案,以及Zigbee。Z-Wave诞生于丹麦公司Zensys的一个想法,该想法使用低能无线电波进行从一个电器到另一个电器的通信。
【经验】利用CLI命令创建EFR32MG的Zigbee工程绑定和上报条目
EFR32MG系列是Silicon Labs公司针对多协议推出的无线SOC,单芯片可以支持Sub-G、蓝牙、Thread和Zigbee多种协议。由于其高集成度、高射频性能以及低功耗等特性,被广泛应用于智能家居市场。Zigbee3.0发布后,Zigbee技术在智能家居应用中也越来越火爆。本文指导大家利用CLI命令创建EFR32MG的Zigbee工程绑定和上报条目,操作环境基于Simplicity S
【技术】浅析主流低功耗无线技术:BLE,蓝牙MESH,ZigBee和Thread协议,LPWAN技术
主流低功耗无线技术包括低功耗蓝牙(BLE)、蓝牙MESH、ZigBee、Thread协议和低功耗广域网LPWAN技术,为不同的应用产品选择正确的网状网络技术。
2.4GHz无线SoC MG21助力开发SONOFF微型Zigbee USB智能适配器支持路由和快充
SILICON LABS近日宣布,其EFR32MG21(MG21)2.4GHz无线SoC获SONOFF公司选用于开发新型“ZBMicro”智能开关。该产品是SONOFF最新的微型Zigbee USB智能适配器,也是智能家居技术领域的开创性产品。从作为USB设备的智能开关到作为Zigbee路由器和支持快速充电的功能,ZBMicro提供了无与伦比的用户体验,提升了现代智能家居的连接性和便利性。
电子商城
品牌:SILICON LABS
品类:Mighty Gecko Multi-Protocol Wireless SoC
价格:¥27.0929
现货: 90,767
现货市场
品牌:SILICON LABS
品类:Switch Hall Effect Magnetic Position Sensor
价格:¥2.2924
现货:126,000
服务
提供是德(Keysight),罗德(R&S)测试测量仪器租赁服务,包括网络分析仪、无线通讯综测仪、信号发生器、频谱分析仪、信号分析仪、电源等仪器租赁服务;租赁费用按月计算,租赁价格按仪器配置而定。
提交需求>
可烧录IC封装SOP/MSOP/SSOP/TSOP/TSSOP/PLCC/QFP/QFN/MLP/MLF/BGA/CSP/SOT/DFN;IC包装Tray/Tube/Tape;IC厂商不限,交期1-3天。支持IC测试(FT/SLT),管装、托盘装、卷带装包装转换,IC打印标记加工。
最小起订量: 1pcs 提交需求>
登录 | 立即注册
提交评论