【ZigBee 系列】| 5 分钟自我介绍-NXP ZigBee 3.0

前面的文章里面讲了一些 ZigBee 3.0 的操作细节问题,今天早上一拍脑袋,发现啥是 ZigBee 3.0 忘记说了,这不立马给大家补上!

一、 Zigbee 3.0介绍


1.1 Zigbee 3.0

Zigbee 是基于 IEEE 802.15.4 标准的低功耗无线局域网协议,是由 Zigbee 联盟规范的全球开放标准。

Zigbee 3.0 采用 Zigbee PRO 协议、整合了之前 Zigbee 不同的应用层协议, Zigbee PRO是原始 Zigbee 协议的增强版。


1.2 Zigbee 网络节点类型

在 Zigbee 3.0 局域网络中,有三种节点类型:Coordinator、Router、End-Device 。

Coordinator :负责创建网络,其余节点类型不能创建网络,允许其他节点通过它加入网络。

Router :负责路由数据,允许其他节点通过它加入网络。

End-Device :

  • 主要任务是发送和接收消息。
  • 不能成为父节点。
  • 只能直接与其父节点通信,因此所有发往或来自终端设备的消息都通过其父节点传递。
  • 不具备路由功能。如果两个终端之间需要通信,必须经过父节点进行多跳或者单跳通信。是 Zigbee 网络中可允许存在的数量最多的节点,也是唯一允许低功耗的网络设备。


二、 基础知识


2.1 设备类型

设备类型定义 Zigbee 3.0 节点功能的软件实体。设备类型定义了组成此功能的 Cluster集合。因此, Cluster 是设备功能的基本构建块。有些 Cluster 是强制性的,有些是可选的。

一个网络节点可以支持多种设备类型。

设备类型的应用程序运行在一个称为端点的软件实体上,每个节点最多可以有 240 个端点,从 1 开始编号。Zigbee 3.0 节点必须包含以下设备类型:

  • Zigbee Base Device( ZBD ) :这是一种标准设备类型,用于处理诸如调试等基本操作。此设备不需要端点。
  • Zigbee Device Objects( ZDO ) :它表示 Zigbee 节点类型(协调器、路由器或终端设备),并具有许多通信角色。该设备占用端点号 0 。

每个设备类型都有一个 ID 。这些 ID 的范围是从 0X0000 到 0XFFFF 。下图的 ID 用于Zigbee 3.0 的 Home Automation 文件。

 


2.2 Cluster

   Cluster 包括一组相关属性以及一组与属性交互的命令。 Zigbee联盟定义了一些 Cluster ,每个 Cluster 有一个 ID ,从 0X00 到 0XFB 。 0XFC 往后由用户自定义 Cluster 使用。

由 Zigbee 端点处理的数据实体(例如,温度测量)被称为属性。应用程序可以通过一组属性进行通信。

例如,恒温器应用程序可能具有温度,最低温度,最高温度和容差的属性。属性在程序上用结构体表示如下:

与属性交互的命令,例如开关灯设备命令,在程序上用枚举表示如下:

   Cluster 分类:

Input Cluster 或 Server Cluster :Cluster 的这一端用于存储属性和接收来自 Client 端的命令以操纵存储的属性( Cluster 可以向其返回响应)。

Output Cluster 或 Client Cluster :Cluster 的这一端用于通过向 Server 端发送命令(以及接收响应)来操纵 Server Cluster 中的属性。

Cluster 的 Output / Client 和 Input / Server 端如下图所示:


2.3 Zigbee PRO 网络拓扑

Zigbee 有三种网络拓扑 :Star、Tree、Mesh 。 Zigbee PRO 主要用于 Mesh 网络。

在 Mesh 网络中除 Coordinator 外,每个节点都与 Router 或 Coordinator 相关联,即加入网络的节点,称为“父节点”。 End-Device 只能直接与其父设备通信。每个 Router 和Coordinator 可以直接与网络范围内的任何其他 Router 或 Coordinator 通信。 Mesh 网络如下图所示。

 



