一种即时同步与时钟自校准结合的全网同步技术

发布者:数据旅人最新更新时间:2013-10-09 来源: 电子技术 关键字:自校准  无线传感器网络  Si1000 手机看文章 扫描二维码
随时随地手机看文章
引言
    目前,无线传感器网络时间同步技术的研究重点已经从单跳网络发展到多跳网络。现有的多跳时间同步算法充分体现了同步功耗和同步精度以及同步周期间的折衷,本文着重解决的问题就是在不显著增加同步功耗的前提下扩展同步周期,本文的硬件平台为Silicon Labs公司的Si1000无线MCU芯片。

1 网络拓扑结构
   
无线传感器网络的拓扑结构主要有星型网、树型网和网状网,本文以应用较多的星型网和树型网结合的多级网络结构为例进行同步过程的设计。
    一个典型的网络结构如图1所示。网络中的节点可以分为根节点、树枝节点和树叶节点3种类型。其中,最上端的0-0为根节点,网络中间的如0-1、0-2、5-8等为树枝节点,网络末端的1-3、4-7等为树叶节点。每两个相连接的节点互称为父子节点,如0-1和1-4互为父子节点。其中0-1是1-4的父节点,1-4是0-1的子节点,而1-4是4-7的父节点,4-7是1-4的子节点。在对节点编址时,每一个节点都有两个地址信息,其中低位地址表示本节点在网络中的唯一的ID号,高位地址表示该节点的父节点在网络中的ID号。这种表示方式的优势在于,每个节点只跟自己的父节点和子节点通信,不与其他节点交互信息,即使收到其他节点的数据包,也会当作无效数据丢掉。这样,每个节点的程序相对简单,网络的层数可以不受限制,网络层数和网络内节点数的增加,不会导致每个节点的程序复杂度的增加。


    一般情况下,在网络中,根节点为网关节点,树叶节点和树枝节点均为簇头,每个簇头在为其他簇头作数据转发的同时,均可以接收传感器节点的数据。簇头的数量由ID号的位数决定,如果用一个字节来表示ID号,则网络中簇头的最大数量为255个。
    根据传感器节点与簇头节点的紧密程度,可以将传感器节点划分为若干个区域,每个区域设置一个簇头,簇头与采集节点之间采用星型网连接。

2 即时同步技术
   
在无线传感器网络刚建立时,由于某些原因导致节点间的同步状态丢失时,需要进行时钟同步的“初始化”,采用即时同步的方式进行。
    即时同步技术是星型网络结构中一种高效的同步技术,同步以网关节点为起点,并由近及远的同步树型网络结构中的各簇头节点,之后簇头节点再分别同步各自的传感器节点。
    下面以簇头同步传感器节点为例说明同步过程,同步的时序如图2所示。


    一般情况下,传感器节点在刚上电或复位之后,处于低功耗模式,实验时,以5 s为一个周期,即节点睡眠状态4 995 ms,接收状态5 ms,如果没有有效数据。则继续转入睡眠状态,如此循环下去。5 ms称为数据侦听窗口。由于节点的个体差异、晶振的漂移等因素的影响,经过一段时间后,各个节点的数据接收窗口的起始时间差距就比较大了。如果簇头要让所有的传感器节点都收到同步命令,必须连续发送5 s。这个同步命令包括了簇头的低位地址和一个不断累加的序列号,共3个字节。若以115.2 kbps的速率传输,发送一个同步命令需1.72 ms,连续不断地发送,从1开始,每发送一次,序列号加1。这样,序列号本身就携带着时间信息。在实际编程中,共发送2907次,约为5s。
    簇头连续发送5 s同步序列后,转入低功耗模式,5 s结束时的时间点称为同步时间点,即图中的10 s点的位置。如图2所示,所有的传感器节点在数据接收窗口内都至少能收到一条完整的唤醒命令。以收到的第一条完整的同步命令为有效命令,根据序列号,节点能够判断自己在时间轴上所处的位置,经过计算后,得到自己距同步时间点的时长t。可以看到,经过5 s的持续同步后,所有传感器节点均可以同步到同步时间点。
    传感器节点的同步流程图如图3所示。


    网关节点同步簇头节点的时序与传感器节点类似,只是将通信速率降低到4 800 bps,相对应的簇头的侦听窗口为50 ms,睡眠4 950 ms,网关发送的同步命令字为本地ID+末端簇头ID+一个不断累加的序列号,共3个字节。以4 800 bps的波特率发送,每个同步命令需要22 ms,实际编程中,共发送227次,约为5 s。经过即时同步后,网络中的各个节点均被同步到网关节点的时钟上。
