用户工具

站点工具


zigbee:protocol_overview

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

后一修订版
前一修订版
zigbee:protocol_overview [2019/10/24 16:52]
lijie 创建
zigbee:protocol_overview [2021/06/22 23:14] (当前版本)
行 1: 行 1:
-zigbee protocol overview +<markdown> 
-摘要:zigbee 协议是异常庞大的知识体系,入门到精通是一个需要注重方法的过程。重心需要放在协议的学习,很多初学者,包括我都早期都是把zigbee当成了单片机学习使用,本末倒置。剥茧抽丝,这里直接开始协议概述。+ 
 +#  zigbee protocol overview 
 + 
 +> **摘要**:zigbee 协议是异常庞大的知识体系,入门到精通是一个需要注重方法的过程。重心需要放在协议的学习,很多初学者,包括我都早期都是把zigbee当成了单片机学习使用,本末倒置。剥茧抽丝,这里直接开始协议概述。 
 对于复杂协议的深入学习,我们都建议一个通用的学习方法,从规范->实现->抓包,规范是无关编程语言、语法的自然语言表达,实现是各家sdk、api、源码的集合,对于抓包则是对应实现理解规范的中间过程。一旦对zigbee有了感性认识,都建议从直接入手规范文档,做到知其所有然。 对于复杂协议的深入学习,我们都建议一个通用的学习方法,从规范->实现->抓包,规范是无关编程语言、语法的自然语言表达,实现是各家sdk、api、源码的集合,对于抓包则是对应实现理解规范的中间过程。一旦对zigbee有了感性认识,都建议从直接入手规范文档,做到知其所有然。
  