2.4 Zigbee 3.0 工作射频频段

Zigbee 3.0 的 IEEE 802.15.4 协议提供基于无线网络连接,其工作在三个可能的射频频带之一 :868、915 或 2400 MHz 。如下表:

射频频段

范围(MHz)

数据速率(kbps)

频道编号

地理区域

868 MHz

868.3

20

0

( 1 个频道)

欧洲

915 MHz

902-928

40

1 – 10

( 10 个频道)

美国、澳大利亚

2400 MHz

2405-2480

250

11 – 26

( 16 个频道)

全球



2.5 软件架构

从高层次来看,任何 Zigbee 网络的软件架构包括四个基本堆栈层:应用层、网络层、数据链路层和物理层。 Application 层是最高级别,Physical 层是最低级别,如下图所示。

 

以下从上到下描述了 Zigbee 软件堆栈的基本层:

 

应用层:实际上是应用程序将输入转换为数字数据,或将数字数据转换为输出。单个节点可以运行多个应用程序

 

网络层:网络层提供 Zigbee PRO 功能和应用程序到 IEEE 802.15.4 层的接口。该层涉及网络结构和多跳路由。

 

数据链路层:数据链路层由 IEEE 802.15.4 标准提供,负责寻址 - 对于输出数据,它确定数据的去向,对于输入数据,它确定数据的来源。它还负责组装要传输的数据包或帧以及反汇编接收的帧。

 

物理层:物理层由 IEEE 802.15.4 标准提供,涉及物理传输介质(在这种情况下为无线电)的接口,与此介质交换数据位,以及与上面的层交换数据位(数据链路层)。



2.6 网络 ID

Zigbee 3.0 网络 ID 用于区分 Zigbee 3.0 网络。分为两类:

PANID :称为个人区域网络 ID,是 16 位值,用于节点间通信以识别相关网络。当网络启动时,协调器选择 PAN ID 的值。当其他节点加入网络时,获得网络的 PAN ID 。

EPID :称为扩展 PAN ID ,是 64 位值,用来形成网络并随后修改网络。该标识符可以预先设置为在协调器上运行的用户应用程序中的随机值。 或者,标识符可以预先设置为零,在这种情况下,协调器将在网络启动时采用自己的 64 位 IEEE / MAC 地址作为扩展 PAN ID 。



2.7 网络地址    

Zigbee 网络中,每个节点必须具有唯一网络地址用于数据传输。分为两类:

IEEE( MAC )地址:这是由 IEEE 分配的 64 位地址,它世界上唯一的标识设备。

网络地址:是 16 位地址并标识网络中的节点(不同网络中的两个节点可能具有相同的网络地址)。它有时被称为“短地址”。节点首次加入网络时,由父节点分配短地址给。Coordinator 网络地址总是 0X0000 。

描述符存在于节点中的有三个强制描述符和两个可选描述符。强制描述符是节点描述符,节点功率描述符和简单描述符,而可选描述符称为复杂描述符和用户描述符。三个强制描述符介绍如下:

描述符在程序上体现为结构体。


2.7.1简单描述符 ( Simple Descriptor )

应用程序的简单描述符包括:

  • 应用程序运行和通信的端点
  • 应用程序实现的 Zigbee 设备类型
  • 设备类型实现的 Zigbee Cluster
  • 是否有相应的复杂和用户描述符
  • 应用程序分别使用和提供的输入和输出 Cluster 列表

简单描述符结构体如下图:


2.7.2节点描述符 ( Node Descriptor )

节点描述符包含有关节点功能的信息,包括:

  • 类型( Coordinator、Router、End-Device )
  • 使用的频段( 868 MHz、902 MHz 或 2400 MHz )
  • IEEE 802.15.4 MAC 功能
  • 该设备可以是 PAN 协调员
  • 节点实现全功能或简化功能的 IEEE 802.15.4 设备
  • 设备由电源供电
  • 设备能够使用 MAC 安全性
  • 接收器在空闲期间保持开启状态
  • 制造商代码
  • 堆栈符合性修订
  • 最大缓冲区大小(应用程序在一次操作中可以发送的最大数据包)

