APP下载

基于TDMA的wireless HART网络多路径重传算法

2021-09-11尹亚兰徐天奇

关键词:时隙数据流数据包

尹亚兰,李 琰,徐天奇,冯 昆

(云南民族大学 电气信息工程学院,云南 昆明 650504)

近年来,诸多学者在无线网络技术、通信技术等领域进行了深入研究,使之得到了迅猛发展.目前,无线网络已经能够应用到大多数的工业现场中.然而,相比于其他网络环境,工业生产流程对网络性能有着更为严格的要求.在工业系统中,如果不能满足工业生产对网络性能的要求,所造成的损失往往比其他场景的损失更大:不仅会降低网络的服务质量和网络系统性能,甚至还可能会因此出现整个网络系统崩溃的情况,从而造成无法挽回的损失[1],特别是对电力系统这类对实时性有着最为严苛的要求的行业所造成的影响几乎是不可估量的.

数据包丢失作为影响工业无线网络的一大因素,受到了工业界和学术界的一致关注[2].由于工业环境对实时性的高要求,数据包的发送与接收通常都是在一个固定的时间内完成,到达截止时间,则开始发送下一个数据包.信道状态的不同,往往会出现部分数据包在截止时间内未能传输成功,占用通信资源的情况.为了避免未成功传输的数据包占用通信资源影响下一个数据包的发送与接收,通常把在截止时间内未成功传输的情况视为数据包丢失[3].而工业现场对网络数据传输的可靠性和确定性有着较高要求,数据包丢失往往会给网络带来不可靠性和不确定性,进而在工业生产流程中造成严重后果.因此降低网络传输过程中的丢包率,提升工业无线网络数据传输的确定性,仍然是一个亟需解决的问题.

目前,针对无线网络在进行数据传输的过程中仍然存在着数据包丢失的问题,学术界和工业界已经做出了许多研究与探讨,也提出了很多解决方案,比如利用重传机制、信道复用等技术.但信道复用在使用过程中会带来一些负面影响,比如电磁干扰等,因此大部分工业现场流程中的wireless HART网络不能使用信道复用技术[1].虽然Gunatilaka等[4]改进了传统的信道复用方法,尽量减少信道复用对网络性能产生的不良影响,但其仍然存在链路干扰冲突等不确定问题.而重传机制则不会出现链路干扰等情况,但重传会耗费数据流传输过程中的时间,带来更多的时延,甚至降低传输性能[5],因此学者们一直在不断优化重传机制.针对无线网络中因为丢包触发重传而导致传输性能大幅下降的问题,Dang等[6]通过为wireless HART网络在重传机制中分配合适的网络资源,增强了wireless HART网络的鲁棒性,降低了数据传输过程中的时延,然而该算法仍然存在不低的丢包率.Djukic等[7]研究了基于TDMA的无线网络调度问题,考虑数据包重传导致时延增大的情况,寻找出了时延最小的丢包重新传输顺序,但其只改进了重传带来的时延,并没有显著提高重传成功率.

现有研究虽然都在一定程度上优化了重传机制,但就目前来看,工业无线网络中数据流在不可靠链路中发生数据包丢失的问题依然显著存在,而重传机制也需要不断改进.因此,为了满足工业环境对无线网络的确定性要求,针对丢包问题,本文基于TDMA技术,研究改进wireless HART网络的重传机制,提高数据传输的成功率.

1 wireless HART网络中的重传机制

wireless HART网络针对传输过程中数据包传输失败的问题,在数据链路层和网络层都提供了重传机制[8],数据链路层重传该数据包直到该数据包被转发到下一个节点,网络层重传数据包直到接收到目的节点发出的响应数据包.鉴于工业现场对无线网络的实时性要求,这两种重传机制有时间限制,在数据链路层,等待网络层发出的数据包的时间有限制,在截止时间之前,如果网络层没有收到响应数据包,则会要求重传该数据包,数据链路层将会对传输失败的数据包进行重传,直到重传成功或到达截止时间或重传次数达到最大;如果超时之前没有接收到响应数据包,则会自动重传该数据包,超出时间限制或者重传次数达到阈值都没有重传成功则认为该数据报文传送失败.

