大家好,又见面了,我是你们的朋友全栈君。
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 & NWK
ZigBee2007协议栈的物理层及MAC层都是IEEE802.5.14-2003标准中定义的。PHY层(物理层)规定了所使用的频段,以及所使用的编码、调制、扩频、调频等无线传输技术;有了物理层,就有了一个实现点到点之间的信号发射与接收的基础,没有物理层协议,设备间是根本没有办法通信的,有可能都不在一个频段上。
MAC层的主要作用规定了无线信道的访问控制机制,也就是规定各个设备按照什么规矩轮流使用信道;如果没有MAC层协议,节点一多,大家没有个规矩,就会发生信号冲突,谁都没法正常传输数据了。。
ZigBee协议栈在802.15.4协议基础上定义了网络层。网络层的主要作用是负责设备的连接和断开、在帧数据传递时采用的安全机制、路由发现和维护。简单说,就是保障设备之间的组网和网络节点间的数据传输。ZigBee技术支持多跳路由,可以实现星型拓扑、树型拓扑和网状拓扑等不同的网络拓扑结构。
PHY & MAC & NWK这三层协议,主要是为了上面的应用层服务的,在产品开发过程中,不需要深入涉及这三层协议的实现细节,应用层才是开发关注的部分。应用层
ZigBee的应用层的内部又分了三个部分:包括应用框架、应用支持子层(APS)及ZigBee设备对象(ZDO)。应用框架中包含至少一个应用程序对象,也就是ZigBee设备的应用程序,是ZigBee产品开发人员所要实现的部分。
应用支持子层APS参考模型
转载于:https://www.cnblogs.com/sidoom/p/9253811.html
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/140264.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...