高承志;范贤学
钻夹头【摘 要】采用OMNeT++软件构建了基于ZigBee/IEEE 802.15.4标准的无线传感器网络通信协议仿真模型,并仿真验证了关键参数(从设备的数量、BO和SO的取值、是否关闭GTS模式下的ACK等)对平均端到端时延和平均丢帧率的影响。%By using the OMNeT++, this paper builds a simulation model for WSN communication protocol based on ZigBee/IEEE802.15.4 standard,andsimulates the mean E2E Delay and mean Loss Rate in different parameter settings including the quantity of slave device, the value of BO and SO, sending the ACK in GTS mode or not.
【期刊名称】《自动化与信息工程》
【年(卷),期】2015(000)004
【总页数】6页(P29-34)
【关键词】OMNeT++;无线传感器网络;通信协议;ZigBee;IEEE 802.15.4
【作 者】高承志;范贤学
【作者单位】fpga下载中国电子科技集团公司第二十八研究所;中国电子科技集团公司第二十八研究所
【正文语种】中 文
随着电子信息和无线通信技术的飞速发展,无线传感器网络(wireless sensor networks,WSN)应用前景越来越广阔,在许多重要领域都有着潜在的使用价值[1]。通信协议负责维护节点的互联、实现信息传输,是无线传感器网络正常工作的关键性技术[2]。OMNeT++是面向对象的离散事件仿真工具,具有强大的图形用户界面接口和嵌入式仿真内核,可以用来仿真任何离散事件的系统,能够建立目前几乎所有网络对象的基本模型之间的互联,并且使复杂的网络通信和拓扑结构得到简单而正确的仿真[3]。本文基于OMNeT++构建了无线传感器网络通信协议仿真模型,并对关键指标进行分析。 ZigBee技术是一种新兴的低成本的用于无线传感器网络的通信协议,能最大限度地节省网络中的能量,可随时连接大量节点,具有较好的容错性和鲁棒性,已逐渐成为无线传感器
网络的首选通信协议。ZigBee协议的结构主要由物理层(port physical layer,PHY)、媒体接入控制层(media access control,MAC)、网络层和应用层组成。其中PHY和MAC层均采用IEEE 802.15.4标准,而网络层和应用层的标准由ZigBee联盟制定,各层之间均有数据服务接口和管理实体接口。
本文仿真过程中采用的软件为OMNeT++ 4.6,建立的网络模型基于Inetmanet Framework中的WPAN星状网络来实现。该模型较全面地实现了IEEE 802.15.4 MAC和PHY,并可方便地扩展为基于ZigBee技术的无线传感器网络,在当前的无线传感器网络协议栈仿真研究中被广泛采用[4]。典型仿真运行场景如图1所示。
网络模型采用IEEE802154StarNet,其中host[0]为网络协调器(中心节点),host[1]至host[10]为从设备(传感器节点)。信道控制模块负责节点间连接的控制和维护,并获取节点的位置和移动信息,来确定哪些节点在通信范围内,供节点的无线接口在传输中使用。节点模型如图2所示。 生发梳节点模型(IEEE802154Node)中各模块的主要功能如下:
1) 通告版(notificationBoard)模块,通告版模块的主要功能是当有“事件”发生时,通知节点各模块,如路由表发生变化、接口状态变化(上/下)、接口配置变化、无线切换、改变无线信道和移动节点位置的变化等;
2) 移动(mobility)模块,主要功能是处理节点的移动并将节点的位置改变信息通知信道控制模块,更新该节点相关的连接信息;
3) 显示(disp)模块,主要负责计算各节点的通信覆盖范围,并在运行时显示;
4) 电池(battery)模块,可以根据记录的工作状态时间、无线电功率等数值即时测量各个节点的能耗;
5) 应用(app)模块,既可以用于模拟数据信息的产生,也可以用于收集并分析接收到的数据信息,支持多种产生数据的方式,如指数分布等;
6) 网络(net)模块,主要完成星状网络中的数据包收发功能,包括中心节点到传感器节点以及传感器节点到中心节点的数据传送;
7) 接口(nic)模块,又分为3个子模块,如图3所示。其中ifq模块主要实现上层和MAC层之间的缓冲区功能;MAC模块主要实现信道访问管理、信标机制和协调器管理;PHY模块实现了无线收发器的常见功能,如收发器状态转换、空闲信道评估等。
网络和节点模型建立完成后,需要进行仿真参数的设置。OMNeT++中仿真参数可以在omnetpp.ini文件中设置,本仿真实验设置的主要参数如下:
在本实验中,用来评估仿真结果的主要指标包括:
1) 平均端到端时延(mean end-to-end delay,meanE2EDelay),其统计的是从设备成功发送数据包给协调器的平均时延,具体计算方法为
2) 平均丢帧率(meanLossRate),是通过PHY模块每50个包的丢帧率平均计算得来。丢帧有2种可能,一是碰撞,二是正在执行CCA。PHY模块每50个包的丢帧率计算方法为
本文共进行了3个仿真试验,仿真一验证了从设备数量的影响;仿真二验证了BO和SO取值的影响;仿真三验证了GTS模式下是否需要ACK的影响。
3.1 验证从设备数量的影响
分别将从设备的数量设置为3个和15个(即numHosts设为4、16),来测试星型网络内从设备数量的增加对平均端到端时延和平均丢帧率2个指标的影响。图4是不同从设备数量情况下平均端到端时延的仿真结果;图5是平均丢帧率的仿真结果。
从仿真结果可以看出,从设备数量从3增大到15后,平均端到端时延并没有十分明显的变化,而平均丢帧率却从不到0.03增大到了0.08以上。因此,从设备数量的增加带来了明显的平均丢帧率的增加。
3.2 验证BO和SO值的影响
IEEE 802.15.4网络中,有信标模式和非信标模式2种通信模式可供选择。在信标模式中,协议引入超帧的概念,实现协调器和从设备之间的同步,超帧的活动部分分为信标、竞争访问周期(contention access period,CAP)和非竞争周期(contention free period,CFP)3个部分。信标指数(beacon order,BO)决定了发送信标帧的周期,超帧指数(superframe order,SO)决定了一个超帧中活动部分持续的时间,且满足0<=SO<=BO<=14。
从设备的数量设置为15个(即numHosts设为16),BO的取值由8改为4,SO的取值由7改为3,其他参数保持omnetpp.ini文件中的设置不变,测试星型网络内BO和SO取值的减小对平均端到端时延和平均丢帧率2个指标的影响。图6是不同BO和SO取值情况下平均端到端时延的仿真结果;图7是平均丢帧率的仿真结果。
从仿真结果可以看出,当BO和SO的取值变小之后,平均端到端时延从0.5 s多下降到了0.05 s左右,而平均丢帧率也从0.08以上减小到了不足0.04。因此,减小BO和SO的取值可以显著降低平均端到端时延和平均丢帧率。
模压制品
3.3 验证GTS模式下是否需要ACK的影响
GTS机制是在超帧的非竞争周期(CFP)阶段所采用的信道管理机制,节点申请到GTS服务后,在CFP阶段无需进行信道竞争就可以进行通信。
该仿真需要在omnetpp.ini文件中更改的主要设置如下:
在GTS模式下,本实验的数据传输模式是host[1]通过host[0]转发数据给host[2]。本试验测试对比了需要ACK和不需要ACK情况下的平均端到端时延。仿真结果见图8。
从仿真结果可以看出,关闭ACK之前,平均端到端时延超过了1.4s;而关闭ACK之后,平均端到端时延仅有不足0.4 s。因此,在假定网络环境一致且不考虑关闭ACK带来的网络丢包、网络重传等问题的条件下,GTS模式下关闭ACK可以显著地降低平均端到端时延。
本文采用OMNeT++软件对基于IEEE 802.15.4标准的无线传感器网络通信协议进行了仿真,仿真结果显示:从设备数量的增加会带来明显的平均丢帧率的增加;减小BO和SO的取值可以显著降低平均端到端时延和平均丢帧率;关闭GTS模式下的ACK可以显著地降低平均端到端时延。仿真结果将对不同应用场景下无线传感器网络通信协议的选择及优化改进起到一定的参考作用。
窄叶火棘[1] 陈林星.无线传感器网络技术与应用[M].北京:电子工业出版社,2009.
开钻[2] 陆冰.实用无线传感器网络系统设计及通信协议的设计与实现[D].北京:北京邮电大学,2011.
[3] 王俊义,魏延恒,仇洪冰,等.OMNeT++网络仿真[M].西安:西安电子科技大学出版社,2014.
[4] 夏锋.OMNeT++网络仿真[M].北京:清华大学出版社,2013.
高承志,男,1980年生,高级工程师,主要研究方向:通信工程和信息系统总体技术。E-mail: ********************
范贤学,男,1985年生,工程师,主要研究方向:通信工程和信息系统总体技术。