wireless HART网络在数据链路层主要利用时分多址接入(time division multiple access,TDMA)技术进行数据传输[9].TDMA技术把无线网络信道中的时间分成大小相同的时隙(Slot),一定数量的时隙组成一个超帧(superframe),超帧按照自身的时间周期进行不断地循环重复.wireless HART网络中的数据传输以时隙为单位,一个时隙内可以完成一个数据包的传输和一个确认(ACK)数据包的交换[10].wireless HART网络的TDMA机制时隙结构如图1所示[11-12],图1中的符号含义见表1.

图1 wireless HART网络中的TDMA时隙

表1 时隙内通信的符号定义

在wireless HART网络时隙模型图(图1)中,在源节点处,如果信道空闲评估(CCA)功能可以正常使用,则源节点在发送数据包的时隙开始后的TsCCAOffset时刻,利用CCA功能对传输信道进行空闲评估.如果传输信道正在进行数据包传输,则暂时放弃发送当前数据包,防止数据包之间出现竞争冲突.如果信道当前没有发送数据包,则源节点在TsRxTx时间段内准备进行数据包发送,在TsTxOffset时刻将数据包发出.源节点在数据包发送结束后等待TsRxAckDelay时间段,由发送数据包的状态转变成接收数据包的状态.若在TsAckWait范围内,源节点接收到正确的ACK数据包,则表示该数据包已经发送成功,反之该数据包发送失败.

同时,目的节点在负责传输数据包的时隙开始后的TsRxOffset时刻是接收数据包的状态,若在TsRxWait时间范围中目的节点没有收到数据包,则判定该时隙内没有进行数据包传输.如果在TsRxWait时间范围内,目的节点收到了数据包,则在接收完成后,在TsTxAckDelay时间段准备ACK数据包,在TsAck时刻,目的节点立即将ACK数据包发出.wireless HART网络有着严格的时间同步机制,只有在正确的时间顺序下,才能在响应的发送时隙内进行消息的发送和接收.

2 基于TDMA的多路径重传算法

2.1 网络模型

网络中包含I条数据流,表示为H={H1,H2,…,HI},每条数据流Hi(Hi∈H)周期性的产生数据包,并沿着传输路径从源节点将数据包传向目的节点.wireless HART网络是基于时隙方式运行的多信道网络,数据流通过信道中的时隙在节点之间进行传输.

结合冗余路径与TDMA机制,考虑在重传过程中对单路径进行拆分,增加冗余信道,对发送失败的数据包进行重传.如图2所示,基于wireless HART网络的TDMA机制,本文的重传机制针对单信道丢包的情况,把信道划分为带宽相同的S个子信道,而这些子信道在截止时间范围内用来传输数据包.由于信道状态不同,数据传输成功率也不相同,因此当某一个数据包在其中某一个子信道没有成功传输时,考虑信道状态,在其他子信道对该数据包进行重传.

图2 多径传输模型

2.2 基于TDMA的多路径重传算法

TDMA机制中的数据包在传输过程中以时隙为时间单位,数据包重传最大次数为Q,数据包传输失败时,利用冗余子信道对传输失败的数据包再次进行数据传输,因此子信道总数S受重传最大次数限制,不能超过重传最大次数,即S≤Q.为了满足实时性要求,数据传输需要在截止时间的要求内完成,以Ti表示数据流Hi的周期,即Hi要在Ti时间内全部传输完成.用Di表示对Hi进行传输的相对截止时间,即Di≤Ti.设数据流的传输时间为Zi,结合重传机制,则其时间限制条件为:

Si×(Q+1)≤Di≤Ti.

(1)

对于数据流Hi的第j个数据包τi,j,在其传输完成后释放的时间为:

Ri,j=Ti×(j-1)+1.

