IEEE 802.15.4 - MAC帧生成和解码

这个例子展示了如何产生和IEEE®802.15.4的解码MAC帧™标准[1使用通讯工具箱™库为的ZigBee®协议。

背景

IEEE 802.15.4标准规定苹果电脑PHY低速率无线个人区域网络层(LR-WPAN的1]。在IEEE 802.15.4 MAC和PHY层提供的其他更高层的标准的基础上,如ZigBee的,WirelessHart®技术,6LoWPAN和MiWi。这些标准发现家庭自动化和传感器网络应用和对物联网(IOT)的趋势在互联网高度相关。

建筑

在IEEE 802.15.4 MAC层分别插入一个MAC报头和MAC页脚之前和网络层帧之后。该MAC页脚包含CRC校验。

一个lrwpan.MACFrameConfig配置对象都在产生和解码IEEE 802.15.4 MAC帧使用。这样的对象描述的MAC帧并指定其帧类型和所有适用的性质。该lrwpan.MACFrameGenerator函数接受描述所述帧中的对象lrwpan.MACFrameConfig,和任选地在字节(2个字符)的MAC-层有效负载(NET-层帧),并输出比特的MAC帧。该lrwpan.MACFrameDecoder函数接受一个MAC协议数据单元(MPDU)中的比特并输出描述帧,并可能在字节的NET-层帧中的lrwpan.MACFrameConfig对象。第5 [1]描述的MAC帧格式。

家庭自动化ZigBee射频的解码MAC帧

本节解码从商业ZigBee无线电使家庭自动化发送的MAC帧,并且使用USRP®B200迷你无线电和所捕获的通讯工具箱支持包USRP®无线电万博1manbetx。所捕获的波形的PHY层已经根据所描述的方法被解码IEEE 802.15.4 OQPSK信号恢复例。产生的MPDU的存储到一个MAT文件:

加载lrwpanMACCaptures

首先,一个数据帧被解码:

[dataFrameMACConfig,netFrame] = lrwpan.MACFrameDecoder(MPDU_data);如果〜的isEmpty(dataFrameMACConfig)fprintf中(“CRC校验通过了该MAC帧。\ N”);dataFrameMACConfig结束
CRC校验通过了该MAC帧。dataFrameMACConfig = MACFrameConfig与属性:帧类型: '数据' 一般MAC属性:的SequenceNumber:244 AcknowledgmentRequest:1个DestinationAddressing: '短地址' DestinationPANIdentifier: '1E16' 目的地地址: '35EA' SourceAddressing: '短地址' SourceAddress: '0000' PANIdentificationCompression:1 FramePending:0 FrameVersion: '2003' 的安全性:0

接着,确认帧被解码:

ackFrameMACConfig = lrwpan.MACFrameDecoder(MPDU_ack)
ackFrameMACConfig = MACFrameConfig与属性:帧类型: '确认' 一般MAC属性:的SequenceNumber:165 DestinationAddressing: '不存在' SourceAddressing: '不存在' FramePending:0 FrameVersion: '2003' 安全性:0

生成MAC帧

lrwpan.MACFrameGenerator函数可以生成从IEEE 802.15.4标准中的所有MAC帧类型[1],即,“信标”,“数据”,“确认”和“MAC命令”帧类型。的MAC命令帧类型可被进一步指定为:协会请求“,“关联响应”,“分离通知”,“数据请求”,“PAN ID冲突通知”,“孤儿通知”,“信标请求”和”GTS请求”。

此代码示出了如何以产生用于所有帧类型的帧:

灯塔%beaconConfig = lrwpan.MACFrameConfig(“帧类型”“灯塔”);beaconMACFrame = lrwpan.MACFrameGenerator(beaconConfig);%数据dataConfig = lrwpan.MACFrameConfig(“帧类型”'数据');numOctets = 50;有效载荷= DEC2HEX(兰迪([0 2 ^ 8-1],numOctets,1),2);dataMACFrame = lrwpan.MACFrameGenerator(dataConfig,有效载荷);%确认ackConfig = lrwpan.MACFrameConfig(“帧类型”“确认”);ackFrame = lrwpan.MACFrameGenerator(ackConfig);%MAC命令commandConfig = lrwpan.MACFrameConfig(“帧类型”“MAC命令”);commandConfig.MACCommand =协会要求“;%,持续MACCommand有效设置还包括:协会响应“,%“分离通知”,“数据请求”,“PAN ID冲突%通知”,‘孤儿通知’,‘信标请求’和‘GTS请求’。commandFrame = lrwpan.MACFrameGenerator(commandConfig);

再探

可以进一步探讨以下发生器和解码功能,以及作为配置对象:

选择的参考书目

  1. IEEE 802.15.4-2011 - IEEE标准为地方和城域网 - 15.4部分:低速率无线个人区域网络(LR-WPAN)的