MAC层数据服务中MCPS-SAP支持两个对等的SSCS实体之间SSCS协议数据单元(SPUD)的传输。MAC层管理服务中MLME-SAP支持在MAC层和其上层之间传递管理命令。
MAC帧,即MAC协议数据单元(MPDU),是由一系列字段按照特定的顺序排列而成的。MAC帧通常包括三部分:MAC头、MAC有效载荷和MAC尾。
MAC头部分由帧控制字段、帧序号字段和地址信息域组成;MAC有效载荷部分的长度与帧类型相关,确认帧的有效载荷部分长度为 0;MAC尾是帧校验序列(FCS),MAC帧格式如表2-3所示:
表2-3 MAC帧格式
字节数:2 1 帧 帧控制 序 号 02 目的 PA N标识码 028 目的 地址 02 源 PAN 标识码 028 源地 帧有效载 址 荷 地址信息 MAC 有 MAC 头(MHR) 效载荷 R) MAC 尾(MF FCS 可变长度 2 帧控制:占2个字节,包含了帧的类型、寻址、安全等信息。
帧序号:占 1 个字节,表示发送帧的序号,协调器使用某种算法选择一个随机值并存储下来,在帧发送的时候将存储的随机值复制到帧序号,随着每一帧的发送,依次加 1。
目的PAN表示符:占2个字节,表示接收方所在PAN的标识符。
目的地址:表示帧发送目的节点的地址,根据地质模式,占2个字节(16位段地址)或8个字节(64位长地址)。
源PAN标识符:占2个字节,为发送方所在PAN的标识符。
源地址:表示帧发送源节点的地址,根据地址模式,占2个字节(16位段地址)或8个字节(64位长地址)。
帧负荷:MAC帧传送的数据。
帧检验序列(FCS):FCS是对MAC帧头和有效载荷计算得到的16位ITUT CRC序列。 IEEE802.15.4中的MAC帧包括四种类型:信标帧、数据帧、确认帧和命令帧。 信标帧用于节点请求加入网络时,PAN协调器对本PAN的信息发布,供节点选择是否加入本网络。此外,信标帧在需要进行同步的PAN中又具有传送时隙分配信息及同步信息的功能。
数据帧用于向对等的MAC层实体传送上层递交来的数据信息。
确认帧仅当上次接收到的数据帧或命令帧需要进行接收确认时才发送。
命令帧用于发送各种MAC层相关命令,包括关联请求、数据发送请求、协调者重分配请求、信标请求等。
2.2.3 网络层(NWK)
网络层在MAC层与应用层之间提供合适的接口,通过激发MAC层的动作执行寻址和路由功能。主要任务包括:发起一个网络并且分配网络地址(PAN协调器);向网络中添加设备或者从网络中移除设备;将消息路由到目的节点;对发送的数据进行加密;在网状网络中执行路由寻址并且储存路由表。
网络层提供保证IEEE802.15.4MAC层正确工作的能力并为应用层提供合适的服务接口。网络层也包括两个服务实体-网络层数据实体和网络层管理实体,网络层数据实体(NLDE)通过NLDE-SAP为应用层提供数据服务;网络层管理实体(NLME)通过NLME-SAP为应用层提供管理服务。NLME要借助NLDE完成部分管理任务,另外它还要维护一个有关管理对象的数据库-网络层信息库(NIB),网络层参考模型如图2-5所示:
Next Higher Layer EntityNLDE-SAPNLME-SAPNLDENWKPIBNLMEMCPS-SAPMLME-SAPMac Sub-Layer Entity
图2-5 网络层参考模型
NLDE 提供的数据服务允许在同一网络中的两个或多个设备之间传输应用协议数据单元(APDU)。具体来说,NLDE提供的服务:一是在应用支持子层PDU基础上添加适当的协议头产生网络协议数据单元(NPDU);二是根据拓扑路由,把NPDU发送到通信链路的目的地址设备或通信链路的下一跳。
NLME提供的管理服务允许应用与协议栈之间交互。具体来说,NLME提供的服务包括配置新设备、创建新网络、设备请求加入离开网络和ZigBee协调器或路由器请求设备离开网络、寻址、紧邻发现、路由发现、接收控制等。
NWK帧由两个基本部分组成:NWK头和NWK有效负载。NWK头部分包括帧控制、地址和序号信息;NWK有效负载部分包含的信息因帧类型的不同而不同,它是可变长度的,NWK帧的一般格式如表2-4所示:
表2-4 网络层帧格式
字节:2 2 2 1 1 可变长度 帧控制 目的 地址 源地 址 广播半径的一般格式如图并为 应用层提供合适的服务和管理 广播序 列号 帧负荷 路由信息 网络层头部 网络层负荷 帧控制:标识了帧的类型、所用的协议类型以及是否采取了安全措施。
目的地址源地址:此帧接收节点和发送节点的16位网络地址,其中16位网络地址在网络连接建立时已经分配好。
广播半径:表示节点发信机发射信号可以被接收到的范围。 广播序列号:表示广播帧的序号,随着帧的广播序号递增。 帧负荷:网络层帧所承载的有用信息【6】。
2.2.4 ZigBee应用层
ZigBee应用层包括应用支持子层(Application Support Sublayer,APS)、应用框架,ZigBee设备对象(ZigBee Device Objects,ZDO)和 ZDO管理平台APS子层的任务是维护绑定表和在绑定设备之间传递信息。ZDO负责定义设备在网络中的角色(如ZigBee协调器或终端设备)、发现设备并决定设备所能提供的应用服务、初始化并响应绑定请求和在网络设备之间建立安全关系。
APS子层概述:
ZigBee设备对象应用支持子层APS在网络层和应用层之间,通过一组ZigBee设备对象ZDO和厂商定义的应用对象都可以使用的服务,提供了网络层和应用层之间的接口。应用支持子层包含两个实体:APS数据实体(APSDE)和APS管理实体(APSME)。APSDE 通过APS数据实体服务接入点(APSDE-SAP)在同一网络的两个或多个设备之间提供数据传输服务;APSME通过APS管理实体服务接入点(APSME-SAP)提供服务机制,以发现和绑定设备,并维护一个管理对象的数据库APS信息库(AIB)。APS子层参考模型如图2-6所示:
Next Higher Layer EntityAPSDE-SAPAPSME-SAPAPSDEAPSIBAPSMENLDE-SAPNLME-SAPNWK-Layer Entity
图2-6 APS子层的参考模型
ZigBee应用层框架是应用设备和ZigBee设备连接的环境。在应用层框架中,应用对象(Application Object)发送和接收数据通过APSDE-SAP实现,而对应用对象的控制和管理则通过ZDO公用接口来实现。APSDE-SAP提供的数据服务包括请求、确认、响应以及数据传输的指示信息。用户可以定义多达240个不同的应用对象,每个应用对象由端口1到端口240来标识,端口241~254保留做将来使用,此外,还有两个附加的端口:端口0用于DO的数据接口,端口255用于所有应用对象的广播数据的数据接口。使用APSDE-SAP提供的服务,应用层框架提供了应用对象的两种数据服务类型:键值对(Key Value Pair,KVP)服务和通用信息(Message Service Type,MSG)服务。两者传输机制一样,不同的是:KVP较为严格,是专门为传输一组特征量而设计的;MSG结构上则比较自由,不采用应用支持子层数据帧的内容,留给用户自己定义。
ZigBee设备对象(ZDO):
ZigBee设备对象(ZDO),描述了一个基本的功能函数类,在应用对象、配置文件(Profile)和应用支持子层之间提供了一个接口。ZDO位于应用框架和应用支持子层之间。它满足了ZigBee协议栈所有应用操作的一般要求,ZDO还有以下作用:初始化应用支持子层、网络层、安全服务文档(Security Services Specification,SSS)。从终端应用中集合配置信息来确定和执行发现、安全管理、网络管理、以及绑定管理。ZDO描述了应用框架层的应用对象的公用接口以及控制设备和应用对象的网络功能,提供了与协议栈中低一层相连的接口,数据信息通过APSDE-SAP相连,控制信息通过APSME-SAP相连。在ZigBee协议栈的应用框架中,ZDO公用接口提供设备发现、绑定以及安全等功能的地址管理。
ZigBee设备对象管理平台:
ZigBee设备对象管理平台管理网络层和应用支持子层,在ZigBee设备对象执行内部
工作时允许其与网络层和应用支持子层通信。此外,管理平台也负责ZigBee设备对象处理应用请求接入网络及使用ZigBee设备文件信息的安全功能【7】。
2.3 本章小结
本章首先介绍IEEE802.15.4协议与ZigBee的关系,然后给出ZigBee协议的架构,最后根据ZigBee协议的分层结构,分别介绍了物理层、数据链路层、网络层和应用层的功能、详细结构及数据格式等内容。
通过以上内容的研究,使我们对ZigBee无线个域网特点及工作机制有了比较深刻的了解,为后面的研究打下基础。
第3章 ZigBee温湿度传感器硬件平台的设计
本章在前面两章的基础上,设计了基于ZigBee无线传感器网络系统的硬件平台,重点是网络节点的硬件结构设计和电路设计。
3.1 硬件设计
节点是无线传感器网络的基本单元,是实现无线传感器网络功能的基本平台。在设计中,节点分为两种类型:中心节点与一般节点。
中心节点:无线传输模块+微处理器+串口+电源。中心节点的功能为:接收周围一般节点发来的数据;将数据传给PC;根据PC发来的控制指令,对一般节点进行控制(可选)。
一般节点:无线传输模块+微处理器+传感器十电源。一般节点的功能为:数据采集(由传感器完成);获取与周围节点之间的距离;将信息发送给周围节点;转发周围节点的数据。
在这里,本课题所设计的硬件平台参考了业界的几种ZigBee节点的设计在方案中,主要设计了个以下模块:处理器,无线收发,电源管理,UART串口电路,传感器电路,总体的硬件系统框图如图3-1所示: