APP下载

ZigBee 在身体传感器网络中的适应性评估

2014-12-02曹建忠黄近秋

计算机工程 2014年8期
关键词:终端设备路由器数据包

高 蕾,曹建忠,黄近秋

(惠州学院a.计算机科学系;b.电子科学系,广东 惠州 516007)

1 概述

无线通信、微电子和信号处理技术的发展使身体传感器网络(Body Sensor Network,BSN)也迅速发展。BSN 由可佩戴或可植入的传感器设备和无线网络,把从用户的身体所收集的数据传送到远程站点[1]。BSN 可以用来监测各种生理参数和信号,如温度、心率、血压、血氧饱和度、身体姿态、脑电图(EEG)、心电图(ECG)和肌电图(EMG)[2]。

BSN 的监测,给患者的长期诊断和治疗带来显著好处,并且尽少地约束患者日常活动。它允许患者自由的移动,在医院的内外都可以提供连续的监测,这对于需要长时间监测的患者特别有用。许多心脏疾病都伴随阵发性异常,如血压或心律不齐的瞬态浪涌,这是使用常规的监控设备监测不到的[3]。BSN 可以提供早期检测和预防此类的病症,避免后期昂贵的治疗[4]。

IEEE 802.15.4 和ZigBee 是在基于产生式事件和低数据率通信的无线传感器网络(Wireless Sensor Network,WSN)中广泛被采用的标准,目前,也是BSN 最广泛被使用的标准[5]。然而与无线传感器网络不同的是,BSN 通常产生周期性的、频繁的数据密集型流量(如心电图、脑电图和身体姿态数据)。因此,需要对这些标准是否适合BSN 传感器产生的数据流量进行评估。目前,已有研究者针对不同的应用场景对IEEE 802.15.4 和ZigBee 协议性能进行评估,并给出了评估结果。然而,大多数评估结果是基于分析模型[6]或仿真[7-8]的。本文从另一方面,通过对多个BSN 的应用场景进行实验测试,对ZigBee 和IEEE802.15.4 进行性能评估。本文给出的评估方法,考虑到了网络具体实施中的多种变量,能更加深入地探究和评估系统的性能,而这些变量在其他的理论模型中常常被忽略,如网络节点处理的负载等。

文献[9]介绍了一个基于ZigBee 多跳的BSN 系统,在医院环境中使用佩戴的MICAz motes,病人与血压、心率监测仪相连,使用3 个病人的实验测试结果没有数据丢失。文献[10]介绍了一种基于多跳的802.15.4 的BSN 系统,测量急诊病人的心率和血液中的氧含量。该系统采用Telos motes 和TinyOS 提供的集合树协议(CTP)把测量值转发到网关,测得的传输率(Delivery Ratio,DR)在99.9%以上。上述2 个系统中只使用了产生低数据速率流量的传感器,本文使用数据密集型流量的传感器,同时时钟漂移和隐藏节点效应也被建模和评估。在服务质量(Quality of Service,QoS)中的2 个相关指标是:传输率和端到端延时。

2 IEEE802.15.4 标准和ZigBee 协议

2.1 IEEE802.15.4 标准

IEEE 802.15.4 标准是针对低速无线个人区域网络(LR-WPAN)制定的标准,该标准把低能量消耗、低速率传输、低成本作为重点目标,为个人或者家庭范围内不同设备之间的低速互连提供统一标准[11]。在868/915M、2.4GHz 的ISM 频段上,数据传输率最高可达250 Kb/s。其低功耗、低成本的优点使它在很多领域获得了广泛的应用。IEEE 802.15.4 标准只定义了PHY 层和数据链路层的MAC子层。PHY 层由射频收发器以及底层的控制模块构成。MAC 子层为高层访问物理信道提供点到点通信的服务接口。IEEE 802.15.4 标准定义的LRWPAN 网络具有如下特点:(1)在不同的载波频率下实现了20 Kb/s、40 Kb/s 和250 Kb/s 这3 种不同的传输速率;(2)支持星型和点对点2 种网络拓扑结构;(3)有16 位和64 位3 种地址格式,其中64 位地址是全球惟一的扩展地址;(4)支持冲突避免的载波多路侦听技术(Carrier Sense Multiple Access with Collision Avoidance,CSMA-CA);(5)支持确认(ACK)机制,保证传输可靠性[12]。

2.2 ZigBee 协议

