Zigbee Mac 层协议

转载 2011年03月13日 15:26:00

MAC

功能:MAC层需要处理接入到物理无线信道等事务,并负责下列的任务:

一、             能产生网络信标(如果设备是协调器

二、             同信标保持同步

三、             支持PAN的连接和断开连接

四、             支持设备的安全性

五、             信道接入采用CSMA-CA接入机制

六、             处理和维护GTS机制

七、             在对等的MAC实体之间提供一个可靠的通信链路

MAC层所规定和维护的常数和属性用斜体字表示,常数通常加上前缀a,例如aBaseSlotDuration。属性前通常加上mac

 

 

MAC层帧结构

介质访问控制层(MAC)被称为MAC协议数据单元(MPDU),其长度不超过127个字节。它具有四种不同的帧形式,即信标帧、数据帧、确认帧和命令帧

说明:第1个时隙是用来传输信标帧的,后面15个时隙是竞争接入期(CAP),这16个时隙组成超帧结构。而最后一个时隙也是传输信标帧,但是属于下一个超帧结构。

 

LR-WPAN标准中允许使用超帧结构。超帧格式由协调器定义。超帧由协调器发送并受网络信标的限制(如上图),而且它还被分为16个大小相同的时隙。超帧的第一个时隙用来传输信标帧。如果协调器不希望使用超帧结构,它就不发送信标。

信标在网络中用于设备之间的同步、区分PAN和描述超帧结构

任何设备想要在两个信标之间的竞争接入期(contention Access periodCAP)进行通信,就必须同其他设备采用时隙免冲突载波检测多路接入CSMA-CA机制进行竞争,所有的处理必须在下一个网络信标的到达之前完成。超帧有活动和不活动部分(网络休眠区和网络活动区。在不活动部分,协调器与PAN之间不能发生联系,并进入低功耗模式

对于应用于低延迟或需要在特定数据带宽的情况下,PAN协调器可以用活动超帧的一部分来实现,这部分称为保证时隙(Guaranteed Time Slot GTS)。保证时隙(可有多个)形成了非竞争期CFP),它始终出现在CAP之后和活动超帧之前。PAN协调器可分配七个GTS,而每个GTS时间不少于一个时隙。然而CAP的有效部分应当保留,使基于竞争的其它网络设备和新设备能接入网络。所有基于竞争的传输应当在CFP开始之前完成,同时每个工作在GTS时期的设备应当确保它的传输在下一个GTS开始和CFP的结束之前完成。

 

GTS保证时隙:是活动超帧的一部分,为实现一些特殊应用开辟的

CAP竞争接入期:任何设备想在此时通信,必须采用CSMA-CA竞争机制

CFP非竞争期:由GTS组成,这段时期内不需竞争

 

(一) 信标帧

信标帧MPDUMAC子层产生。在信标网络中,协调器通过向网络中的所有从设备发送信标帧,以保证这些设备能够同协调器进行同步(同步工作和同步休眠,以达到网络功耗最低(非信标模式只允许ZE进行周期性休眠,ZC和所有ZR必须长期处于工作状态)。其帧结构如下图所示。

 

                      

 

其中MHRMAC层帧头;MSDUMAC层服务数据单元,表示MAC层载荷;MFRMAC层帧尾。这三部分共同构成了MAC层协议数据单元(MPDU)MFR中包含16位帧校验序列(FCS)。当MAC层协议数据单元(MPDU)被发送到物理层(PHY)时,它便成为了物理层服务数据单元(PSDU)。如果在PSDU前面加上一个物理层帧头(PHR)便可构成物理层协议数据单元(PPDU)。如果再加上一个同步帧头(SHR),则这个数据包便成为最终在空气中传播的数据包。

 

MSDU = 超帧域 + 未处理数据地址域 + 地址列表域 + 信标净荷域

MHR = 帧控制域 + 信标序列号 + 寻址信息域

MFR = 16bit的帧校验序列FCS

 

MPDU = MHR + MSDU + MFR 

MAC协议数据单元 = MAC帧头 + MAC服务数据单元 + MAC帧尾

 

PPDU = PHR + PSDU + PFR 

物理层协议数据单元 = 物理层帧头 + 物理层数据单元 + 物理层帧尾

 

空气中最终传播的数据包 = PPDU + 同步帧头SHR

 

(二) 数据帧

数据帧由高层(应用层)发起,在ZigBee设备之问进行数据传输的时候,要传输的数据由应用层生成,经过逐层数据处理后发送给MAC层,形成MAC层服务数据单元(MSDU)。通过添加MAC层帧头信息和帧尾,便形成了完整的MAC数据帧MPDU,其帧结构如下图所示。

                

应用层生成要传输的数据——>逐层数据处理——>MSDU——>添加MHRMFR——>MPDU——>PSDU——>添加SHRPHR——>PPDU

 

SHR = 前导码序列 + SFD

PHR = PSDU长度值

 

(三) 应答帧

应答帧由MAC子层发起。为了保证设备之问通信的可靠性,发送设备通常要求接收设各在接收到正确的帧信息后返回一个应答帧,向发送设备表示已经正确的接收了相应的信息。其帧结构如下图所示。MAC子层应答帧由MHRMFR组成。MHR包括MAC帧控制域和数据序列号;MFR16bitFCS组形成。

                             

                      

同样,MPDU传到物理层就形成物理应答帧的净载荷,即PSDU。在PSDU前面加上SHRPHR就形成PPDU。其中SHR由前导码序列和SFD域构成;PHRPSDU的长度值域构成。

(四)命令帧

MAC命令帧由MAC子层发起。在ZigBee网络中,为了对设备的工作状态进行控制,同网络中的其他设备进行通信,MAC层将根据命令类型生成相应的命令帧。其帧结构如下图所示。

                          

 

 

MSDU = 命令类型域 + 数据域(命令净载荷)

MHR = MAC帧控制域 + 数据序列号  + 寻址信息域

MFR = 16bitFCS

MPDU = MHR + MSDU + MFR

同样,MPDU传到物理层就形成物理层命令帧的净载荷,即PSDU。在PSDU前面加上SHRPHR就形成PPDU。其中中SHR由前导码序列(保证接收机和符号同步)和SFD域构成;PHRPSDU的长度值域构成。

 

相关文章推荐

ZigBee学习之10——MAC层API解读2

回调函数事件 呵呵,名字很恐怖,其实就是用来应答请求函数的函数调用而已,不要想的太深奥哦! MAC_MLME_ASSOCIATE_IND 当MAC从其他器件接收到关联请求时发送给应有...

ZigBee MAC地址通信原理

先看有关通信的结构体或枚举: //ZigBee在发送数据的时候,有以下同种地址模式 typedef enum { afAddrNotPresent = AddrNotPresent,//间...
  • PZ0605
  • PZ0605
  • 2017年03月17日 09:37
  • 730

zigbee 获取自身的mac地址

协议栈版本: ZHA 1.2.1 方法1: NLMEDE.h 中有相关的API可以获取到设备的MAC地址: /*  * This function will return a pointer ...

ZigBee MAC层数据包格式

ZigBee的MAC层直接使用了IEEE 802.15.4的MAC层。  MAC子层数据包由MAC子层帧头(MHR,MAC Header)、MAC子层载荷和MAC子层帧尾(MFR,MAC Foote...

ZigBee-MAC层框架介绍

  • 2009年11月25日 10:37
  • 4.32MB
  • 下载

zigbee协议与开发-NWK层作用解析

在实际应用中,对MAC及下层的直接修改较少,因此直接看比较重要的NWK层。首先看一下NWK层的通信方式及支持的拓扑结构。  协调器的NWK层为网络中每一个设备分配一个短地址。同时NWK层会限制数...

ZigBee协议栈网络层的研究与实现

1. 引言   随着科学技术的发展,无线技术逐渐取代有线技术,仅支持静态固定拓扑的无线网络也逐渐被支持动态变化拓扑的无线网络取代。在短距离的无线控制、监测、数据传输领域,通用的技术有802.11、蓝...

Zigbee协议与开发-APL层解析

APL层是最高层,由三部分组成:APS即应用支持层、ZDO及Application Framework框架。三者图如下所示: 其中APS提供NWK与APL层的接口,APS同样提供数据和管理两种服...

Zigbee协议栈OSAL层API函数

Zigbee协议栈OSAL层API函数 (2010-11-19 21:18) 分类: ZigBee 技术学习         OSAL层提供了很多的API来对整个的协议...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Zigbee Mac 层协议
举报原因:
原因补充:

(最多只允许输入30个字)