一种基于优先级的双信道介质访问控制方法与流程

文档序号:18002068发布日期:2019-06-25 22:57阅读:180来源:国知局
一种基于优先级的双信道介质访问控制方法与流程

本发明涉及无线网络技术,具体是一种基于优先级的双信道介质访问控制方法。



背景技术:

工业无线传感器网络是一类特殊的无线传感器网络,主要用于恶劣的工业现场环境下的工业过程感知与控制。相比于传统的无线传感器网络,工业无线传感器网络需要满足工业测控应用的高实时、高可靠、低能耗等指标要求。根据数据的紧急程度,可以将工业无线传感器网络中的数据分为三类:安全类、闭环控制类和周期性监测类。安全类数据指的是紧急数据信息,因此优先级最高,要求同时满足最高可靠和最低时延的需求。控制类数据的优先级仅次于安全类数据。周期性监测类数据的优先级最低。多种优先级数据的实时、可靠传输关键是设计具有优先级意识的介质访问控制(mediaaccesscontrol,mac)方法。

现有的工业无线传感器网络mac,主要分为基于调度的mac和基于竞争的mac两类。在基于调度的mac中,网关给每个节点分配固定时隙,节点按照预分配的时隙唤醒,可以保证传输的可靠性。但是,这种mac无法保证高优先级数据(产生的时间和位置均难以预测)的实时介入。在基于竞争的mac中,节点通过载波侦听和退避等措施可以实现高优先级数据的优先传输,但是随着网络规模的增大,传输冲突加剧,网络的接入时延和可靠性明显恶化。本发明综合上述两种mac的优点,提出一种基于优先级的双信道介质访问控制方法,能保证所有优先级数据的实时、可靠接入。



技术实现要素:

本发明提出的一种基于优先级的双信道介质访问控制方法,是在充分考虑不同监测数据的优先级要求提出的,仅需要通过增加一个窄带控制信道,即可实现不同优先级数据的实时、可靠传输。

本发明采用技术方案如下:一种基于优先级的双信道介质访问控制方法,网关和各传感节点都具有双信道;各传感节点产生不同类型的数据,根据数据优先级的不同,分别在数据信道和控制信道中进行抢占接入和发送数据的操作。

所述双信道包括控制信道和数据信道;控制信道与数据信道完全正交,带宽为数据信道带宽的用于传输信道抢占包;数据信道用于节点传输数据以及接收网关回复的ack。

所述数据包括a优先级数据、b优先级数据、c优先级数据;a优先级数据为最高优先级,用于传输与系统安全数据;b优先级数据为第二优先级,用于传输闭环控制的实时数据;c优先级数据为最低优先级,用于传输周期性的监测数据。

所述通过双信道进行信道接入并发送数据具体为:

4.1产生c优先级数据的节点根据网关所广播的信标中包含的时隙调度表进行唤醒;在其所分配的时隙内,首先侦听tc时间,tc为周期性数据预留给高优先级数据的抢占时间,如果控制信道和数据信道都没有被占用,就发送数据,并接收网关回复的确认ack;否则,转为休眠状态,直至下一个唤醒时隙;

4.2产生a优先级数据的节点,首先进行tcca时间的空闲信道评估,tcca>tg,tg为间隔时间;如果数据信道空闲,则立即发送a优先级数据给网关;否则,在控制信道中连续发送信道抢占包;

4.3产生b优先级数据的节点在接入数据信道前,继续侦听tbw时间,dw为节点从唤醒侦听到接收到网关给其他节点回复的ack之间的时间;进行接入策略。

所述接入策略包括以下步骤:

步骤1,产生b优先级数据的节点分别在数据信道和控制信道上进行tcca时间的空闲信道评估;

步骤2,根据两信道状态的不同组合情况,分别定义相应的接入策略:

2.1)数据信道空闲、控制信道空闲:产生b优先级数据的节点在数据信道上进行tbw时间的侦听操作,并在控制信道上间断发送信道抢占包;若侦听tbw的时间内,数据信道为空闲,则执行步骤3,否则,返回步骤1;

2.2)数据信道空闲、控制信道忙:产生b优先级数据的节点保持侦听操作,当控制信道为空闲时,节点在控制信道上间断发送信道抢占包,当接收到网关节点回复的ack后,执行2.1)的操作;

2.3)数据信道忙、控制信道空闲:产生b优先级数据的节点保持侦听操作,直到接收到网关节点回复的ack,对其解析得到冲突标志位为1,则执行2.1)的操作;冲突标志位为0,节点认为在抢占信道的过程中发生了冲突,此时,节点随机选择侦听时间tbw∈[tcca,e-dw],执行2.1)的操作;

2.4)数据信道忙、控制信道忙:产生b优先级数据的节点持续侦听两信道状态,直到信道状态发生变化,再根据两信道状态分别执行2.1)、

