首页>>科技 >>内容

zigbee协议层,zigbee协议栈各层的功能

发布时间:2024-01-03 11:20:12编辑:温柔的背包来源:

很多朋友对zigbee协议层,zigbee协议栈各层的功能不是很了解,每日小编刚好整理了这方面的知识,今天就来带大家一探究竟。

zigbee协议层,zigbee协议栈各层的功能

ZigBee翻译过来就是“紫蜂”,类似于蓝牙。是一种新的短距离无线通信技术,用于传感器和控制应用。由IEEE 802.15工作组提出,并由其TG4工作组制定。

系统的ZigBee协议栈设计基于MSSTATE_LRWPAN。MSSTATE_LRWPAN是一组ZigBee协议的简化实现,由密西西比州立大学的Robert B. Reese教授开发。该协议栈可用于各种硬件平台,实现了协调器、路由器和简化功能节点[[XXXIX]]之间的树形路由、直接消息传输和间接路由。

在深入分析该协议栈的基础上,根据本课题使用硬件平台的实际情况对课题进行了修改,并移植到MSP430 CC2420的硬件平台上。程序用C语言编写,使用IAR公司的EW430工具作为集成开发环境。编译后,下载到目标板的MSP430芯片。

协议栈采用有限状态机(FSM)的编程方法,在协议的每一层都实现一个独立的FSM来跟踪该层的工作状态。整个协议栈采用嵌套调用方式,上层调用下层有限状态机实现完整协议栈的操作。最顶层的有限状态机是应用支持子层(APS)的apsFSM(),需要定期调用,以维持整个协议栈的正常运行。

在分析了MSSTATE_LRWPAN协议各层源程序的原理和实现方法后,发现协议栈从一个硬件平台移植到另一个硬件平台时,需要对物理层(PHY)和媒体访问控制层(MAC)进行修改。这两层与硬件密切相关,需要根据节点硬件的实际连接方式进行修改。涉及的文件主要有cc2420.c、clockhal.c、Halstack。

PHY层和MAC层屏蔽了硬件的差异,上层协议通过服务接入点(SAP)通过下层协议提供的服务透明地控制硬件,所以网络层(NWK)和应用层(APS)等文件需要稍加改动。

1.1 IEEE802.15.4标准zigbee联盟已经于2005年6月27日发布了第一个zigbee规范“zigbee规范V1.0”。该标准定义了网络层以及IEEE 802.15.4-2003物理层和标准媒体访问控制层上支持的应用服务。zigbee联盟的长期目标是基于可互操作的平台和配置文件构建可扩展的低成本嵌入式基础设施。IEEE802.15.4协议框架

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

IEEE 802.15.4标准栈架构是在OSI七层模型的基础上,根据市场和应用的实际需求定义的,如图2-1所示。其中,IEEE 802.15.4标准定义了底层:物理层PHY(物理层)和媒体访问控制子层MAC(媒体访问控制子层)。在此基础上,zigbee联盟定义了网络层NWK(网络层)和应用层APL(应用层)架构。

The application layer includes application support sublayer APS (application support sublayer), application framework AF (application framework), zigbee device object ZDO(zigbee device object) and user-defined application object (manufacturer-defined application object). [16]

IEEE 802.15.4工作在ISM(工业、科学和医疗)频段,定义了两个物理PHYS,分别工作在868/915 MHz和2.4GHz两个频段,其中,低频物理层覆盖了欧洲868MHz频段和美澳915 MHz频段。高频段2.4GHz通用。

IEEE 802.15.4的MAC层采用CSMA-CA(带冲突避免的载波侦听多路访问),主要负责传输信标帧、同步和提供可靠的传输机制。1.1.2网络节点类型在W-PAN中有三种网络角色:PAN网络协调器、协调器和设备。这三个角色分别对应IEEE 802.15.4规范中的zigbee协调器ZC(zigbee Coordinator)、zigbee路由器ZR(zigbee路由器)和终端设备ZED(zigbee End Device)。

协调器和路由器只能是FFD的全功能设备。在一个PAN网络中,至少要有一个具有全功能设备的网络协调器,可以看作是PAN的一个网关节点(SINK node)。它是网络建立的起点,负责PAN网络的初始化,确定PAN的ID号和PAN运行的物理通道,协调短url分发,充当信任中心,存储安全密钥,与其他网络连接。协调者在加入网络后获得一定的短url空间。

在这个空间中,他有能力允许其他节点加入网络并分配短url。当然,协调器还具有路由和数据转发的功能。在任何拓扑网络中,所有设备都有一个唯一的64位IEEE长地址,可用于PAN中的直接通信。或者当所有设备都已经连接时,可以将其转换为16位网络短url,并分配给PAN设备。

