2 时钟同步算法
对于本设计,除了对钢丝绳状态进行检测的传感器不可缺少外,为了使网络节点能在规定时间唤醒或进入低功耗模式,所以实现网络中节点的时间基准同步也显得尤为重要。时钟同步是其主要手段,而系统基准时间同步是一切应用的基础,应用范围十分广泛。
2.1 时钟同步算法概述及不同算法间的比较
无线传感器网络中,由于网络中没有标准的时间统一系统或者共同的时间基准,所以需要建立一个统一的时间服务系统或者时间服务器,以实现网络中的时间统一,这一点对整个网络系统的实时性非常重要,自J.Eison和K.Romer首次提出传感器网络中的时间同步机制后,在各个大学和科研机构中得到了广泛的研究,通过各国学者的不断研究,提出了多种时间同步机制。主要分为三类:基于接收者和接收者(Receiver-Receiver)的时间同步机制,常用的是RBS算法;另一种是基于发送者和接收者的双向时间机制,常用的是TPSN算法、LTS算法、Tiny-sync和Mini-syne同步算法;最后一种是基于发送者和接收者的单向时间同步机制,存在的算法为DMTS算法、FTSP算法等。每种算法都有其优点同时也有各自的缺点,因此在选择时钟同步算法的时候要根据具体的情况,权衡采取哪种算法。RBS时钟同步算法的时间复杂度就是其一个明显的缺点,这样导致其在同步过程中造成的能量消耗将很大,对能量有限的无线传感器网络来说明显不大适用。DMTS时钟算法中需要传输的信息少,其中接收节点只需要收到同步消息这样单相同步的方式就能实现同步,能量消耗少,但是这种方式的同步精度要求很低,虽然降低了能量消耗但同时也降低了时钟同步的精度,所以在精度要求很高的场合不适用。TPSN时钟同步算法是双向同步机制,通过双向交换同步信息能使同步效果的精度更高,满足无线传感器网络时钟同步精度的要求。本设计中采用TPSN时钟同步算法。[page]
2.2 TPSN时钟同步算法的实现
TPSN算法是通过多级的逐步同步,能够实现全网范围内的节点的时钟同步,在多跳网络中非常适用。其会在整个网络中选择一个根节点(设计中使用协调器作为根节点),由根节点提供整个网络中的时钟源,它采用的是层次型的网络结构,其实现过程主要分为两个阶段:层次发现阶段和同步阶段。
在层次划分阶段主要进行的是对整个网络的节点进行层次划分,分为0~n个层次,其简要结构如图3所示。
其中根节点一般定义为0级,它在时钟同步阶段的作用是广播分组数据包,通过广播的方法给每个节点分配一个层次号(不惟一)和ID号(惟一)。根节点的相邻节点在收到分级的数据包后,会把自己的同步级别设置为1级。然后这个1级节点会继续广播分级数据包,其他的节点按照这个发放依次确定自己的级别,一直到网络中的所有节点都设置了自己的级别,这个过程就完成了层次发现的阶段。
第二阶段为同步阶段,该阶段的主要任务是层次结构建立以后根节点通过广播时间同步分组启动同步阶段。以根节点和1级节点进行时间同步为例子来介绍同步阶段的整个过程。根节点和1级节点在进行时间同步是通过两个节点之间的双向信息的交换来实现的。其整个过程如图4所示。
层次结构建立后,根节点通过广播时间同步分组启动同步阶段,其中同步分组中包含有根节点的等级和发送信息报的本地时间T1。第1级节点在收到这个分组以后首先会检查该信息包中的节点信息是否和其父节点即根节点的节点信息一致,如果一致则记录收到该包时的时间为T2,否则丢掉这个同步包,然后1级节点在T3时刻发送应答分组给根节点,分组中含有1级节点的级别和T1,T2及T3的信息,根节点在T4时刻收到应答帧,因此可以推出以下公式:
式中:△为根节点和1级节点之间的时间偏差;d为根节点和1级节点之间的传输时延,假设其双向之间的传输时延相同。当1级节点收到根节点发送的同步信息报SYNC后,其中包含T1和T4,它根据式(2)就能计算时间偏差△和传输时延d,然后将自己的时钟和根节点进行同步。
3 同步唤醒算法的研究与设计
3.1 问题的提出
本项目中利用无线传感器网络对擦窗机钢丝绳运行过程中的状态进行实时监测,提高擦窗机在运行中的安全性。但是由于擦窗机运行场景的特殊性及无线传感器网络穿墙能力的有限性,位于大楼不同楼面上的传感器节点在擦窗机不在该楼面施工时,该节点是不会参与到数据的转发过程中的,为了节省整个网络的能量及延长整个网络的生命周期,此时这些节点的运行是没有必要的,为了减少网络能量消耗应使其处于低功耗模式。
3.2 系统功耗模式
本设计采用CC2530单片机,其共有五种工作模式,分别为主动模式、空闲模式、PM1、PM2和PM3。主动模式为一般模式,PM3具有最低的功耗。其不同的供电模式对系统的影响如表1所示。
主动模式为全功能模式,空闲模式除了CPU内核停止运行,其他和主动模式是一样的。PM1模式适用于相当短时间内的休眠时间。PM2模式适用于相当长时间内的休眠事件,特别是用于休眠定时状态。在PM1和PM2模式中,系统可以通过重置或者一个外部中断或者休眠定时唤醒转入主动模式。PM3模式只能通过重置或者一个外部中断转入主动模式。在本设计中选择PM2模式为低功耗模式,虽然PM3模式功耗最小,但是PM3模式必须通过外部中断或重置才能重新进行数据收发工作,这在无线传感器网络应用中十分不实际。因为本设计的节点很多都处于楼层高处或外表面,无法通过采用外部中断的方式进行唤醒。
[page]
3.3 距离测定
同济大学的张洁颖等对测得的RSSI值实测曲线进行了分析,在考虑干扰和硬件的情况下实测值和理论值有一定的误差。但是本设计中对距离的精确度要求不高,只需在特定的距离段内,终端节点的父节点唤醒其自己时间同步阶段的下一级节点即可,保证终端节点在距离其现在父节点相对距离较远时,可以通过离开网络重新连接到新唤醒的节点中,继续执行数据采集的任务。通过在学校高层宿舍楼的实际测试,当RSSI的绝对值大于75时出现了一定数量的丢包,为了保证终端节点能稳定的传输采集数据,本设计中设定RSSI的绝对值大于50时,唤醒新的路由节点,当RSSI的绝对值连续在70附近时终端节点立即离开整个网络,然后再通过申请加入网络使自己连接到新唤醒的节点,此时新唤
醒的节点就成了终端节点的父节点。整个唤醒系统的流程图如图6所示。
进入PM2低功耗模式的时间T,由控制中心通过串口提供,根据实际经验确定,当定时器定时T时间过后,低功耗模式的节点被定时器唤醒,其会检查自己是否仍然在整个网络中,由于保持着其进入低功耗之前的状态,掉网的可能性很小,如果掉网,实行断网重连,重新申请加入网络。
4 上位机软件开发
本设计的监测显示界面在Visual C++6.0编程语言基础上编写而成,通过计算机串口与协调器节点相连,使整个系统具有了数据采集、数据分析、数据显示及数据存储的功能。
该软件需提前根据钢丝绳的直径、捻距对相应的直径及捻距值进行设定,根据测量装置的上和导轮光电编码器确定采样间隔,另外根据实际情况确定钢丝绳损坏情况的门限值。其实际中测量画面如图7所示。
5 结论
笔者通过该设计完成了擦窗机钢丝绳状态的实时监测,利用电磁检测原理,设计了钢丝绳损伤检测传感器。使用TPSN时钟同步算法,使整个网络除终端采集节点外其他节点保持时钟同步,为某些节点在某个特定时间进入低功耗模式和同时醒来创造了条件。通过节点在空闲时间进入低功耗模式从而为整个网络的持续运行节约了大量的能量,有效地延长了整个网络的生命周期。另外利用RSSI值判断终端节点距离其父节点的距离,当距离大于通过实验测的的规定值时,断开网络连接,重新加入距离其最近的路由节点,从而保障了数据采集系统的持续可靠运行。
实验证明,系统可以顺利地测出擦窗机运行中的钢丝绳状态的情况,并能将数据通过无线网络送回到协调器中,进而通过串口送至上位机软件进行显示、分析和存储,网络中的信号通信状况良好,抗干扰能力强。同时监控人员可以对钢丝绳状态进行实时监控,大大保障了吊船内工作人员的安全性。
『本文转载自网络,版权归原作者所有,如有侵权请联系删除』