(2)

截止时间为:

Di,j=Ti×(j-1)+Di

(3)

将数据包τi,j的传输时间用Zi,j表示,则可以将满足工业环境对数据传输的实时性需求并且考虑重传的确定性调度问题表示为:

(4)

最后的结果用ks表示,若源节点A通过子信道s向目的节点B进行了一次成功数据传输,则ks=1,反之,目的节点B没有收到源节点A发送的数据包,则ks=0.

子信道在进行数据传输前,在给首次进行数据包传输调度通信资源的同时,还需要考虑数据包进行Q次重传时所需要的通信资源,所以在严格的时间限制下,还应该考虑进行数据流传输后剩余的还能够进行数据包重传的通信资源.若数据包τj传输信道s上的第u个周期Fs,u在当前时隙t需要进行数据传输,且Fs,u前一个周期的数据传输已经完成,那么Fu处于释放态.令Ut表示在时隙t时已经调度完成的周期数,Vt表示在时隙t剩余未调度的周期数,数据流Hi在时隙t的传输状态如图3所示.

图3 数据流Hi在时隙t的传输状态

由图3可知,周期Fs,u的剩余可调度时隙个数为:

Di,j-(Q+1)×t+1.

(5)

此时还有Vt个未传输数据的周期,则定义周期Fs,u在时隙t的截止时间裕度为:

μt(Fs,u)=Di,j-(Q+1)×(t+Vt)+1.

(6)

因为数据重传需要占用一定的通信资源,截止时间裕度越小,就越不可能在截止时间内完成重传,导致传输失败,因此还需要满足公式(7):

(7)

上述公式表明,子信道可以进行数据包重传调度的必要条件是子信道上的每个超帧内周期的截止时间裕度都必须满足公式(7).

数据包τj本身具有释放时间Ri,j和传输截止时间Di,j,因此τj在信道中的存活时间为[Ri,j,Di,j].相同地,由Ri,j和Di,j能够得到数据流传输路径上每一个链路的存活时间.

定义数据流的传输信道τs的存活时间为:

fD(τs)=[rs,ds].

(8)

公式(8)中rs为子信道存活时间的最小值,表示子信道τs在rs时间前一直在发送数据包;ds则是子信道存活时间的最大值,即子信道τs进行数据包传输的截止时间.则rs的计算方式为:

rs=Ri,j+pers×(Q+1).

(9)

公式(9)中pers表示从产生数据报文的源节点发送数据包到达目的节点的过程中需要的周期个数.

类似地,ds的计算方式为:

ds=Di,j-pers×(Q+1).

(10)

公式(10)表示在截止时间限制下,子信道τs不能在ds之后进行数据包的传输.因此,子信道τs的存活时间为:

fD(τs)=[Ri,j+pers×(Q+1),Di,j-pers×(Q+1)].

(11)

从上述公式可以计算出,信道τs的存活时间内拥有的时隙个数为:

Δs=ds-rs+1.

(12)

定义η为存活时间被包含于fD(τs)内的子信道数.在能够进行数据传输的子信道数为S时,考虑子信道存活时间内的时隙数,将以上公式整理后得到:

(13)

2.3 算法流程

本文研究的多路径重传调度算法具体步骤如下.

1)初始化.设置参数:子信道数、数据流传输的截止时间、子信道中的周期和时隙、重传次数.令当前时隙t=1.

2)如果当前时隙t大于超帧的周期,则在该周期不能进行数据传输,认为传输失败,算法结束;如果当前时隙t小于等于周期,同时数据包传输已经成功,则返回数据传输的结果;若当前时隙t小于等于周期,并且子信道中还存在没有进行数据传输的处于释放态的周期或者重传子信道,则表示子信道正在进行数据传输,进入3).

3)在当前时隙t,根据丢包率的大小进行排序,按从小到大的顺序依次对重传数据进行重传处理.如果当前时隙没有足够进行数据包重传的时隙,进入4);如果当前时隙有足够进行数据包重传的时隙,则进入5).

