ZigBee协议

2023-11-10

 

 

1.1                  IEEE802.15.4标准

 

随着通信技术的迅速发展,人们提出了在自身附近几米范围内通信的要求,这样就出现了个人区域网络PAN(Personal Area Network)和无线个人区域网络WPAN(Wireless Personal Area Network)的概念。WPAN网络为近距离范围内的设备建立无线连接,把几米到几十米范围内的多个设备通过无线方式连接在一起,使他们可以相互通信甚至接入LAN或者Internet。

2001年8月成立的ZigBee联盟就是一个针对WPAN网络而成立的产业联盟。该联盟致力于近距离、低复杂度、低数据速率、低成本的无线网络技术。他们开发的技术被称为ZigBee技术,该技术希望被部署到商用电子、住宅及建筑自动化、工业设备监测、PC外设、医疗传感设备、玩具以及游戏等其他无线传感和控制领域当中。

ZigBee联盟已于2005年6月27日公布了第一份ZigBee规范“ZigBee Specification V1.0”。这标准定义了在IEEE 802.15.4-2003物理层和标准媒体接入控制层上的网络层及支持的应用服务。ZigBee联盟的长期目标是能够建立基于互操作平台和配置文件的可伸缩、低成本嵌入式基础架构。

 

图1-1  IEEE802.15.4/ZigBee协议框架

Figure 1-1. IEEE802.15.4/ZigBee Protocol Framework

 

 

1.1.1        IEEE802.15.4协议框架

 

    IEEE802.15.4标准采用分层结构。每一层为上层提供一系列特殊的服务:数据实体提供数据传输服务,管理实体则提供所有其他的服务。所有的服务实体都通过服务接入点SAP(Service Access Point)为上层提供一个接口,每个SAP都支持一定数量的服务原语来实现所需的功能。

IEEE 802.15.4标准堆栈架构是在OSI七层模型的基础上根据市场和应用的实际需要定义了,如图2-1。其中,IEEE 802.15.4标准定义了底层:物理层PHY(Physical Layer)和媒体访问控制子层MAC(Medium Access Control Sub-Layer)层。ZigBee联盟在此基础上定义了网络层NWK(Network Layer),应用层APL(Application Layer)架构。其中应用层包括应用支持子层APS(Application Support Sub-Layer),应用框架AF(Application Framework),ZigBee设备对象ZDO(Zigbee Device Objects)以及用户定义应用对象(Manufacturer-Defined Application Objects )。[16]

IEEE 802.15.4工作在工业科学医疗ISM(Industrial、Scientific and Medical)频段,定义了两个物理层PHY,分别工作在两个频段上:868/915 MHz和2.4GHz。其中低频段物理层覆盖了868MHz的欧洲频段和915MHz的美国与澳大利亚等国的频段。高频段2.4GHz则全球通用。

IEEE 802.15.4 MAC层采用避免冲突多载波信道接入CSMA-CA(Carrier Sense Multiple Access with Collision Avoidance)方式,主要负责传输信标帧,同步以及提供可信赖的传输机制。[17]

 

1.1.2     网络节点类型

 

 点击看大图

图1-2  ZigBee网络拓扑

Figure 1-2.  ZigBee Network Topology

 

 

在W-PAN中有三种网络角色:PAN网络协调器、协调器和设备。这三种角色在IEEE 802.15.4规范中分别对应ZigBee协调器ZC(ZigBee Coordinator)、ZigBee路由器ZR(ZigBee Router)和终端设备ZED(ZigBee End Device)。

协调器和路由器只能是全功能器件FFD。一个PAN的网络中,至少要有一个全功能器件成网络的协调器,它可以看作是一个PAN的网关节点(SINK节点),它是网络建立的起点,负责PAN网络的初始化,确定PAN的ID号和PAN操作的物理信道并统筹短地址分配,充当信任中心和储存安全密钥,与其他网络的连接等。协调器在加入网络之后获得一定的短地址空间。这个空间内,他有能力允许其他节点加入网络,并分配短地址。当然协调器还具备路由和数据转发的功能。在任何一个拓扑网络上,所有设备都有一个唯一的64位IEEE长地址,该地址可以在PAN中用于直接通信。或者当所有设备之间都已经存在连接时,可以将其转变为16位的网络短地址分配给PAN设备。因此在设备发起连接时采用的是64位的长地址,只有连接成功后,系统分配了PAN的标志符后,才能采用16位的短地址来通信。路由器可以只运行一个存放有路由协议的精简协议栈,负责网络数据的路由,实现数据中转功能。[19]