ZigBee 是基于IEEE802.15.4 标准的低功耗个人局域网协议[13-14],主要适合用于自动控制和远程控制领域,可以嵌入各种设备。ZigBee 协议从下到上分别为物理层(PHY)、媒体访问控制层(MAC)、传输层(TL)、网络层(NWK)、应用层(APL)等。ZigBee 的底层技术基于IEEE 802.15.4,即其物理层和媒体访问控制层直接使用了IEEE 802.15.4 的定义。ZigBee 网络的主要特点是低功耗、低成本、低速率、低复杂度、支持大量节点、支持多种网络拓扑、快速、可靠、安全。ZigBee 网络中的设备可分为协调器(Coordinator)、汇聚节点(Router)、传感器节点(EndDevice)等3 种角色,依据802.15.4 标准,在数千个微小的传感器之间相互协调实现通信。这些传感器只需要很少的能量,以接力的方式通过无线电波将数据从一个网络节点传到另一个节点,因此,其通信效率非常高。

2.3 实验评估平台

本文测试中使用的硬件平台是CC2530 开发套件,由ZigBee 产品领先供应商德州仪器制造。它是基于CC2530[15]的片上系统(System on Chip,SoC),在同一芯片上集成了微控制器和收发器。它的微控制器是基于8051 架构,并且收发器符合2.4 GHz 频段的IEEE 802.15.4 标准。

实验采用由德州仪器提供的Z-Stack 版本ZigBee和TIMAC 版的IEEE 802.15.4 协议栈开发。使用的Z-Stack 版本是Z-Stack CC2530 2.4.0 1.4.0,它支持ZigBee2007 版的双堆栈配置:ZigBee 和ZigBee Pro。这个Z-Stack 版本是ZigBee 协议栈实现2.4.0 版本与IEEE 802.15.4 协议栈实现1.4.0 版本的组合。本文中的某些实验只采用了IEEE802.15.4 协议栈,也就是只采用TIMAC 的协议栈版本TIMAC-CC530-1.3.1。

3 评估方法和模型

本节介绍实验的评价方法和模型。实验通过分析DR 和争用延时、时钟漂移和隐藏节点问题3 种不同方案,来评估ZigBee 和IEEE802.15.4 的性能。

实验中使用26 频道,没有其他来源(例如WiFi网络)的干扰,使用频谱分析仪来验证。节点的传输功率和位置都被设定以确保不会因为路径损耗或节点和协调器之间的阴影效应影响引起丢包。因为本研究是评估因为碰撞、争用,时钟漂移和隐藏节点引起的传输率,在隐藏节点的测试中,传感器节点的信号彼此之间用金属板阻隔,节点置于一个消声室避免多路径传播。

实验中使用的默认参数是IEEE802.15.4 的非时隙CSMA-CA 算法,3 种评估方案中使用的ZigBee 层的数据包共264 位,所有测试完成后,协调器从终端设备接收到5 000 个数据包。本文的测试中使用的是专业版ZigBee 协议规范,使用ZigBee 协议栈进行同样的测试,测试结果并无显著差异。

实验从多个传感器模块组成的身体姿势监控系统提取密集型数据,每一个都包含3 个加速度计和3 个磁强计,使用30 Hz 采样。使用2 种不同的设置,在模式A 中,发送间隔为200 ms,数据包的长度是89 个字节,包括6 个传感器和协议的开销。在模式B中,传输间隔是100 ms,数据包的长度是62 个字节。在其他的BSN 应用中也有类似的数据密集型通信,例如患者的心电图监测信号,采样率可以高达250 Hz[16]。

3.1 传输率和延时

这个评估测试方案是在争用的环境下测量DR和端到端的延时,多个终端设备同时生成数据包发送到协调器。DR 为源节点应用程序成功传送的数据包的数量的比值。端到端的延时是数据包从源节点的应用层传输到目的地节点的应用层的时间。

在BSN 中使用星型拓扑结构是比较常见的,但是多跳的树形拓扑结构在文献[9-10]中也有介绍。因此,本文的实验对星型和二跳的树形2 种拓扑结构进行评估,采用的二跳树形网络的拓扑结构如图1所示。

图1 网络拓扑结构

实验分别对Z-Stack 和TIMAC 这2 个支持系统的协议栈评估。因为IEEE802.15.4 标准没有对网络层进行定义,所以测试使用TIMAC 协议栈,使用终端设备的数据包都发送到特定设备的对等网络来模拟一个两跳的树形拓扑路由器,将数据包转发到协调器。

3.2 时钟漂移