4)按子信道丢包率大小选择子信道准备重新传输.如果当前准备进行数据传输的周期的截止时隙小于t,则该子信道不能进行数据传输,将在其他子信道进行数据传输,同时根据t和Di更新重传子信道的截止时间,返回2).

5)将重传信道集合中子信道的截止时隙和2)中的条件相对应.如果该子信道不能进行数据传输,在重传子信道集合中剔除该子信道;反之则保留重传子信道集合中的所有子信道,进入6).

6)按子信道排序依次进行数据包的重传,所有的数据包传输完成后进入7).

7)根据6)中数据包传输结果,更新重传子信道集合中子信道的重传信息;将6)中传输完成的子信道添加到重传子信道集合中,并更新该子信道的截止时间和当前时隙t=t+1,返回2).

3 仿真结果与分析

本文利用Matlab对提出的基于优先级与多路径结合的wireless HART网络重传算法进行了仿真验证与对比分析.其中网络中需要进行传输的数据流个数N=100,数据流的周期在Prange=2a~b,a≤b内随机生成.考虑工业无线网络对时延的严格要求,重传次数限制在3次,第3次重传失败就视为传输失败,则子信道设为3,子信道的丢包率呈正态分布.

首先选取传输成功率对算法进行评估,传输成功率高低表示算法的性能好坏.

图4中,在不同的数据流量情况下,以传输成功率为性能指标,将提出的算法与最早截止时间优先(earliest deadline first,EDF)算法和截止时间单调(deadline monotonic,DM)算法进行了对比.从图中可以明显观察到,本文提出的基于多路径重传算法的传输成功率在不同数据流量下均比其他两种算法的传输成功率高.

图4 不同数据流量的传输成功率

除了对传输成功率进行了评估,还以平均重传次数和平均重传时延为性能指标,以丢包率为变量进行仿真对比,验证本文的重传策略的可行性,仿真结果如图5,图6所示.

从图5中可以看到,本文提出的重传策略的平均重传次数均低于随机重传策略和固定重传策略,说明多路径重传策略的重传成功率高于其他两种重传策略,进一步说明了本文的重传方案的可行性.从图6中可以看到,本文的多路径重传策略的平均重传时延比其他两种重传策略的平均重传时延都小,而随机重传的平均重传时延在丢包率增大到0.13左右时已经超过了其他2种策略.图6证明,本文提出的多路径重传调度算法在考虑重传的情况下,算法带来的平均重传时延低于其他2种重传策略,这也表明算法在调度过程中具有低时延优势,说明算法具有可行性.

图5 平均重传次数比较

图6 平均重传时延比较

4 结语

针对工业无线网络中仍然存在的数据包丢失问题,本文提出一种重传和多路径结合的确定性调度算法.该算法结合基于优先级的重传机制与多路径重传策略,首先考虑信道状态,根据信道丢包率制定子信道优先级,然后根据优先级选择重传子信道对需要重传的数据包进行重传.最后,对提出的重传策略以丢包率为变量进行了仿真实验,用不同性能指标对算法的性能进行了对比评估.最后的仿真结果表明,提出的基于优先级的重传与多路径结合算法的传输成功率高于其他对比策略,同时产生较低的时延.然而算法没有考虑工业环境的资源受限问题,重传处理需要占用一定的通信资源,因此未来的研究工作还需要在重传过程中进一步考虑对资源进行合理调度.

猜你喜欢

时隙数据流数据包
优先级驱动的泛化航电网络实时性能分析
基于阵列天线的数据时隙资源比例公平动态分配方案设计
二维隐蔽时间信道构建的研究*
汽车维修数据流基础(上)
民用飞机飞行模拟机数据包试飞任务优化结合方法研究
基于时分多址的网络时隙资源分配研究
汽车维修数据流基础(下)
数据流安全查询技术综述
C#串口高效可靠的接收方案设计
Link—16中继时隙自适应调整分配技术研究