[page]

3 时钟自校准技术
3.1 理论分析
   
理想情况下,标称值相同的晶振应该有相同的振荡频率,但是实际并非如此。晶振在标定频率之外还有一个参数,称之为精度,单位是ppm,即每百万次中的误差次数。一颗标定为32.768 kHz,20 ppm的晶振,意味着每振荡一百万次,会偏差20次,正负都有可能。在本实验系统中,采用的是32.768 kHz,20 ppm的晶振。
    如果第N级节点和第N+1级节点所采用的两颗晶振的偏差方向相反,则10 min后两级节点的时钟偏差至多为2×12=24 ms。
    时钟偏差临界点时刻示意图如图4所示。


    这里选择10 min作为本算法的补偿周期是由物理层的具体特性决定的。在低功耗模式中,簇头的侦听窗口为50 ms,被上层节点唤醒的通信波特率是4.8 kbps。经过试验得出:物理层发送一个有效载荷为3个字节的同步命令帧所需的时间约为22 ms。
    即使10 min后的同步偏差达到24 ms,第N层节点和第N+1层节点仍然有50-24=26 ms的侦测窗口重叠期。如果第N层节点以两个命令帧的密度向第N+1层节点发送同步指令,底层节点仍有机会捕获到其中一个命令帧,因为26 ms>22 ms。以上均属临界时间状态,如果两级节点的晶振偏差方向相同,则捕获到上层同步指令的几率还会增加。
    要想保证两级节点的可靠同步,必须在10 min内执行一次同步算法,否则低层节点将偏离出高层节点的发送窗口,即高层发送的命令,低层节点将不会收到。
    将第N+1层节点的时钟同步到第N层节点并实现自校正的步骤如下:
    ①由第N层节点发起同步。首先第N层节点利用即时同步技术将低层(N+1)节点的时钟同步到同步时间点t0,同时第N层节点将t0作为自身时间的零时初始时刻。
    ②t0+600 s后,第N层节点向第N+1层节点发送两个时间校验命令帧,帧格式如下所示。


    ③第N+1层节点判断收到的时间校验命令帧的序号(第一个字节)和第N层节点的时间tN(后两个字节)。
    ④计算出第N+1层节点的本地时钟tN+1与tN的差值△t。
    ⑤将△t作为一个常数,每隔10 min补偿到tN+1中一次。
3.2 软件流程
   
两层节点以第N层和第N+1层节点为例说明软件的流程。第N层节点的流程图如图5所示。


    由于所有节点在上电后处于低功耗模式,且各层节点不同步,所以需要初始第一次同步动作。第N层簇头连续发送“本地ID+时间序列”同步帧,利用即时同步技术,将两层节点同步到“零时”。
    Sync是一个unsigned char型变量,可以追踪时间的增长。在实际中,采用芯片内部的RTC进行计时,Sync的初始值为0,每发生一次RTC中断事件,Sync的值加1。RTC中断事件每5 s发生一次,所以当Sync=120时,意味着10min的补偿时刻到了。
    在发送本地时钟时,为了保证第N+1层节点能可靠地收到时间校正信号,采用了两次发送同样内容的方法。两次发送帧中所带的时间信息完全相同,物理层完成两次发送的时间差是22 ms。帧头0x81和0x82用来帮助下层节点区分收到的是哪一次发送的时间校正信号。
    第N+1层节点的软件流程图如图6所示。


    当收到父节点ID帧头时,利用即时同步机制第一次将本节点和上一层节点初始同步。当收到0x81或者0x82帧头时,进行两层节点间的时钟校对:把本地时钟和上一层时钟的差值D_value保存,并把收到的上一层参考时钟写入本地RTC的CAPTUREn寄存器中。
    本层节点每600 s进行一次晶振偏移补偿:将本地时钟减去D_value,然后写入RTC寄存器,完成校对。
    由于传感器节点的侦听窗口为5 ms,若同样采用精度为20 ppm的晶振,经过计算,需要在第1 min的时候进行时钟校验,否则就会超出侦听窗口。

[page]

4 实验结果
   