因此,当设备启动连接时,它使用64位长的地址。只有在连接成功并且系统分配了PAN标识符之后,它才能使用16位的短url进行通信。路由器只能运行带有路由协议的简化协议栈,负责网络数据的路由和数据传输功能。

网络中最基本的节点是终端节点ZED,终端节点可以是全功能设备FFD,也可以是精简功能设备RFD。1.2.1 IEEE 802.15.4IEEE802.15.4包括两个规范:物理层PHY和媒体访问控制层MAC,用于低速无线个人区域网LR-WPAN。图2-4显示了IEEE 802.15.4的分层参考模型。1.2.1.1 IEEE 802 . 15 . 4 PHY层的物理层主要使用物理介质为数据链路层提供物理连接,并负责处理数据。

根据传输速率和开销数据差错率来控制比特流,以透明地传输比特流。zigbee协议的物理层主要负责以下任务:(1)启动和关闭射频收发机。(2)信道能量检测。(3)对接收到的数据报执行LQI(链路质量指示)。(4)为CSMA/CA算法提供空闲信道评估(CCA)。(5)选择通信信道频率。(6)数据包的发送和接收

IEEE 802.15.4的物理层定义了物理信道和MAC子层之间的接口,提供数据服务和物理层管理服务。物理层数据服务发送和接收来自无线物理信道的数据,物理层管理服务维护由物理层相关数据组成的数据库。1.2.1.2 IEEE 802 . 15 . 4 MAC层

为了提高系统的兼容性,IEEE 802.15.4媒体干预控制层沿用了传统无线局域网中带冲突避免的载波多址技术的CSMA/CA模式。这种设计不仅简化了各种拓扑网络的应用,而且可以实现非常有效的电源管理。MAC层完成的具体任务如下:(1)协调器生成并发送信标帧。(2)普通设备根据协调器的信标帧与协调器同步。

(3)支持PAN网络的关联和去关联操作。(4)为设备的安全提供支持。(5)使用CSMA-CA机制共享物理信道。(6)处理和维护GTS(保证时隙)机制。(7)在两个对等MAC实体之间提供可靠的数据链路。

在IEEE 802.15.4的MAC层中引入了超帧结构和信标帧的概念。这两个概念的引入极大地方便了网络管理,我们可以选择以超帧为周期来组织LR-WPAN网络中设备之间的通信。每个超帧以网络协调器发送的信标帧开始,信标帧包含诸如超帧的持续时间和时间分配之类的信息。

网络中的普通设备收到超帧开头的信标帧后,可以根据内容安排自己的任务,比如进入睡眠状态,直到超帧结束。

MAC子层提供两种服务:MAC层数据服务和MAC子层管理实体(MLME)。前者确保物理层数据服务中MAC协议数据单元的正确发送和接收,而后者维护用于存储MAC子层协议相关信息的数据库。1.3 zigbee协议分析1.3.1 zigbee协议

zigbee的协议栈结构由一系列称为层的协议块组成。每一层都为上层提供一系列特定的服务。数据门户提供数据传输服务,管理门户提供所有其他服务。每个服务接口通过SAP(服务接入点)接口与上层交换数据,每个SAP支持一系列服务原语。

Zigbee协议栈基于OSI(开放系统互连)标准,但只定义了所需的层。主要由物理层PHY、媒体接入层MAC、网络层和应用框架层组成,框架图如图所示。其中,PHY层和MAC层采用IEEE 802.15.4协议标准。zigbee网络层主要用于zigbee无线个域网(WPAN)的组网连接、数据管理和网络安全。

zigbee应用框架层主要为zigbee技术的实际应用提供一些应用框架模型,使zigbee技术的开发和应用框架在不同的应用场合有所不同。目前不同厂商提供的应用框架是不一样的。1.3.2 zigbee网络层网络层需要在功能上兼容IEEE 802.15.4标准,上层也需要提供合适的功能接口。对于网络层,其主要功能如下:

(1)生成网络层数据包:当网络层接收到来自应用子层的数据包时,网络层对数据包进行解析,然后添加合适的网络层头发送给MAC。(2)网络拓扑的路由功能:网络层提供路由数据包的功能,如果数据包的目的节点是本节点,则将数据包发送到应用子层。否则,数据包将被转发到路由表中的下一个节点。