评估测试方案使用2 个ZigBee 终端设备之间的不同时钟漂移的模型来评估2 个参数的持续时间:干扰时间(Tint)是2 个终端设备因为时钟漂移使用非时隙CSMA-CA 算法竞争通道的时间;TIntRep是干扰的重复间隔时间。这个模型使用的是IEEE 802.15.4 标准的非时隙CSMA-CA 算法,数据包的传输时间如图2 所示。

图2 IEEE 非时隙CSMA-CA 算法的传输时间

发送周期(TTx)由TBackoff(随机退避间隔)、TTA(收发器周转时间)、TPacket(数据包传输时间)、TACK(ACK 的传输时间)组成。在IEEE 802.15.4 标准中,收发器周转时间是192 μs,ACK 的传输时间是352 μs,数据包传输时间取决于负载。

每个终端(EDn)都被连接到协调器(基站),去测量在周期(T)中增加或丢失的振荡(ticksdrifted),并与协调器的时钟做比较。基站(BS)和终端设备n之间的时钟漂移可以通过式(1)计算。

其中,Fosc为CC2530 的标称时钟频率(32 MHz)。不考虑各自相对基站的绝对时钟漂移,可以得到终端ED1 到终端ED2 的差分时钟漂移公式,如式(2)所示。

非同步的具有相同标称周期的终端设备传输周期性的业务,由于时钟漂移的影响最终将竞争无线信道。如果ED1 和ED2 之间的差分时钟漂移是DED1,ED2,节点的标称传输周期是TED,那么这2 个节点每隔TIntRep秒将争夺无线信道,如式(3)所示。

2 个终端设备竞争通道的干扰时间TInt可由式(4)得到,式中TVul代表脆弱时间窗。2 个节点在传输中彼此干扰的脆弱时间窗如图3 所示。

图3 时钟漂移评估方案的脆弱时间窗

式(5)和式(6)分别表示设备ED1 和ED2 干扰期间开始和结束的时间。

其中,TBackoff_min是最小退避时间,等于0;TTx_max是发送一个数据包并接收到应答需要的最长时间,使用最大退避周期TBackoff_max计算(TBackoff_max=2.24 ms);tEDn和分别是设备n 启动CSMA-CA 算法的开始和结束时间。从得到TVul的计算公式如下所示:

为了验证模型,评估实验由2 个终端设备组成的ZigBee 网络使用星型拓扑结构以模式B(TED=100 ms)向协调器传送数据包。这种情况下,数据包的传输时间是1.984 ms。为了更好地观察干扰和干扰重复间隔,在隐藏节点的情况下,ACK 机制被禁用,这种情况下:

3.3 隐藏节点问题

在这个测试中,2 个ZigBee 终端设备彼此隐藏,在星型网络拓扑结构中的使用传输模式B 传送数据包。为了分析最坏的情况,节点根据协调器发送的触发信号同时产生数据包,不启用ACK 机制。

最小传输周期(TTx_min)等于TBackoff_min(0)。最大的传输时间(TTx_max)等于TBackoff_max(2.24 ms,对应7 个单元的退避时间)。在这个测试中,当协调器触发2 个终端的传输数据包,传输时间是1.984 ms。除非ED1 和ED2 的传输周期分别等于TTx_min和TTx_max,否则相应发送的数据包不会发生碰撞。这种情况出现的概率(pTX)如式(9)所示:

其中,pBackoff_min和pBackoff_max都等于1/8,因为它们是一个有8(0~7)种可能性的离散均匀分布。因此,pTX等于3.125%。这个值和未启用ACK 机制的预期的DR 相符。

4 实验结果与分析

4.1 传输率和延时

测试使用Z-Stack 的两跳的树形拓扑结构,并启用ACK 机制来观察路由器的阻塞问题。使用包嗅探器,发现路由器转发数据包只需几秒钟,继而阻塞约8 s,待路由器可用后,这个过程重复继续。对于其他情况做了几个测试,验证了这个问题只发生在路由器高流量负载的情况即:数据包数量大于2 000个时路由器都会有5 s~8 s 的阻塞。

这个问题是因为当MAC 层不断接收数据包时,路由器过载,不能够处理在NWK 层的数据包转送。因此,为了评估路由器没有堵塞时的传输率和延时,实验中把协调器接收到的数据包数量从5 000 个逐步缩减到1 000 个,每次减少100 个数据包。当数据包低于2 000 个时,路由器对NWK 的数据包转送时延没有明显变化。为确保路由器不会因数据包过多而阻塞,实验中将数据包数量确定为1 000。

