【经验】关于EFR32MG多协议SOC芯片做ZigBee开发时,休眠设备的polling机制的浅析
EFR32MG系列是SILICON LABS的多协议SOC芯片,支持BLE、BlueTooth Mesh、ZigBee和Thread协议,被广泛应用于智能家居、智能工业等市场。EFR32MG做ZigBee开发时,很多工程师对于休眠设备的polling机制不是很清楚,本文就基于EmberZnet Stack的polling机制做些浅谈,希望在开发过程中能够帮助到大家。
我们知道ZigBee协议中Sleepy End Device(下文简称ZSED)是通过polling机制和父节点进行交互,来读取自己的数据并通知父节点自己仍在网络。EmberZnet Stack中polling分两种,即short poll和long poll,在plugins的End Device Support中可以分别设置short poll和long poll的时间间隔。如下图:
其工作机制如下:当ZSED使用long poll时,ZSED会以long poll设置的周期向父节点poll,不poll时射频处在关闭状态。ZSED会一直处于long poll状态直到从父节点查询到有自己的数据,此时ZSED会切换成short poll并以short poll设置的周期每次从父节点取一包数据,直至取完。当ZSED接收到父节点的response或者wake timeout被触发,ZSED会再次切换到long poll。Wake timeout默认是3秒,即ZSED连续发了3次short poll(short poll interval默认是1S),父节点都没有数据给ZSED时,Wake timeout就会被触发,ZSED又会切换到long poll。如果数据传输较为频繁,可以把ZSED的long poll设置短一些。如果数据量大,比如 OTA的情况,则可以把short poll缩短一些,加快传输速率。short poll可以通过 emberAfSetShortPollIntervalQsCallback( int16u shortPollIntervalQs )函数动态修改。
1、了解了polling工作机制后,那ZSED应该多长时间向父节点poll一次呢?
决定ZSED应该多长时间向父节点poll一次,需要考虑间接传输超时(Indirect Transmission Timeout),ZigbBee规范规定的间接传输超时时间是7.68秒,即父节点缓存子节点的数据时间是7.68秒,超过这个时间数据就会被清除。EmberZnet Stack通过EMBER_INDIRECT_TRANSMISSION_TIMEOUT 或者EZSP_CONFIG_INDIRECT_TRANSMISSION_TIMEOUT设置间接传输超时时间。如果应用中ZSED需要接收其他节点发来的数据,就需要至少7.5秒poll一次,因为超过7.5秒的话就有可能丢失信息或者APS ACKs。ZSED在调试、网络维护或报警状态等特殊情况下,在发送消息后的一定时间内应该以更短的poll周期来轮询,使得ZSED可以快速确认和响应消息,等设备返回到正常操作状态时,再恢复到标准的poll周期轮询。当ZSED只是单向传输,不需要接收其他节点的数据时,poll周期可以设置大于7.68秒。
2、ZSED可以在不轮询父节点的情况下能运行多长时间?超时之后ZSED会发生什么?
EmberZnet Stack中ZSED具有poll timeout参数,ZSED必须在poll timeout范围内至少向父节点poll一次。Poll Timeout时间由EMBER_END_DEVICE_POLL_TIMEOUT或者EZSP_CONFIG_END_DEVICE_POLL_TIMEOUT和EMBER_END_DEVICE_POLL_TIMEOUT_SHIFT或者EZSP_CONFIG_END_DEVICE_POLL_TIMEOUT_SHIFT配置,plugin的ZigBee PRO Leaf Library或者ZigBee PRO Stack Libraryz中设置,如下图:
Poll Timeout的值是5*2^6 = 5*64 = 320秒,这个值在ZSED申请入网过程中会告诉父节点。
如果ZSED超出poll timeout没有向父节点polling的话,父节点会将该子设备从child table中移除,有效地将子设备老化出网络。这样做是为了防止子设备出现异常情况(如损坏、被拿走)时,父节点的child table会被一直无效占用。它还能确保父节点与子节点保持同步,确定哪个子节点属于哪个父节点。当父节点成功地接收到并处理子节点的polling,父节点会重置poll timeout,当子节点接收到父节点返回的ACK,子节点端也重置poll timeout。堆栈为了容纳不支持轮询的非睡眠终端的设备,每当子节点发送传出消息时,父节点仍然会重置其一侧的poll timeout,但是运行EmberZnet Stack的终端设备传出消息时不会重置超时,因此,仍应进行轮询以使连接两侧的超时“保持活动”。Poll timeout的最大值为255 * 2^14 = 4177920秒 = 68632分 = 1160.53小时 = 48.35天。
但ZSED超出poll timeout没有向父节点polling,父节点从child table中移除此ZSED,ZSED在参与网络通信之前,被要求rejoin网络(FindAndRejoinNetwork)。请注意,如果在emberNetworkState()结果为EMBER_JOINED_NETWORK_NO_PARENT时启动了PollForData操作,则EmberZNet堆栈将自动启动此重新加入。
3、如果父节点故障,ZSED发送polling后得不到ACK,ZSED会发生什么?
假设一种情况如下:ZSED的poll timeout时间为5小时,而short poll时间间隔为1秒,long poll时间间隔为10秒。这种情况下,如果父节点发生故障或者被移除网络,那么ZSED是不是只有到5小时poll timeout超时机制触发才会rejoin呢?
EmberStack中End Device还有一个最大次数的Missed Polls机制,plugin中设置如下:
当End Device的polling次数达到最大的Missed Polls次数,都没有接收到父节点的ACK时,也会触发rejoin。
- |
- +1 赞 0
- 收藏
- 评论 4
本文由Carol提供,版权归世强硬创平台所有,非经授权,任何媒体、网站或个人不得转载,授权转载时须注明“来源:世强硬创平台”。
相关推荐
一文教你弄懂 ZigBee中的LQI和RSSI
Silicon Labs的EFR32MG系列支持SOC单芯片支持SuB-GHz、Bluetooth、ZigBee和Thread多协议,具有优越的射频性能、丰富的外设资源和超低的功耗等特性,被广泛的应用于智能家居产品中。很多工程师做智能家居产品开发时,是第一次真正接触ZigBee技术,可能对于ZigBee技术的一些概念不是非常清晰。本文向大家介绍ZigBee中的邻居表(neighbor-table)
设计经验 发布时间 : 2019-03-31
【经验】ZigBee 3.0 网络 : 使用由install code 生成的 link key 入网
在ZigBee 3.0之前,install code只用于Smart Energy网络。现在,为了提升 Zigbee 的安全性,所有的ZigBee 3.0设备都需要支持install code,但是否在网络中使用由 Trust Center 决定。本文将讲述使用 install code 的方式把 Z3 Light 加入到 Z3 Gateway 中。
设计经验 发布时间 : 2018-10-12
【经验】多协议无线 SOC EFR32MG实现ZigBee的OTA操作指南
EFR32MG系列是Silicon Labs公司推出支持多协议无线 SOC,可以单芯片支持私有协议、BLE5.0、BLE MESH、ZigBee和Thread协议,并且可以单芯片支持Sub-GHz和2.4GHz的频段。由于其超低功耗、高射频性能以及高集成度等特点被广泛应用于智能家居、安防、智能工业等市场。在ZigBee的实际应用中,OTA是必不可少的功能,由于选择的型号不同,配置OT
设计经验 发布时间 : 2018-09-24
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 立即选型
最新Matter智能家居参考设计打破生态藩篱—尽在深圳物联网展
随着智能家居市场的兴起,消费者对设备间的无缝互联与高效协同提出了更高要求。在这一情形下,Matter标准应运而生。连接标准联盟推出的Matter是一项全新的智能家居互联标准,旨在打破不同品牌、不同协议间的壁垒,实现智能家居设备的统一管理和互操作。自Matter标准发布以来得到了国内外众多厂商的支持,其功能不断增强,认证产品数量快速增长,覆盖品类更加多样化。本文介绍Matter 1.3带来哪些更新。
厂牌及品类 发布时间 : 2024-08-16
Silicon Labs为工业和商业客户设计智能断路器,可在恶劣环境中扩展无线连接性能
Silicon Labs 赋能工业物联网设备制造商,为工业和商业客户设计智能断路器。其无线 SoC 和模块具备出色的射频性能,具有优越的接收器灵敏度和+20dpm的高传输功率,可在恶劣环境中扩展无线连接性能。Silicon Labs在每个订购的芯片上添加了高级安全功能,有助于降低生态系统面临的安全漏洞风险,避免让功能欠佳的设备通过调试。
厂牌及品类 发布时间 : 2023-07-12
【经验】创建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
EFR32无线通信模块AN004--RailTest(接收灵敏度开路测试)
EFR32标准模块,是世强独立研发,供用户学习、使用的射频模块。这个模块搭载Silicon Labs 多频段多协议的EFR32MG系列无线SOC芯片EFR32MG12P433F1024GM48,7*7mm QFN48封装,广泛用于智能门锁,门禁系统,照明系统,智能家居,无线抄表等领域。本文基于一站式开发平台simplicity studio V4和EFR32标准模块,介绍如何测试接收灵敏度。
设计经验 发布时间 : 2018-08-24
【经验】如何创建 Z3GatewayHost 网关?
EFR32MG多协议SoC芯片是 Silicon Labs 专门针对 IOT 推出的 ZigBee 方案,高达19.5dbm的发射功率,-102.7dbm的接收灵敏度,在业界内拥有最佳的RF射频性能,具有最全的Zigbee网络协议,被广泛应用在智能家居,工业控制等行业。在开发 Zigbee 产品时网关是重要的一个部分,本文详细介绍了创建一个 GatewayHost 的方法。
设计经验 发布时间 : 2019-01-01
【经验】芯科多协议SoC EFR32MG21使用外部高频晶体时CTUNE值的存储与调用过程
在使用SILICON LABS多协议SoC EFR32MG21芯片开发无线产品时,需要校准外部高频晶体的CTUNE值以保证射频的频偏最小,那么CTUNE值校准后要保存在哪里才能生效,本文我们就通过程序看一下。
设计经验 发布时间 : 2023-03-29
【经验】如何使用树莓派开发 ZigBee 网关?
在 Zigbee 系统中,网关是一个非常重要的设备,为了能容纳更大的网络及更复杂的应用逻辑,一个强大的主机是不可或缺的,树莓派就是这样一个强大的开发平台,非常适合用来构建 host application,这个文章将描述如何设置树莓派来开发 Silicon Lbas EmberZNet ZigBee Gateway。
设计经验 发布时间 : 2018-10-12
【经验】如何在Gateway Soc (internal flash)中实现 Ota Server?
EFR32MG多协议SoC芯片是Silicon Labs专门针对 IOT 推出的ZigBee方案,高达19.5dbm的发射功率,-102.7dbm的接收灵敏度,在业界内拥有最佳的RF射频性能,具有最全的Zigbee网络协议,被广泛应用在智能家居,工业控制等行业。本文介绍在开发 Zigbee Gateway 时如何在Gateway Soc (internal flash)中实现 Ota Server
设计经验 发布时间 : 2019-01-03
【经验】芯科多协议SoC EFR32MG22从启动到加入ZigBee3.0网络的时间分析
我们在使用SILICON LABS多协议SoC EFR32MG22做ZigBee产品时会关心芯片从上电到加入网络具体需要多长时间,这个对使用电池类供电的产品是很重要的参数,本文将分析一下这个过程的时间,介绍初始化时间与扫描入网时间。
设计经验 发布时间 : 2023-03-28
【经验】如何在windows平台搭建Zigbee网关开发环境cygwin?
Silicon Labs 的EFR32MG多协议SoC芯片是 Silicon Labs 专门针对 IOT 推出的 ZigBee 方案,在开发 Zigbee 产品时网关是重要的一个部分,本文详细介绍了如何在Windows平台上搭建Silicon Labs提供的Zigbee网关开发环境cygwin。
设计经验 发布时间 : 2019-11-02
电子商城
品牌:SILICON LABS
品类:Wireless Gecko SoC
价格:¥8.1764
现货: 111,379
品牌:SILICON LABS
品类:Mighty Gecko Multi-Protocol Wireless SoC
价格:¥27.0929
现货: 98,034
品牌:SILICON LABS
品类:Wireless Gecko SoC
价格:¥10.4994
现货: 67,034
现货市场
品牌:SILICON LABS
品类:Switch Hall Effect Magnetic Position Sensor
价格:¥2.2924
现货:150,000
服务
Ignion可支持多协议、宽频段的物联网天线方案设计,协议:Wi-Fi、Bluetooth、UWB、Lora、Zigbee、2G、3G、4G、5G、CBRS、GNSS、GSM、LTE-M、NB-IoT等,频段范围:400MHz~10600MHz。
最小起订量: 2500 提交需求>
提供蓝牙BLE芯片协议、蓝牙模块、蓝牙成品测试认证服务;测试内容分Host主机层,Controller控制器层,Profile应用层测试。支持到场/视频直播测试,资深专家全程指导。
实验室地址: 深圳 提交需求>
查看全部1条回复