Zigbee协议栈原理基础
- 格式:docx
- 大小:1.19 MB
- 文档页数:18
zigbee 协议栈Zigbee是一种基于IEEE 802.15.4标准的无线通信协议,它是一种低功耗、短距离的无线网络协议,可以用于物联网中各种设备的通信。
Zigbee协议栈是指一套软件的层次结构,用于实现Zigbee协议的功能和特性。
Zigbee协议栈由四个层次组成:应用层,网络层,MAC层和物理层。
应用层是Zigbee协议栈的最高层,它提供了应用程序与其他网络层之间的接口。
应用层负责处理数据的收发,以及定义数据的格式和协议。
应用层也负责处理设备与设备之间的通信,例如传感器与控制器之间的通信。
网络层是Zigbee协议栈的中间层,它负责网络的发现和路由选择。
网络层的主要功能是将数据传输到目标设备,以及维护网络拓扑结构。
网络层使用一种叫做AODV(Ad-hoc On-Demand Distance Vector)的路由选择算法来决定数据的传输路径。
MAC层是Zigbee协议栈的第二层,它负责实现对数据的传输和控制。
MAC层的主要功能包括数据的处理、帧的编码和解码、对信道的管理等。
MAC层使用CSMA-CA(Carrier Sense Multiple Access with Collision Avoidance)协议来控制数据的传输,并通过BEACON帧来管理设备之间的通信。
物理层是Zigbee协议栈的最底层,它负责将数据从电子信号转换为无线信号,并传输到接收设备。
物理层的主要功能包括信号的调制和解调、信道编码和解码、信号的传输和接收等。
Zigbee协议栈还支持一种叫做ZDO(Zigbee Device Object)的设备对象。
ZDO是一个与设备相关的软件模块,提供了设备的管理和控制功能。
ZDO负责设备的发现、加入网络、离开网络、重置等操作,并通过指定的应用程序接口来与设备进行通信。
总的来说,Zigbee协议栈是一个非常复杂的系统,包含了多个层次和各种功能。
它通过不同的层次和模块来实现Zigbee协议的各种特性和功能,从而使得物联网设备之间可以方便地进行通信和控制。
通信网技术基础172 用,如灯的开关、被动式红外线传感器等。
根据设备的功能,ZigBee 网络定义了三种设备:协调器、路由器和终端设备。
协调器和路由器必须是FFD 设备,终端设备可以是FFD 或RFD 设备。
每个ZigBee 网络都必须有且仅有一个协调器,也称为PAN 协调器。
当一个全功能设备启动时,首先通过能量检测等方法确定有无网络存在,有则作为子设备加入,无则自己作为协调器,负责建立并启动网络,包括广播信标帧以提供同步信息、选择合适的射频信道、选择唯一的网络标识符等一系列操作。
路由器在节点设备之间提供中继功能,负责邻居发现、搜寻网络路径、维护路由、存储转发数据,以便在任意两个设备之间建立端到端的传输。
路由器扩展了ZigBee 网络的范围。
终端设备就是网络中的任务执行节点,负责采集、发送和接收数据,在不进行数据收发时进入休眠状态以节省能量。
协调器和路由器也可以负责数据的采集。
ZigBee 网络有信标和非信标两种工作模式。
在信标工作模式下,网络中所有设备都同步工作、同步休眠,以减小能耗。
网络协调器负责以一定的时间间隔广播信标帧,两个信标帧之间有16个时隙,这些时隙分为休眠区和活动区两个部分,数据只能在网络活动区的各时隙内发送。
在非信标模式下,只有终端设备进行周期性休眠,协调器和路由器一直处于工作状态。
ZigBee 网络的拓扑结构有星型、网状和簇树三种,如图6-11所示。
在实际环境中,拓扑结构取决于节点设备的类型和地理环境位置,由协调器负责网络拓扑的形成和变化。
星型拓扑网状拓扑簇树拓扑PAN 协调器全功能设备精简功能设备图6-11 ZigBee 网络的拓扑结构星型拓扑组网简单、成本低、电池使用寿命长,但是网络覆盖范围有限,可靠性不如网状拓扑结构,对充当中心节点的PAN 协调器依赖性较大。
网状拓扑中的每个全功能节点都具有路由功能,彼此可以通信,网络可靠性高、覆盖范围大,但是电池使用寿命短、管理复杂。
一、ZigBee之基本概念物联网的定义是:通过射频识别(RFID)、红外感应器、全球定位系统、激光扫描器等信息传感设备,按约定的协议,把任何物体与互联网相连接,进行信息交换和通信,以实现对物体的智能化识别、定位、跟踪、监控和管理的一种网络。
无线传感网络的定义是:大规模,无线、自组织、多跳、无分区、无基础设施支持的网络.其中的节点是同构的、成本较低、体积较小,大部分节点不移动,被随意撒布在工作区域,要求网络系统有尽可能长的工作时间。
在通信方式上,虽然可以采用有线、无线、红外和光等多种形式,但一般认为短距离的无线低功率通信技术最适合传感器网络使用,为明确起见,一般称无线传感器网络(WSN.Wireless Sensor Network)。
无线传感网络的无线通信技术可以采用ZigBee技术、蓝牙、Wi-Fi和红外等技术。
ZigBee技术是一种短距离、低复杂度、低功耗、低数据速率、低成本的双向无线通信技术或无线网络技术,是一组基于IEEE802.15.4无线标准研制开发的组网、安全和应用软件方面的通信技术。
Zigbee是IEEE 802.15.4协议的代名词。
根据这个协议规定的技术是一种短距离、低功耗的无线通信技术。
这一名称来源于蜜蜂的八字舞,由于蜜蜂(bee)是靠飞翔和“嗡嗡”(zig)地抖动翅膀的“舞蹈”来与同伴传递花粉所在方位信息,也就是说蜜蜂依靠这样的方式构成了群体中的通信网络。
其特点是近距离、低复杂度、自组织、低功耗、低数据速率、低成本。
主要适合用于自动控制和远程控制领域,可以嵌入各种设备。
简而言之,ZigBee就是一种便宜的,低功耗的近距离无线组网通讯技术。
IEEE 802.15.4是一个低速率无线个人局域网(Low Rate Wireless PersonalArea Networks,LR-WPAN)标准。
该标准定义了物理层(PHY)和介质访问控制层(MAC)。
这种低速率无线个人局域网的网络结构简单、成本低廉、具有有限的功率和灵活的吞吐量。
Zigbee协议栈原理基础1Zigbee协议栈相关概念1.1近距离通信技术比较:近距离无线通信技术有wifi、蓝牙、红外、zigbee,在无线传感网络中需求的网络通信恰是近距离需求的,故,四者均可用做无线传感网络的通信技术。
而,其中(1)红外(infrared):能够包含的信息过少;频率低波衍射性不好只能视距通信;要求位置固定;点对点传输无法组网。
(2)蓝牙(bluetooth):可移动,手机支持;通信距离10m;芯片价格贵;高功耗(3)wifi:高带宽;覆盖半径100m;高功耗;不能自组网;(4)zigbee:价格便宜;低功耗;自组网规模大。
▫▫▫▫⇨WSN中zigbee通信技术是最佳方案,但它连接公网需要有专门的网关转换→进一步学习stm32。
1.2协议栈协议栈是网络中各层协议的总和,其形象的反映了一个网络中文件传输的过程:由上层协议到底层协议,再由底层协议到上层协议。
1.2.1Zigbee协议规范与zigbee协议栈Zigbee各层协议中物理层(phy)、介质控制层(mac)规范由IEEE802.15.4规定,网络层(NWK)、应用层(apl)规范由zigbee联盟推出。
Zigbee联盟推出的整套zigbee规范:2005年第一版ZigBeeSpecificationV1.0,zigbee2006,zigbee2007、zigbeeprozigbee协议栈:很多公司都有自主研发的协议栈,如TI公司的:RemoTI,Z-Stack,SimpliciTI、freakz、msstatePAN 等。
1.2.2z-stack协议栈与zigbee协议栈z-stack协议栈与zigbee协议栈的关系:z-stack是zigbee协议栈的一种具体实现,或者说是TI公司读懂了zigbee协议栈,自己用C语言编写了一个软件—---z-stack,是由全球几千名工程师共同开发的。
ZStack-CC2530-2.3.1-1.4.0软件可与TI的SmartRF05平台协同工作,该平台包括MSP430超低功耗微控制器(MCU)、CC2520RF收发器以及CC2591距离扩展器,通信连接距离可达数公里。
ZigBee协议栈学习总结近年来,物联网技术发展迅猛,智能家居、智能工厂等应用逐渐普及。
而ZigBee协议作为一种广泛应用于物联网中的低功耗、近距离、网状网络通信协议,受到了广泛的关注和应用。
在ZigBee技术中,协议栈是关键的一环。
本文将对ZigBee协议栈的相关知识进行总结。
一、ZigBee协议栈概述ZigBee协议栈是指在物联网中实现ZigBee通信的软件系统,它包含了多个层级,每个层级负责不同的功能。
ZigBee协议栈分为应用层、网络层、MAC层和物理层,通过这些层级的协同工作,实现了ZigBee设备之间的通信。
1.1 应用层在ZigBee协议栈中,应用层是最上层的一层,负责定义应用数据的传输方式和应用协议。
应用层通过上层应用与下层协议栈进行交互,将上层应用数据封装为ZigBee命令帧发送给网络层。
1.2 网络层网络层是ZigBee协议栈的中间层,负责实现设备的网络发现、路由选择和网络管理等功能。
网络层通过维护网络拓扑结构,实现了ZigBee设备之间的互联互通。
1.3 MAC层MAC层即介质访问控制层,是介于网络层和物理层之间的一层。
MAC层负责管理无线通信信道,实现了数据的可靠传输和统计信息的收集。
1.4 物理层物理层是ZigBee协议栈的最底层,负责处理物理信号的传输和接收。
物理层根据不同的频段和传输速率,将数字信号转换为模拟信号进行无线传输。
二、ZigBee协议栈的工作原理ZigBee协议栈的各层级通过相互协作,实现了物联网设备之间的通信。
协议栈从应用层开始,将上层应用数据经过各层的处理和封装,最终通过物理层进行无线传输。
在接收端,协议栈将接收到的信号依次经过物理层、MAC层、网络层和应用层的解析,最终将数据传递给上层应用进行处理。
三、ZigBee协议栈的特点和优势ZigBee协议栈相较于其他通信协议具有以下特点和优势:3.1 低功耗ZigBee协议栈采用低功耗设计,设备在待机状态下功耗非常低,能够延长设备的使用寿命。
zigbee 原理
Zigbee是一种无线通信协议,专门用于低功耗、短距离通信。
它基于IEEE 802.15.4标准,并且通过射频通信进行数据传输。
Zigbee的原理如下:
1. 网络拓扑:Zigbee网络由一个或多个设备组成,这些设备可以是传感器、控制器、终端设备等。
这些设备按照不同的拓扑结构组成网络,常见的拓扑结构包括星型、网状和树状结构。
2. 节点角色:在Zigbee网络中,不同的设备扮演不同的角色。
其中,协调器(Coordinator)是网络的核心,负责管理网络节
点和协调通信。
路由器(Router)用于转发数据,扩展网络范围。
终端设备(End Device)通常是最简单的设备,用于与其
他设备进行通信。
3. 数据通信:Zigbee使用无线射频通信方式,在2.4GHz频段
进行数据传输。
通信过程中,设备通过发送和接收数据帧进行交互。
数据帧中包含了一些必要的信息,如发送者、接收者、数据内容等。
4. 网络组建:Zigbee网络的组建过程通常包括扫描、加入和路由等步骤。
设备首先进行扫描,查找网络中可用的节点。
然后,设备可以加入到网络中,成为网络的一部分。
路由器设备可以通过建立多个路径,实现节点之间的数据传输。
5. 低功耗设计:Zigbee在设计上非常注重低功耗,以满足无线传感器网络的需求。
设备可以进入睡眠模式以节省能源,并且
可以通过唤醒信号来重新激活。
总的来说,Zigbee的原理是基于低功耗、短距离的无线通信,通过网络拓扑、节点角色、数据通信和低功耗设计等要素,实现设备之间的数据传输和协作。
第1章ZigBee协议栈原理2007 年4 月,德州仪器推出业界领先的ZigBee 协议栈(Z-Stack)。
Z-Stack 符合ZigBee2006 规范,支持多种平台,包括基于CC2420 收发器以及TI MSP430 超低功耗单片机的平台、CC2530 SOC 平台等。
Z-Stack 包含了网状网络拓扑的几近于全功能的协议栈,在竞争激烈的ZigBee 领域占有很重要地位。
4.1 Zigbee设备类型在 ZigBee 网络中存在三种逻辑设备类型:Coordinator(协调器),Router(路由器)和End-Device(终端设备)。
ZigBee 网络由一个Coordinator 以及多个Router 和多个End_Device组成。
下图是一个简单的ZigBee 网络示意图。
其中黑色节点为Coordinator,红色节点为Router,白色节点为End-Device。
1、Coordinator(协调器)协调器负责启动整个网络。
它也是网络的第一个设备。
协调器选择一个信道和一个网络ID(也称之为PAN ID,即Personal Area Network ID),随后启动整个网络。
协调器也可以用来协助建立网络中安全层和应用层的绑定(bindings)。
注意,协调器的角色主要涉及网络的启动和配置。
一旦这些都完成后,协调器的工作就像一个路由器。
2、Router(路由器)路由器的功能主要是:允许其他设备加入网络,多跳路由和协助它自己的由电池供电的子终端设备的通讯。
通常,路由器希望是一直处于活动状态,因此它必须使用主电源供电。
但是当使用树型网络模式时,允许路由间隔一定的周期操作一次,这样就可以使用电池给其供电。
3、End-Device(终端设备)终端设备没有特定的维持网络结构的责任,它可以睡眠或者唤醒,因此它可以是一个电池供电设备。
通常,终端设备对存储空间(特别是RAM)的需要比较小。
注意:在Z-Stack 1.4.1 中一个设备的类型通常在编译的时候通过编译选项(ZDO_COORDINATOR 和RTR_NWK)确定。
zigbee协议栈
ZigBee协议栈是一种低功耗、近距离、无线通信协议,
它以IEEE 802.15.4标准为基础,支持点对点和星形拓扑网络。
ZigBee协议栈分为物理层、MAC层、网络层和应用层。
物理层:ZigBee的物理层工作于2.4GHz带宽,提供了
16个信道,可以在不同频段工作。
此外,它还支持双向数据
传输、自适应,能够自动优化网络性能。
物理层与MAC层之间的接口在帧结构中定义。
MAC层:ZigBee MAC层是机制,它负责管理网络的访问
控制、组织网络拓扑结构等。
在ZigBee中,通信是按照设备
类型进行的,有一些设备被指定为“协调器”,这些设备负责管理网络中的资源,调度传输时间等。
网络层:ZigBee网络层的主要职责是管理设备之间的通信,为应用层提供稳定的通信基础。
它提供了一组缺省的网络协议,可以在多种不同环境下使用。
应用层:ZigBee应用层是通过使用设备描述文件来定义
应用层协议和服务的标准集合。
通过设备描述文件(或“簇”),应用程序可以访问底层硬件和网络服务。
总之,ZigBee协议栈是一种广泛应用于安防、能源管理、自动化等领域的低功耗、近距离、无线通信协议,能够支持多种应用需求,有着良好的安全性和稳定性。
ZIGBEE技术及协议ZigBee技术及协议是一种基于无线通信的网络协议,它为低功耗设备之间的通信提供了一种简单、低成本的解决方案。
ZigBee技术及协议在物联网、智能家居、工业自动化等领域得到了广泛应用。
本文将详细介绍ZigBee技术及协议的基本原理、特点及应用。
一、ZigBee技术及协议基本原理ZigBee技术及协议基于IEEE 802.15.4标准,它是一种短距离、低功耗的无线通信技术,操作频率在2.4GHz、868MHz及915MHz三个频段。
ZigBee技术采用了自组织、自动路由、分布式网络的概念,可以实现大规模的无线传感网络,支持千万级的节点数量。
ZigBee协议是一种基于星型或网状拓扑结构的网络协议,它通过对数据包的传输进行优化,实现了低功耗和低延时的通信效果。
ZigBee设备通常由协调器(Coordinator)、路由器(Router)和终端节点(End Device)组成,协调器负责网络的管理和控制,路由器负责数据包的转发,终端节点负责数据的采集和传输。
二、ZigBee技术及协议的特点1.低功耗:ZigBee设备采用了睡眠和唤醒的方式来降低功耗,终端节点可以通过休眠来降低功耗,并且可以根据需要定期唤醒进行通信。
2.低速率:ZigBee技术的传输速率相对较低,通常在250Kbps以下。
这使得ZigBee技术非常适合传输小量数据和低频率的通信。
3.低成本:ZigBee设备采用了低成本的硬件和软件设计,可以降低设备的制造成本,提高设备的可扩展性。
4.安全性:ZigBee协议支持AES 128位加密算法,保护网络通信的安全性,防止数据被非法访问和篡改。
5.自组织性:ZigBee设备可以自动组建网络,无需人工干预,可以方便地扩展网络规模。
三、ZigBee技术及协议的应用1.物联网:ZigBee技术及协议在物联网领域被广泛应用,可以实现智能家居、智能能源管理、智能健康监测等功能。
通过ZigBee技术,各种传感器和控制设备可以实现互联互通,实现信息的采集和传输。
zigbee协议栈Zigbee协议栈是一种基于IEEE 802.15.4无线技术的低功耗通信协议,用于构建无线传感器网络和物联网设备。
它由几个层次的协议组成,包括物理层、MAC层、网络层和应用层。
物理层是Zigbee协议栈的最底层,负责无线信号传输和接收。
它定义了无线模块和设备的硬件要求,包括频率、调制方式、传输速率等。
在物理层之上是MAC层,负责网络节点之间的数据传输和管理。
它提供了一系列函数,用于数据包的发送和接收,以及网络节点的寻址和路由。
网络层位于MAC层之上,负责整个网络的拓扑结构和数据路由。
每个节点都有一个唯一的网络地址,用于标识和寻址。
网络层使用路由算法决定最佳的数据传输路径,以确保数据的可靠传输。
最上层是应用层,这是开发人员编写应用程序的层次。
它提供了一系列应用程序程序接口(API),用于数据的发送和接收。
开发人员可以利用这些API实现各种应用程序,如传感器数据采集、远程控制等。
Zigbee协议栈具有以下几个特点。
第一,低功耗。
由于无线传感器网络和物联网设备通常是由电池供电,因此低功耗是一个非常重要的设计考虑。
Zigbee协议栈通过最小化数据传输以及使用睡眠和唤醒机制来实现低功耗。
第二,短距离通信。
Zigbee协议栈的设计目标是用于部署在短距离范围内的网络,通常不超过100米。
这使得它非常适用于家庭自动化、智能电网等场景。
第三,高可靠性。
Zigbee协议栈支持多路径数据传输,以确保数据能够在网络中快速可靠地传输。
此外,它还支持自动路由和包重传机制,以应对网络中节点的故障或丢失。
第四,安全性。
Zigbee协议栈支持数据加密和身份验证功能,确保数据在传输过程中的保密性和完整性。
这对于保护物联网设备和网络免受黑客攻击非常重要。
总的来说,Zigbee协议栈是一种可靠、低功耗、安全的通信协议,适用于构建无线传感器网络和物联网设备。
它的设计目标是满足家庭自动化、智能电网等应用场景中的通信需求。
见过的最浅显易懂的ZigBee协议栈解析ZigBee技术是物联网领域最常用的无线技术之一,如果我们要做基于ZigBee技术的物联网应用,最好对ZigBee协议栈有一个基本的了解。
这篇文章对ZigBee协议栈做一个简单明了的介绍。
概述本文准备介绍的ZigBee协议栈是ZigBee2007,也是目前业界最常用的标准版本,对于ZigBee协议栈的演进历程,可以参加《5分钟了解Zigbee的前世今生》。
ZigBee协议栈可以分为四层:物理层(PHY)、媒体访问控制层(MAC)、网络层(NWK)及应用层(APL)。
如图所示,粉色的部分是由IEEE标准中定义的,浅蓝色部分是由ZigBee联盟规定的,黄色部分是由设备厂商自行定义。
ZigBee协议栈图示在ZigBee协议栈的图示中,我们还可以发现有很多圆角矩形,都带有SAP的字样。
SAP的意思就是服务接入点(Service Access Point)的意思,是协议栈层与层之间的接口,协议栈都是分层结构的,接口就是层与层之间的沟通渠道。
协议栈相邻的上下层之间一般都有两个接口,也就是两个SAP。
名字中带字母D的SAP是数据接口,负责层间数据传输;名字中带字母M的SAP是管理接口,供上层或协议栈的管理平面对该层进行控制,比如进行一些参数配置,或读取状态等。
PHY & MAC & NWKZigBee2007协议栈的物理层及MAC层都是IEEE802.5.14-2003标准中定义的。
PHY层(物理层)规定了所使用的频段,以及所使用的编码、调制、扩频、调频等无线传输技术;有了物理层,就有了一个实现点到点之间的信号发射与接收的基础,没有物理层协议,设备间是根本没有办法通信的,有可能都不在一个频段上。
MAC层的主要作用规定了无线信道的访问控制机制,也就是规定各个设备按照什么规矩轮流使用信道;如果没有MAC层协议,节点一多,大家没有个规矩,就会发生信号冲突,谁都没法正常传输数据了。
ZigBee协议栈的分析与设计ZigBee协议栈的分析与设计引言随着物联网的不断发展,无线传感器网络(WSN)得到了广泛的应用。
ZigBee作为一种低功耗、短距离、低带宽的无线通信协议,逐渐成为物联网中最受欢迎的通信协议之一。
本文将对ZigBee协议栈进行深入的分析与设计,以期更好地理解其工作原理并提供一种优化方案。
一、ZigBee协议栈的结构与功能1. ZigBee协议栈结构ZigBee协议栈由两部分组成:上层和下层。
上层包括应用层(Application Layer)、网络层(Network Layer)和安全层(Security Layer)。
下层包括物理层(Physical Layer)和介质访问控制层(Media Access Control Layer)。
2. ZigBee协议栈功能- 物理层(Physical Layer):负责将数据转换为无线信号,通过无线传输介质进行通信。
ZigBee协议栈支持多种物理层标准,例如2.4GHz、900MHz和868MHz等。
- 介质访问控制层(Media Access Control Layer):负责数据帧的分发和接收,同时处理多跳中继和协议转发。
- 网络层(Network Layer):提供网络拓扑管理、路由选择、数据包传输和安全性等功能。
ZigBee协议栈使用了Ad-hoc On-Demand Distance Vector(AODV)路由协议来实现自组网和动态路由选择。
- 应用层(Application Layer):定义应用程序的协议和接口,包括设备发现、网络配置、设备控制等功能。
- 安全层(Security Layer):提供数据加密和认证等安全机制,确保通信的可靠性和机密性。
二、ZigBee协议栈的分析1. 物理层分析ZigBee协议栈采用低功耗、短距离的射频通信技术。
2.4GHz频段是其最常用的无线传输介质,具有广泛的应用领域。
ZigBee协议栈使用了Direct Sequence Spread Spectrum (DSSS)技术来提高抗干扰性能。
Zigbee协议的基础知识一、ZigBee堆栈层ZigBee堆栈是在IEEE 802.15.4标准基础上建立的,定义了协议的MAC和PHY层。
ZigBee设备应该包括IEEE802.15.4(该标准定义了RF射频以及与相邻设备之间的通信)的PHY和MAC层,以及ZigBee堆栈层:网络层(NWK)、应用层和安全服务提供层。
图1-1给出了这些组件的概况。
图:Zigbee堆栈框架每个ZigBee设备都与一个特定模板有关,可能是公共模板或私有模板。
这些模板定义了设备的应用环境、设备类型以及用于设备间通信的簇。
公共模板可以确保不同供应商的设备在相同应用领域中的互操作性。
设备是由模板定义的,并以应用对象(Application Objects)的形式实现(见图1-1)。
每个应用对象通过一个端点连接到ZigBee堆栈的余下部分,它们都是器件中可寻址的组件从应用角度看,通信的本质就是端点到端点的连接,例如,一个带开关组件的设备与带一个或多个灯组件的远端设备进行通信,目的是将这些灯点亮。
端点之间的通信是通过称之为簇的数据结构实现的。
这些簇是应用对象之间共享信息所需的全部属性的容器,在特殊应用中使用的簇在模板中有定义。
图1-1-2就是设备及其接口的一个例子:每个接口都能接收(用于输入)或发送(用于输出)簇格式的数据。
一共有二个特殊的端点,即端点0和端点255。
端点0用于整个ZigBee 设备的配置和管理。
应用程序可以通过端点0与ZigBee堆栈的其它层通信,从而实现对这些层的初始化和配置。
附属在端点0的对象被称为ZigBee设备对象(ZD0);端点255用于向所有端点的广播;端点241到254是保留端点。
所有端点都使用应用支持子层(APS)提供的服务。
APS通过网络层和安全服务提供层与端点相接,并为数据传送、安全和绑定提供服务,因此能够适配不同但兼容的设备,比如带灯的开关。
APS使用网络层(NWK)提供的服务。
NWK负责设备到设备的通信,并负责网络中设备初始化所包含的活动、消息路由和网络发现。
zigbee学习之路(⼗⼆):zigbee协议原理介绍⼀.前⾔从今天开始,我们要正式开始进⾏zigbee相关的通信实验了,我所使⽤的协议栈是ZStack 是TI ZStack-CC2530-2.3.0-1.4.0版本,⼤家也可以从TI的官⽹上直接下载TI公司为cc2530写的协议栈代码,毕竟,我们作为初学者,应该先不要去深究协议栈是怎么⽤代码编写的,毕竟zigbee已经相当成熟了,我们应该先学会使⽤zigbee协议栈进⾏通信,并能应⽤于实际项⽬中,⽐如说智能家具,不知道⼤家是不是有同感,所以下⾯我就先给⼤家介绍⼀下zigbee通信的原理以及体系架构。
⼆.ZStack 体系架构ZStack 的体系结构由称为层的各模块组成。
每⼀层为其上层提供特定的服务:即由数据服务实体提供数据传输服务;管理实体提供所有的其他管理服务。
每个服务实体通过相应的服务接⼊点(SAP) 为其上层提供⼀个接⼝,每个服务接⼊点通过服务原语来完成所对应的功能。
ZStack 根据IEEE 802.15.4 和ZigBee 标准分为物理层,介质接⼊控制层,⽹络层,应⽤层。
物理层提供了基础的服务,数据传输和接收,⽹络层提供了各个节点连⼊的服务,是zigbee⽹络通信的关键,应⽤层是我们关注的重点,提供了应⽤的框架和ZDO。
⼤家如果想了解体系结构的具体内容,可以⾃⼰去看说明⽂档,下⾯我给⼤家介绍⼀下zigbee⼯作原理。
ZStack 采⽤操作系统的思想来构建,采⽤事件轮循机制,⽽且有⼀个专门的Timer2 来负责定时。
从CC2530 ⼯作开始,Timer2 周⽽复始地计时,有采集、发送、接收、显⽰…等任务要执⾏时就执⾏。
当各层初始化之后,系统进⼊低功耗模式,当事件发⽣时,唤醒系统,开始进⼊中断处理事件,结束后继续进⼊低功耗模式。
如果同时有⼏个事件发⽣,判断优先级,逐次处理事件。
这种软件构架可以极⼤地降级系统的功耗。
整个ZStack 的主要⼯作流程,如图所⽰,⼤致分为以下6 步:(1) 关闭所有中断;(2) 芯⽚外部(板载外设)初始化;(3) 芯⽚内部初始化;(4) 初始化操作系统;(5) 打开所有中断;(6) 执⾏操作系统。
1Zigbee协议栈相关概念1.1近距离通信技术比较:近距离无线通信技术有wifi、蓝牙、红外、zigbee,在无线传感网络中需求的网络通信恰是近距离需求的,故,四者均可用做无线传感网络的通信技术。
而,其中(1)红外(infrared):能够包含的信息过少;频率低波衍射性不好只能视距通信;要求位置固定;点对点传输无法组网。
(2)蓝牙(bluetooth):可移动,手机支持;通信距离10m;芯片价格贵;高功耗(3)wifi:高带宽;覆盖半径100m;高功耗;不能自组网;(4)zigbee:价格便宜;低功耗;自组网规模大。
▫▫▫▫⇨WSN中zigbee通信技术是最佳方案,但它连接公网需要有专门的网关转换→进一步学习stm32。
1.2协议栈协议栈是网络中各层协议的总和,其形象的反映了一个网络中文件传输的过程:由上层协议到底层协议,再由底层协议到上层协议。
1.2.1Zigbee协议规范与zigbee协议栈Zigbee各层协议中物理层(phy)、介质控制层(mac)规范由IEEE802.15.4规定,网络层(NWK)、应用层(apl)规范由zigbee联盟推出。
Zigbee联盟推出的整套zigbee规范:2005年第一版ZigBeeSpecificationV1.0,zigbee2006,zigbee2007、zigbeeprozigbee协议栈:很多公司都有自主研发的协议栈,如TI公司的:RemoTI,Z-Stack,SimpliciTI、freakz、msstatePAN 等。
1.2.2z-stack协议栈与zigbee协议栈z-stack协议栈与zigbee协议栈的关系:z-stack是zigbee协议栈的一种具体实现,或者说是TI公司读懂了zigbee 协议栈,自己用C语言编写了一个软件—---z-stack,是由全球几千名工程师共同开发的。
ZStack-CC2530-2.3.1-1.4.0软件可与TI的SmartRF05平台协同工作,该平台包括MSP430超低功耗微控制器(MCU)、CC2520RF收发器以及CC2591距离扩展器,通信连接距离可达数公里。
Z-Stack中的很多关键的代码是以库文件的形式给出来,也就是我们只能用它们,而看不到它们的具体的实现。
其中核心部分的代码都是编译好的,以库文件的形式给出的,比如安全模块,路由模块,和Mesh自组网模块。
与z-stack 相比msstatePAN、freakz协议栈都是全部真正的开源的,它们的所有源代码我们都可以看到。
但是由于它们没有大的商业公司的支持,开发升级方面,性能方面和z-stack相比差距很大,并没有实现商业应用,只是作为学术研究而已。
还可以配备TI的一个标准兼容或专有的网络协议栈(RemoTI,Z-Stack,或SimpliciTI)来简化开发,当网络节点要求不多在30个以内,通信距离500m-1000m时用simpliciti。
1.2.3IEEE802.15.4标准概述IEEE802.15.4是一个低速率无线个人局域网(LowRateWirelessPersonalAreaNetworks,LR-WPAN)标准。
定义了物理层(PHY)和介质访问控制层(MAC)。
LR-WPAN网络具有如下特点:◆实现250kb/s,40kb/s,20kb/s三种传输速率。
◆支持星型或者点对点两种网络拓扑结构。
◆具有16位短地址或者64位扩展地址。
◆支持冲突避免载波多路侦听技术(carriersensemultipleaccesswithcollisionavoidance,CSMA/CA)。
(mac层)◆用于可靠传输的全应答协议。
(RTS-CTS)◆低功耗。
◆能量检测(EnergyDetection,ED)。
◆链路质量指示(LinkQualityIndication,LQI)。
◆在2.45GHz频带内定义了16个通道;在915MHz频带内定义了10个通道;在868MHz频带内定义了1个通道。
为了使供应商能够提供最低可能功耗的设备,IEEE(InstituteofElectricalandElectronicsEngineers,电气及电子工程师学会)定义了两种不同类型的设备:一种是完整功能设备(full.functionaldevice,FFD),另一种是简化功能设备(reduced.functionaldevice,RFD)。
1.2.4ZigBee协议体系结构IEEE802.15.4定义物理层、介质访问控制层ZigBee联盟定义网络层(networklayer,NWK)、应用层(applicationlayer,APL)。
应用层内定义:应用支持子层(applicationsupportsub—layer,APS)、ZigBee设备对象(ZigBeeDeviceObject,ZDO)(端点号0)、应用框架中用户自定义应用对象(端点号1-240,可以定义0-240个应用)。
每一层为其上层提供特定的服务--数据服务实体→数据传输服务;管理实体提供→管理服务。
每个服务实体通过相应的服务接入点(SAP)为其上层提供一个接口,每个服务接入点通过服务原语来完成所对应的功能。
1.2.4.1物理层:物理层定义了物理无线信道和MAC子层之间的接口,提供物理层数据服务和物理层管理服务。
具体内容:1)ZigBee的激活;2)当前信道的能量检测;3)接收链路服务质量信息;4)ZigBee信道接入方式;5)信道频率选择;6)数据传输和接收。
1.2.4.2介质接入控制子层(MAC)MAC层负责处理所有的物理无线信道访问,并产生网络信号、同步信号;支持PAN连接和分离,提供两个对等MAC 实体之间可靠的链路。
具体功能:1)网络协调器产生信标;2)与信标同步;3)支持PAN(个域网)链路的建立和断开;4)为设备的安全性提供支持(加密解密功能);5)信道接入方式采用免冲突载波检测多址接入(CSMA-CA)机制;6)处理和维护保护时隙(GTS)机制;7)在两个对等的MAC实体之间提供一个可靠的通信链路。
1.2.4.3网络层(NWK)ZigBee协议栈的核心部分在网络层。
网络层主要实现节点加入或离开网络、接收或抛弃其他节点、路由查找及传送数据等功能。
具体功能:1)网络发现;(路由器、终端)2)网络形成;(协调器)3)允许设备连接;4)路由器初始化;5)设备同网络连接;6)直接将设备同网络连接;7)断开网络连接;8)重新复位设备;9)接收机同步;10)信息库维护。
1.2.4.4应用层(APL)应用层包括:应用支持层(APS)、ZigBee设备对象(ZDO)、制造商所定义的应用对象(AF)。
(1)APS功能:维持绑定表、在绑定的设备之间传送消息。
(2)ZDO功能:定义设备在网络中的角色(如物理实体节点被定义为协调器、路由器还是终端设备),发起和响应绑定请求,在网络设备之间建立安全机制(加解密),发现网络中的设备并且决定向他们提供何种应用服务。
ZDO使用APS层的APSDE-SAP和网络层的NLME-SAP。
ZDO是特殊的应用对象,它在端点(entire)0上实现。
远程设备通过ZDO请求描述符信息,接收到这些请求时,ZDO会调用配置对象获取相应描述符值(eg设备什么时候出厂的、需不需要电池、传输距离多少、使用什么规范)。
(3)AF(应用程序框架):用户自定义的应用对象,并且遵循规范(profile)运行在端点1~240上。
在ZigBee应用中,提供2种标准服务类型:键值对(KVP)或报文(MSG)。
2ZigBee基本概念2.1设备类型三种逻辑设备类型:协调器、路由器、终端设备。
协调器的角色主要涉及网络的启动和配置。
一旦这些都完成后,协调器的工作就像一个路由器(或者消失goaway)。
由于ZigBee网络本身的分布特性,因此接下来整个网络的操作就不在依赖协调器是否存在。
路由器一直活跃,须使用主电源供电。
但当树状拓扑结构时,允许其间隔一定的周期操作一次,可使用电池。
终端设备没有特定的维持网络结构的责任,可以睡眠或者唤醒,可用电池供电。
对存储空间(特别是RAM的需要)比较小。
2.2协议规范协议栈规范由ZigBee联盟定义指定。
在同一个网络中的设备必须符合同一个协议栈规范(同一个网络中所有设备的协议栈规范必须一致)。
ZigBee联盟为ZigBee协议栈2007定义了2个规范:ZigBee和ZigBeePRO。
所有的设备只要遵循该规范,即使在不同厂商买的不同设备同样可以形成网络。
如果应用开发者改变了规范,那么他的产品将不能与遵循ZigBee联盟定义规范的产品组成网络,也就是说该开发者开发的产品具有特殊性,我们称之为“关闭的网络”,也就是说它的设备只有在自己的产品中使用,不能与其他产品通信。
更改后的规范可以称之为“特定网络”规范。
协议栈规范的ID号可以通过查询设备发送的beacon帧获得。
在设备加入网络之前,首先需要确认协议栈规范的ID。
“特定网络”规范ID号为0;ZigBee协议栈规范的ID号为1;ZigBeePRO协议栈规范的ID号为2。
协议栈规范的ID (STACK_PRO)在nwk_globals.h中定义:#defineNETWORK_SPECIFIC0#defineHOME_CONTROLS1//zigbee首先应用于智能家居,故直接把zigbee协议栈规范定义为home_control#defineZIGBEEPRO_PROFILE2#defineGENERIC_STAR3#defineGENERIC_TREE4#ifdefined(ZIGBEEPRO)#defineSTACK_PRO#else#defineSTACK_PRO#endif2.3拓扑结构星型、树状、网状#defineNWK_MODE_STAR0#defineNWK_MODE_TREE1#defineNWK_MODE_MESH2#if(STACK_PRO)#defineNWK_MODENWK_MODE_MESH#elif(STACK_PRO)#defineNWK_MODENWK_MODE_MESH#elif(STACK_PRO)#defineNWK_MODENWK_MODE_STAR#elif(STACK_PRO)#defineNWK_MODENWK_MODE_MESH#endif一般拓扑结构定义为网状网络2.4信标与非信标模式Zigbee网络的工作模式可以分为信标(Beaeon)和非信标(Non-beaeon)两种模式。
信标:所有设备同步工作、休眠。
协调器负责以一定的间隔时间(一般在15ms-4mins之间)向网络广播信标帧,两个信标帧发送间隔之间有16个相同的时槽,这些时槽分为网络休眠区和网络活动区两个部分,消息只能在网络活动区的各时槽内发送。