在网络中最基本的节点就是终端节点ZED,一个终端节点可以是全功能器件FFD或者是精简功能器件RFD。

 

1.2.1        IEEE 802.15.4

IEEE802.15.4包括用于低速无线个人域网LR-WPAN的物理层PHY和媒体接入控制层MAC两个规范。图2-4给出了IEEE 802.15.4的分层参考模型。

 

1.2.1.1  IEEE 802.15.4 PHY层

 

    物理层的作用主要是利用物理介质为数据链路层提供物理连接,负责处理数

据传输率并架空数据出错率,以便透明低传送比特流。Zigbee协议的物理层主要负责以下任务:

    (1)启动和关闭RF收发器。

(2)信道能量检测。

(3)对接收到的数据报进行链路质量指示LQI(Link Quality Indication)。

    (4)为CSMA/CA算法提供空闲信道评估CCA(Clear Channel Assessment)。

(5)对通信信道频率进行选择。

(6)数据包的传输和接收

 

IEEE 802.15.4的物理层定义了物理信道和MAC子层间的接口,提供数据服务和物理层管理服务。物理层数据服务从无线物理信道上收发数据,物理层管理服务维护一个物理层相关数据组成的数据库。

 

1.2.1.2  IEEE 802.15.4 MAC层

 

IEEE 802.15.4媒体介入控制层的沿用了传统无线局域网中的带冲突避免的载波多路侦听访问技术CSMA/CA方式,以提高系统的兼容性。这种设计,不但使多种拓扑结构网络的应用变得简单,还可以实现非常有效的功耗管理。

 

MAC层完成的具体任务如下:

1)协调器产生并发送信标帧(Beacon)。

2)普通设备根据协调器的信标帧与协调器同步。

3)支持PAN网络的关联(Association)和取消关联(Disassociation)操作。

4)为设备的安全性提供支持。

5)使用CSMA-CA机制共享物理信道。

6)处理和维护时隙保障GTSGuaranteed Time Slot)机制。

7)在两个对等的MAC实体之间提供一个可靠的数据链路。

 

IEEE 802.15.4MAC层中引入了超帧结构和信标帧的概念。这两个概念的引入极大了方便了网络管理,我们可以选用以超帧为周期组织LR-WPAN网络内设备间的通信。每个超帧都以网络协调器发出信标帧为始,在这个信标帧中包含了超帧将持续的时间以及对这段时间的分配等信息。网络中的普通设备接收到超帧开始时的信标帧后,就可以根据其中的内容安排自己的任务,例如进入休眠状态直到这个超帧结束。

MAC子层提供两种服务:MAC层数据服务和MAC层管理服务(MAC sub-layer management entityMLME)。前者保证MAC协议数据单元在物理层数据服务中正确收发,后者维护一个存储MAC子层协议相关信息的数据库[20]

 

1.3             ZigBee协议分析

 

1.3.1             ZigBee协议

 

    Zigbee的协议栈结构是由一系列称为层的协议块所组成的。每个层为上一层提供一系列特定的服务。数据入口提供数据传输的服务,管理入口提供其余的所有服务。每个服务接口都通过SAPService Access Point)接口与上一层进行数据交换,每个SAP都支持一系列的服务原语。

    Zigbee协议栈是基于OSIOpen Systems Interconnection)标准的,但只定义了所需要的那些层。主要由物理层PHY,媒体接入层MAC,网络层以及应用框架层组成,框架图如图所示。其中,PHY层和MAC层采用了IEEE 802.15.4协议标准。