使用Z-Stack 测得的传输率与传感器数目之间的关系如图4 所示。对于星型拓扑结构,使用ACK机制时传输率接近100%。但是使用3 个~5 个终端设备的2 跳的树形拓扑结构,传输率要低一些,大约是96%。这个原因是因为终端设备产生的高流量负载,路由器触发路由维护协议,导致频繁启动路由发现过程(平均每5 秒)。这个过程持续约250 ms,由于缓冲器溢出造成丢包,迫使路由器中断数据包转发。当ACK 被禁用,随着传感器节点数量的增加,在这两种拓扑结构中DR 都显著减小,这符合模型的预期值。

为了把TIMAC 协议栈和Z-Stack 的性能进行比较,因为TIMAC 具有较小的协议开销,数据包的长度等于在Z-Stack 引进伪字节的测量值。使用TIMAC测得的DR 与传感器数目之间的关系如图5 所示。

图4 使用Z-Stack 测得的传输率与传感器数目之间的关系

图5 使用TIMAC 测得的传输率与传感器数目之间的关系

可以看出,启用ACK 机制,使用TIMAC 测得的结果比使用Z-Stack 要差,因为Z-Stack 如果在MAC层未成功传送数据包,在网络层可以重发一次。不启用ACK 机制的实验结果表明对于树形拓扑结构用Z-Stack 性能要好些,因为路由器的网络层对接收到的数据包具有缓冲功能,在竞争低的时候转发数据包。而在TIMAC 中,模拟路由器的应用程序接收到数据包立即就转发。

图6 和图7 分别是实验测得的端到端延时的平均值和最大值与传感器节点数目的关系,分别使用Z-Stack 和TIMAC,并启用ACK 机制。使用TIMAC的延时低于使用Z-Stack 的延时,因为TIMAC 引入的处理负荷比较低。和模型预期的一样,因为争用、碰撞和重传,延时随着节点数目的增加而增加。具有3 个~5 个节点的Z-Stack 树型拓扑激活路由维护协议,导致网络层的数据包缓冲,ZigBee 网络的最大延时显著增加。

图6 平均延时与传感器节点的关系

图7 最大延时与传感器节点的关系

4.2 时钟漂移

终端设备n 和基站之间的差分时钟漂移(DBS,EDn)如表1 所示。

表1 终端设备n 和基站之间的差分时钟漂移ppm

选择终端设备0 和1 进行测量和模型验证,差分时钟漂移DED1,ED0=3.5 ppm,代入到式(4),得到Tint值等于40 min。代入到式(3)得到TIntRep的值为7 h 56 min。图8 显示了本次测试中2 个隐藏节点的星型拓扑时钟漂移传输率。这个实验从18:15:10开始,第2 天的13:02:44 结束。在无干扰时段,传输率多数为100%。在干扰周期DR 开始减少,在2 个设备同时数据包时达到最小值,然后又增大,直到干扰结束,干扰时期持续了约40 min。干扰的重复间隔是大约7 h 53 min。测得的Tint与理论模型预测的值相相符,测得的TIntRep有6%的误差。

图8 2 个隐藏节点的星型拓扑时钟漂移传输率

4.3 隐藏节点问题

在这个评估方案中,启用ACK 机制实验测量到的DR 为90%。不启用ACK 机制的结果是13%,这接近图8 所示最低的传输率。之前在同样的条件下测量没有隐藏节点的两个终端设备,启用ACK 机制和不启用ACK 机制的传输率分别为100%和91%(见图4)。因此,与没有隐藏节点的实验结果相比,具有隐藏节点的传输率急剧下降。这些结果表明,在竞争的情况下,有2 个隐藏终端设备构成的简单网络传输率要低很多。隐藏节点越多,网络性能越差。这严重危及网络的可靠性,使得它无法满足BSN 应用程序的QoS 的要求。

在本文实验中不启用ACK 机制测得的传输率是(13%),高于前一节理论分析(3.125%)预测的值。为了找到产生这个差异的原因,本文分析实验的日志文件,理论分析假设协调器只接收从节点发送的没有碰撞的数据包,这只有当节点1 在TBackoff_min和节点2 在TBackoff_max执行CSMA-CA 时才有可能。在原则上,协调器是不可能只从一个节点接收数据包的,这使得传输率增加。使用数据包嗅探器,可以观察到在触发时,2 个节点发送它们的数据包,如果其中一个节点被禁用,协调器从另一个节点接收所有数据包。

