Ad Hoc无线体域网的时间同步协议研究与仿真
2012-12-08潘海军
李 剑 潘海军
(1.深圳中兴微电子技术有限公司,广东 深圳 518000;2.湖南科技学院 电子工程系,湖南 永州 425100)
Ad Hoc无线体域网的时间同步协议研究与仿真
李 剑1潘海军2
(1.深圳中兴微电子技术有限公司,广东 深圳 518000;2.湖南科技学院 电子工程系,湖南 永州 425100)
无线体域网是最新出现的一种网络结构,其主要针对人体内,体外以及近人体的传感器和终端之间的信息传输。最新的IEEE 802.15.6协议便是针对此类网络专门提出的指南和规则。Ad Hoc网络虽然不是主流的无线体域网组网方式,但是因为其的便利性以及整个网络的有效不依赖于中心节点的特点,拓宽了无线体域网的使用领域。时间同步是Ad Hoc网络顺利工作的重要前提,针对Ad Hoc无线体域网,本文提出了一个时间同步协议,并在实时系统自动验证工具UPPAAL平台上实现了该协议的仿真,最后的结果证明该同步协议设计过程合理,实际运行结果有效。
Ad hoc;无线体域网;时间同步;WBAN
0 引 言
受惠于摩尔定律和微电子产业和传感技术的发展,越来越多的医疗检测系统被小型化,可穿戴化。为了解决这些微型医疗元器件之间的通信问题,一种新的通信网络:无线体域网(Wireless Body Area Network,简称WBAN)应运而生。WBAN是以人体为中心,由和人体相关的网络元素,包括个人终端,植入、佩戴和附着在身体、衣物的传感器和检测设备,以及分布在人体超近距离内的其他组网设备等组成的通信网络。依赖WBAN,人的生命体征等信息在被传感器采集后通过WBAN中心的网络中心(hub)处理并利用无线个域网(Wireless Personal Area Network,简称WPAN)或移动通信网络等与医疗中心或医生建立联系。这使得WBAN在医疗、娱乐和军事方面有着广泛的应用前景。
2007年11 月,IEEE 802.15成立讨论组TG6,并从2008年1月开始在台北首次讨论WBAN的标准制定问题。经过四年多的讨论和修改,WBAN的标准IEEE 802.15.6在2012年2月正式发布。在新发布的标准中定义了两种网络拓扑:星形网络和扩展型星形网络。为了增强网络的可靠性,避免星形网络中心节点不能失效的弊端, 采用Ad Hoc技术的WBAN网络被作为一个分支进行研究[1]。
时钟同步是WBAN的一项重要支撑技术,同样,对Ad Hoc WBAN来说,时钟同步是一个非常关键的组成部分。由于网络中的各个节点均采用本地晶振,且因为应用条件限制,无法采用外基准同步技术。此时,因为时钟间存在偏移,所以网络中各个节点的观察时间和时间的持续间隔存在差别。时间同步的目的就是对各个节点的本地时钟提供一个统一的时间标尺[2],从而保证在使用时,相互通信的节点间的时钟保持一致。但过分复杂的同步协议会导致过多的等待时间,降低时间效率,同时减少休眠状态的比例,从而增加了功耗。因此同步协议有仔细研究和验证的必要。
1 时间同步技术的相关因素
在所有无线网络同步方案中,报文传送过程中产生的延时都可以分成四个部分:发送时间,数据处理时间,传输时间和接收时间[3]。因此,在设计和评估同步协议时,应当充分考虑上述各个因素。
1.1 发送时间和接收时间
发送时间是指报文在发送器中从第一位开始传输到最后一位传输完毕所消耗的时间,与之类似,接收时间是指接收器在接受报文时,从第一位开始接受到所有报文全部接受完毕所消耗的时间。这两部分时间会受信号强度、处理速度的影响。
1.2 数据处理时间
收端的数据处理时间指在接收器在报文接收完毕后,内部开始处理、获取自己所需信息并作出下一步操作指令的时间。类似的是在发端,发送器根据上一个周期得到的指令,读取相关数据并经过一系列处理之后到开始传送出报文第一位的时间。数据处理时间强烈依赖于处理指令和报文类别,以及硬件的处理速度。
1.3 传输时间
传输时间是指报文全部发送之后到报文的首位被接收器接收为止所消耗的时间,可以直观的看成是报文在信道中传输的时间。可见传输时间由信道特性决定,但因为无线信道环境复杂,尤其是对于WBAN来说,通信环境局限于人体和人体附近,随着人体运动和姿势变化产生的信道特性变化剧烈。另外,对于WBAN定义的人体信道,因为信息传播介质是因人而异的人体组织,所以信道参数变化尤其剧烈。
1.4 射频状态转换时间
除上述因报文传送过程中延时的四项基本成分而引起的时间同步挑战之外,射频状态的转换也必须要加以考虑。WBAN中,节点的状态可以是:发送模式,接收模式,空闲模式。从一个状态到另一个状态的转变需要消耗数百毫秒时间。为了确保所有情况下网络都会保持同步,因此这部分时间必须考虑在内,否则一旦出现状态转变时间超过保护时间,网络就会从同步变成不同步,从而使网络异常。
2 时间同步协议设计
基于以上分析,本文针对WBAN共享信道的特点设计了时间同步协议。本协议采用时分多址(Time Division Multiple Access, 简称TDMA),并将时间轴划分成固定长度帧,将帧划分成等长的时间片。如第1节所述,时间片有空闲和活动状态。
2.1 保护时间
对于共享信道的Ad Hoc网络,同步协议的基础是一个节点传送同步帧时,其他节点应当处于空闲状态,否则会发生碰撞,导致同步不成功。但实际上,因为各个节点本地时钟的漂移以及其他如第1节所提到的因素,两个邻节点的活动时间可能会发生覆盖,即出现上述的碰撞问题。问题模型如图1所示。该模型中定义了被研究节点(节点1)和其邻节点(节点2)。对于节点2,因为时钟漂移,其时间轴出现了偏移:前移或后移,分别如图所示。图1(a)中,时钟偏移之后节点2的繁忙时间段与节点1出现重合,导致节点1发送的同步帧根本无法被节点2接收。为了避免此种问题,常规办法是在原报文的前后分别增加一个保护时间,如图(b)所示,注意图(b)与图(a)并不严格成比例。此时,即便再出现图(a)所示的时间漂移,节点2的繁忙时段也只是与节点1的保护时间出现重叠,并不会引起节点1的发送失败,即不会与节点1出现重叠。
图1 保护时间示例
2.2 同步算法设计
为了同步,定义了一种在节点和其邻节点之间交换信息的同步帧,来对网络进行同步:接收器利用报文的接收时间和预计接收时间的时间差来进行同步。因此传输过程中并不需要传输发送端的具体时间值。并且此同步过程在每次帧传送结束后均会进行一次,以保证下一个阶段网络仍然处于同步状态。
该算法的具体过程是:
1)在发送时隙,节点将包含发送时时间片编号的报文——同步帧广播至邻节点
2)邻节点一旦接收到同步帧即开始进行计算时间差(phase error)并储存
3)在每个常规报文传送结束之后,节点均需要依据已探测到的时间差来重新计算时钟偏移量(offset),计算过程的伪代码如图2所示。注意伪代码中gain是自定义的偏移量调整系数,目的是避免时钟调整导致震荡。此处暂定为0.5.
图2 同步算法中时钟偏移量的计算算法伪代码
4)在休眠周期中,依据上述计算所得的时钟偏移量对本地时钟进行修正。
3 UPPAAL模型构建及仿真
3.1 UPPAAL模型
UPPAAL是一款高效实用的实时系统自动验证工具,主要对实时系统模拟、仿真和验证,已成功用于实时控制和通信协议的验证[4]。利用其系统编辑器(System Editor),可以很方便的创建和编辑要分析的系统,构建相应模型,并使用模拟器(Simulator)进行仿真以观察系统的反应。
利用UPPAAL,我们构建了一个固定、有限的无线网,其中节点数目Nodes = {0,1,…,N-1}。每个节点id∈Nodes均用5个时间自动机(Timed Automata, TA)时钟Clock(id),接收器Receiver(id),发送器Sender(id),同步器Synchronizer(id)和控制器 Controller(id)。其功能分别是,时钟 Clock(id)用来描述该节点的硬件时钟;接收器Receiver(id)用以模拟射频模块中的接收部分,与之类似,发送器Sender(id)用以表达射频模块中的发送功能;而同步器Synchronizer(id)则是进行时钟同步的部分,控制器Controller(id)则是整个框图中的控制模块,协调发送,接收和同步。他们之间的关系如图3所示。
图3 模型框图
因为时间自动机所描述的系统状态转换图均已带有时间因素,即时钟 Clock(id)已作为隐藏模块嵌入在图 3所示的模型框图中,因此无需再另外表示。以时钟 Clock(id)为例,模型的状态转换如图 4所示。系统初始化时,记录当前时间片编号的变量csn[id]被置为C-1,即睡眠模式的最后一个时间片。整数变量clk[id]记录当前真实时钟。而时钟漂移则用两个变量进行模拟:时钟周期波动下限min[id]和时钟周期波动上限max[id]。
图4 时间自动机示例——时钟Clock(id)
所定制的UPPAAL模型中所用的参数如表1所示,并在仿真中采用C=10, k0 = 29。
表1 所用参数
3.2 仿真结果
在工作站上,我们利用UPPAAL对上述模型进行了仿真,其部分结果如表2所示。
表2 部分仿真结果
根据仿真结果,可以很明显看出网络参数,尤其是时间周期波动的上下限对验证结果影响很大。结果中存在的两次min/max不为1的情况都导致原本同步的网络趋于不同步。同样可以看出,一旦r≥g,系统就会变成不同步,这与之前的分析是一致的,即射频功能转换所消耗的时间已经超过了保护时间,导致存在两个节点同时繁忙的情况,致使网络同步失败。另外,还可以看出一个趋势:保持min/max=1,但改变g/r的比例,即减少保护时间相对于时钟偏移的裕度,原本可以同步的网路依然可能导致无法同步,原理上这也是可以理解的。
4 结 论
针对Ad Hoc型WBAN网络,本文提出了一种时钟同步算法,并给出了设计算法的考虑以及算法的伪代码。为了能真实评价算法的有效性以及Ad Hoc型WBAN网络同步过程中可能出现的疑难问题,本文还基于UPPAAL开发了相应的算法模型。最后的观察仿真结果印证了之前的顾虑和证明提出的算法有效。
[1] Benoît Latré , Bart Braem , Ingrid Moerman , Chris Blondia , Piet Demeester, A survey on wireless body area networks, Wireless Networks, v.17 n.1, p.1-18, January 2011.
[2] Mills D L. RFC1305: Network Time Protocol (Version 3) Specification, Implementation and Analysis, March 1992.
[3]Lasassmeh, S.M.; Conrad, J.M. IEEE SoutheastCon 2010 (SoutheastCon), Proceedings of the Digital Object Identifier:10.1109/SECON.2010.5453878 Publication Year: 2010 , Page(s): 242 – 245.
[4]Rodriguez-Navas, G.; Proenza, J.; Hansson, H. Emerging Technologies and Factory Automation, 2005. ETFA 2005. 10th IEEE Conference on Volume: 2.
A
1673-2219(2012)08-0039-04
2012-04-26
2008年湖南科技学院校级青年项目《基于射频识别技术的实验室门禁系统研究》资助
李剑(1976-),福建永泰人,工程师,硕士,主要研究方向为Ad Hoc网络,芯片设计。
(责任编校:何俊华)