(3)配置新的设备参数:网络层可以配置合适的协议,比如建立新的协调器,发起建立网络或者加入现有网络。(4)建立PAN网络(5)加入或离开PAN网络:网络层可以提供加入或离开网络的功能。如果节点是协调器或路由器,它也可以要求子节点离开网络。(6)分配网络地址:如果该节点是协调器或路由器,则访问该节点的字节点的网络地址由网络层控制。

(7)邻居节点的发现:网络层可以发现和维护网络邻居信息。(8)建立路由:网络层提供路由功能。(9)控制接收:网络层可以控制接收方的接收时间和状态。zigbee网络层的结构

为了向应用层提供接口,网络层提供两个功能服务实体,即数据服务实体NLDE和管理服务实体NLME。NLDE通过NLDE-SAP为应用层提供数据传输服务,NLME通过NLME-SAP为应用层提供网络管理服务。此外,NLME还完成了网络信息库NIB的维护和管理。1.3.3 zigbee应用层zigbee应用层包括应用支持子层APS、应用框架AF和zigbee设备对象ZDO。它们一起为应用程序开发人员提供了一个统一的界面。

1.3.3.1应用支持子层1)APSAPS层的主要功能:(1)处理APS层的协议数据单元APDU。(2)APSDE提供了同一网络中应用实体之间的数据传输机制。(3)APSME为应用对象提供多种服务,包括安全服务和绑定设备,维护管理对象的数据库,也就是我们常说的AIB。1.3.3.2应用框架AF

应用框架为每个自定义的应用对象提供类似模板的活动空间,为每个应用对象提供键值对KVP服务和消息MSG服务进行数据传输。

除了64位IEEE地址和16位网络地址之外,每个节点还提供一个8位应用层入口地址,该地址对应于用户应用程序对象。端点0是ZDO接口,端点1到240是用户定义的对象,端点255是广播地址,端点241 -254保留供将来使用。每个应用程序对应一个配置文件。配置文件包括:设备ID(Device ID)、事务集群ID(cluster ID)、属性ID(Attribute ID)等等。

AF可以使用该信息来决定服务类型。

1.3.3.3 ZigBee设备对象ZDOZDO是应用层的特殊端点。它是应用层的其他端点与应用层的管理实体进行交互的中间件。其主要功能如下:(1)初始化应用支持子层,网络层。(2)发现节点和节点功能。在没有信标的网络中,加入的节点仅对其父节点可见。其他节点可以通过ZDO函数确定网络的整体拓扑结构。

(3)安全加密管理:主要包括安全密钥的建立和发送,已经安全授权。(4)网络的维护功能。(5)绑定管理:绑定功能由应用支持子层提供,但绑定功能的管理由ZDO提供,它决定绑定表的大小、绑定的发起和绑定的释放。(6)节点管理:针对网络协调器和路由器,ZDO提供了网络监控、获取路由和绑定信息、发起退网流程等一系列节点管理功能。

ZDO实际上是应用层端点和应用支持子层之间的一个端点,主要功能侧重于网络管理和维护。应用层的端点可以通过ZDO提供的功能获得网络或其他节点的信息,包括网络的拓扑结构,其他点的网络地址和状态,以及其他点提供的类型和服务。1.4 zigbee网络拓扑

Zigbee网络支持多种网络拓扑,最典型的网络拓扑是星型网络拓扑。对于星形网络,它由一个协调器和多个终端节点组成。在星形网络中,所有通信都通过协调器转发。

这种网络结构有三个缺点:一是会增加协调器的负载,对协调器的性能要求高;第二,如果通过协调器转发协调合作,会大大增加系统的延迟,影响系统的实时性;第三,单个节点的破坏使整个网络瘫痪,降低了网络的健壮性。

zigbee除了支持星型网络,还支持树型、网状等对等网络,如图2-11所示。在对等网络中,也有一个PAN协调器,但它不再是网络的主要控制者,而主要起发起网络和联网的作用。在对等网络中,如果一台设备在另一台设备的通信范围内,它们可以相互通信。因此,对等网络拓扑构成了一个更加复杂的网络结构。

对等网络拓扑结构主要在工业检测和控制,无线传感网络,供应物资跟踪,农业智能化以及安全监控方面都有广泛的应用。在网络中,各个设备之间发送消息时,使用了多跳传输,以增大网络的覆盖范围。

其中,组网的路由协议是采用了无线自组网按需平面距离矢量AODV路由协议(Ad Hoc On Demand Distance Vector Routing),无论是星型拓扑还是对等拓扑,每个独立的PAN都有一个唯一的标志符PAN ID,用以同一个网络之内节点的互相识别和通信。

以上知识分享希望能够帮助到大家!