实验采用两块基于Si1000芯片的节点电路板,其中一块作为第N层节点,另一块作为第N+1层节点。
    在两级节点的软件中加入测试信号输出:每过5 s,RTC中断事件会把MCU唤醒,同时会在MCU的一个端口输出一个低电平脉冲。将脉冲信号输入到示波器的两个输入通道中,记录波形。
    将示波器的时域解析度放大至5μs,会发现在初始的即时同步后,两个节点之间存在绝对误差e=5.4μs,如图7所示。如果不加以干预,两节点的时钟偏差会逐步扩大,最终导致网络的不同步。


    数据采集的方法是,将这对节点每隔3 min测量一次脉冲的时间差△t,连续记录一个小时,将结果保存到表1中(两节点每10 min误差17 ms)。
    对比试验:将上述两节点软件中的自校正机制移除,即仅用即时同步机制初始同步一次,其后的晶振偏移不再校正。每隔3 min记录一次△t,将结果保存到表1中。


    用MATLAB绘制两种同步方式的对比曲线如图8所示。


    由实验结果可以看到,仅仅做了一次即时同步的一对节点,它们的时钟偏差在不断扩大,其呈现线性特征,每10 min的时钟偏差约为17 ms。
    采用了自校正技术的同步算法的一对节点,具有本地晶振振荡偏差自动补偿机制。每隔10 min,它们之间的偏差就会被校正。节点间的同步有效时间显著延长。在实际测试中,经过16个小时的实验后观测,仍能达到理想的同步效果。

5 结论
   
本文基于Si1000芯片平台,实现了一种将无线传感器网络节点的同步周期进行扩展的方法,利用即时同步技术进行节点间同步的初始化,随后每间隔一段时间,节点主动校准自己的时钟,从而实现了在没有显著增加能量消耗的前提下,扩展同步周期,提高同步精度

关键字:自校准  无线传感器网络  Si1000 引用地址:一种即时同步与时钟自校准结合的全网同步技术

上一篇:资深工程师谈传感器的设计四点注意事项
下一篇:无线传感器网络的室内定位节点设计

推荐阅读最新更新时间:2024-05-02 22:47

WSN技术和无线测量技术的完整应用方案
   一.名词释义   无线传感器网络(Wireless Sensor Network, WSN)就是由部署在监测区域内大量的廉价微型传感器节点组成,通过无线通信方式形成的一个多跳的自组织的网络系统,其目的是协作地感知、采集和处理网络覆盖区域中被感知对象的信息,并发送给观察者。传感器、感知对象和观察者构成了无线传感器网络的三个要素。作为无线自组双向通信网络,传感器网络能以最大的灵活性自动完成不规则分布的各种传感器与控制节点的组网。   WSN技术作为无线测量技术的一个重要分支,正越来越多地受到广大应用工程师的青睐和关注,不仅在工业控制、环境监测等领域,而且在军工、航空航天正被广泛地应用。WSN引领下的无线测量技术的前景是无限的
[测试测量]
WSN技术和无线测量技术的完整应用方案
基于无线传感器网络的数据无线传输系统设计
    0 引 言     无线传感器网络就是一种RGS系统(远程地面传感器系统),它是一种利用多种传感器作为综合情报采集元件,进行数据融合、编码等处理后,发送给指挥中心,处理还原后在监控平台显示出来的探测系统。它集传感器技术、图像探测技术、震动探测技术、声音探测技术、无线通信技术、数字编码压缩技术、信息融合技术及计算机技术为一体,是由多种高新技术集成的综合性技术。无线多传感器网络系统主要由以下几部分组成:     (1)系统前端传感器及GPS模块——信号采集部分:主要是由图像、声音、震动以及红外传感器组成的探测单元和GPS模块构成,负责完成战场信息监测任务。     (2)信息传输部分:主要负责将采集到的信息压缩编码和