节点描述符结构体如下图:


2.7.3节点电源描述符 ( Node Power Descriptor )

节点电源描述符包含有关节点如何供电的信息:

  • 电源模式 - 设备接收器是始终开启,还是由网络确定或仅在应用程序需要时(例如按下按钮)定期唤醒
  • 可用电源 - 指示是否可以使用主电源,可充电电池或一次性电池(或任何组合)为设备供电
  • 当前电源 - 指示当前正在使用哪个电源(主电源,可充电电池或一次性电池)为设备供电
  • 当前电源电平 - 表示当前电源的电量

节点功率描述符结构体如下图:



2.8 可靠性

  • 数据编码 ( Data Coding ) : 2400MHz 频带中采用的编码方法使用 QPSK (正交相移键控)调制,将 4 位数据符号转换为 32 位码片序列。 由于这种编码,即使存在冲突的传输(多个设备同时在同一频率信道中传输),消息很可能完整地通过其目的地。
  • 发送前监听 ( Listen Before Send) :这意味着在开始传输之前,节点将监听通道以检查它是否干净。
  • 端到端确认 ( End-to-End Acknowledgements) :当消息到达其最终目的地时,接收设备向源节点发送确认以指示已收到消息。端到端确认是可选的。
  • 下一跳确认 ( Next Hop Acknowledgements ) :当消息通过中间节点路由到达其目的地时,路由中的下一个路由节点向前一节点发送确认以指示它已收到该消息。
  • 在这两种情况下,如果发送设备在某个时间间隔内没有收到确认,它会重新发送原始消息(它可以重发该消息几次,直到消息被确认)。
  • 信道捷变 ( Frequency Agility ) :初始设置 ZigBee 网络时,相关无线电频段中的“最佳”频道将自动选择为操作频道。 ZigBee 包括一个可选的信道捷变设施。如果操作通道变得太嘈杂,则此功能允许整个网络更换信道。
  • 路由修复 ( Route Repair ) :ZigBee PRO 协议采用 Mesh 拓扑。如果到目标节点的默认路由由于中间节点或链路故障而关闭,则网络可以“发现”并找到用于消息传递的备用路由。



2.9 安全性

  • 访问控制列表 ( Access Control Lists ) :访问控制列表仅允许预定义的“友好”节点加入网络。
  • 基于密钥的加密 ( Key-based Encryption ) :基于 AES 的高安全性加密系统应用于网络通信。此加密是基于密钥的。
    1. 网络密钥:用于网络中的所有节点。
    2. 链路密钥:可以在给定的一对网络节点之间使用单独的密钥。
  • 帧计数器 ( Frame Counters ) :帧计数器的使用防止发送相同的消息两次。



2.10 发现 ( Discovery )

发现:ZigBee 规范为设备提供了查找网络中其他节点功能的工具。

  • 设备发现 ( Device Discovery ) :

设备发现返回有关网络节点地址的信息。检索到的信息可以是具有给定网络地址的节点的 IEEE / MAC 地址,或者是具有给定 IEEE / MAC 地址的节点的网络地址。 如果被询问的节点是路由器或协调器,它可以选择性地提供与其相关的所有设备的地址,以及它自己的地址。

  • 服务发现 ( Service Discovery ) :

服务发现允许节点从远程节点请求有关远程节点功能的信息。此信息存储在远程节点上的许多描述符。



2.11 网络路由

路由指节点之间无法进行直接通信(如距离过远),需要中间节点将源节点的数据转发至目的节点。如下图:

路由中的消息携带两个目标地址:

  • 最终目的地的地址。
  • 作为下一节点的地址。




以上就是 NXP Zigbee 3.0 基础概念介绍,大家都看明白了吗?关注我了解更多 NXP ZigBee 知识哦!

 

参考资料:


 

★博文内容均由个人提供,与平台无关,如有违法或侵权,请与网站管理员联系。

★文明上网,请理性发言。内容一周内被举报5次,发文人进小黑屋喔~

评论