ZigBee网络层主要用于Zigbee的无线个人区域网WPAN网的组网连接,数据管理以及网络安全等。

ZigBee应用框架层主要为Zigbee技术的实际应用提供一些应用框架模型等,以便对Zigbee技术的开发应用,在不同的应用场合,其开发应用框架不同,从目前来看,不同厂商提供的应用框架是有差异的。

 

1.3.2      ZigBee网络层

 

网络层需要在功能上保证与IEEE 802.15.4标准兼容,同时也需要上层提供合适的功能接口。

对于网络层,其完成和提供的主要功能如下[22]

1)产生网络层的数据包:当网络层接受到来自应用子层的数据包,网络层对数据包进行解析,然后加上适当的网络层包头向MAC传输。

2)网络拓扑的路由功能:网络层提供路由数据包的功能,如果包的目的节点是本节点的话,将该数据包向应用子层发送。如果不是,则将该数据包转发给路由表中下一结点。

3)配置新的器件参数:网络层能够配置合适的协议,比如建立新的协调器并发起建立网络或者加入一个已有的网络。

4)建立PAN网络

5)连入或脱离PAN网络:网络层能提供加入或脱离网络的功能,如果节点是协调器或者是路由器,还可以要求子节点脱离网络。

6)分配网络地址:如果本节点是协调器或者是路由器,则接入该节点的字节点的网络地址由网络层控制。

7)邻居节点的发现:网络层能发现维护网络邻居信息。

8)建立路由:网络层提供路由功能。

9)控制接收:网络层能控制接收器的接受时间和状态。

 

Zigbee网络层的结构如图2-8所示:

为了向应用层提供接口,网络层提供了两个功能服务实体,分别为数据服务实体NLDE和管理服务实体NLMENLDE通过NLDE-SAP为应用层提供数据传输服务,NLME通过NLME-SAP为应用层提供网络管理服务,并且,NLME还完成对网络信息库NIB的维护和管理。

 

1.3.3     ZigBee应用层

 

Zigbee应用层包括应用支持子层APS、应用框架AFZigbee设备对象ZDO。它们共同为各应用开发者提供统一的接口。

 

1.3.3.1       应用支持子层APS

 

APS层主要功能:

1APS层协议数据单元APDU的处理。

(2)APSDE提供在同一个网络中的应用实体之间的数据传输机制。

(3)APSME提供多种服务给应用对象,这些服务包括安全服务何绑定设备,并维护管理对象的数据库,也就是我们常说的AIB

 

1.3.3.2        应用框架AF

 

应用框架(Application Framework)为各个用户自定义的应用对象提供了模板式的活动空间,为每个应用对象提供了键值对KVP服务和报文MSG服务两种服务供数据传输使用。

每个节点除了64位的IEEE地址,16位的网络地址,每个节点还提供了8位的应用层入口地址,对应于用户应用对象。端点0ZDO接口,端点1240供用户自定义用于对象使用,端点255为广播地址,端点241 -254保留将来使用。每一个应用都对应一个配置文件(Profile)。配置文件包括:设备IDDevice ID),事务集群IDcluster ID),属性IDAttribute ID)等。AF可以通过这些信息来决定服务类型。

 

1.3.3.3        ZigBee设备对象ZDO

 

ZDO是一个特殊的应用层的端点(Endpoint)。它是应用层其他端点与应用子层管理实体交互的中间件。它主要提供的功能如下:

1)初始化应用支持子层,网络层。

2)发现节点和节点功能。在无信标的网络中,加入的节点只对其父节点可见。而其他节点可以通过ZDO的功能来确定网络的整体拓扑结构已经节点所能提供的功能。

3)安全加密管理:主要包括安全key的建立和发送,已经安全授权。

4)网络的维护功能。

5)绑定管理:绑定的功能由应用支持子层提供,但是绑定功能的管理却是由ZDO提供,它确定了绑定表的大小,绑定的发起和绑定的解除等功能。

