【工程师年度总结]】 1、 zigbee3.0的新特性

https://www.ti.com/lit/an/swra615a/swra615a.pdf

截至本文档发布,zigbee3.0的core版本是Zigbee PRO 2017 (R22),之前是Zigbee Pro 2015 (R21),R22可以往下兼容。Zigbee PRO(2015/2017)添加了一些新功能,本文档即为对这些功能的简单介绍,更详细的信息可以参考Zigbee PRO specification以及Zigbee联盟官网http://www.zigbee.org/。

1)zigbeepro specification

A、 子节点管理

子节点管理是指,父节点需要监控邻居表条目,看是否超出预配置的超时时间。如果超时,就使其“老化”。,终端设备可以用“Device Timeout Request”命令更新超时时间。子节点发送MAC数据轮询以重置父节点的老化计数器。 一旦超过超时值且子节点已“老化”,父节点就会向子节点发送leave请求,其中包括rejoin属性,以允许该设备通过新的父节点重新加入网络。

B、  Parent Announce命令

Zigbee3.0规定,父节点通知消息在所有路由设备(路由器和协调器)上都是必需的,并且用于通知网络中子级设备已知的其他路由设备。如果先前在网络中的路由设备重新入网,则在该设备重新加入网络10到20秒后,广播发送Parent Announce message,地址是0xFFFC。

C、  TCLK更新

加入Zigbee 3.0集中式网络的R21设备必须在加入网络后启动TC Link Key update程序。在网络关联过程中发送的节点描述符数据包可以指示加入设备的Zigbee版本。协调器(作为trust center)可以配置为接受或拒绝旧式设备【即不启动TC Link key update过程】的假如。这一功能会增加协调器上的内存消耗。

TC Link Key 更新过程如下:

D、 Install code

默认情况下,使用上述TCLK传递初始网络密钥给入网设备。但是现在可以选择使用预配置的密钥和install code来进一步增强安全性。install code是128位随机数据加上16位CRC,它们通过MMO哈希函数来生成TC Link Key, 然后使用此派生密钥代替默认的TCLK,这样就不会使用已知的密钥来加密无线数据。一般install code派生出的TCLK在制造过程中被硬编码到设备中,这样相应install code就包含进设备了,然后通过带外方法【例如用户接口】被编程到协调器中。 由于有了TCLK和install code,R20的High Security mode已从R21规范中删除。

E、  Outgoing NWK Frame计数器

Outgoing NWK frame计数器在所有复位(包括出厂复位和OTA复位)中都保持不变,以防止replay攻击。如果执行NWK密钥更新时,其值大于0x80000000,NWK frame计数器将被重置。

F、  Permit join时间

Zigbee3.0不再允许一直开启permit join,时间最长是254秒。如果要延长时间,应用可以设置一个定时器,周期性地开启入网。且不再支持在TC端禁止加网的情况下打开网络的请求。

G、 新的强制命令

Zigbee3.0必须处理Mgmt-Leave和NWK-Leave请求,根据Zigbee设备类型,处理方式不尽相同。 路由器可从任何节点接受这些命令,而终端设备只能从其直接父节点接受命令。 协调器将忽略所有leave请求。 Mgmt_LQI_req命令对所有设备(包括终端设备)都是必需的,并提供执行网络拓扑发现的标准方法。

H、 可选的分布式网络

分布式网络是由第一个尝试network steering且没有找到协调器的路由器建立的,由于网络没有TC,因此network key有两者方式:要么在加入时通过预配置的Distributed Global Link Key,从父节点接收;要么通过install code带外接收。 由于NWK key是固定的并且无法更新,因此分布式网络中的设备将具有大约43亿个数据包的生存期。

2)Base Device Behavior[BDB]

