主要内容

IEEE 802.15.4 - MAC帧的生成和解码

这个例子展示了如何生成和解码IEEE®802.15.4™标准的MAC帧[1使用ZigBee和UWB附加组件的通信工具箱™库。

背景

IEEE 802.15.4标准规定了低速率无线个人区域网络(lr - wpan)的MAC层和PHY层[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对象描述帧,以及可选的以字节(两个字符)表示的MAC层有效负载(net层帧),并以比特表示的MAC帧输出。

lrwpan。MACFrameDecoder函数接受一个以比特为单位的MAC协议数据单元(MPDU),并输出一个lrwpan。MACFrameConfig对象描述帧,可能是net层帧,以字节表示。[第5条]1描述MAC帧格式。

解码家庭自动化ZigBee无线电的MAC帧

本节解码从实现家庭自动化的商业ZigBee无线电传输的MAC帧,并使用USRP®B200-mini无线电和USRP®无线电通信工具箱支持包.捕获波形的PHY层已根据中描述的方法解码IEEE 802.15.4 OQPSK信号的恢复的例子。生成的MPDUs存储在MAT文件中。

负载lrwpanMACCaptures

首先,解码数据帧。

[dataFrameMACConfig, netFrame] = lrwpan.MACFrameDecoder(MPDU_data);如果~ isempty (dataFrameMACConfig)流(' MAC帧的CRC校验通过。\n');dataFrameMACConfig结束
MAC帧通过CRC校验。
dataFrameMACConfig = MACFrameConfig with properties: FrameType: 'Data' General MAC properties: SequenceNumber: 244 recognmentrequest: 1 DestinationAddressing: '短地址' DestinationPANIdentifier: '1E16' DestinationAddress: '35EA' SourceAddressing: '短地址' SourceAddress: '0000' PANIdentificationCompression: 1 FramePending: 0 FrameVersion: '2003' Security: 0安全属性:无属性。信标属性:无属性。“MAC Command”属性:无属性。

接下来,解码一个确认帧。

ackFrameMACConfig = lrwpan.MACFrameDecoder (MPDU_ack)
ackFrameMACConfig = MACFrameConfig with properties: FrameType: ' acknowledgement '通用MAC属性:SequenceNumber: 165 DestinationAddressing: 'Not present' SourceAddressing: 'Not present' FramePending: 0 FrameVersion: '2003' Security: 0安全属性:无属性。信标属性:无属性。“MAC Command”属性:无属性。

生成MAC帧

lrwpan。MACFrameGenerator函数可以从IEEE 802.15.4标准中生成所有MAC帧类型[1],例如'Beacon'、'Data'、' acknowledgement '和'MAC Command'等帧类型。MAC命令帧类型可以进一步指定为:'关联请求','关联响应','解关联通知','数据请求','PAN ID冲突通知','孤儿通知','Beacon请求'和'GTS请求'。

这段代码演示了如何为所有帧类型生成帧。

%的灯塔beaconConfig = lrwpan。MACFrameConfig (“FrameType”“灯塔”);beaconMACFrame = lrwpan.MACFrameGenerator (beaconConfig);%的数据dataConfig = lrwpan。MACFrameConfig (“FrameType”“数据”);numOctets = 50;payload = dec2hex(randi([0 2^8-1], numOctets, 1), 2);dataMACFrame = lrwpan。MACFrameGenerator(dataConfig, payload);%承认ackConfig = lrwpan。MACFrameConfig (“FrameType”“承认”);ackFrame = lrwpan.MACFrameGenerator (ackConfig);% MAC命令commandConfig = lrwpan。MACFrameConfig (“FrameType”“MAC命令”);commandConfig。MACCommand =协会请求”有效的MACCommand设置还包括:'Association response','解除关联通知','数据请求','PAN ID冲突%通知'、'孤立通知'、'Beacon请求'和'GTS请求'。commandFrame = lrwpan.MACFrameGenerator (commandConfig);

进一步的探索

ZigBee和UWB附加组件的通信工具箱库包含以下对象和函数

  • lrwpan。MACFrameGenerator lrwpan。MACFrameDecoder: Create and decode an IEEE 802.15.4 MAC frame.

  • lrwpan。创建一个IEEE 802.15.4帧配置。

这些实用程序没有文档记录,它们的API或功能将来可能会改变。要查看这些实用程序的源代码,请使用编辑函数。例如,输入:

编辑lrwpan。MACFrameDecoder

在MATLAB®命令行打开lrwpan。MACFrameDecoder

选定的参考书目

1 -“IEEE局域网和城域网标准——第15.4部分:低速率无线个人区域网络(lr - wpan)”,见IEEE Std 802.15.4-2011 (IEEE Std 802.15.4-2006修订版),卷,号。2011年9月5日,pp.1-314, doi: 10.1109/IEEESTD.2011.6012487。

相关的话题

Baidu
map