孙 桐, 严锡君 , 严 妍
(1.河海大学 计算机与信息学院,江苏 南京 210098;2.河海大学 水利水电学院,江苏 南京 210098)
在无线传感器网络中,介质访问控制 (Medium Access Control,MAC)协议主要负责在传感器节点之间分配无线信道资源,决定无线信道的使用方式。传感器节点的能量、计算能力、通信距离和存储能力等资源非常有限,单个节点功能相对较弱,因此在设计无线传感器网络MAC协议时,应当依次考虑以下属性:节省能量、信道、网络效率[1-2]。
针对以上问题,研究人员已提出了多种无线传感器网络MAC协议,但大部分协议仍停留在理论研究水平,并且实际应用中的能耗、信道冲突问题没有得到很好解决。本文从实际的应用出发,提出了一种新的基于令牌的链式MAC协议,该协议采用按需分配和TDMA技术要结合的方式,其核心是节点不收发数据时采用侦听/睡眠机制,能及时地转入睡眠状态,节省能耗。采用令牌式的信标帧控制信息,按需分配实现网络节点对数据的有序传输,不相互干扰,很好地解决了信道冲突的问题。
在已有的按需分配的MAC协议和基于TDMA的MAC协议的基础上,并且结合按需接入和固定分配时隙的思想,设计了一种基于令牌[3]的链型MAC协议。该协议保证了各个节点采集到的数据信息可以逐级向上传办输,在数据传输过程程中,只有获得接入权限的相邻层次的节点在传输数据,而其他层次的节点则处于低功耗的休眠状态,这样可以减少系统的能量消耗,有效的延长系统的生命
基于令牌的链型MAC协议中,定义了两种帧格式:信标帧、数据帧。汇聚节点循环广播信标帧序列,用于广播时间同步信息和分配各层节点的信道使用权信息;数据帧则且于相邻层次的传感器节点的数据传输
监控系统中采用射频芯片遵循IEEE802.15.4标准[4-5],因此我们设计的帧格式同样遵循MAC层信标帧格式。
1)信标帧:信标帧由汇聚节点发送广播。信标帧负载由2个字节组成:第1个字节存放令牌信息,第2个字节存放监测网络中传感器节点数目。虽然信标帧长度不变,但是不同轮数的信标帧的令牌的内容信息是变化的。信标帧的MAC负载如图 1(a)所示。
2)数据帧:节点在上传数据时,除了上传本节点的信息(节点采集的数据和节点的ID)外,还需上传其他节点的信息。节点的ID信息占用一个字节,其最高位代表能量报警信息。数据帧的MAC负载如图1(b)所示。
图1 信标帧和数据帧负载示意图Fig.1 Diagram of beacon frame load and data frame load
基于令牌的链型MAC协议采用的是一种粗粒度的时间同步算法[6]。汇聚节点周期性的发送一定数量的信标帧序列,网络中的传感器节点在休眠结束后随机地接收一帧信标帧,读取信标帧中的时间片信息以及令牌信息,根据这两种信息,传感器节点做出适合的调度。
网络的拓扑结构与数据传输如图3所示。汇聚节点编号的层次为0,其他节点依次加1。实线代表汇聚节点广播的信标帧,确保各个子节点都可以接收到。虚线代表各层节点依次将采集的信息逐层上传,直至将信息汇集到汇聚节点结束。
假设整条链式网络有N个子节点(不包括节点0),根据设计的通信协议,完成一次完整的链式传输,汇聚节点需要发送 N轮同步信息,每一轮发送 M(0<M<255)帧信标帧,同一轮信标帧的令牌信息是相同的,不同轮的信标帧所包含的令牌信息不同。轮数系如与令牌的关系如表1所示。
表1 每一轮中令牌信息与节点工作状态对应关系Tab.1 Token and node’s status relation in every round
汇聚节点广播一个完整的时间周期T由Ta1、Ta2…TaN组成,Taj为广播第j轮信标帧的周期。汇聚节点广播信标帧如图2所示。
图2 汇聚节点广播信标帧示意图Fig.2 Diagram of sink node broadcasting beacon frame
广播一轮信标帧的时间Taj(0<j≤N)由两部分组成,当0<j<N时,Taj由发送令牌时隙与空闲时隙组成,时间比1:1,在Taj发送时隙中,汇聚节点发送M个信标帧,信标帧的令牌信息相同,且为N-j+1。当j=N时,Taj由发送令牌时隙与数据接收上传时隙组成。广播一轮信标帧的周期示意图如图3所示,t为发送M个信标帧时间,t1为发送一个信标帧的时间,τ为缓冲时间,根据实际情况设定。Δτ根据实际通信要求设定。设定Taj的时间值为2t。
节点i(i≠0)随机的接收到一个信标帧,节点从信标帧中获得3种信息:当前信标帧的令牌信息N-j+1;信标帧编号k;整个网络的节点数N。
根据上面3种信息,节点i可以得出以下结论:这是第j轮信标,此轮信标帧用于同步第(N-j+1)节点与第(N-j)节点,且在时间同步后第(N-j+1)节点向第(N-j)节点发送数据。节点i的具体的判断过程如下所示:
1)当 j≠N 时
如果 i>N-j+1 或者 i<N-j,节点 i转入休眠状态,休眠时间(M-k)t1+t,醒来后侦听信标帧。
如果 i=N-j,节点 i转入休眠(M-k)t1+τ,醒来后进入接收状态,接收完数据后,再次转入休眠状态,休眠时间为t,醒来侦听信标帧。若接收超时,则进入休眠状态,休眠t后醒来侦听信标帧;
图3 广播一轮信标帧的周期Taj示意图Fig.3 Diagram of broadcasting a beacon frame cycle Taj
如果 i=N-j+1,如果有数据发送,节点 i休眠(M-k)t1+t后进入发送状态,发送完数据后如果i=N,则休眠(N-1)Tai+t+Δτ后醒来侦听信标帧;如果 i=N,节点休眠(N-2)Tai+t+Δτ。如果没有数据发送,如果 i=N,节点休眠时间(M-k)t1+t+(N-1)Tai+t+Δτ后醒来侦听信标帧;如果 i≠N,节点休眠(M-k)t1+t+(N-2)Tai+t+Δτ
2)当 j=N 时
节点 1 转入休眠状态,休眠时间为(M-k)t1+τ+τ,醒来后进入发送状态,发送完数据后再次休眠(N-2)Tai+t+Δτ,醒来后侦听信标帧;i≠1的节点转入休眠状态,休眠时间为(M-k)t1+t+Δτ,醒来后侦听信标帧。传感器节点i的通信协议示意图如图4所示。
图4 传感器节点通信协议示意图Fig.4 Diagram of sensor nodes communication protocol
MAC协议分为汇聚节点分发信标帧和传感器节点上传信息两部分。汇聚节点周期性向传感器节点发送信标帧,随后进入接收状态。传感器节点在接收到信标帧后,根据令牌信息决定相邻两个节点进行通信,实现从链尾节点到链头节点的数据传输。
1)汇聚节点初始化;
2)确认信标帧的令牌内容N,令牌信息用一个字节标识,最多可以有127个令牌接入信息;
3)汇聚节点发送M个含有令牌X=N的信标帧;
4)如果 X≠1,进入步骤 5)。 如果 X=1,进入步骤 6);
5)X=X-1,然后汇聚节点处于空闲模式,延时时间为t,进入步骤3);
6)令牌信息变成X=N,汇聚节点处于接收模式,汇聚节点处于接收处理数据且上传的时间设定为t+Δτ后,进入步骤3;
传感器节点能量供应有限,在大部分时间里处于低功耗模式,只有在某些确定的时间侦听信标帧,根据侦听到的信标帧的令牌信息判断自己的工作状态,从而避免信息的碰撞,也减少能量的损耗。传感器节点的算法的过程如下所示:
1)传感器节点i初始化;
1.2 纳入标准 有介入性产前诊断或宫内治疗指征的孕妇,包括:高龄、唐筛高风险、双方同型地中海贫血、外周血无创产前基因筛查异常、胎儿超声结构异常、夫妇双方一方染色体异常、罕见遗传病家族史、PGD术后妊娠等;孕妇外周血HBsAg阳性,伴或不伴HBeAg阳性。介入性穿刺前明确告知手术相关的流产、感染、胎死宫内等风险,并告知穿刺有可能增加胎儿宫内感染乙肝的风险,孕妇充分知情并签署知情同意书后进行操作。
2)传感器节点采集数据,采集数据后进入步骤3);
3)侦听广播帧,如果侦听到信标帧,可以获得网中节点总数目N,当前的令牌值N-j+1,信标帧的序列号k,进入步骤4)。如果超时没有侦听到信标帧进入步骤14);
4)如果 j≠N,进入步骤 5);如果 j=N,进入步骤 13);
5)如果 i≠N-j+1 且(N-j),节点 i进入休眠模式,醒来后进入步骤 2);如果 i=N-j,进入步骤 6),如果 i=N-j+1,进入步骤 7);
6)节点 i进入休眠模式,休眠时间(M-k)t1+t,醒来进入接收状态,接收完毕后进入休眠模式,延时t后,进入步骤2)。若超时直接进入休眠模式,延时t后,进入步骤 2)(因为接收数据时间远小于t);
7)判断是否有新数据需要发送,若有新数据进入步骤8),否则进入步骤9);
8)节点休眠(M-k)t1+t,醒来后发送数据。 若 i=N,节点休眠(N-2)Tai+t+Δτ 后,进入步骤 2);如果 i≠N,节点休眠(N-2)Tai+t+Δτ 后,进入步骤 2);
9)若节点 i=N,休眠(M-k)t1+t+(N-1)Tai+t+Δτ后进入步骤 2);若节点 i≠N,休眠(M-k)t1+t+(N-2)Tai+t+Δτ后进入步骤 2);
10)若节点 i=1,进入步骤 13);否则进入步骤 14);
11)若节点1有数据需要发送,进入步骤12);若节点1没有数据需要发送进入步骤13);
12)节点 1 休眠(M-k)t1+τ后,发送数据,发送完毕后,再次休眠(N-2)Tai+t+Δτ后,进入步骤 2);
13)节点 1 进入休眠模式,休眠(M-k)t1+t+Δτ+(N-2)Tai后,进入步骤 2);
14)i≠1 的节点进入休眠模式,延时(M-k)t1+t+Δτ,进入步骤 2)。
采用如图5所示的能量消耗模型进行能量分析。数据帧能在一个单独的监听周期传送且只有一个节点在网络中生长采样数据帧,每次只有两个邻居节点进行通信且数据在传输过程中没有发生碰撞和重发。
图5 能量耗量模型图Fig.5 Energy consumption model diagram
其中,ρ为节点每秒采样的速率,Eil为节点在一轮中的空闲监听的能量消耗,Eil为节点传输一个数据帧的能量消耗,Erx为节点接收一个数据帧的能量消耗,Eon为打开无线收发设备的能量消耗,Taj为观测周期,Es为节点在一轮Tf中的休眠时间的能量花费,N为网络中的节点数。在参数都确定的情况下,计算链式网络的能量消耗[7]。
链式协议中节点的能量消耗为:
其中,Eil(n)=ρil×Td/2,
Td为数据时间间隔,计算总能量消耗并取平均值得:
基于令牌的链式MAC协议的能量消耗同上面的模型基本相似,只是一个新的项加入到空闲监听时期,即在调整时期的能量消耗。即:
计算所有节点的能量消耗并取平均值得:
比较式(1)和式(2),我们可以得到发下结论:基于令牌的的链式MAC协议和标准链式协议在传送和接收数据的能量消耗相同为 Tajρ(N-1)(Etx+Erx),早期休眠所使用的能量相同为-(N-1)TajρρilTd。
新协议通过减少打开射频模块比标准协议节省能量为:NTajEonNSLP/TBSP,新协议在空闲监听主面比标准MAC协议节省能量:NTaj/TBSP×NSLP×ρilTd/2T,可以看出新协议能比标准链式协议有效的降低能量消耗。
MAC协议是WSN技术的核心,也是WSN是否能够得到广泛应用的关键技术[8]。基于令牌的链式MAC协议,以TDMA时间同步方式为基础,网络中节点采用侦听/睡眠机制,当接收到信标帧后才进行数据传输,有效降低了能耗;以令牌为控制信息,不仅简化了汇聚节点对传感器节点的控制过程,而且各传感器节点之间不会相互干扰,实现了对信道的有序利用。
[1]张大为,皮之军,刘迪.基于WSN技术的数据采集系统的设计[J].电子设计工程,2012,20(19):183-185.
ZHANG Da-wei,PI Zhi-jun,LIU Di.Design of data acquisition system based on WSN[J].Electronic Design Engineering,2012,20(19):183-185.
[2]邓亚平,蒋新春,陈兰兰.无线传感器网络TDMA MAC协议的对比和改进研究[J].计算机工程与应用,2010,46(4):89-92.
DENG Ya-ping,JIANG Xin-chun,CHEN Lan-lan.Research on comparison between TDMA MAC protocols and improvementforwirelesssensornetworks.Computer Engineering and Applications[J].Computer Engineering and Applications.2010,46(19):89-92.
[3]王建华,张倬,刘志峰,等.基于令牌环网串行通讯的控制系统研究[J].机械设计与制造,2009(11):197-199.
WANG Jian-hua,ZHANG Zhuo,LIU Zhi-feng,et al.The control system research based on serial communication of token ring network[J].Machinery Design&Manufacture,2009(11):197-199.
[4]沈忠,李强.基于Zigbee技术的无线传感器网络协议的设计[J].传感器与仪器仪表,2008,24(7-1):164-165.
SHEN Zhong,LI Qiang.An approach to wireles s sensor networksprotocolbasedonzigbeetechnology[J].Microcomputer information,2008,24(7-1):164-165.
[5]纪晴,段培永.基于ZigBee的无线传感器网络协议研究与实现[J].传感器世界,2007:30-35.
JI Qing,DUAN Yong-pei.Study and implementation of a wireless sensor network based on ZigBee technology[J].Sensor World,2007:30-35.
[6]朱建平,陶正苏,吕春峰.基于IEEE 802.15.4 CSMA/CA机制的无线非均匀传感网络实时性能分析[J].电子工程设计,2012,20(5):75-77.
ZHU Jian-ping,TAO Zheng-su,LV Chun-feng.Delay analysis of wireless heterogeneous sensor network based on IEEE 802.15.4 CSMA/CA scheme[J].Electronic Design Engineering,2012,20(5):75-77.
[7]王永涛,苏晓龙,王香婷.一种改进的无线传感器网络MAC协议[J].传感器与仪器仪表.2008, 24(12):104-106.
WANG Yong-tao SU Xiao-long WANG Xiang-ting.An improved MAC protocol for wireless sensor network[J].Microcomputer information,2008,24(12):104-106.
[8]王祥.无线传感器网络MAC协议的实现与分析[J].无线电工程,2009,42(2):21-24.
WANG Xiang.Implementation and analysisofMAC protocols for wireless sensor network[J].Radio Engineering,2009,42(2):21-24.