zigbee协议栈代码主要名词解释
zigbee协议栈源码
竭诚为您提供优质文档/双击可除zigbee协议栈源码篇一:zigbeez-stack协议栈构架zstack基础1、zstack协议栈构架zigbee协议栈就是将各个层定义的协议都集合在一起,以函数的形式实现,并给用户提供一些应用层api,供用户调用。
协议栈体系分层架构与协议栈代码文件夹对应表如下:整个协议栈的构架,如图所示app:应用层目录,这是用户创建各种不同工程的区域,在这个目录中包含了应用层的内容和这个项目的主要内容,在协议栈里面一般是以操作系统的任务实现的。
hal:硬件层目录,包含有与硬件相关的配置和驱动及操作函数。
mac:川@。
层目录,包含了川@。
层的参数配置文件及其mac的lib库的函数接口文件。
mt:监控调试层,主要用于调试目的,即实现通过串口调试各层,与各层进行直接交互。
nwk:网络层目录,含网络层配置参数文件及网络层库的函数接口文件,aps层库的函数接口。
osal:协议栈的操作系统。
profile: @尸层目录,包含aF层处理函数文件。
$。
皿丫五丫:安全层目录,安全层处理函数接口文件,比如加密函数等。
services:地址处理函数目录,包括着地址模式的定义及地址处理函数。
tools:工程配置目录,包括空间划分及zstack相关配置信息。
zdo: zdo 目录。
zmac:mac 层目录,包括mac 层参数配置及mac 层lib 库函数回调处理函数。
zmain:主函数目录,包括入口函数 main()及硬件配置文件。
output:输出文件目录,这个ew8051ide自动生成的。
2、zigbee20xx协议栈源码库结构分析了解了218匕。
20**协议栈整个构架后,再来看看协议栈源码库结构是什么样的,各层的具体文件是什么,建立不同的项目、添加自己的应用层任务及处理函数需要修改什么文件。
zigbee20xx协议栈zstack-1.4.2文件目录及说明如下:打开smapleapp项目工程先看app层:从上图可以看出,对于不同的项目,大部分代码都是相同的,只是在用户应用层,添加了不同的任务及事件处理函数。
zigbee协议栈
IEEE802.15.4
IEEE 802.15.4网络共定义了四种类型的帧:信标帧,数据 帧,确认帧和MAC命令帧
1)信标帧 信标帧的负载数据单元由四部分组成:超帧描述字段、GTS分配字段、 待转发数据目标地址字段和信标帧负载数据 2)数据帧 数据帧用来传输上层发到MAC子层的数据,它的负载字段包含了上层 需要传送的数据 3)确认帧 如果设备收到请求位被置1,设备需要回应一个确认帧,确认帧的序列 号应该与被确认帧的序列号相同,并且负载长度应该为零 4)命令帧 MAC命令帧用于组建PAN网络,传输同步数据等,主要完成三方面的 功能:把设备关联到PAN网络,与协调器交换数据,分配GTS
NetBEUI:是一种短小精悍、通信效率高的广播型协议,不 需要进行设置,适合于在“网络邻居”传送数据
IPX/SPX协议:联机的游戏都支持IPX/SPX协议,这些游戏 通过IPX/SPX协议更省事,因为根本不需要任何设置(比 TCP/IP省事)
网络协议
网络协议的层次结构如下:{此为ISO(国际标准化组织)制 定的OSI网络协议七层模型}
通过osalInitTasks( )函数创建OSAL任 务,其中TaskID为每个任务的唯一标 识号
任何OSAL任务必须分为两步:
一是进行任务初始化 二是处理任务事件
zigbee
一、任务初始化主要步骤如下:
(1)初始化应用服务变量。 const pTaskEventHandlerFn tasksArr[ ]数组定义系统提供的应用服务和用户 服务变量
物理层 数据链路层 网络层 传输层 会话层
表示层 应用层
物理连接,电缆,网卡,串口并口
以帧为单位传输数据,主要任务是建立数据封装及链接 网络网络之间的通信问题,提供路由,即最佳路径 解决传输数据质量问题,提供可靠的端到端的数据传输 会话连接到传输连接的映射,数据传送,会画连接的恢复和释放,会 画管理,令牌管理和活动管理 数据语法转换,语法表示,数据压缩和数据加密
zigbee 协议栈
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协议的各种特性和功能,从而使得物联网设备之间可以方便地进行通信和控制。
zigbee基本概念及协议术语
zigbee基本概念及协议术语1. 逻辑设备类型协调器(coordinator),路由器(router),终端设备(end-device)•ZigBee 协调者---coord为协调者节点*–每各ZigBee网络必须有一个.–初始化网络信息.协调器是一种特殊的路由器(待确认)•ZigBee 路由器---router为路由节点*–路由信息•ZigBee 终端节点---rfd为终端节点*–没有路由功能–低价格2 . 2.4GHz射频信道分为16个独立信道。
3. 绑定应用设备之间信息流的控制机制。
有直接绑定(OTA)、间接绑定、直接绑定(通过串口)4. 配置文件profile 应用程序框架5. 端点endpoint 每个ZigBee设备支持多达240个端点6. NWK寻址地址类型:ZigBee设备有一个64位IEEE长地址(MAC地址)通常用一个16位短地址表识网络地址分配由协调器完成相关参数:5 max_depth 网络的最大深度6 Max_children 路由器或协调器节点连接子节点最大个数20 Max_router 路由器或协调器处理的具有路由能力的子节点最大个数它是max_children的子集数据包传送单点unicast 多点multicast 广播broadcast路由:经过路由器的每个数据帧寻找一条最佳传输路径,并将该数据有效地传送到目的节点。
F8wconfig.cfg配置路由看了下面就不用纠结了。
配置文件(profile):Zigbee协议的配置文件是对逻辑组件及其相关接口的描述,是面向某个应用类别的公约、准则.通常没有程序代码与配置文件相关联.属性(attribute):设备之间通信的每一种数据像开关的状态或温度计值等皆可称为属性.每个属性可得到唯一的ID值.簇(cluster):多个属性的汇集形成了簇,每个簇也拥有一个唯一的ID.虽然个体之间传输的通常是属性信息,但所谓的逻辑组件的接口指的却是簇一级的操作,而非属性一级.终端(endpoint):每个支持一个或多个簇的代码功能块称为终端.不同的设备通过它们的终端及所支持的簇来进行通信.Cluster: is a container for one or more attributes. (一个或更多属性的集合)Attribute: a data entity which represents a physical quantity or state.(反映物理特性或状态的一个数据实体)Cluster是逻辑设备之间的事务关系Cluster定性Attribute则是某种事务关系的具体特例Attribute定量Endpoint是一个逻辑设备(个人理解为入口地址)。
zigbee
我们用的是TI的CC2530F256,结合的是黄金单元协议栈(Z-Stack™),而所谓协议栈呢,就是网络中各层协议的总和,由上层协议到底层协议,再由底层协议到上层协议。
CC2530芯片40pins,GND4个,AVDD6个,DVDD2个,DPIO有21个,分别是P0,P1,和P2.0~P2.4,其中P1.0和P1.1的输出驱动电流是20mA,其余IO是4mA;6-mm ×6-mm 的QFN40 封装,焊接有点难度。
VDD的范围是2v~3.6v,最高不超过3.9v。
CC2530 有8KBSRAM ,映射到DATA和XDATA;256KB闪存,映射到CODE和XDATA。
内部集成了一个增强型8051,每个指令周期是1个时钟(一般mcu-51是12个时钟)。
(1)MCU的存储器:CODE 用于存储程序的64KB只读存储器,DATA,可读可写的256byte 的数据存储器,XDATA,与CODE共享64KB的存储空间,可读可写的数据存储器;SFR,128Byte 可读可写寄存器存储空间;2(2)中断:有18个中断源,然后分为6个中断优先组,通过设置IP0_IPGX(X为0到5)和IP1_IPGX来设定优先级;(3)电源和时钟:有五种电源模式,主动模式、空闲模式、PM1,PM2和PM3。
空闲模式是CPU停止工作,主动模式是完全工作模式,PM1,PM2和PM3是部分休眠模式,32M 和16M晶振不开启,32k晶振运行,等待复位或者外部中断、定时器中断到了,便自动跳转到主动模式;(4)闪存有256kb,以页为单位,每页2048byte,共128页;一页是最小可擦除单元,地址是器FADDRH:FADDRL,16位地址;一字(32位)是最小可写单元,地址是通过寄存器FADDRH[7:1寻址;这个需要注意的;(5)IO:21个IO,每个都可独立使用,通过设置寄存器PXSEL来选择是IO口还是第二功能,然后PXDIR设置输入还是输出,0入1出;每当复位之后,所有21个引脚都是通用输入IO,然后每个IO都可以在设置为输入后用作中断,PXEN是中断使能,PXIFG是中断标志,(其中X是0,1,2);这些同MSP430是相似的设置。
ZIGBEE学习笔记
1、ZigBee协议栈:ZigBee协议是一系列的通信标准,通信双方需要共同按照这一标准进行正常的数据发射和接收。
协议栈是协议的具体实现形式,通俗点来理解就是协议栈是协议和用户之间的一个接口,开发人员通过使用协议栈来遵循和使用这个协议的,进而实现无线数据收发。
2、ZigBee无线网络协议层的架构:ZigBee协议分为两部分---IEEE 802.15.4和ZigBee,IEEE 802.15.4定义了PHY (物理层)和MAC(介质访问层)技术规范;ZigBee联盟定义了NWK(网络层)、APS(应用程序支持子层)、APL(应用层)技术规范。
ZigBee协议栈就是将各个层定义的协议都集合在一起,以函数的形式实现,并给用户提供API(应用层),用户可以直接调用---学习Zigbee就是熟悉API和学习如何使用对应函数。
3、用户实现简单的无线数据通信的一般步骤:---组网:调用协议栈的组网函数、加入网络函数,实现网络的建立与节点的加入。
---发送:发送节点调用协议栈的无线数据发送函数,实现无线数据发送。
---接收:接收节点调用协议栈的无线数据接收函数,实现无线数据接收。
4、Z-STACK协议栈工作原理:Z-stack可以看做是一个小型的操作系统(本质是大型的程序),用于实现底层和网络层的内容,Z-stack将复杂部分屏蔽掉。
用户通过API函数就可以轻易用ZigBee。
5、协调器、路由器、终端:Router----路由器Coodinator----协调器EndDevice----终端设备(1)协调器:(coordinator)每个zigbee网络只允许有一个zigbee的协调器,协调器首先选择一个信道和网络标识(PAN ID),然后开始这个网络.因为协调器是整个网络的开始,他具有网络的最高权限,是整个网络的维护者,还可以保持间接寻址用的表格绑定,同时还可以设计安全中心和执行其他动作,保持网络其他设备的通信。
ZigBee第5章 Z-Stack 2007协议栈架构及重要术语
路由机制
路由是ZigBee协议栈的最为核心的机制。ZigBee路 由机制主要包括路由发现,路径保护和维护,路径期 满。
ZigBee依靠路由算法采用AODV(Ad hoc On Demand Distance Vector)算法。每个路由器维护一张路由表 ,并定期与其邻居路由器交换路由信息。ZigBee路由 协议有助于处理无线传感器网络中移动节点,节点连 接失败和数据包丢失等情形。
Y
InitBoard( OB_COLD );
初始化板子IO口
HalDriverInit(); 初始化硬件抽象层驱动
osal_nv_init( NULL ); 初始化非易失性单元
ZMacInit(); 初始化MAC层
zmain_ext_addr(); 得到并显示设备的外部地址
zmain_cert_init(); 初始化Certicom认证信息
目录
1
5.1 Z-Stack协议栈架构分析
2
5.2 Z-Stack应用层重要术语
3
5.3 Z-Stack 网络运行机理
1
《ZigBee技术原理与实战》
5.1 Z-Stack协议栈架构分析
ZigBee无线网络需要依靠ZigBee协议栈才能实现。与传统 TCP/IP协议栈类似,Z-Stack协议栈采用分层结构。分层的结构脉络 清晰,方便设计和调试。Z-Stack协议栈需要配合操作系统抽象层 (OSAL)才能够运行。
《ZigBee技术原理与实战》
5.1.4 Z-Stack层间原语通信
请求(Request)、响应(Response)原语信息流由协议 栈中较高层指向较低层;确认(Confirm)、指示 (Indication)原语则从较低层向较高层返回结果或传达 信息。
zigbee技术文档0 zigbee协议栈基础概念简介
一、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协议栈源码
竭诚为您提供优质文档/双击可除zigbee协议栈源码篇一:zigbeez-stack协议栈构架zstack基础1、zstack协议栈构架zigbee协议栈就是将各个层定义的协议都集合在一起,以函数的形式实现,并给用户提供一些应用层api,供用户调用。
协议栈体系分层架构与协议栈代码文件夹对应表如下:整个协议栈的构架,如图所示app:应用层目录,这是用户创建各种不同工程的区域,在这个目录中包含了应用层的内容和这个项目的主要内容,在协议栈里面一般是以操作系统的任务实现的。
hal:硬件层目录,包含有与硬件相关的配置和驱动及操作函数。
mac:mac层目录,包含了mac层的参数配置文件及其mac的lib库的函数接口文件。
mt:监控调试层,主要用于调试目的,即实现通过串口调试各层,与各层进行直接交互。
nwk:网络层目录,含网络层配置参数文件及网络层库的函数接口文件,aps层库的函数接口。
osal:协议栈的操作系统。
profile:aF层目录,包含aF层处理函数文件。
security:安全层目录,安全层处理函数接口文件,比如加密函数等。
services:地址处理函数目录,包括着地址模式的定义及地址处理函数。
tools:工程配置目录,包括空间划分及zstack相关配置信息。
zdo:zdo目录。
zmac:mac层目录,包括mac层参数配置及mac层lib 库函数回调处理函数。
zmain:主函数目录,包括入口函数main()及硬件配置文件。
output:输出文件目录,这个ew8051ide自动生成的。
2、zigbee20xx协议栈源码库结构分析了解了zigbee20xx协议栈整个构架后,再来看看协议栈源码库结构是什么样的,各层的具体文件是什么,建立不同的项目、添加自己的应用层任务及处理函数需要修改什么文件。
zigbee20xx协议栈zstack-1.4.2文件目录及说明如下:打开smapleapp项目工程先看app层:从上图可以看出,对于不同的项目,大部分代码都是相同的,只是在用户应用层,添加了不同的任务及事件处理函数。
无线传感网络技术 第三章典型的ZIGBEE 协议栈及解决方案
该方案是将协议处理和无线射频处理集成在一个芯片上。 ✓ 早期典型的产品有TI 公司的CC2430,CC2430 使用一个8051 8 位MCU 内核,并具备128KB闪存和8KB
RAM ,可用于构建各种类型的ZIGBEE设备,包括调谐器、路由器和终端设备。CC2430片内资源丰富,包含 模数转换器(ADC) 、若干定时器、AES-128 协同处理器、看门狗定时器、32kHz 晶振的休眠模式定时器、上 电复位电路(Power-On-Reset)、掉电检测电路(Brown-out-detection),以及21 个可编程I/O 引脚。 ✓ Freescale公司单芯片集成SOC主要有MC1321X系列芯片,该系列芯片集成了MC9S08GT MCU 和MC1320x 收发信机,闪存可以在16~60 KB 的范围内选择,符合802.15.4 标准,包括一个集成的发送/接收(T/R)开 关,可以降低对外部组件的需求,进而降低原料成本和系统总成本,支持Freescale的软件栈选项、简单MAC (SMAC)、802.15.4 MAC 和全ZIGBEE 堆栈。此外MC13211 提供16 KB 的闪存和1 KB 的RAM,非常适合 采用SMAC 软件的点到点或星形网络中的经济高效的专属应用。对于更大规模的联网,则可以使用具有32 KB 的内存和2 KB 的RAM 内存的MC13212芯片。MC13213具有60 KB 的内存和4 KB 的RAM,提供可编程 时钟、4 MHz (或更高)频率运行的标准4线SPI、外部低噪声放大器和功率放大器(PA)。 ✓ EMBER公司早期推出EM250芯片,片内含有16 位低功耗微控制器,128KB 闪存,5K RAM,2.4GHz无线射 频模块,同时提供有EmberZNet 2.1 协议栈。最新的EmberZNet 协议版本已经迭代到2.8,芯片EFR32MG13 内核为ARM Cortex-M4,可工作于2.4GHz,闪存容量为512KB,内存容量为64 KB。
ZigBee术语
可以把原语看作是API函数是ZigBee中最基本的操作,包括最精简的功能一般的厂商在软件开发环境的配套资料中都有对原语进行程序实现在自己开发系统时,只需要调用,设定参数就好了如果你要自己实现底层的细节那看有没有开源的协议栈,能深入到原语的级别也就是说,对于原语我们只需要了解就行,真正开发程序只知道我们给系统哪些参数就行了。
1 ZigBee技术1. 1 ZigBee概述ZigBee技术是最近兴起的一种无线通信标准,它是以IEEE802. 15. 4无线通信技术为基础的一组涉及到网络、安全、应用方面的软件协议。
它是一种短距离、低复杂度、低功耗、低数据传输率、低成本的双向无线通信技术。
该技术可以应用于超低功率损耗的无线网络中,它满足ISO /OSI参考模型。
其物理层和MAC层采用了IEEE80211514标准; ZigBee联盟定义了上层部分,包括网络层和应用层;用户层由用户自己定义。
目前,Chipcon公司提出的CC2420+MCU 解决方案,其MAC和PHY层由CC2420实现,上层部分协议包括应用层全部由MCU实现。
1. 2 ZigBee协议栈协议栈是用于实现ZigBee协议的一组软件,为了便于ZigBee技术开发,不妨先了解其中部分重要的概念。
1. 2. 1 ProfileProfile的书面意思是框架、轮廓,在这里它的意思是应用程序框架。
它是由ZigBee技术开发商提供,应用于特定的应用场合,它是用户进行ZigBee技术开发的基础。
当然用户也可以使用专用工具建立自己的Profile。
Profiles是这样一种规范,它规定不同设备对消息帧的处理行为,使不同的设备之间可以通过发送命令、数据请求来实现互操作。
1. 2. 2 EndpointEndpoint是一种网络通信中的数据通道,它是无线通信节点的一个通信部件,如果选择“绑定”方式实现节点间的通信,那么可以直接面对Endpoint操作,而不需要知道绑定的两个节点的地址信息。
第六章 zigbee协议栈详解
ZigBee协议栈详解
目标: 本章在向学员介绍物联网体系中传输层所使用 的相关技术,通过本课的学习,学员应该掌握 如下知识: IP协议栈的应用 WLAN无线网络应用
大纲
协议栈内部结构 IEEE802.15.4 标准和 ZigBee 协议 协议栈软件总体设计 网络层(NWK)设计 应用层 MAC 层设计 物理层(PHY)设计
原语的概念
ZigBee 协议按照开放系统互联的 7 层模型将协议分成了一系列的层结 构,各层之间通过相应的服务访问点来提供服务。这样使得处于协议中 的不同层能够根据各自的功能进行独立的运作,从而使整个协议栈的结 构变得清晰明朗。另一方面,由于 ZigBee 协议栈是一个有机的整体, 任何 ZigBee 设备要能够正确无误的工作,就要求协议栈各层之间共同 协作。因此,层与层之间的信息交互就显得十分重要。ZigBee 协议为 了实现层与层之间的关联,采用了称为服务“原语”的操作。
Zigbee绑定操作
ZigBee协议ห้องสมุดไป่ตู้各层帧结构之间的关系
在 ZigBee 协议栈中,任何通信数据都是利用帧的格式来组织的 。协议栈的每一层都有特定的帧结构。当应用程序需要发送数 据时,它将通过 APS 数据实体发送数据请求到 APS。随后在它 下面的每一层都会为数据附加相应的帧头,组成要发送的帧信 息。
分裂、重新组装和可靠数据传输 地址映射来自于64位IEEE地址和16位网络地址
ZigBee 设备对象(ZDO)
负责定义网络中设备的角色,如:协调器或者终端设备 对绑定请求的初始化或者响应。 在网络设备之间建立安全联系 在网络中发现设备和决定供给哪个应用服务
实现这些功能,ZDO 使用 APS 层的 APSDE-SAP 和网络 层的 NLME-SAP。ZDO 是特殊的应用对象,它在端点 (endpoint)0 上实现。
Zigbee协议术语
Zigbee协议术语ZigBee学习时,需要理解几个基本术语:簇(Cluster)、端点(Endpoint)、属性(Attribute),配置文件(profile)。
概念如下:配置文件(profile):Zigbee协议的配置文件是对逻辑组件及其相关接口的描述,是面向某个应用类别的公约、准则.通常没有程序代码与配置文件相关联.属性(attribute):设备之间通信的每一种数据像开关的状态或温度计值等皆可称为属性.每个属性可得到唯一的ID值.簇(cluster):多个属性的汇集形成了簇,每个簇也拥有一个唯一的ID.虽然个体之间传输的通常是属性信息,但所谓的逻辑组件的接口指的却是簇一级的操作,而非属性一级.终端(endpoint):每个支持一个或多个簇的代码功能块称为终端.不同的设备通过它们的终端及所支持的簇来进行通信.配置文件定义了属性ID与簇ID,使之看起来就像设备的某种特性.以家庭智能控制系统为例,灯配置文件设定了远程控制设备的簇OnOffDRC含有一种属性OnOff,且该属性为无符号8位值,值0XFF意味着"开",0X00为关,0XF0则为无效。
通常,配置文件也为设备定义了,哪些簇是强制托管的,哪些簇是可选择的。
另外,配置文件还定义了一些可选择的Zigbee协议托管服务.基于簇及配置所定义的服务,用户可使用配置文件中定义的属性编写所需的函数.改写自己的程序代码.因此,配置文件使得ZigBee 设备可以互操作。
任何遵循某一标准配置文件的节点都可以与其他实现相同配置文件的节点进行互操作。
也就是说,在使用同一标准配置文件进行设计的基础上,即使生产开关的厂家与生产控制器的厂家不同,他们生产的产品仍可实现协同操作.以家庭智能系统中的灯光控制为例,灯配置文件定义了6个设备,协议栈通过带有以下信息的报头文件对此配置提供支持:配置(profile)ID,设备ID及版本,簇ID,属性ID,属性数据类型.下图(1)显示了不同术语之间的关系,对于家庭智能控制系统的灯光配置,图中给出了两种设备(相当于两个节点).每种设备各有一个终端(当然可以有多个终端,终端1-终端240).负荷切换控制器的终端中仅有一个输入簇,而远程转换控制终端则有两个簇,且分别为一个输入一个输出.数据的传输基于簇而进行.从图中可以看出,每一个设备可以包含多个终端。
ZigBee协议栈OSAL介绍
讨论ZigBee协议栈的构成以及内部OSAL的工作机理。
ZigBee协议栈OSAL介绍操作系统抽象层OSAL常用术语:1.资源(Resource):任何任务所占用的实体都叫资源,如变量、数组、结构体2.共享资源(Shared Resource):两个或两个以上任务使用的资源,为防止破坏资源,任务在操作共享资源时是独占状态。
3.任务(Task):即线程,简单的程序的执行过程。
任务设计时将问题尽可能分成多个任务,每个任务独立完成某项功能,同时赋予优先级、CPU寄存器和堆栈空间。
一般一个任务设计为一个无限循环。
4.多任务运行(Muti-task Running):其实同一时刻只有一个任务运行。
5.内核(Kernel):内核负责管理各个任务。
包括:分配CPU时间;任务调度;任务间的通信。
6.互斥(Mutual Exclusion):多任务通信最常用方法是共享数据结构。
保护共享资源常用的方法:关中断;使用测试并置位指令(T&S指令);禁止任务切换;使用信号量;7.消息队列(Message Queue):用于任务间传递消息。
OSAL提供如下功能:任务注册、初始化和启动;任务间的同步、互斥;中断处理;储存器分配和管理;OSAL运行机理:OSAL就是一种支持多任务运行的系统资源分配机制。
OSAL是一种基于事件驱动的轮询式操作系统。
、void osal_start_system(void)是ZigBee协议栈的灵魂,不断的查看事件列表,如果有事件发生就调用相应的事件处理函数。
SYS_EVENT_MSG是一个事件集合,是由协议栈定义的事件,即系统强制事件(Mandatory Events),它的定义为:#define SYS_EVENT_MSG 0x8000;它包含如下事件:AF_INCOMING_MSG_CMD 收到一个新的无线数据ZDO_STATE_CHANGE 网络状态发生变化事件,利用它判断终端加入网络后何时向协调器发送数据包。
ZigBee协议栈中文说明
Z igbee协议栈中文说明1.概述1.1解析ZigBee堆栈架构ZigBee堆栈是在IEEE802.15.4标准基础上建立的,定义了协议的MAC和PHY层。
ZigBee设备应该包括IEEE802.15.4(该标准定义了RF射频以及与相邻设备之间的通信)的PHY和MAC层,以及ZigBee堆栈层:网络层(NWK)、应用层和安全服务提供层。
图1-1给出了这些组件的概况。
ZigBee堆栈层1.1.1ZigBee1.1.1每个ZigBee设备都与一个特定模板有关,可能是公共模板或私有模板。
这些模板定义了设备的应用环境、设备类型以及用于设备间通信的簇。
公共模板可以确保不同供应商的设备在相同应用领域中的互操作性。
设备是由模板定义的,并以应用对象(Application Objects)的形式实现(见图1-1)。
每个应用对象通过一个端点连接到ZigBee堆栈的余下部分,它们都是器件中可寻址的组件图1-1zigbe堆栈框架从应用角度看,通信的本质就是端点到端点的连接(例如,一个带开关组件的设备与带一个或多个灯组件的远端设备进行通信,目的是将这些灯点亮)。
端点之间的通信是通过称之为簇的数据结构实现的。
这些簇是应用对象之间共享信息所需的全部属性的容器,在特殊应用中使用的簇在模板中有定义。
图1-1-2就是设备及其接口的一个例子:图1-1-2每个接口都能接收(用于输入)或发送(用于输出)簇格式的数据。
一共有二个特殊的端点,即端点0和端点255。
端点0用于整个ZigBee设备的配置和管理。
应用程序可以通过端点0与ZigBee堆栈的其它层通信,从而实现对这些层的初始化和配置。
附属在端点0的对象被称为ZigBee设备对象(ZD0)。
端点255用于向所有端点的广播。
端点241到254是保留端点。
所有端点都使用应用支持子层(APS)提供的服务。
APS通过网络层和安全服务提供层与端点相接,并为数据传送、安全和绑定提供服务,因此能够适配不同但兼容的设备,比如带灯的开关。
zigbee协议栈
zigbee协议栈Zigbee协议栈是一种基于IEEE 802.15.4无线技术的低功耗通信协议,用于构建无线传感器网络和物联网设备。
它由几个层次的协议组成,包括物理层、MAC层、网络层和应用层。
物理层是Zigbee协议栈的最底层,负责无线信号传输和接收。
它定义了无线模块和设备的硬件要求,包括频率、调制方式、传输速率等。
在物理层之上是MAC层,负责网络节点之间的数据传输和管理。
它提供了一系列函数,用于数据包的发送和接收,以及网络节点的寻址和路由。
网络层位于MAC层之上,负责整个网络的拓扑结构和数据路由。
每个节点都有一个唯一的网络地址,用于标识和寻址。
网络层使用路由算法决定最佳的数据传输路径,以确保数据的可靠传输。
最上层是应用层,这是开发人员编写应用程序的层次。
它提供了一系列应用程序程序接口(API),用于数据的发送和接收。
开发人员可以利用这些API实现各种应用程序,如传感器数据采集、远程控制等。
Zigbee协议栈具有以下几个特点。
第一,低功耗。
由于无线传感器网络和物联网设备通常是由电池供电,因此低功耗是一个非常重要的设计考虑。
Zigbee协议栈通过最小化数据传输以及使用睡眠和唤醒机制来实现低功耗。
第二,短距离通信。
Zigbee协议栈的设计目标是用于部署在短距离范围内的网络,通常不超过100米。
这使得它非常适用于家庭自动化、智能电网等场景。
第三,高可靠性。
Zigbee协议栈支持多路径数据传输,以确保数据能够在网络中快速可靠地传输。
此外,它还支持自动路由和包重传机制,以应对网络中节点的故障或丢失。
第四,安全性。
Zigbee协议栈支持数据加密和身份验证功能,确保数据在传输过程中的保密性和完整性。
这对于保护物联网设备和网络免受黑客攻击非常重要。
总的来说,Zigbee协议栈是一种可靠、低功耗、安全的通信协议,适用于构建无线传感器网络和物联网设备。
它的设计目标是满足家庭自动化、智能电网等应用场景中的通信需求。
zigbee基本知识点分享
Zigbee知识分享1.zigbee概念ZigBee→IEEE 802.15.4协议的代名词,是一种短距离、低功耗的无线通信技术。
特点:近距离、低复杂度、自组织、低功耗、低数据速率、低成本近距离:“近”是相对而言的,与蓝牙相比,ZigBee属于远距离低速率。
(见图1)自组织:无需人工干预,网络节点能够感知其他节点的存在,并确定连接关系,组成结构化的网络;低功耗:在低功耗待机模式下,两节普通5号电池可使用6-24个月;低数据速率:基于ZigBee的无线网络所使用的工作频段为868MHz、915MHz和2.4GHz,最大数据传输速率为250kbps;低成本:ZigBee数据传输率低,协议简单,大大降低了成本;各种无线数据传输协议对比,如图所示:传输视频数据传输大量数据传输音频数据率速输传据数值峰传输距离图1:各种无线数据传输协议对比图解释:蓝牙数据传输速率小于3Mbps,典型数据传输距离为2-10米,蓝牙技术的典型应用是在两部手机之间进行小量数据的传输。
IEEE 802.11b最高数据传输速率可达11Mbps,典型数据传输距离在30-100米,IEEE 802.11b技术提供了一种Internet的无线接入技术,如很多笔记本电脑可以使用自带的WiFi功能实现上网。
ZigBee协议可以理解为一种短距离无线传感器网络与控制协议,主要用于传输控制信息,数据量相对来说比较小,特别适用于电池供电的系统。
此外,相对于上述两种标准,ZigBee协议更容易实现(或者说实现成本较低)。
2.zigbee技术应用领域zigbee适用范围包括自动控制领域、远程控制领域,同时在相关领域中可以嵌入各种设备。
例如:家庭自动化(Home Automation)、商业楼宇自动化(Building Automation)、自动读表系统(Automatic Meter Reading)。
在智能家居和商业楼宇自动化方面,将空调、电视、窗帘控制器等通过ZigBee技术来组成一个无线网络,通过一个遥控器就可以实现各种家电的控制,这种应用非常方便。
Zigbee协议栈中文说明免费
1.概述1.1解析ZigBee堆栈架构ZigBee堆栈是在IEEE 802.15.4标准基础上建立的,定义了协议的MAC和PHY层。
ZigBee设备应该包括IEEE802.15.4(该标准定义了RF射频以及与相邻设备之间的通信)的PHY和MAC层,以及ZigBee堆栈层:网络层(NWK)、应用层和安全服务提供层。
图1-1给出了这些组件的概况。
1.1.1ZigBee堆栈层每个ZigBee设备都与一个特定模板有关,可能是公共模板或私有模板。
这些模板定义了设备的应用环境、设备类型以及用于设备间通信的簇。
公共模板可以确保不同供应商的设备在相同应用领域中的互操作性。
设备是由模板定义的,并以应用对象(Application Objects)的形式实现(见图1-1)。
每个应用对象通过一个端点连接到ZigBee堆栈的余下部分,它们都是器件中可寻址的组件。
图1-1 zigbe堆栈框架从应用角度看,通信的本质就是端点到端点的连接(例如,一个带开关组件的设备与带一个或多个灯组件的远端设备进行通信,目的是将这些灯点亮)。
端点之间的通信是通过称之为簇的数据结构实现的。
这些簇是应用对象之间共享信息所需的全部属性的容器,在特殊应用中使用的簇在模板中有定义。
图1-1-2就是设备及其接口的一个例子:图1-1-2每个接口都能接收(用于输入)或发送(用于输出)簇格式的数据。
一共有二个特殊的端点,即端点0和端点255。
端点0用于整个ZigBee设备的配置和管理。
应用程序可以通过端点0与ZigBee 堆栈的其它层通信,从而实现对这些层的初始化和配置。
附属在端点0的对象被称为ZigBee设备对象 (ZD0)。
端点255用于向所有端点的广播。
端点241到254是保留端点。
所有端点都使用应用支持子层(APS)提供的服务。
APS通过网络层和安全服务提供层与端点相接,并为数据传送、安全和绑定提供服务,因此能够适配不同但兼容的设备,比如带灯的开关。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
zigbee协议重要名词解释及英文缩写(转载)网络层功能:1. 加入和退出网络2. 申请安全结构3. 路由管理4. 在设备之间发现和维护路由5. 发现邻设备6. 储存邻设备信息当适当的重新分配地址联合其他设备,ZIGBEE2006可以依赖于网络协调者建立一个新网络.ZIGBEE应用层由APS(应用支持)、AF(应用结构)、ZDO(ZIGBEE设备对象)和厂商自定义应用对象组成。
APS功能1. 绑定维持工作台,定义一个两个合拢的设备进行比较建立他们的需要和服务。
2. 促进信息在设备之间的限制3. 组地址定义,移除和过滤组地址消息4. 地址映射来自于64位IEEE地址和16位网络地址5. 分裂、重新组装和可靠数据传输ZDO功能1. 定义设备内部网络(ZigBee协调者和终端接点)2. 开始和/或回答绑定请求3. 在网络设备中建立一个网络安全关系4. 在网络中发现设备和决定供给哪个应用服务ZDO同样有责任在网络中发现设备和为他们提供应用服务。
1.1.4 网络拓扑ZIGBEE网络层支持星状、树状和网状拓扑。
在星状拓扑中网络受约束与单个设备,呼叫COORD。
COORD有责任建立和维持在网络中发现的设备和其他所有设备,都知道的终端接点直接和COORD 通信。
在网状和树状拓扑中,COORD有责任建立一个网络和选择几个关键网络参数,但是网络有有可能直接应用于ZigBee路由器。
在树状网络中,利用分等级路由策略完成路由传输数据和控制消息直通网络。
树状网络在802.15.4-2003中可以采用信标引导通信。
网状网络将允许所有对等网络通信。
ZIGBEE 路又将不能在网状网络中发射规则的IEEE802.15.4-2003信标。
缩写含义AIB:应用支持层消息AF:应用结构APDU:应用支持层以下数据单位APL:应用层APS:应用支持层APSDE:应用支持层以下数据实体APSDE-SAP:应用支持层数据实体—服务通道APSME:应用支持层管理实体APSME-SAP:应用支持层管理实体—服务通道ASDU:APS服务数据单位BRT:广播重试计时器BTR:广播处理记录BTT:广播处理工作台CCM*:CSMA-CA:载波多重监听通道——避免碰撞FFD:全部功能设备GTS:担保时间跟踪IB:消息数据LQI:连接质量指示LR-WPAN:低速率无线局域网MAC:控制层MCPS-SAP:控制层公共部分—服务通道MIC:消息完整代码MLME-SAP:控制层管理实体—服务通道MSC:消息序列图表MSDU:控制层服务数据单位MSG:消息服务类型NBDT:网络广播发送时间NHLE:下一个更高层实体NIB:网络层信息数据NLDE:网络层数据实体NLDE-SAP:网络层数据实体——服务通道NLME:网络层管理实体NLME-SAP:网络层管理实体——服务通道NPDU:网络层数据单位NSDU:网络服务数据单位NWK:网络OSL:打开系统联络PAN:局域网PD-SAP:物理层数据—指向服务通道PDU:协议数据单位PHY:物理层PIB:局域网消息PLME-SAP:物理层管理实体——指向服务通道POS:私人运作空间QOS:服务质量RREP:路由回答RN:路由接点SKG:SKKE:SSP:安全服务提供SSS:安全服务说明WPAN:无线局域网XML:可扩展语言ZB:ZIGBEEZDO:ZIGBEE设备对象2.1.1APSAPS提供一个工作台在网络层和应用层之间直接服务于ZDO和厂商自定义设备。
APSDE供给在应用层协议单元在同一个网络中两个或更多设备之间数据传输的发送服务,包含过滤组地址信息。
当然它也能分裂和重组大量信息包,支持数据有效负荷和可靠数据传输。
APSME供给安全服务,绑定数据、制定和移除组地址和维持数据库管理2.1.2 应用结构ZIGBEE中的应用结构是ZIGBEE设备上的应用对象中的环境。
在应用结构内,这个应用设备发送和接收数据直接通过APSDE-SAP。
这个应用对象在完成以下任务后直接到ZDO公共部分。
1. 控制和管理在ZIGBEE设备中的协议层2. 创建标准网络功能这个数据服务倘若通过APSDE-SAP,包括请求、确认、回答和指出原始的传递数据。
在同等应用实体之间请求支持原始数据传输。
请求原语呼叫的结果确定原始报告。
指出原始的用于指出数据来自于应用对象目的地文件APS。
2.1.3 地址2.1.3.1 接点地址如图所示它们是两个接点,各自包含一个无线收发装置。
一个接点包含两个开关,另一个包含4个小灯。
一个接点包含一个或多个设备和一个IEEE802.15.4的无线收发器。
在每个子分组中每个分组为一个独立的接点。
但加入网络后,各个接点分配一个地址。
2.1.3.2 终端地址在图中,开关1控制灯1、2和3,开关2控制灯4。
然而一个无线收发器只有唯一的一个地址。
它如果不能识别组地址就不能让开关2唯一控制灯4开启。
在IEEE 802.15.4联合装置中,ZigBee提供了一个标准的寻址方式,一个终端能够用于识别各自的灯和开关。
每一个灯和开关都有它们各自的终端地址。
终端0 是保留用于设备管理和接点地址描述的接点。
在各自组中的可以有象开关和小灯这样的接点1~240个。
物理设备用于描述数据的属性,例如自动温度调节装置可以调节房间中的温度。
2.1.42.1.4.1应用profiles应用profiles 是信息、信息格式和处理行为使能创造一个能共同操作的协议,他分布应用于各个单独应用设备之间。
这个应用profiles 使能应用软件发送命令,请求数据和处理命令和请求。
例如,一个温度控制装置的接点能与一个火炉接点通信。
他们一起就提供了一个热供应应用profiles,2.1.4.2 串同一个profiles中串标示符(ID)相同,对于可以建立绑定关系的两个节点,它们的Cluster的属性必须一个选择“输入”,另一个选择“输出”, 而且ClusterID 值相等。
比如在上面的温度调节的例子中,在一个温度ClusterID作为输出和一个温度ClusterID作为输入的设备之间,对温度绑定。
这个绑定表包含ID设备的温度连同地址来源和设备。
2.1.5发现2.1.5.1 发现设备设备发现的作用是为什么一个ZIGBEE设备能发现另一个ZIGBEE设备在附近查询发出广播或者单独针对地址单独广播。
他们是来自于发现设备的两个请求:IEEE地址请求和网络地址请求,IEEE地址请求是假设网络地址知道而单独广播。
网络地址请求是广播所有设备和携带知道的IEEE地址当作数据有效载荷。
在附近发现的设备回复广播或者单播时,将对设备类型进行分类.1. ZigBee终端接点:查询发现设备回复时发送他的IEEE或网络地址(依靠请求)2. ZigBee协调者设备:查询回复发送他的IEEE或者网络地址和ZigBEE协调者联合的所有设备网络地址。
3. ZigBee路由设备:查询回复发送他的IEEE或者网络地址和ZigBEE路由联合的所有设备网络地址。
2.1.5.2 服务发现服务发现是为什么终端接点接收设备能发现附近有外部设备服务可用。
服务发现能完成在附近查询每个接点在一个特定设备或用于一个相匹配的设备中的服务(不是广播就是单播)。
服务发现利用联合体、使用者、节点或者功率描述加上简单的远程终端地址描述(用于连接应用对象)。
服务发现在ZIGBEE中的作用是连接设备内部网络。
通过节点上特殊请求的描述,广播请求给终端支持应用对象和服务匹配对象。
对于一个试用工具和应用提供一个选项范围。
网络发现消息同样可以隐藏于网络内部,主要发现隐藏于设备中。
2.1.6 绑定在ZIGBEE中,这儿是一个应用标准概念,在单独的终端地址或者在不同接点的组地址中用于ClusterID (和包含他们的属性)。
他是查阅绑定——在2.1.3.2的例子中,是在应用设备和终端或者组地址之间建立连接。
应用层规范2.1概述ZigBee栈体系包含一系列的层元件,包含IEEE802.15.4 2003标准MAC层和PHY层,当然也包括ZigBee的NWK层。
每个层的元件提供相关的服务功能。
虽然本节描述了ZigBee栈的其他部分但主要描述图1.1中的APL层。
图1为ZigBee栈结构框图。
如图1.1所示,ZigBee应用层由三个部分组成,APS子层、ZDO(包含ZDO管理平台)和制造商定义的应用对象。
2.1.1应用支持子层APS提供了这样的接口:在NWK层和APL层之间,从ZDO到供应商的应用对象的通用服务集。
这服务由两个实体实现:APS数据实体(APSDE)和APS管理实体(APSME)。
(1)APSDE通过APSDE服务接入点(APSDE-SAP);(2)APSME通过APSME服务接入点(APSME-SAP)。
APSDE提供在同一个网络中的两个或者更多的应用实体之间的数据通信。
APSME提供多种服务给应用对象,这些服务包含安全服务和绑定设备,并维护管理对象的数据库,也就是我们常说的AIB。
2.1.2应用层框架ZigBee中的应用框架是为驻扎在ZigBee设备中的应用对象提供活动的环境。
最多可以定义240个相对独立的应用程序对象,任何一个对象的端点编号从1到240。
还有两个附加的终端节点为了APSDE-SAP的使用:端点号0固定用于ZDO数据接口;另外一个端点255固定用于所有应用对象广播数据的数据接口功能。
端点241-254保留(给为了扩展使用)。
2.1.2.1应用Profiles应用profiles是一组统一的消息,消息格式和处理方法,允许开发者建立一个可以共同使用的、分布式应用程序,这些应用是使用驻扎在独立设备中的应用实体。
这些应用profiles允许应用程序发送命令、请求数据和处理命令和请求。
2.1.2.2簇簇标识符可用来区分不同的簇,簇标识符联系着数据从设备流出,和向设备流入。
在特殊的应用profiles范围内,簇标识符是唯一的。
2.1.3ZigBee设备对象ZigBee设备对象(ZDO),描述了一个基本的功能函数,这个功能在应用对象、设备profile和APS 之间的提供了一个接口。
ZDO位于应用框架和应用支持子层之间。
它满足所有在ZigBee协议栈中应用操作的一般需要。
ZDO还有以下作用:(1)初始化应用支持子层(APS),网络层(NWK),安全服务规范(SSS)。
(2)从终端应用中集合配置信息来确定和执行发现、安全管理、网络管理、以及绑定管理。
ZDO描述了应用框架层的应用对象的公用接口以控制设备和应用对象的网络功能。
在终端节点0, ZDO提供了与协议栈中低一层相接的接口,如果是数据是通过APSDE-SAP,如果是控制信息则通过APSME-SAP。
在ZigBee协议栈的应用框架中,ZDO公用接口提供设备、发现、绑定、以及安全等功能的地址管理。