2.2)、2.3)的操作。

步骤3,产生b优先级数据的节点接入数据信道,在控制信道上停止发送信道抢占包,在数据信道上向网关传输数据。

所述信道抢占包中包含信息的优先级和需要发送报文的长度;每个信道抢占包的时长为tq;a优先级的信道抢占包是连续发送的,b优先级的信道抢占包是间隔发送的,并在间隔时间tg内侦听控制信道的状态,tg<tq。

在数据信道上网关回复的ack数据部分包含两个比特信息,第一个比特表示网关是否成功接收节点发送的数据,若成功接收则为1,否则为0;第二个比特为冲突标志位,表示网关是否成功解码控制信道中的信道抢占包;若网关成功解码,则冲突标志位为1;如果网关解码失败或者没有接收到信道抢占包,则冲突标志位为0。

本方明的优点具体表现在:

1.本发明方法充分考虑不同优先级数据的实时性需求,并给出其对应的接入策略。高优先级通过推迟较低优先级的方法,保证在低优先级数据延时允许范围内,在最短的时间内获得接入信道的机会,显著提升了数据传输的实时性。

2.本发明方法在考虑优先级的同时,还考虑同一优先级数据的公平性。即,对于同一优先级数据,本发明方法保证先产生的数据会先得到接入机会。

3.本发明对于周期性数据采用tdma调度方法,给每个周期性数据分配固定的传输时隙;针对非周期的高优先级数据,采用信道抢占的方法,相比于传统预留时隙的介质访问控制方法,可显著提升频谱利用率。

附图说明

图1网络拓扑结构图;

图2超帧结构示意图;

图3数据信道忙—a优先级数据传输情况示意图;

图4数据信道空闲、控制信道忙—b优先级数据示意图;

图5数据信道空闲、控制信道忙—b优先级数据发送情况1示意图;

图6数据信道忙、控制信道空闲—b优先级数据发送情况2示意图。

具体实施方式

下面结合附图及实施例对本发明做进一步的详细说明。

本发明考虑一个星型工业无线传感器网络,网络拓扑结构如图1所示。网关由固定电源进行供电,负责接收传感节点的周期性监测数据(c类优先级数据)和非周期性的高优先级数据(a或b类优先级数据)。网关和所有传感节点都配备两根天线,分别对应控制信道和数据信道,并假定节点在控制信道和数据信道之间切换所用时间忽略不计。所有传感节点的本地时钟与网关同步。网络的传输由网关集中调度,网络时间被分成等长的周期。网络的超帧格式如图2所示,网关在每个周期的开始阶段发送信标帧,信标帧为每个传感节点分配了c类优先级数据的传输时隙。同时,在每个超帧时隙中预留了“抢占阶段”,还设计了基于优先级的信道接入策略,以保证高优先级数据的实时接入。

一种基于优先级的双信道介质访问控制方法,是一种适用于双信道时钟同步的介质访问控制方法;充分考虑不同优先级数据的实时性需求,针对不同优先级数据,给出其对应的接入策略;对于产生高优先级数据的节点,利用在控制信道上发送“信道抢占包”的方法,可有效地推迟低优先级数据的传输;对于产生周期性数据的节点,采用tdma调度方法,给每个周期性数据的节点分配固定时隙,并在每个超帧时隙中预留“抢占阶段”。

双信道指的是数据信道和控制信道,其中控制信道是一个与数据信道完全正交的窄信道(对于ieee802.15.4标准中的2.4ghz频段,数据信道约为2mhz,控制信道约为200-500khz)。控制信道用于传输“信道抢占包”,数据信道用于节点传输数据以及接收网关回复的ack。

根据数据的实时性要求,将数据分为a、b、c三个优先级:a是最高优先级,用于传输与系统安全相关的紧急数据;b是第二优先级,用于传输与闭环控制相关的高实时数据;c是最低优先级,用于传输周期性的监测数据。a和b优先级数据的产生频率低,产生时间难以预测。

本发明针对不同优先级的数据制定了不同的接入策略:

c优先级数据

c优先级数据:指周期性监测数据,数据的优先级最低。产生c优先级数据的节点根据在超帧分配的时隙进行唤醒,首先侦听tc时间,如果控制信道和数据信道信道都没有被占用,就正常发送数据,否则,转为休眠状态,直至下一个唤醒时隙。

a优先级数据

a优先级数据的优先级最高,关系到人员和设备安全的问题。节点一旦产生a优先级数据,则先检测数据信道的状态,如果数据信道空闲,则立即发送a优先级数据给网关r。否则,立刻在控制信道中发送“信道抢占包”,以此来推迟其他节点的数据传输,从而保证其可以在最短时间内接入数据信道。

下面,通过举例说明a优先级数据发送的实际过程。

