主要内容

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条]1MAC帧格式。

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

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

负载lrwpanMACCaptures

首先,解码数据帧。

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

接下来,对确认帧进行解码。

ackFrameMACConfig = lrwpan. macframedecode (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冲突通知”、“孤儿通知”、“信标请求”和“GTS请求”。

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

%的灯塔beaconConfig = lrwpan。MACFrameConfig (“FrameType”“灯塔”);beaconMACFrame = lrwpan.MACFrameGenerator(beaconConfig);%的数据dataConfig = lrwpan。MACFrameConfig (“FrameType”“数据”);numOctets = 50;有效载荷= 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的有效设置还包括:'关联响应',“解除关联通知”,“数据请求”,“PAN ID冲突”% notification'、'Orphan notification'、'Beacon request'和'GTS request'。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修订版),卷,no. 1。, pp.1-314, 2011年9月5日,doi: 10.1109/IEEESTD.2011.6012487。

相关的话题