zigbee—MAC层帧结构

来源:互联网 发布:淘宝卖零食的店铺 编辑:程序博客网 时间:2024/04/23 14:26

MAC

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

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

二、             同信标保持同步

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

四、             支持设备的安全性

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

六、             处理和维护GTS机制

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

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

 

**************************************************************

     ZigBee/IEEE 802.15.4的网络所有节点都工作在同一个信道上,因此如果邻近的节点同时发送数据就有可能发生冲突。为此MAC层采用了CSMA/CA的技术,简单来说,就是节点在发送数据之前先监听信道,如果信道空闲则可以发送数据,否则就要进行随机的退避,即延迟一段随机时间,然后再进行监听,这个退避的时间是指数增长的,但有一个最大值,即如果上一次退避之后再次监听信道忙,则退避时间要增倍,这样做的原因是如果多次监听信道都忙,有可能表明信道上的数据量大,因此让节点等待更多的时间,避免繁忙的监听。通过这种信道接入技术,所有节点竞争共享同一个信道。在MAC层当中还规定了两种信道接入模式,一种是信标(beacon)模式,另一种是非信标模式。信标模式当中规定了一种“超帧”的格式,在超帧的开始发送信标帧,里面含有一些时序以及网络的信息,紧接着是竞争接入时期,在这段时间内各节点以竞争方式接入信道,再后面是非竞争接入时期,节点采用时分复用的方式接入信道,然后是非活跃时期,节点进入休眠状态,等待下一个超帧周期的开始又发送信标帧。而非信标模式则比较灵活,节点均以竞争方式接入信道,不需要周期性的发送信标帧。显然,在信标模式当中由于有了周期性的信标,整个网络的所有节点都能进行同步,但这种同步网络的规模不会很大。实际上,在ZigBee当中用得更多的可能是非信标模式。

*************************************************************************

 

MAC层帧结构

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

zigbee—MAC层 - 小峰 - happy~

说明:第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的结束之前完成。

zigbee—MAC层 - 小峰 - happy~

 

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

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

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

 

(一) 信标帧

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

 

                       

zigbee—MAC层 - 小峰 - happy~ 

其中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,其帧结构如下图所示。

                 

zigbee—MAC层 - 小峰 - happy~应用层生成要传输的数据——>逐层数据处理——>MSDU——>添加MHRMFR——>MPDU——>PSDU——>添加SHRPHR——>PPDU

 

SHR = 前导码序列 + SFD

PHR = PSDU长度值

 

(三) 应答帧

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

                              

                       zigbee—MAC层 - 小峰 - happy~

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

(四)命令帧

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

                           

zigbee—MAC层 - 小峰 - happy~ 

 

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

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

MFR = 16bitFCS

MPDU = MHR + MSDU + MFR

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

 

 

说明:本文作者所记录,错误处还请高手指点,本人随时更新,转载请注明出处。

           具体内部各结构以及传输流程尚不清楚,以后再作理解。

           参考资料:《zigbee技术基础及案例分析

原创粉丝点击