-zigbee 协议架构+![zigbee 协议架构](images/zigbee_stack_arch.png) 
 + 
 + 
 + 
 +如上架构图详细展示了zigbee 协议规范的系统框图,不管是采用ti、silicon-labs、nordic的soc方案,以及它们对应不同sdk实现,核心标准都来自如上规范。这些规范主要是由[ieee 组织](http://www.ieee802.org/15/pub/TG4.html)和[zigbee 联盟](https://zigbee.org/zigbee-for-developers/zigbee-3-0/)共同定义,并且公开了完整的规范文档。
  
-如上架构图详细展了zigbee 协议规范的系统框图不管采用ti、silicon-labs、nordicsoc方案,以及它们对应不同sdk实现,核心标准都来自如上规范。这些规范主是由ieee 组织和zigbee 联盟共同定义,并且公开了完整的规范文档+> **提**:这些协议规范都可以从网上直接获取最新的规范文档是需注册zigbee联盟会员和直接向ieee组织购买
  
-提示:这些协议规范都可以从网上直接获取,但是最新的规范文档是需要注册zigbee联盟会员和直接向ieee组织购买。 
 需要一提的是不同厂商的zigbee 实现协议栈有不同策略,ti是半开源,aps以上应用层是开放源码的,包含完整的af、zdo、zcl、bdb,所以对于新手入门来说并不能急于求成,必须打好基本功,对于nordic实现协议栈采用zboos3.1,几乎是一个全闭源的sdk,厂商应用只需要基于应用层(bdb、zcl)一些公共接口和实现其回调函数同协议栈交互。相对新手入门相对容易,但是可能出现不可控。 需要一提的是不同厂商的zigbee 实现协议栈有不同策略,ti是半开源,aps以上应用层是开放源码的,包含完整的af、zdo、zcl、bdb,所以对于新手入门来说并不能急于求成,必须打好基本功,对于nordic实现协议栈采用zboos3.1,几乎是一个全闭源的sdk,厂商应用只需要基于应用层(bdb、zcl)一些公共接口和实现其回调函数同协议栈交互。相对新手入门相对容易,但是可能出现不可控。
  
 如下列出各个分层协议规范,并且详细阐述其功能。 如下列出各个分层协议规范,并且详细阐述其功能。
  
-ieee 802.15.4 +ieee 802.15.4
-由ieee组织定义,最新版本。802.15.4-2011.pdf+
  
-ZigBee Specification, revision 21 and revision 22+  由ieee组织定义,最新版本。802.15.4-2011.pdf
  
-Zigbee PRO 2015 Spec+* ZigBee Specification, revision 21  and revision 22 
  
-提示:zigbee 联盟公开了zigbee pro 2015 revision 21版本版本,zigbee3.0是基于基于zigbee 2017 pro revision22版本,需要加入zigbee 联盟会员。 +  [Zigbee PRO 2015 Spec](https://www.zigbee.org/wp-content/uploads/2014/11/docs-05-3474-20-0csg-zigbee-specification.pdf)
-ZigBee Cluster Library Specification, revision 7+
  
-Zigbee Cluster Library+  > **提示**:zigbee 联盟公开了zigbee pro 2015 revision 21版本版本,zigbee3.0是基于基于zigbee 2017 pro revision22版本,需要加入zigbee 联盟会员。
  
-提示:zigbee 联盟公开revision 6版本,zigbee3.0是基于基于revision7版本,需要加入zigbee 联盟会员。 +* ZigBee Cluster Library Specification, revision  7  
-Zigbee 3.0 Base Device Behavior Specification + 
-Base Device Behavior Specification+  [Zigbee Cluster Library](https://zigbee.org/download/zigbee-custer-library/?wpdmdl=6350&refresh=5d82fd26df5d61568865574) 
 + 
 +  > **提示**:zigbee 联盟公开revision 6版本,zigbee3.0是基于基于revision7版本,需要加入zigbee 联盟会员。 
 + 
 +*  Zigbee 3.0 Base Device Behavior Specification 
 + 
 +  [Base Device Behavior Specification](https://zigbee.org/download/zigbee-3-0-base-device-behavior-specification/?wpdmdl=6348&refresh=5d83584f76a151568888911) 
 + 
 +## mac 802.15.4 
  
-I. mac 802.15.4 
 mac层数据服务: mac层数据服务:
  
-数据传输; +数据传输; 
-信道选择; +信道选择; 
-CSMA-CA (载波监听,多路访问冲突避免)机制; +CSMA-CA (载波监听,多路访问冲突避免)机制; 
-帧过滤筛选(filtration); +帧过滤筛选(filtration); 
-自动应答;+自动应答; 
 mac层管理服务: mac层管理服务:
  
-建立并维护个域网(PAN); +建立并维护个域网(PAN); 
-关联请求/取消关联(Association); +关联请求/取消关联(Association); 
-Beacon 帧构造和请求; +Beacon 帧构造和请求; 
-II. network layer+ 
 +## network layer  
 网络层数据服务 网络层数据服务
  
-单播/广播/组播通信;+单播/广播/组播通信; 
 网络管理服务和维护 网络管理服务和维护
  
-建立一个新的网络; +建立一个新的网络; 
-运行设备加入网络; +运行设备加入网络; 
-邻居表支持实现; +邻居表支持实现; 
-网络发现; +网络发现; 
-加入网络; +加入网络; 
-离开网络; +离开网络; 
-解决并解决地址冲突; +解决并解决地址冲突; 
-管理PANID冲突; +管理PANID冲突; 
-路由中继; +路由中继; 
-网络配置; +网络配置; 
-Frequency agility +Frequency agility   
-终端设备(End Device)超时协议,老化机制; +终端设备(End Device)超时协议,老化机制; 
-III. application layer+ 
 +## application layer  
 需要明白的是,mac和nwk已经完成zigbee协议规范的所有功能集合,apl之内的zdo、aps、af、zdp都是为应用和交互nwk层服务的,其不再需要继续实现zigbee相关功能。 需要明白的是,mac和nwk已经完成zigbee协议规范的所有功能集合,apl之内的zdo、aps、af、zdp都是为应用和交互nwk层服务的,其不再需要继续实现zigbee相关功能。
  
-zdo+### zdo 
 zdo属于apl,在aps之上的应用接口层,主要负责: zdo属于apl,在aps之上的应用接口层,主要负责:
  
-实现除af应用端点之外的,包含nwk、aps、ssp初始化; +实现除af应用端点之外的,包含nwk、aps、ssp初始化; 
-解析用户应用的不同配置实现包含,Primary Discovery Cache Device Operation、Device and Service Discovery 、安全管理、网络管理、绑定管理、Node Manager 、Group Manager 服务。 +解析用户应用的不同配置实现包含,Primary Discovery Cache Device Operation、Device and Service Discovery 、安全管理、网络管理、绑定管理、Node Manager 、Group  Manager 服务。 
-zcl+ 
 +### zcl 
 zcl 是zigbee 应用框架层上用以约定抽象描述物联网设备的协议规范,zigbee 将不同的物联网设备按照功能分类分解成单个cluster 元素,而zcl就是所有cluster的集合,也就是对于不同厂商需要的物联网产品,都可以基于zcl 的中cluster描述,通过这样的标准设备描述语言,实现真正意义的万物互联。 zcl 是zigbee 应用框架层上用以约定抽象描述物联网设备的协议规范,zigbee 将不同的物联网设备按照功能分类分解成单个cluster 元素,而zcl就是所有cluster的集合,也就是对于不同厂商需要的物联网产品,都可以基于zcl 的中cluster描述,通过这样的标准设备描述语言,实现真正意义的万物互联。
  
 如下是物联网设备中典型设备开关/插座,其产品功能集合可以通过一系列cluster描述,其中on/off(0x0006) 用以描述开关功能,basic(0x0000)用以描述程序版本等基础信息。 如下是物联网设备中典型设备开关/插座,其产品功能集合可以通过一系列cluster描述,其中on/off(0x0006) 用以描述开关功能,basic(0x0000)用以描述程序版本等基础信息。
  
-zcl 框图+![zcl 框图](images/zcl_diagram.png) 
 + 
 +> **提示**:详细zcl协议概述参考 http://notes.leconiot.com/zcl.html 
 + 
 +### bdb
  
-提示:详细zcl协议概述参考 http://notes.leconiot.com/zcl.html 
-bdb 
 bdb 是zigbee 应用层上面的纯接口层,提供了设备操作网络相关的交互行为,也就是bdb已经概况总结了可能的人机操作网络的行为(例如,建立网络/加入网络/离开网络),并且规划成接口,方便应用层直接调用,从而进一步规范厂商的应用行为,达到标准化。 bdb 是zigbee 应用层上面的纯接口层,提供了设备操作网络相关的交互行为,也就是bdb已经概况总结了可能的人机操作网络的行为(例如,建立网络/加入网络/离开网络),并且规划成接口,方便应用层直接调用,从而进一步规范厂商的应用行为,达到标准化。
  
-提示:详细信息参考http://notes.leconiot.com/bdb.html +> **提示**:详细信息参考http://notes.leconiot.com/bdb.html 
-IV. zigbee frame construct+ 
 +## zigbee frame construct 
 有了如上描述分层结构认识和功能概况,也可以对应zigbee 空中包加深认识,如下数据结构,从mac从开始每层包含一个协议头和数据负载,依次向上,上层的帧构造是基于下一层的数据负载。 有了如上描述分层结构认识和功能概况,也可以对应zigbee 空中包加深认识,如下数据结构,从mac从开始每层包含一个协议头和数据负载,依次向上,上层的帧构造是基于下一层的数据负载。
  
 对应mac层,这里展开了协议头,由一些列的标志位来表示mac层的协议实现。 对应mac层,这里展开了协议头,由一些列的标志位来表示mac层的协议实现。
  
-zigbee 帧构造+![zigbee 帧构造](images/zigbee_frame_construct.png)
  
 有了上面的帧构造认识,我们就可以清晰解析如下空包,但是具体的协议头和数据负载解析还需要按照ieee组织和zigbbee 联盟协议规范对应章节的帧构造查询。 有了上面的帧构造认识,我们就可以清晰解析如下空包,但是具体的协议头和数据负载解析还需要按照ieee组织和zigbbee 联盟协议规范对应章节的帧构造查询。
  
-zigbee 一完整数据帧+![zigbee 一完整数据帧](images/a_completed_frame.png)
  
 这里总结了所有分层实现的帧构造对应章节,方便直接查询。 这里总结了所有分层实现的帧构造对应章节,方便直接查询。
  
-层 帧构造 +层   | 帧构造                                                       | 
-zcl zigbee sepecification.pdf ->Chapter 2 Foundation->2.4 Command Frame Formats->2.4.1 General ZCL Frame Format +| ---- | ------------------------------------------------------------ | 
-aps zigbee specification.pdf ->Chapter 2 Application Layer Specification->2.2.5 Frame Formats +zcl  zigbee-cluster-library-specification.pdf ->Chapter 2 Foundation->2.4 Command Frame Formats->2.4.1 General ZCL Frame Format | 
-nwk zigbee sepecification.pdf ->Chapter 3 Network Specification->3.3 Frame Formats +aps  zigbee specification.pdf ->Chapter 2 Application Layer Specification->2.2.5 Frame Formats | 
-mac 802.15.4-2011.pdf->5. MAC protocol->5.2 MAC frame formats->5.2.1 General MAC frame format+nwk  zigbee sepecification.pdf ->Chapter 3 Network Specification->3.3 Frame Formats | 
 +mac  802.15.4-2011.pdf->5. MAC protocol->5.2 MAC frame formats->5.2.1 General MAC frame format 
 + 
  
 +</markdown>
zigbee/protocol_overview.1571907163.txt.gz · 最后更改: 2021/06/22 23:14 (外部编辑)