考虑两个传感节点s1、s2和网关r,其中节点s1产生一个a优先级数据包。节点s1首先监听数据信道tcca时间,根频谱检测结果判断数据信道的状态,进而做出如下的不同接入策略:

1.数据信道为空闲:节点s1立刻在数据信道上向网关r发送a优先级数据。

2.数据信道为忙:这种情况说明正在有其他节点在向节点r发送数据。节点s1立刻在控制信道中持续发送信道抢占包,直到在数据信道上接收到网关r返回的ack后,停止发送信道抢占包,并立即切换到数据信道上,向网关r发送a优先级数据。

结合图3,具体说明当数据信道为忙的时候,产生a优先级数据的节点向网关r传输数据的过程。si_d表示节点si在数据信道的状态,si_c表示节点si在控制信道的状态。图3中,节点s2正在向网关r发送自己的c优先级数据,节点s1在节点s2发送数据包后产生一个a优先级数据,节点s1在控制信道中持续发送信道抢占包。当节点s1听到网关给s2的ack后,则立即接入数据信道,发送数据。

b优先级数据

b优先级数据的产生也是随机的,其优先级介于优先级a和优先级c之间。产生b优先级数据的节点,在控制信道上间歇地发送“信道抢占包”,以推迟b和c优先级数据的发送;同时,在数据信道和控制信道上都检测a优先级数据是否存在,如果a优先级数据存在,则转为等待状态。

下面我们通过示例具体说明b优先级数据发送情况。假设区域中有四个节点s1、s2、s3、r,节点s1当前产生一个b优先级数据包,通过tcca时间的频谱检测,判断数据信道与控制信道状态,进而做出如下接入策路:

1、数据信道空闲、控制信道也空闲:这种情况表明,其他节点没有产生高优先级(a、b优先级)数据。节点s1先侦听数据信道的状态tbw时间,同时在控制信道上间歇地发送信道抢占包。若在数据信道上没有检测到a优先级数据的传输,则节点s1在数据信道中发送信息。

2、数据信道为空闲、控制信道为忙:这种情况说明,没有其他节点正在数据信道上传输数据,而在控制信道上有一个节点正在发送b优先级数据的信道抢占包。如图4所示,节点s2在控制信道上发送信道抢占包。节点s1在接收到网关节点r给节点s2发送的ack后,进行tbw1的侦听时间,其中

dw(又称为接入时延)为节点s1从唤醒侦听到接收到网关节点r给节点s2回复的ack之间的时间。节点s1在侦听过程中,同时在控制信道上发送信道抢占包。若整个tbw1时间内,数据信道一直为空闲状态,则节点s1在数据信道上发送b优先级数据,否则,重新进行tcca时间的频谱检测,判断数据信道与控制信道状态。

3、数据信道为忙、控制信道为空闲:这种情况说明,有一个节点正在数据信道上向网关节点r发送数据信息,并且在节点s1检测信道状态前,没有产生待发送的高优先级数据。

3.1如图5所示,节点s3正在向节点r发送数据,节点s1在控制信道上发送信道抢占包。当接收到网关r回复给节点s3的ack后,节点s1在数据信道上侦听tbw1时间(通过公式(1)得到),同时在控制信道上发送信道抢占包。若整个tbw1时间内,数据信道一直为空闲状态,则节点s1在数据信道上发送数据,否则,重新进行tcca时间的频谱检测,判断数据信道与控制信道状态。

3.2如图6所示,节点s3正在向网关r发送数据,在其发送数据的过程中,节点s1和节点s2同时产生b优先级数据。通过tcca时间的频谱检测后,两节点同时在控制信道中发送“信道抢占包”。由于两节点彼此之间不能听到对方的信道抢占包,在数据信道上传输会发生冲突。对于这种情况,可以通过在ack中设置冲突标志位以警告两节点。即,节点s1、节点s2接收到网关r给节点s3回复的ack,从中解析得到ack的冲突标志位为0,这表示网关r没能成功解析控制信道上发送的信道抢占包,因而两节点认为在抢占信道的过程中发生了冲突。此时两节点分别随机选取侦听时间tbw∈[tcca,e-dw]。假设节点s1最终的侦听时间为tbw1,节点s2最终的侦听时间为tbw2,且tbw1>tbw2,两节点仍然执行侦听等待操作,节点s2先完成侦听等待,检测得到数据信道为空闲,则在数据信道中发送自己的数据。此时节点s1检测到数据信道为忙,控制信道除了自己外没有其他节点在发送信道抢占包,则按照数据信道忙,控制信道空闲的方式处理。

数据信道为忙、控制信道为忙:这种情况表示,数据信道上有一个节点正在向网关发送数据,同时存在其他产生了a或b优先级数据的节点在控制信道上发送“信道抢占包”。此时,节点s1持续侦听两信道状态,直到信道状态发生变化,再分别按照前面描述的1、2、3操作执行。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1