余凯
【摘要】本文主要分析了Zigbee协议栈,着重介绍了协议栈的物理层、MAC层、网络层、应用层的体系结构,以及服务原语的传输方式,从而实现物联网数据传输。
【关键词】Zigbee协议栈;数据报文;服务原语
1概述
随着科学技术的不断发展,人们迫切希望发达的科学技术能够带动生活品质和生产效率的提升,目前,在日益发展和壮大的互联网的基础上,通过近距无线通信技术、射频技术和传感技术的物联网也正快速地发展起来。物联网的具体实现,实际上是通过物体设备之间的数据传输、交换,而后依赖于互联网将数据最终发送到各个网络重点上,从而实现万物之间的数据通信,而在此其间,ZigBee协议成为实现物体设备之间传输的关键所在。ZigBee协议是属于近距无线通信协议,其起身具有成本低、耗能小、速率低、可嵌入、灵活等特性,对于构建物联网是非常方便和快捷。所以对于ZigBee协议栈的研究与学习,对于熟练应用ZigBee协议,从而快速、高效、准确地构建物联网来说具有非常重要的实用价值。
2ZigBee的协议栈
2.1ZigBee协议栈的体系结构
ZigBee协议栈是实现物联网数据通信和传输的基本协议,从最底层的物理层数据传输到最上层的ZigBee设备应用层的具体数据处理实现,ZigBee协议栈都进行了具体的详细规定。如图1所示,为ZigBee协议栈的从物理层、MAC层、网络层最后到应用层的体系架构图。
如图1所示,ZigBee协议借鉴了互联网传统的7层协议结构图,自身定义了物理层、MAC层、网络层、應用层的具体功能、传输数据的处理和传送规则等,从而实现物理设备与物理设备之间、物理设备与网络设备之间的数据传输。
在物理层,ZigBee协议规定了专门的无线信道供ZigBee设备对象进行数据传输,根据国家对ZigBee协议的频段分配,ZigBee数据协议报需要在868MHz/915MHz和2.4GHz两个频段内工作,通过专门的调制解调的技术手段和扩频技术,ZigBee技术在物理层实现了数字信息信号对高频传输信号的上载与下载、低损耗、低失真、低干扰的数据处理与传输。ZigBee协议在物理层的数据结构包括了数据同步头、物理头以及物理层净荷三部分构成,而前两部分主要包括了对物理链路信号的定义和控制,物理层净荷则是涵盖服务数据的具体单元,包括了物理设备之间传输的具体数据或控制命令。
通过物理层提供的具体服务,在MAC层中,ZigBee协议实现了两个物理设备之间的稳定数据通信链路,并且采用带冲突避免的载波侦听多路访问的控制方法,实现了ZigBee信道的访问冲突问题。同时,ZigBee协议还设计了专门的功能从而实现时隙保护、数据发送、检测、跟踪等基本功能,从而有效保障数据链路层通信。ZigBee协议在MAC层的数据包结构,规定了MAC头、尾和MAC净荷,其中MAC头定义了数据帧的序列号、目标地址和PAN标识符以及源地址和PAN标识符,MAC尾则表示MAC数据包结束,MAC净荷则是MAC层的主要传输部分,是包含了具体的上层数据信息。
在ZigBee协议中,对网络层的功能进行定义,其主要功能是为上层应用层提供服务,同时保障MAC层工作有效。针对网络层的具体功能,ZigBee规定了网络层数据的处理规则、路由跳转规则、发送和接受的规则,在网络层数据通信的数据结构中,网络层头规定了目的地址、源地址以及多点传送的控制信息,而网络层净荷则是包含了网络层的具体传输数据,在ZigBee针对网络层数据传输规则下进行数据和控制指令的传送。
针对应用层,ZigBee定义了APS、ZDO和应用对象。其中APS为应用支持层,主要是为ZigBee物理设备之间的绑定信息传输,同时为物理设备对象和应用对象相关的服务和应用提供接口,从而为物理设备提供服务。ZDO是ZigBee的设备对象的专门程序,通过ZigBee的服务原语来执行ZigBee网络中的协调器、路由器以及各个终端设备之间的信息数据和控制指令的传输。应用层的数据传输报文包含了帧头和应用层净荷两部分,枕头数据包括了目的地址、源地址、集团地址以及针对数据帧控制的信息,应用层净荷则包含了应用层的传输数据。
2.2ZigBee协议栈的服务原语
在ZigBee协议栈中,由不同的层级构成了整个体系结构,作为一个有机整体,ZigBee设备要求在工作时能够准确无误且有效,这就需要协议栈中层与层之间的协作共性和效率较高,在ZigBee协议栈中,服务原语作为基本的操作单元来实现ZigBee协议栈各层之间的数据传输和信息关联。如图2所示,为ZigBee协议栈中的服务原语示意图。
ZigBee协议中用户与层之间是以服务的形式来定义整个信息流的描述,这些信息流则是以随机的、离散的服务原语构成的基本事件,在ZigBee协议栈定义中,层与层之间的服务原语包含四种类型,分别为请求原语、指示原语、响应原语、确认原语。其中,请求原语为N1用户向N层发送的一个发起服务的请求,指示原语则是N层向下级N2用户发送服务,指示N2用户做出相应相应的N层事件。响应原语则是在N2用户得到N层指示原语后返回的响应事件,是由指示原语接收后一系列的相应操作的结果反馈。确认原语则是N层向N1用户发送的确认原语,是在N1用户向N层发送请求原语后,N层包括下级用户进行相应操作后的服务执行结果。
通过ZigBee协议栈对服务原语的定义,配合协议体系之间的传输,可以实现业务流程的执行,从而完成整个物联网的内部数据的传输和控制指令的发送,最终实现物联网中各个物理设备的控制和数据读取。
3总结
ZigBee协议栈定义了物理层、MAC层、网络层以及应用层的体系结构,同时采用服务原语的方式实现各个物联网设备中的设备与设备之间、层与层之间的数据流传输,最终实现物联网服务。
参考文献:
[1]李战明,刘宝,骆东松.ZigBee技术规范与协议栈分析[J].信息化纵横.2009(05)
[2]丁雪莲.ZigBee协议栈浅析[J].电脑与信息技术.2013(05)