面向连接的低功耗无线传感网络接入控制方案

2017-12-19 09:47李争平王灼阳
科学与财富 2017年33期

李争平+王灼阳

摘要:为了在无线传感器网络中降低功耗的同时提高整个系统的吞吐量,提出一种面向连接的动态时分多址接入立即回复确认(ACK)的数据传输协议,采用竞争时隙分配算法,并采用载波监听/冲突避免(CSMA/CA)算法控制冲突概率,通过多帧联合退避适应大规模数据传输的需求,最后使用MATLAB对该算法进行仿真。实验结果表明,相对IEEE802.15.4协议,该算法降低了功耗,同时大大提高了整个系统的吞吐量。

关键词:竞争接入;接入控制;传感器网络;

一、引言

随着社会的飞速发展,各行各业对通信的需求越来越大。公共安全领域需要无线网络实现对灾害的监测、灾情分析、协同救援。需求推动了无线通信技术的不断进步,物联网概念的提出推动了设备间通信的研究。无线传感网络技术是物联网的关键技术。

二、IEEE 802.15.4协议分析

(一)IEEE 802.15.4超帧格式

整个超帧分为活动区(active)和非活动区(inactive)其中0<=SO<=BO<=14,且当SO等于BO时,该超帧将不包含非活跃区。802.15.4共有16个时隙,时隙号0-10位为竞争接入区即CAP(contention-access period),11-15为非竞争接入区即CFP(contention-free period)。CFP是专为要求特定带宽传输等情况服务的,称之为保证时隙GTS(Guaranteed Time slots),而GTS的集合便是CFP。但是在物联网中,用户佩戴的传感器可能是数以千计的,在802.15.4协议中[4],节点会在Inactive中进入睡眠以此减小功耗,然而在整个时间帧中若Inactive过长会导致传输时间较短,吞吐量便也随之下滑,而若Inactive过短,则会使得功耗增加。较难同时实现功耗的降低和吞吐量提高。

(二)IEEE 802.15.4的功耗

根据IEEE 802.15.4的超帧结构,其主要功耗来源为超帧中的active阶段,其中功耗分为三个部分,一个是发送数据造成的功耗,第二个是接收ACK造成的功耗,以及发送和接收状态转换造成的额外功耗。

发送数据和接收ACK是必要的功耗,而超帧的Active中的频繁的状态切换功耗很小几乎可以忽略,其中最主要的决定Active功耗的是前两个部分(发送和接收)以及Inactive的长短,而前两部分是固定的功耗,因此影响整个系统的功耗的便是Inactive的长短,又因Inactive和吞吐量挂钩,可以得出这是在牺牲吞吐量的基础上换取功耗的降低,这并不是一个可取的方法。

(三)IEEE 802.15.4的ACK方式

802.15.4为了保证数据的完整性,数据确认(ACK)必不可少,而其方式是收到一条数据包则回复一条ACK,这种方式不仅有着很低的信道利用率,而且当有多条数据时,设备在数据的收发转换上也会浪费多余的时间,对于需要大批量传输数据的环境,这样的效率并不能满足要求,因此本文将会采用集体ACK的方式来增加系统的吞吐量,具体将在3.3中介绍。

三、基于TDMA的立即ACK接入协议

(一)拓扑结构

该协议的拓扑结构是星型。其中BS为基站作为汇聚节点,用户p1-p9作为传感器节点佩带在用户身上。在这种拓扑结构中,压力几乎都在汇聚节点BS上,为各传感器节点节省了不少功耗,而BS是有电源供电的设备,不需要担心其功耗。

(二)时间帧格式

该协议的时间帧格式,Tbc为广播时隙,G为保护延时,An为数据确认的时隙,Tn为数据传输时隙。对比802.15.4,该协议去掉了GTS部分和inactivity部分,并在时隙之间加了保护时延。每个传感器只需要在对应的Tn和An时被唤醒,其他时间都是睡眠状态,因此不需要多余的inacticity时段,并且每个传感器的地位平等,若某个传感器在一个时间帧中无法完成所有数据的传输,则在下一个时间帧的同一个时隙中继续传输,直到所有数据传输成功,因此也去掉了GTS时段。

(三)集体接收确认的大规模TDMA协议传输过程

1、汇聚节点首先会先发送广播(Send Bc)作为整个时间帧的开始,其中包含有时隙的占用情况,之后进行第一个时隙的数据接收,若接收超时(Recv Data Timeouts),则经历一个保护时延G后,有接收到数据则进行ACK的发送,发送完ACK之后count自加1,并且记录该时隙已被占用,之后便进行下一个时隙的数据接收,当count等于最大时隙数时,便再次发送广播(Send Bc)重复以上过程;

2、用户身上佩带的传感器接收到广播之后(Recv BC)立刻检测缓存中是否有数据需要发送,若有数据,则随机选择某个空闲时隙并发送RTS,之后便进行CTS的接收。若接收到CTS,则在下一个时间帧的同一个时隙发送数据,若没接收到CTS,则进行2^n退避,直到收到CTS,然后再进行数据的传输;

(四)时隙使用规则

1、数据传输时隙Tn占用规则

在3.3中的第一条提到汇聚节点会周期性的发送广播,广播包中会带有时隙的占用情况,因为当传感器中的数据较多时,有可能在一个时间帧里不能完成的所有的数据传输,因此可能需要多个时间帧来传输数据。

2、 ACK时隙An

在传感器在数据传输时隙Tn中不需要等待ACK,可以尽可能的发送数据,到了ACK时隙中进行统一的接收确认,这样便充分利用了信道,缓解了频繁等待和发送ACK造成的资源浪费。

四、仿真实验

(一)仿真环境及参数设置

为了测试本文提出的TDMA算法性能,采用了MATLAB进行仿真实验,并与802.15.4进行功耗和吞吐量的对比,P为功耗;TP是吞吐量;Vcc为传感器工作电压3.3V;Isp为传感器睡眠时的电流;Tsp为传感器睡眠总时间;Ir为传感器接收状态的电流;Tr为传感器接收状态的总时间;Is为传感器发送状态的电流;Ts为传感器发送状态的总时间;T为传感器总的工作时间;Ld为数据包长度;Nd为传感器发送的数据包总数。

(二)结果与分析

1、功耗对比

802.15.4与本文算法功耗的对比结果,随着传感器数量的上升,时隙冲突频率随之提高,CSMA/CA中的RTS-CTS会导致功耗呈现先上升后下降的趋势。而由于本文算法是在有数据的情况下才会脱离睡眠,因此相较于802.15.4,功耗更低。

2、吞吐量对比

802.15.4与本文算法吞吐量的对比结果,由于双方时隙数量的不同,使得双方吞吐量达到阈值的传感器数量有很大差异,也由于传感器数量的差异,吞吐量的阈值也相差甚大。

五、结束语

随着传感器网络的规模逐渐发展,大规模数据传输的接入控制技術的重要性日益突出,本文在TDMA的基础上,借鉴802.15.4,提出一种多时隙的集体回复ACK的接入控制和数据传输协议。并通过仿真测试了其性能,并与802.15.4协议进行了对比,从仿真结果可以看出,本文算法在降低了功耗的同时,提高了整体的吞吐量以满足大规模传感器网络的应用需求。

参考文献:

[1]蹇强,龚正虎,朱培栋,桂春梅.无线传感器网络MAC协议研究进展[J].软件学报,2008年02期.

[2]冷爱莲,杨恢先,李利.固定时隙和动态时隙相融合的TDMA分配算法[J].计算机工程与应用,2015,51(13).