主要内容

内部IEEE 802.15.4 - MAC帧生成和解码提供服务

这个例子展示了如何生成和解码MAC帧的IEEE内部®802.15.4™提供服务标准(1)使用无线个域网的通信工具箱™图书馆®协议。

背景

IEEE 802.15.4标准指定了MAC体育层的低速率无线个人区域网(LR-WPANs)[1]。内部IEEE 802.15.4 MAC层和物理层提供服务层提供其他更高级别的标准的基础上,如无线个域网6 lowpan MiWi, WirelessHart®。这些标准在家庭自动化找到应用程序和传感器网络和高度相关的物联网(物联网)的趋势。

体系结构

内部IEEE 802.15.4 MAC层提供服务插入一个MAC头和MAC页脚之前和之后的网络层框架,分别。MAC页脚包含一个CRC校验。

一个lrwpan.MACFrameConfig配置对象是用于生成和解码内部IEEE 802.15.4 MAC帧提供服务。这样的对象描述一个MAC帧并指定其帧类型和所有适用的属性。的lrwpan.MACFrameGenerator函数接受一个lrwpan。MACFrameConfig object describing the frame, and optionally a MAC-layer payload (NET-layer frame) in bytes (two-characters), and outputs the MAC frame in bits. Thelrwpan.MACFrameDecoder函数接受一个MAC协议数据单元(MPDU)比特和输出lrwpan。MACFrameConfig object describing the frame and possibly a NET-layer frame in bytes. Clause 5 in [1]介绍了MAC帧格式。

解码MAC帧的家庭自动化无线个域网收音机

这部分解码MAC帧传输从商业无线个域网无线电使家庭自动化,并使用了USRP®B200-mini广播通信工具箱支持包USRP®收音机金宝app。捕获的波形被解码的PHY层根据描述的方法恢复内部IEEE 802.15.4 OQPSK信号提供服务的例子。结果MPDUs存储到一个垫子文件:

负载lrwpanMACCaptures

首先,数据帧解码:

[dataFrameMACConfig, netFrame] = lrwpan.MACFrameDecoder (MPDU_data);如果~ isempty (dataFrameMACConfig)流(对MAC帧的CRC校验通过。\ n”);dataFrameMACConfig结束
MAC帧的CRC校验通过。dataFrameMACConfig = MACFrameConfig属性:FrameType:“数据”一般MAC属性:SequenceNumber: 244 AcknowledgmentRequest: 1 DestinationAddressing:“短地址”DestinationPANIdentifier:“1 e16天”DestinationAddress:“35 ea”SourceAddressing:“短地址”SourceAddress:“0000”PANIdentificationCompression: 1 FramePending: 0 FrameVersion:“2003”安全:0

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

ackFrameMACConfig = lrwpan.MACFrameDecoder (MPDU_ack)
ackFrameMACConfig = MACFrameConfig属性:FrameType:“承认”一般MAC属性:SequenceNumber: 165 DestinationAddressing:‘不存在’SourceAddressing:‘不存在’FramePending: 0 FrameVersion:“2003”安全:0

生成MAC帧

lrwpan.MACFrameGenerator函数可以生成所有MAC帧类型从内部IEEE 802.15.4标准提供服务1),即。,“灯塔”,“数据”,“承认”,和“MAC命令”frame types. The MAC Command frame types can be further specified as: 'Association request', 'Association response', 'Disassociation notification', 'Data request', 'PAN ID conflict notification', 'Orphan notification', 'Beacon request', and 'GTS request'.

这段代码说明了如何为所有帧生成帧类型:

%的灯塔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还包括:“协会反应”,%的分解的通知,“数据请求”、“锅ID冲突%的通知”、“孤儿通知”、“灯塔请求”,和“GTS请求”。commandFrame = lrwpan.MACFrameGenerator (commandConfig);

进一步的探索

您可以进一步探索以下发电机和解码功能,以及配置对象:

选定的参考书目

  1. IEEE 802.15.4-2011 - IEEE标准为当地和市区网络——15.4部分:低速率无线个人区域网络(LR-WPANs)