【经验】EFR32MG如何通过使用网络报告和网络更新命令帧来更新网络的PANID
由于 16 位的 PANID 不是惟一的数字,所以可能存在 PANID 冲突。此篇文章解释EFR32MG如何通过使用网络报告和网络更新命令帧来更新网络的 PANID。
检测 PANID 冲突
在网络上运行的任何设备都可以接收 MLME-BEACON-NOTIFY.indication 信标帧,如果信标帧的 PAN 标识符与自身的 PAN 标识符匹配,但信标有效 payload 中包含的 EPID 值不存在或不等于 nwkExtendedPANID,则应认为检测到了 PAN 标识符冲突。
检测到 PANID 冲突的节点应构造一个类型为 PANID 冲突的网络报告命令帧,该帧应发送到 NIB 的 nwkManagerAddr 属性中给出的地址所标识的设备。报告信息字段将包含本地邻居中使用的所有被使用的 16 位 PANID 列表。如何创建此列表超出了规范的范围,但是建议根据类型为 ACTIVE 的 MLME-SCAN.request 扫描的结果构造此列表。
Network Report Command 格式
Command options 格式
完整的 Network Report command identifier 例子如下
收到Network Report(网络报告)命令帧之后
NIB 的 nwkManagerAddr 属性中包含的 16 位网络地址所标识的设备应该是类型为 PANID 冲突的网络报告命令帧的接收方。
接收到网络报告命令帧后,指定的网络层功能管理器应为网络选择一个新的 16 位的 PANID。新 PANID 是随机选择的,但是会执行检查,以确保所选的 PANID 在本地邻居中尚未使用,也未包含在网络报告命令框的报告信息字段中。
一旦选择了新的 PANID,指定的网络层功能管理器应首先增加 NIB 属性 nwkUpdateId (如有必要将其包围为0),然后构造一个 PANID 更新类型的网络更新命令帧。更新信息字段应设置为新 PANID 的值。这个网络更新命令帧将发送给 Zigbee 协调器。
发送此命令帧后,指定的网络层功能管理器应启动一个计时器,其值等于nwkNetworkBroadcastDeliveryTime OctetDurations。当计时器到期时,ZigBee 协调器应通过重新发送附带新 PANID 的 MLME-START.request 将其当前的 PANID 更新为新的 PANID。
在传输网络更新命令帧时,指定的网络层功能管理器应创建一个NLME-NWK-STATUS.indication,NetworkAddr 参数设置为0,状态参数设置为 PANID 更新。
当接收到Network Update(网络更新)命令帧之后
接收到类型为 PANID 更新的网络更新命令帧后,设备应启动一个计时器,其值等于 nwkNetworkBroadcastDeliveryTime OctetDurations。当计时器到期时,设备应将其当前的 PANID 更改为 Update Information 字段中包含的值。
在传输网络更新命令帧时,设备应创建一个 NLME-NWK-STATUS.indication 原语,NetworkAddr 参数设置为 0,状态参数设置为 PANID 更新。
从 NIB 的 nwkManagerAddr 属性标识的设备接收到网络更新命令后,更新 id 字段中包含的值应存储在 NIB 的 nwkUpdateId 属性中。信标的 payload 也应更新。
EmberZnet 如何处理 PANID 冲突问题
在很多时候,为了保证 Zigbee 网络的稳定性,客户不希望自己的网络 PANID 频繁改动,那么 SILICON LABS 的 EmberZnet 是如何处理 PANID 频繁改变的呢?
在 ember-configuration-defaults.h 文件中,定义了一个宏 EMBER_PAN_ID_CONFLICT_REPORT_THRESHOLD,在大网络中为了避免频繁触发 PANID conflict 导致 network manager 发送 network update,我们需要在网络较大时调大这个值。你可以把这个值设置成最大 63。
/** @brief The number of PAN ID conflict reports that must be received by
* the network manager within one minute to trigger a PAN ID change.
* Very rarely, a corrupt beacon can pass the CRC check and trigger a
* false PAN id conflict. This is more likely to happen in very large
* dense networks. Setting this value to 2 or 3 dramatically reduces
* the chances of a spurious PAN ID change. The maximum value is 63.
* The default value is 2.
*/
#ifndef EMBER_PAN_ID_CONFLICT_REPORT_THRESHOLD
#define EMBER_PAN_ID_CONFLICT_REPORT_THRESHOLD 2
#endif
- |
- +1 赞 0
- 收藏
- 评论 1
本文由xiaoyangfengle提供,版权归世强硬创平台所有,非经授权,任何媒体、网站或个人不得转载,授权转载时须注明“来源:世强硬创平台”。
相关研发服务和供应服务
相关推荐
一文教你弄懂 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
【经验】创建ZigBee的无线SOC网关工程操作步骤
Silicon Labs公司的EFR32MG系列是针对智能家居市场应用的多协议无线SOC,单芯片支持蓝牙、ZigBee和Thread等协议,尤其是高性价比的系列2产品MG21、MG22,在ZigBee应用方面受到广大工程师的青睐。对于新手来说,使用SOC模式网关是最简单不过,本文就指导大家创建ZigBee的SOC网关工程操作步骤。
设计经验 发布时间 : 2020-04-09
技术问答 发布时间 : 2024-07-15
【经验】借助wireshark 来调试zigbee网络
在开发zigbee设备的过程,通常要使用zigbee sniffer , 目前可以用的工具比较多,包括TI, Silicon Labs都有自己的工具,不过还有一个开源工具做的非常优秀,特别在此推荐给大家,它可以对数据包进行规则着色,在设计的过程中会更加直观。
设计经验 发布时间 : 2019-03-31
芯科科技提供行业领先的集成度较高、功能完善且技术资源丰富的Zigbee多协议解决方案
芯科科技提供行业领先的Zigbee多协议解决方案,是OEM在将Zigbee网络设计到其产品中时的首选供应商。我们针对802.15.4标准所打造的Zigbee开发平台是市面上集成度较高、功能完善且技术资源丰富的理想解决方案,主要的MG2x多协议SoC和模块系列产品基于 Arm® Cortex®处理器内核和 2.4 GHz收发器,结合可靠并可扩展的先进软件,并由行业出色的开发工具提供全方位的设计支持。
产品 发布时间 : 2023-12-29
【经验】如何使用树莓派开发 ZigBee 网关?
在 Zigbee 系统中,网关是一个非常重要的设备,为了能容纳更大的网络及更复杂的应用逻辑,一个强大的主机是不可或缺的,树莓派就是这样一个强大的开发平台,非常适合用来构建 host application,这个文章将描述如何设置树莓派来开发 Silicon Lbas EmberZNet ZigBee Gateway。
设计经验 发布时间 : 2018-10-12
【经验】浅析Zigbee射频测试相关标准
Zigbee是很多公司目前在使用的技术,部分厂家采用现成的模组,还有大部分公司选择Layout出自己的产品。无论哪种方式,射频测试都是必须要进行的。
设计经验 发布时间 : 2018-02-26
【选型】ZigBee Soc芯片EM3585与EFR32MG21(Serial 2)参数对比
自2013以来,Silicon Labs(原Ember)推出了EM35x系列,这个方案凭借极好的协议栈运行稳定性,在大量产品中得到应用。2019年EFR32MG Serial 2推出后,在性能与价格方面都体现出具大的优势。加之许多原来在用EM3585,EM357的产品也遇到了一些供应和维护的困难,在进行产品升级或者降成本两个方面考虑,都会遇到选型困难,希望本文可以可以帮助大家了解到ZigBee芯片
器件选型 发布时间 : 2019-07-26
开发必备:超全的ZigBee技术规范,参考设计,开发资料,一站式下载集合!
Silicon Labs的EFR32MG系列无线SOC为ZigBee产品开发提供了多种产品组合, EFR32MG13系列产品Flash 512KB和RAM 64KB最适用于需要OTA的产品;EFR32MG21系列适用于性价比高的产品。本文整理一份超全的设计开发资料,一站式提供给ZigBee开发人员下载。【世强硬创沙龙2019】
设计经验 发布时间 : 2018-11-21
【经验】芯科多协议SoC EFR32MG22从启动到加入ZigBee3.0网络的时间分析
我们在使用SILICON LABS多协议SoC EFR32MG22做ZigBee产品时会关心芯片从上电到加入网络具体需要多长时间,这个对使用电池类供电的产品是很重要的参数,本文将分析一下这个过程的时间,介绍初始化时间与扫描入网时间。
设计经验 发布时间 : 2023-03-28
EFR32MG的ZIGBEE测试,连接开发板无法看到开发板的IP地址,怎么解决?
DEMO 需要连接到带有DHCP服务器的局域网中,会自动分配IP地址给 DEMO板 ,再将装有simplicity studio软件的电脑和开发板接入同一个局域网内,就可以在simplicity studio中看到该DEMO板分配的IP地址,选择后就可以进行操作 。
技术问答 发布时间 : 2017-05-16
Zigbee系统包含几大模块?
Zigbee系统包含模块有:1、ZigBee网络节点,包含End Device/Router;2、ZigBee网关,带有WIFI/以太网的接口,是ZigBee网络和云端、Internet、手机连接的桥梁,里面包含有ZigBee芯片,作为Coordinater;3、云端/Web Server;4、手机APP。
技术问答 发布时间 : 2016-10-25
【经验】ZigBee SOC在Simplicity Studio环境下自带ZigBee抓包数据的功能说明
对刚用芯科科技ZigBee SOC EFR32MG21开发ZigBee产品的工程师来说,想了解ZigBee网络数据的交互过程通常要自己去对空中数据抓包。本文将介绍ZigBee SOC在Simplicity Studio环境下自带ZigBee抓包数据的功能说明。
设计经验 发布时间 : 2022-01-05
电子商城
品牌:SILICON LABS
品类:Mighty Gecko Multi-Protocol Wireless SoC
价格:¥27.0929
现货: 90,767
品牌:SILICON LABS
品类:Wireless Gecko SoC
价格:¥10.4994
现货: 61,779
品牌:SILICON LABS
品类:Wireless Gecko SoC
价格:¥11.5212
现货: 59,367
品牌:SILICON LABS
品类:Gecko Multi-Protocol Wireless SoC
价格:¥44.9692
现货: 12,980
品牌:SILICON LABS
品类:Gecko Multi-Protocol Wireless SoC
价格:¥38.3724
现货: 6,500
现货市场
服务
支持 3Hz ~ 26.5GHz射频信号中心频率测试;9kHz ~ 3GHz频率范围内Wi-SUN、lora、zigbee、ble和Sub-G 灵敏度测量与测试,天线阻抗测量与匹配电路调试服务。支持到场/视频直播测试,资深专家全程指导。
实验室地址: 深圳/苏州 提交需求>
Ignion可支持多协议、宽频段的物联网天线方案设计,协议:Wi-Fi、Bluetooth、UWB、Lora、Zigbee、2G、3G、4G、5G、CBRS、GNSS、GSM、LTE-M、NB-IoT等,频段范围:400MHz~10600MHz。
最小起订量: 2500 提交需求>
登录 | 立即注册
提交评论