基本设备行为(BDB)为连接到Zigbee网络的所有节点提供一致的行为,包括一组通用的网络commissioning机制。 可以将其视为ZHA中EZ模式的增强功能。四种模式,Touchlink,Network Steering,Network Formation,Finding and Binding (F&B)。Touchlink是Zigbee Light Link profilre,等效于位置相近的commissioning。 Network Steering开启permit join,但前提是该设备已经在网络上。如果终端设备或路由器当前不在网络中,则该设备将尝试先加入现有网络,并且只有在此过程成功后才能继续开启permit join。对于协调器(如果允许分布式网络,则为路由器),如果Network Steering确定没有合适的网络可加入,则将调用Network Formation。这将为协调器创建一个新的集中式安全网络,或为路由器创建一个分布式安全网络。

假如设备加入了网络,开始寻找同样处于F&B模式且对交换数据感兴趣的其他节点,设备将会调用F&B。如果在其他节点上找到匹配的群集,则会进行相应的绑定。通过F&B过程完成绑定后,任何具有支持ZCL reproting属性的绑定的群集都将立即开始对绑定表条目中目标集进行设置。 BDB规范还要求对所有可报告属性进行自动ZCL属性报告。用户可以配置默认报告间隔和可报告变量。

3)BDB的安全性

在集中式安全网络内部,TC link key用于传输初始和将来的NWK key。初始TC link key 要么是默认的已知密钥,从预配置的install code上派生的;要么是明确定义的密钥。如前文所述,zigbee3.0设备必须更新TC link key ,作为网络加入过程的一部分。

A、BDB几种重置方式

BDB的reset方式包括:“reset to factor defaults”指令,进行基本集群重置,将设备上的所有集群属性重置为其默认值。 其中网络设置,组和绑定不受影响;“reset to factory new”,所有的持久数据都将被清除,outgoing network frame counter除外。 这个指令可以通过关闭rejoin的“Network Leave”命令、关闭rejoin的Mgmt_Leave_req命令以及本地操作或touchlink来执行;最后还有一个“complete”重置。 重置一切数据包括outgoing network frame counter,由制造商定义,没有标准方法。

3)Green Power Basic Proxy

每个具有路由功能的Zigbee 3.0设备(路由器或协调器)都必须实现Green Power Basic Proxy(GPBP)v1.1.1功能,以实现向前兼容。 GPBP使路由设备能够将Green Power Device Frames (GPDF)从Green Power 源设备传输到sink设备,从而使任何Zigbee 3.0网络都可以使用green power功能,而无需考虑设备自身特定的应用程序。

用户可以禁用Green Power Basic Proxy功能,但是如果想要认证Zigbee设备,则不能禁用, Zigbee 3.0的认证要求设备具备Green Power Basic Proxy。如果您正在实现专有应用并且希望节省代码空间,则可以禁用此功能,方法是添加编译标志----DISABLE_GREENPOWER_BASIC_PROXY。

4)Zigbee Cluster Library

ZCL 7规范有单独的文档,其中包含以前跨多个文档、针对多个配置文件的所有群集定义。 它符合单个应用程序配置文件ID(0x0104),并且不再要求安全性和加密,因为此功能现在由Zigbee PRO和BDB规范处理。 有关更多详细信息,包括对已确认和已验证群集的更新,可至官网下载相应文档。

5)Zigbee Lighting & Occupancy (ZLO)设备规范

Zigbee Lighting & Occupancy (ZLO)设备规范是Zigbee Home Automation配置文件规范的子集,该规范专门针对照明和占用类型的Zigbee设备。 当在,它作为Zigbee 3.0规范的增强功能存在。 本文档包括Zigbee设备类型定义,每种设备类型所需的群集以及每种群集的必需属性。 可以至Zigbee联盟官网获取更多信息。

6)Zigbee 3.0认证

Zigbee 3.0认证现已向所有级别的Zigbee联盟成员开放。 Zigbee联盟向其成员提供ZigBee Testing Tool和Green Power Test Harness用于合规性测试,从而无需租用测试版。。 可以至Zigbee联盟官网获取更多信息。

 

1 个回复