6)节点管理:对于网络协调器和路由器,ZDO提供网络监测、获取路由和绑定信息、发起脱离网络过程等一系列节点管理功能。

 ZDO实际上是介于应用层端点和应用支持子层中间的端点,其主要功能集中在网络管理和维护上。应用层的端点可以通过 ZDO提供的功能来获取网络或者是其他节点的信息,包括网络的拓扑结构、其它几点的网络地址和状态以及其他几点的类型和提供的服务等信息。

 

1.4     ZigBee网络拓扑结构

 

Zigbee网络支持多种网络拓扑结构,最典型的网络结构是星型网络的拓扑结构。对于星型网络,由一个协调器和多个终端节点组成。在星型网络中,所有的通信都是通过协调器转发。这样的网络结构有三个缺点:一是会增加协调器的负载,对协调器的性能要求很高;二是协调协作都通过协调器转发的话,会极大的增加系统的延时,使得系统的实时性受到影响;三是单一节点的破坏造成整个网络的瘫痪,降低了网络的鲁棒性。

除了支持星型网络以外,ZigBee还支持树状(Tree)和网状(Mesh)等对等网络,如图2-11。在对等网络中,也存在一个PAN协调器(Coordinator),但是它已经不是网络的主控制器,而是主要起到发起网络和组网的作用。在对等网络中,一个设备在另一设备的通信范围之内,他们就可以互相通信。因此,对等网络拓扑结构统一构成较为复杂的网络结构。对等网络拓扑结构主要在工业检测和控制,无线传感网络,供应物资跟踪,农业智能化以及安全监控方面都有广泛的应用。在网络中,各个设备之间发送消息时,使用了多跳传输,以增大网络的覆盖范围。其中,组网的路由协议是采用了无线自组网按需平面距离矢量AODV路由协议(Ad Hoc On Demand Distance Vector Routing),无论是星型拓扑还是对等拓扑,每个独立的PAN都有一个唯一的标志符PAN ID,用以同一个网络之内节点的互相识别和通信。[

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ZigBee协议 的相关文章

随机推荐

  • java怎么实现分页分页代码_Java简单分页功能的实现代码

    网页内容多了我们就会想到分页功能 分页功能既能减少页面体积还能提升加载速度 因此我门就要学会实现简单的分页功能 那么我们现在就去看看Java简单分页功能的实现代码吧 不用根据改变SQL的形式去查询 直接查询所有的数据 根据页码自动显示数据
  • 实体与Dto(MODEL)之间的转换问题

    文章目录 实体与Dto MODEL 之间的转换问题 实体与Dto MODEL 之间的转换问题 在开发的过程中 实体之间相互赋值是很正常的事 但是我们一般的方法都通过set和get方法来进行的 如果要赋值的字段少那还行 但是需要赋值的字段超过
  • 实训笔记2.0

    3 22 CSRF漏洞介绍 CSRF Cross site request forgery 跨站请求伪造 也被称为 One Click Attack 或者 Session Riding 通常缩写为 CSRF 或者 XSRF 是一种对网站的恶
  • 一)Stable Diffusion使用教程:安装

    目前AI绘画最火的当属Midjorney和Stable Diffusion 但是由于Midjourney没有开源 因此我们主要分享下Stable Diffusion 后面有望补上Midjourney教程 本节主要讲解Stable Diffu
  • CSS知识点

    CSS text align 行内块元素才能居中显示 vertical align 解决图片底测有空白缝隙的问题 white space 强制一行内显示 overflow hidden 溢出隐藏 text overflow ellipsis
  • matlab图形绘制之——最小二乘拟合

    一 最小二乘法 记忆中是在高中阶段学习的最小二乘法 看一下最小二乘法的定义 二 matlab中的polyfit 在Matlab中 使用polyfit 函数对数据进行最小二乘法拟合 调用格式 p polyfit x y n 多项式曲线拟合 返
  • SpringBoot集成Validation参数校验

    1 依赖 SpringBoot在web启动器中已经包含validator包
  • HTML与H5

    HTML与H5 HTML 简介 HTML 注释 HTML 实例 HTML 标签 HTML 属性 head 标签 元信息标记 meta 标题 图标 加载资源 style body 标签 HTML 链接 HTML 图像 HTML 层标记 HTM
  • 渗透测试 面试笔试题

    Powered By 行云博客 https www xy586 top 原创文章 转载请附上原文出处链接和本声明 原文链接 https blog csdn net qq 41679358 article details 109019491
  • C语言:扫雷游戏简单实现

    目录 定义的一些变量 设计思路 为什么设计两个数组棋盘 为什么游戏是9 9但设计数组要设计11 11 初始化函数 为什么要把雷的棋盘初始化为0 打印函数 布置雷 排除雷 解释为什么先前初始化记数字棋盘时选择0和1 可以存在的优化 递归函数实
  • MediaPlayer.setAudioStreamType()方法过时用setAudioAttributes()方法替代

    在Android中创建MediaPlayer 有两种方法 第一种 MediaPlayer mp MediaPlayer create Context R raw xxx 或者 MediaPlayer mp MediaPlayer creat
  • cool-admin应对一个页面出现多个表格【element-ui解决】

    项目背景 在一个页面中引入三个表格的需求 这里以两个为例子好了 这里是失败的例子 cool admin中的cl表格可以实现出现这两个表格 这是data中return回来的 使用封装好的onload方法 调用server接口 实现从后端获取数
  • 【翻译】 Linux 与无人机的未来

    请考虑订阅 LWN订阅是 LWN net 的生命线 如果您喜欢这些内容并希望看到更多 您的订阅将有助于确保 LWN 继续蓬勃发展 请访问此页面加入我们 让 LWN 继续在网络上传播 作者 Nathan Willis 2015 年 10 月
  • 华为OD机试 - 找单词(Java)

    题目描述 给一个字符串和一个二维字符数组 如果该字符串存在于该数组中 则按字符串的字符顺序输出字符串每个字符所在单元格的位置下标字符串 如果找不到返回字符串 N 1 需要按照字符串的字符组成顺序搜索 且搜索到的位置必须是相邻单元格 其中 相
  • 使用深度相机制作自己的Linemod数据集

    1 实施方案 1 1 任务描述 制作自己的Linemod数据集 最终目的示意如下图 1 2 整体方案 通过构建物体和标定板的坐标转换关系 然后构建标定板和相机坐标的转换关系 然后通过映射函数构建3D坐标和图像像素坐标的映射关系 拍摄一系列照
  • Machine Unlearning: A Survey

    这是一个新方向 机器遗忘 针对 Machine Unlearning A Survey 的翻译 机器遗忘 综述 摘要 1 引言 1 1 机器遗忘的动机 1 2 这篇综述的贡献 1 3 与现有机器遗忘综述的比较 2 前言 2 1 机器遗忘的定
  • sql查询服务器系统时间格式,SQL时间函数getdate()是指本机还是服务器上的时间?...

    SQL时间函数getdate 是指数据库所在服务器上的系统时间 SQL Server日期时间函数 1 获取当前日期GetDate getdate 函数以datetime数据类型的格式返回当前SQLServer服务器所在计算机的日期和时间 其
  • 谷歌浏览器调试技巧

    因为上周一直在前段页面找一个东西 中间用到了谷歌浏览器的调试 来大概总结一下 Element标签 该标签使用来查看页面的HTML标签元素的 能够也就是查看源码 我们可以看到布局 可以看到用到的样式 还有用到的链接等等 Source 标签 点
  • 开关电源matlab仿真文件,开关电源matlab仿真设计报告.doc

    开关电源matlab仿真设计报告 开关电源matlab仿真设计报告 基于matlab的电力电子仿真设计报告 课程设计 综合实验 报告 2010 2011 年度第 1 学期 名 称 电力电子技术课程设计 院 系 电气与电子工程学院 班 级 电
  • ZigBee协议

    1 1 IEEE802 15 4标准 随着通信技术的迅速发展 人们提出了在自身附近几米范围内通信的要求 这样就出现了个人区域网络PAN Personal Area Network 和无线个人区域网络WPAN Wireless Persona