实验也显示,如果该节点的传输功率用两个节点接收功率相同的方式进行协调控制,传输率减少;如果使用不同的功率接收数据包,传输率增加。所以得出结论,理论和实验结果之间的差异可能与俘获效应有关。因为碰撞,如果其功率比干扰数据包功率大得多,数据包可以被成功地接收。

5 结束语

本文对ZigBee 和IEEE802.15.4 标准在BSN 应用中进行实验性能分析,特别强调在高流量负载条件,研究基于德州仪器的Z-Stack 和IEEE802.15.4(TIMAC)。传输率和延时方案的实验结果表明,在2 跳的树型拓扑结构中,高负载持续时期可能导致的ZigBee 路由器启动发现过程,对传输率和延时带来负面的影响。路由器阻塞问题,可能会造成高流量负载持续几秒。从时钟漂移实验结果分析表明,由于节点间很小的时钟漂移,干扰可能会持续很长一段时间,实验结果接近时钟漂移预测模型。从隐藏节点方案的实验结果表明,在竞争的情况下,由2 个隐藏终端设备构成的简单网络传输率要低很多。隐藏节点越多,网络性能越差。尽管实验是在争用最坏的情况下完成,只使用2 个终端设备同时产生数据包。多个隐藏节点结合时钟漂移的影响可能会导致长期的网络可靠性问题。

BSN 网络应用要符合QoS 的指标要求,实验结果表明,需要一种机制来分配由数据密集型设备产生的流量负载,以防止基于ZigBee 的BSN 中路由器过载、时钟漂移和隐藏节点问题,也可以通过对ZigBee 路由协议的修改,使之在路由竞争的情况下满足QoS 的指标要求。

[1]洪 岩,杨 敏.个体生理状态及体表微气候监测系统研究[J].中国个体防护装备,2013,(2):76-82.

[2]唐湘枫,尹贻虎,贺志龙.身体传感器网络BSN 关键技术的研究[J].电子质量,2011,(1):6-8.

[3]宫继兵,王 睿.体域网BSN 的研究进展及面临的挑战[J].计算机研究与发展,2010,47(5):737-753.

[4]庞显涛.基于BP 神经网络的心脏病预测研究与实现[D].长春:吉林大学,2012.

[5]龙承志.基于无线传感器网络的电子健康监护系统[J].中外医疗,2007,(18):43-49.

[6]姜智文,周 熙,佘 阳,等.IEEE802.15.4 MAC 协议研究现状[J].无线电通信技术,2013,39(5):11-14.

[7]史 宁.基于ZigBee 技术的无线传感器网络平台的研究与实现[D].长春:吉林大学,2007.

[8]张麟麟,李东生.IEEE 802.15.4 MAC 的分析与性能评估[J].计算机工程与科学,2012,34(3):24-28.

[9]Hande A,Polk T,Walker W,et al.Self-powered Wireless Sensor Networks for Remote Patient Monitoring in Hospitals[J].Sensors,2006,6(9):1102-1117.

[10]Ko J G,Gao T,Terzis A.Empirical Study of a Medical Sensor Application in an Urban Emergency Department[C]//Proceedings of the 4th International Conference on Body Area Networks.[S.l.]:Institute for Computer Sciences,Social-Informatics and Telecommunications Engineering,2009:10.

[11]吉 诚.低速无线个域网能量有效性的研究[D].上海:上海交通大学,2008.

[12]蒋建辉.ZigBee 网络的设计与实现[D].苏州:苏州大学,2006.

[13]Garde M S B,Kotgire S L.Coalmine Safety System with ZigBee Specification[J].Journal Impact Factor,2013,4(2):504-512.

[14]王 钦.基于ZigBee 技术的无线传感网络研究与实现[J].重庆理工大学学报:自然科学版,2011,25(8):46-51.

[15]Gonzalez J,Cruz J.Analysis of Process Variations'Impact on a 2.4 GHz 90 nm CMOS LNA[C]//Proceedings of LASCAS'13.[S.l.]:IEEE Press,2013:1-4.

[16]沈云明,郑 焜,陈 龙,等.基于ZigBee 的婴儿培养箱温度监测与报警系统[J].中国生物医学工程学报,2013,32(2):248-252.

猜你喜欢

终端设备路由器数据包
买千兆路由器看接口参数
维持生命
路由器每天都要关
视频监视系统新型终端设备接入方案
SmartSniff
无线路由器的保养方法
配电自动化终端设备在电力配网自动化的应用
车站信号系统终端设备整合及解决方案
基于手持终端设备中软件通信架构的应用
视觉注意的数据包优先级排序策略研究