[嵌入式]
基于DL/T645规约的电能表集抄无线传感器网络MAC协议设计
0 引言     无线传感器网络(Wireless Sensor Networlks,WSN)以其能够协作感知和采集网络分布区域的信息而成为最近几年无线通信领域一个最重要的研究热点,并已引起了学术界和工业界的高度重视,被专家誉为是将对21世纪产生巨大影响的技术之一。无线传感器网络被广泛应用于国防军事技术、环境信息监测、城市交通管理、医疗设备、工农业监测与控制等领域。在电能表集抄技术的数据传输中,人们对于无线传感器网络技术的期待是:如何用简洁的协议栈来支持网络的有效运行;如何利用广播信息,就可以避免交互应答;如何得到简化的协议层次和精简的信令方式;如何节省系统的开销等。一些专用于无线传感器网络中的通信协议,可使网络中能量获得最大的节
[嵌入式]
无线传感器网络时间同步协议的实现
    本文主要是以高速运动目标的监测系统为研究背景,该监测系统是将多个ZigBee节点布设在监测区域(移动目标可能出现的区域),其中心节点和路由节点一直处于丁作状态;其他的节点在没有任务时,设定唤醒时间后进入休眠状态。最终各个传感器节点通过不同跳转路径将数据汇总到中心节点,由中心节点进行处理或者通过网关将数据传送到其他设备再进行处理。整个系统的网络示意图如图1所示。     本系统中由于目标的运动速度非常高,目标的具体位置和状态需要由多个ZigBee节点共同协作来工作,所以针对系统的时间同步研究是非常的重要。而导致时间同步的因素很多,除了发送时间、访问时间、传送时间、传播时间、接收时间、接受时间会影响网络时间的同步,还有就是
[嵌入式]
采用MC13192的无线传感器网络节点设计方案
引言   无线传感器网络是计算机技术、通信技术和传感器网络技术相结合的产物,是互联网领域研究的热点之一。应用于无线传感器网络的技术有许多种(如蓝牙技术、红外技术和超带宽无线通信技术等),推动了无线传感器网络的发展。但是,在家庭控制、医疗护理和工业监测应用中不需要很高的带宽,需要的只是低延迟、低功耗;而如果使用现有的、过于复杂的无线通信技术,将非常耗电,占用过多的计算和通信资源。为满足上述要求,ZigBee技术应运而生。ZigBee技术是一种具有统一技术标准的短距离无线通信技术,把低功耗、低成本作为重要目标,主要应用于低速传输,可以作为无线传感器网络的通信协议。   传感器节点是组成无线传感器网络的基本单元,是构成无线传感器
[嵌入式]
基于TinyOS的无线传感器网络构建
无线传感器网络是由大量低廉的微型传感器节点组成的无线网络,是目前国际上无线领域研究的热点之一,应用前景非常好;而TinyOS是美国的伯克利大学开发的,为嵌入式无线传感器网络而设计的源码开放的操作系统,它运行在每个网络节点上,是其他上层应用和协议运行的前提。本设计以nRF24E1无线通信模块为核心,基于无线传感器网络操作系统TinyOS,使用模块化设计思路,实现了一个无线传感器网络。 1 无线传感器网络设计 1.1 系统构成概述 无线传感器网络由三类节点构成:一般采集所需要的信息无线终端节点;收集一般节点中的数据并进行存储、处理、上传的无线路由器节点;无线服务节点实现无线路由器节点处理中心并充当网关与其他外部网络的连接。三
[应用]
LabVIEW无线传感器网络(WSN)模块先锋的介绍
使用图形化编程快速开发的优势 对无线传感器节点编程传统上是需要具有嵌入式系统的知识,还要能够理解供应商所选用的特定的基于文本的编程语言。通过LabVIEW WSN Pioneer,您可使用相同的已成为工业开发采集、处理数据应用标准的图形化编程方法来向NI无线传感器节点添加智能性。LabVIEW WSN PiONeer还可灵活地将C代码与图形化代码直接结合,并在节点上运行,从而可实现算法重用。 LabVIEW WSN Pioneer极大地简化了创建NI WSN测量节点的嵌入式应用过程,正如上述LED以1Hz的频率闪烁的案例 LabVIEW WSN Pioneer包括基本的LabVIEW编程结构,如while循环、f
[测试测量]
LabVIEW<font color='red'>无线传感器网络</font>(WSN)模块先锋的介绍
无线传感器网络微型节点的实现
引言 无线传感器网络( WSN )由随机分布的集成有传感器、数据处理单元和通信模块的微型节点,通过自组织的方式构成网络,传感器网络具有分布式处理带来的监测高精度、高容错性、大覆盖区域、可远程监控等众多优点,成为近期国际上网络研究的重要热点之一。 无线传感器网络微型节点是一次性的,要求节点成本低廉和工作时间尽可能长。无线传感网络中不应该存在专门的路由器节点,每个节点既是终端节点,又是路由器节点。节点间采用移动自组织网络联系起来,并采用多跳的路由机制进行通信。因此,在单个节点上,一方面硬件必须低能耗,采用无线传输方式;另一方面软件必须支持多跳的路由协议。 IEEE 802.15.4/ZigBee
[应用]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved