一种用于低功耗无线抄表系统的同步方法

文档序号:7859736阅读:302来源:国知局
专利名称:一种用于低功耗无线抄表系统的同步方法
技术领域
本发明属于无线传感器网络技术领域,特别涉及一种用于低功耗无线抄表系统的同步方法。
背景技术
目前已经出现的自动抄表装置大多是半自动的,在某个小区或某片区域内,每个住户的电表或水表、气表、热表都被改造成可以输出脉冲的方式,以电表为例,每个电表上标有一个脉冲常数,脉冲常数代表表盘转多少圈为一度电。假设720是脉冲常数,就表电表在表盘转了 720圈之后,电度数将会增加一度电。光电探头的作用就是把表盘的机械转数转换为电脉冲数,也就是电表表盘每转一圈就会使光电探头产生一个电脉冲,此脉冲就会由传输线传送给采集终端。每个电表或者水表、气表、热表上连接一个采集终端,即采集器,它们都具有无线发送和接收的能力。采集器带有CPU和存储器。仪表度数即存储在存·储器中,它的数字和仪表上的数字是一致的。此数据在采集器掉电后可以长期保存十年以上。采集器采集到的仪表度数并不会在采集器上进行处理,它必须传输汇总到中心计算机上进行存储和处理。目前数据从采集器到中心计算机的传输存在两种方案,一种是人工方法,另一种是无线通信方法。人工方法是由人工手持数据采集器,到每一个采集器终端所在地一一读取数据,然后手工将数据输入计算机。无线通信方法是在中心计算机和所有终端之间建立一个无线通信系统,通过无线方式实现数据的自动传输。图I显示了苏州博联科技公司自主开发的无线抄表系统的基本方案,系统协调器和采集器均采用了 MSP430系列MCU和CC1100E射频芯片,此处不再对协调器和采集器做详细介绍。由于受无线电管理委员会规定的限制,采集终端的无线模块功率较小,距离相隔太远,数据通信就不能正常进行,所以必须通过在其间加入新的采集器终端,通过无线传感网络技术,使得这些终端节点形成自组织的多跳网络,以互为中继、存储转发的方式,将数据通过多次转发最终上报到协调器。上述无线抄表系统中,从中心终端计算机到协调器的通信使用有线方式;每个协调器到其下属各个采集器终端之间的通信采用无线方式。在一个小区中,仪表类型大致分为四类电表、水表、气表和热表。而对于低功耗表,它最大的瓶颈在于能耗,由于米用电池供电,能耗过大将使得节点寿命缩短,使得实用性降低。所以为了减少低功耗表的能耗,这里采用同步的方式,使节点在有数据需要传输的时候唤醒,在空闲时进入休眠。

发明内容
技术问题本发明针对低功耗无线抄表系统对能耗有较高要求,需要一个节点连续工作七年以上的情况,提出了一种减少节点能耗的同步方法。技术方案本发明通过一种用于低功耗无线抄表系统的同步方法,使得以末端电表节点为根节点的低功耗子网络里的所有低功耗节点与电表节点保持同步,能够在同一时刻醒来进行数据发送和接收。该方法通过入网同步、定期同步维护和定期同步检查三个过程来实现了低功耗节点和电表节点的时间同步,并且定期的纠正同步误差以减少失同步节点出现的概率,除此之外,还包含了重新让失同步节点进行同步的措施;该方法主要应用于由一个中心站、隶属于中心站的多个协调器、隶属于各个集中器的大量终端、与各个终端通过有线方式连接的若干用户表组成的无线自动抄表系统。该系统中的每个集中器和终端都具有发射/接收无线信号的能力,它们自组织形成网络,通过多跳的方式,将信息采集指令和采集到的信息先汇聚到协调器,然后最终传送到中心站的终端电脑进行分析和处理。整个同步过程包含以下几个步骤
I)入网同步过程,在节点请求加入网络的过程中增加同步帧的发送,以便该请求入网节点能调整自身时间,保持与其父节点的同步,该同步巾贞的发送是在节点入网数据巾贞发送完成并且已经在协调器注册之后才发送的,收到该同步帧之后,节点将进入步骤2);另外,如果向该节点发送入网同步巾贞joinSync的节点是电表节点,那么该电表节点将会进入步骤7);
2)节点时间调整过程,在节点收到同步帧信息之后,将会开启自身时间调整的过程,在该过程中,主要完成的工作是与上一跳节点进行时间校准和计算下一次同步时间;对于入网同步巾贞joinSync,将进入步骤6),对于定期同步巾贞Sync,节点将进入步骤5);
3)时间校准,接收到同步巾贞之后,将会获取当前节点的时间currentTime,该时间与同步帧传输延时之和与同步帧中包含的父节点时间进行比较,求出误差值extTick,再通过把当前节点时钟加上误差值的方式,获取到当前节点与其父节点同步之后的时间timeGet,通 过上述过程,就完成了时间校准,进入步骤4);
4)下一次同步时间计算,当前节点进行完时间校准后,还要重新计算下一次节点醒来的时间,即下一次同步时间,该节点将在这个时间点醒来以接收数据包和发送数据,该过程结束后将进入步骤8);
5)同步信息转发过程,同步信息包含的内容有节点当前时间和下一次同步时间;对于低功耗节点的定期同步,不仅要进行自身时间的校准,还要转发同步信息给它的子节点,以保证整个子网络的所有低功耗点都能时间同步,该过程所完成的工作就是重新获取当前时间currentTime和下一次同步时间nextSyncTime,并重新组成一个同步包,发送给其子节点;
6)休眠过程,
61)关闭射频,以减少能耗,该过程中节点将进入休眠,没有数据的发送和接收,所以关闭射频;
62)微控制器进入低功耗模式,该过程是通过重复定时中断来实现的,定时中断的时间长度是可配置的,通过不停的进入该中断,使得节点能够实时的判断自身剩余休眠时间的大小,以便在休眠时间将要过去之前的一个时间点完成射频从关闭状态转换为接收状态,并且使微控制器跳出重复定时中断,进入非低功耗模式;
63)在上面两个过程完成之后,节点将会被唤醒并转换为接收模式,此时将会接收到同步帧,此时将再次进入步骤3),在新的一轮时间校准之后,将判断是否有数据帧和查表指令需要发送或者转发,如果有,将对应发送该帧,之后将再次进入步骤6);
7)定期同步维护开启过程,当判断本节点为电表节点并且其下一跳子节点为低功耗节点时,该节点将开启定期同步过程,即每过一段时间发送一次同步帧Sync,该同步帧的作用是及时纠正同步误差,减少失同步节点出现的概率。同步帧的发送是在每次的同步唤醒时间进行的,同步帧发出之后,其它低功耗节点将会接收到该同步帧,进而对自身时间进行校准,并且重新计算出新的下一次同步时间nextSyncTime,组成一个新的同步巾贞,转发给其它低功耗节点,这个过程一直持续下去,直到低功耗网络末端节点为止,
8)同步检查开启过程,当本节点为低功耗节点时,将开启同步检查过程,该过程主要的作用是发现失去同步的节点,并使其重新同步;同步检查就是检查每个节点的同步状态标志位,如果节点在同步周期内收到同步帧,并且进行过时间校准的话,它的同步状态标志位将会是IN-SYNCHRONOUS状态,反之如果在3个同步周期之内都没有收到同步帧,那么同步标志位将变为IN-ASYNCHRONOUS状态;如果检查到标志位是IN-SYNCHRONOUS状态,那么将执行步骤6),如果检查到已经处于IN-ASYNCHRONOUS状态,那么将进入步骤9),
9)失同步节点重新同步过程,对于失去同步的节点,将会重新发送同步请求信息,以请求其父节点发送同步巾贞以使其同步,父节点收到同步请求之后将会发送同步巾贞给该节点,该节点进入步骤3),进行重新同步。
有益效果本发明由于采取以上技术方案,具有以下优点
I.入网时同步,在低功耗节点申请入网并且注册成功之后,发送入网同步帧,这样做使得节点一入网就是与其父节点同步的,为后期的定期同步奠定了基础。并且这个入网同步帧的发送并不复杂。2.定期同步维护,在低功耗节点入网同步完成之后,末端电表节点便开启定期同步的过程,这个过程使得子网中的所有子节点能够每过特定时间就进行一次误差纠正,从而尽可能的保持误差在允许范围之内,使得在增加误差容量的唤醒时间内能够收到同步帧和数据帧。3.低功耗节点的同步检查可以定期的检查是否有节点失去同步了,可以尽快的恢复网络的流畅,避免出现长期抄不到表的节点。4.本发明适用于整片小区大范围电水气热表的抄表工作,支持仪表节点数量达到5000-10000 个。


图I是本发明的应用场景框架图,
图2是下一次同步时间计算方法示意图,
图3是本发明整体流程图,
图4是同步过程中数据流程图,
图5是失同步节点重新同步流程图。
具体实施例方式下面结合附图和实施例对本发明进行详细点描述。本发明通过一种用于低功耗无线抄表系统的同步方法,使得以末端电表节点为根节点的低功耗子网络里的所有低功耗节点与电表节点保持同步,能够在同一时刻醒来进行数据发送和接收。每个所述的数据包的发送流程包括以下步骤1)入网同步过程,在节点请求加入网络的过程中增加同步帧的发送,以便该请求入网节点能调整自身时间,保持与其父节点的同步,该同步巾贞的发送是在节点入网数据巾贞发送完成并且已经在协调器注册之后才发送的,收到该同步帧之后,节点将进入步骤2);另外,如果向该节点发送入网同步巾贞joinSync的节点是电表节点,那么该电表节点将会进入步骤7);
2)节点时间调整过程,在节点收到同步帧信息之后,将会开启自身时间调整的过程,在该过程中,主要完成的工作是与上一跳节点进行时间校准和计算下一次同步时间;对于入网同步巾贞joinSync,将进入步骤6),对于定期同步巾贞Sync,节点将进入步骤5);
3)时间校准,接收到同步巾贞之后,将会获取当前节点的时间currentTime,该时间与同步帧传输延时之和与同步帧中包含的父节点时间进行比较,求出误差值extTick,再通过把当前节点时钟加上误差值的方式,获取到当前节点与其父节点同步之后的时间timeGet,通过上述过程,就完成了时间校准,进入步骤4); 4)下一次同步时间计算,当前节点进行完时间校准后,还要重新计算下一次节点醒来的时间,即下一次同步时间,该节点将在这个时间点醒来以接收数据包和发送数据,该过程结束后将进入步骤8);
5)同步信息转发过程,同步信息包含的内容有节点当前时间和下一次同步时间;对于低功耗节点的定期同步,不仅要进行自身时间的校准,还要转发同步信息给它的子节点,以保证整个子网络的所有低功耗点都能时间同步,该过程所完成的工作就是重新获取当前时间currentTime和下一次同步时间nextSyncTime,并重新组成一个同步包,发送给其子节点;
6)休眠过程,
61)关闭射频,以减少能耗,该过程中节点将进入休眠,没有数据的发送和接收,所以关闭射频;
62)微控制器进入低功耗模式,该过程是通过重复定时中断来实现的,定时中断的时间长度是可配置的,通过不停的进入该中断,使得节点能够实时的判断自身剩余休眠时间的大小,以便在休眠时间将要过去之前的一个时间点完成射频从关闭状态转换为接收状态,并且使微控制器跳出重复定时中断,进入非低功耗模式;
63)在上面两个过程完成之后,节点将会被唤醒并转换为接收模式,此时将会接收到同步帧,此时将再次进入步骤3),在新的一轮时间校准之后,将判断是否有数据帧和查表指令需要发送或者转发,如果有,将对应发送该帧,之后将再次进入步骤6);
7)定期同步维护开启过程,当判断本节点为电表节点并且其下一跳子节点为低功耗节点时,该节点将开启定期同步过程,即每过一段时间发送一次同步帧Sync,该同步帧的作用是及时纠正同步误差,减少失同步节点出现的概率。同步帧的发送是在每次的同步唤醒时间进行的,同步帧发出之后,其它低功耗节点将会接收到该同步帧,进而对自身时间进行校准,并且重新计算出新的下一次同步时间nextSyncTime,组成一个新的同步巾贞,转发给其它低功耗节点,这个过程一直持续下去,直到低功耗网络末端节点为止,
8)同步检查开启过程,当本节点为低功耗节点时,将开启同步检查过程,该过程主要的作用是发现失去同步的节点,并使其重新同步。同步检查就是检查每个节点的同步状态标志位,如果节点在同步周期内收到同步帧,并且进行过时间校准的话,它的同步状态标志位将会是IN-SYNCHRONOUS状态,反之如果在3个同步周期之内都没有收到同步帧,那么同步标志位将变为IN-ASYNCHRONOUS状态。如果检查到标志位是IN-SYNCHRONOUS状态,那么将执行步骤6),如果检查到已经处于IN-ASYNCHRONOUS状态,那么将进入步骤9),
9)失同步节点重新同步过程,对于失去同步的节点,将会重新发送同步请求信息,以请求其父节点发送同步巾贞以使其同步,父节点收到同步请求之后将会发送同步巾贞给该节点,该节点进入步骤3),进行重新同步。本发明所述的低功耗节点的时间校准和下一次同步时间的计算分别采用下面的方法实现
I)时间校准设节点间数据传输延时为timeLast,当前时间为currentTime,对应的时间获取函数为extTickGetO,校正后时间为timeGet,对应的时间获取函数为timeGet O,时间误差为tickAdjust。 在节点收到同步巾贞时,将通过extTickGet O函数获取一次当前时间currentTime,这个时间加上传输延时在理论上将与父节点发送的同步巾贞中的当前时间相等,如果不相等即存在误差。通过比较二者求出误差值tickAdjust,在timeGet O中,使得通过extTickGet函数获取的时间与这个误差值相加,最终得到一个经过校准的时间timeGet。这个时间将被作为低功耗节点经过校准之后的时间。2)下一次同步时间计算在实现同步时,为了方便和精确,选用了在整点进行同步的方式。所谓整点就是在用十六进制表示的时间上,并且对于小端模式的微控制器,高8位保留,低8位清零。设同步周期为0x0100,第一次同步时间为0x0000,那么接下来的同步时间依次为0x0100, 0x0200, 0x0300, 0x0400, 0x0500 ......,如图 2 所示。如果在某一时刻取得了一个当前时间为0x0124,那么将通过上面的方法,将其高8位保留,低8位清零,这样得到了一个时间0x0100,然后该时间加上一个同步周期0x0100,就得到了下一次同步时间0x0200,依次类推。图I是本发明所适用的应用场景框架图,大体介绍了实际应用中所包含的各个组成部分,包括中心终端计算机,协调器节点和采集器节点(包括电表节点和低功耗表节点)。除了中心计算机之外,其它所有节点均具有发射和接收功能,均采用MSP430系列MCU和CC1100E芯片。采集器是依附在仪表上的,每块仪表配有一块采集器。当有抄表需求时,通过中心计算机发送抄表指令,经过多跳自组织的网络依次下传直至被查询的仪表。当有数据上传时,也是通过多跳网络依次上传直至协调器,然后协调器和中心终端计算机之间采用有线连接。图2是下一次同步时间计算方法示意图。该图描述了上面介绍的下一次同步时间的计算方法,即当取得一个非整点值时,通过高8位保留,低8位清零的方式回归到上一整点,然后再加上一个同步周期计算得下一次同步时间。这样做可以保证同步的精度,并且使得同步过程比较简单方便。图3是本发明的整体流程图,介绍了本发明中同步所经历的三个过程,分别是入网同步过程、定期同步过程和同步检查过程。在图中可以看出整个同步过程每一阶段所进行的操作。首先,节点上电,此时低功耗节点开始请求入网,在入网注册成功的情况下,开始由末端电表节点发送入网同步帧,当低功耗节点收到入网同步帧后,就开始进行时间校准和休眠控制。同时对于下一跳节点为低功耗节点的电表节点来说,此时开启定期同步过程。在定期同步过程中,如果收到了同步帧,那么节点除了进行时间校准和休眠之外,还要开启同步检查过程,该过程是为了及时查找出失同步节点并再次让其同步以恢复网络流畅的。如果三个同步周期内都没有收到同步帧,那么节点被判定为失同步,失去同步的节点开始进行重新同步,重新同步的过程涉及到了 CC1100E的无线唤醒功能。图4是同步过程中数据流程图,包含了从请求入网到入网同步直到最后节点进入休眠的重要过程。图5是失同步节点重新同步流程图,描述了失同步节点重新同步的过程。·
权利要求
1.一种用于低功耗无线抄表系统的同步方法,其特征在于,该方法通过入网同步、定期同步维护和定期同步检查三个过程来实现了低功耗节点和电表节点的时间同步,并且定期的纠正同步误差以减少失同步节点出现的概率, 整个同步过程包含如下步骤 1)入网同步过程,在节点请求加入网络的过程中增加同步帧的发送,以便该请求入网节点能调整自身时间,保持与其父节点的同步,该同步巾贞的发送是在节点入网数据巾贞发送完成并且已经在协调器注册之后才发送的,收到该同步帧之后,节点将进入步骤2);另外,如果向该节点发送入网同步巾贞joinSync的节点是电表节点,那么该电表节点将会进入步骤7); 2)节点时间调整过程,在节点收到同步帧信息之后,将会开启自身时间调整的过程,在该过程中,主要完成的工作是与上一跳节点进行时间校准和计算下一次同步时间;对于入网同步巾贞joinSync,将进入步骤6),对于定期同步巾贞Sync,节点将进入步骤5); 3)时间校准,接收到同步巾贞之后,将会获取当前节点的时间currentTime,该时间与同步帧传输延时之和与同步帧中包含的父节点时间进行比较,求出误差值extTick,再通过把当前节点时钟加上误差值的方式,获取到当前节点与其父节点同步之后的时间timeGet,通过上述过程,就完成了时间校准,进入步骤4); 4)下一次同步时间计算,当前节点进行完时间校准后,还要重新计算下一次节点醒来的时间,即下一次同步时间,该节点将在这个时间点醒来以接收数据包和发送数据,该过程结束后将进入步骤8); 5)同步信息转发过程,同步信息包含的内容有节点当前时间和下一次同步时间;对于低功耗节点的定期同步,不仅要进行自身时间的校准,还要转发同步信息给它的子节点,以保证整个子网络的所有低功耗点都能时间同步,该过程所完成的工作就是重新获取当前时间currentTime和下一次同步时间nextSyncTime,并重新组成一个同步包,发送给其子节点; 6)休眠过程, 61)关闭射频,以减少能耗,该过程中节点将进入休眠,没有数据的发送和接收,所以关闭射频; 62)微控制器进入低功耗模式,该过程是通过重复定时中断来实现的,定时中断的时间长度是可配置的,通过不停的进入该中断,使得节点能够实时的判断自身剩余休眠时间的大小,以便在休眠时间将要过去之前的一个时间点完成射频从关闭状态转换为接收状态,并且使微控制器跳出重复定时中断,进入非低功耗模式; 63)在上面两个过程完成之后,节点将会被唤醒并转换为接收模式,此时将会接收到同步帧,此时将再次进入步骤3),在新的一轮时间校准之后,将判断是否有数据帧和查表指令需要发送或者转发,如果有,将对应发送该帧,之后将再次进入步骤6); 7)定期同步维护开启过程,当判断本节点为电表节点并且其下一跳子节点为低功耗节点时,该节点将开启定期同步过程,即每过一段时间发送一次同步帧Sync,该同步帧的作用是及时纠正同步误差,减少失同步节点出现的概率。同步帧的发送是在每次的同步唤醒时间进行的,同步帧发出之后,其它低功耗节点将会接收到该同步帧,进而对自身时间进行校准,并且重新计算出新的下一次同步时间nextSyncTime,组成一个新的同步巾贞,转发给其它低功耗节点,这个过程一直持续下去,直到低功耗网络末端节点为止, 8)定期同步检查开启过程,当本节点为低功耗节点时,将开启同步检查过程,该过程主要的作用是发现失去同步的节点,并使其重新同步;同步检查就是检查每个节点的同步状态标志位,如果节点在同步周期内收到同步帧,并且进行过时间校准的话,它的同步状态标志位将会是IN-SYNCHRONOUS状态,反之如果在3个同步周期之内都没有收到同步帧,那么同步标志位将变为IN-ASYNCHRONOUS状态;如果检查到标志位是IN-SYNCHRONOUS状态,那么将执行 步骤6),如果检查到已经处于IN-ASYNCHRONOUS状态,那么将进入步骤9), 9)失同步节点重新同步过程,对于失去同步的节点,将会重新发送同步请求信息,以请求其父节点发送同步巾贞以使其同步,父节点收到同步请求之后将会发送同步巾贞给该节点,该节点进入步骤3),进行重新同步。
全文摘要
本发明公开了一种适用于低功耗无线抄表系统的节点同步方法,选取电表主干网的末端电表节点的时钟作为同步时间源,通过低功耗节点和电表节点之间的三重有效的数据交互过程和节点自身对于时间的调整来实现各个低功耗节点与电表节点的时间同步。三重有效的数据交互过程为节点入网同步,定期同步维护,定期同步检查。本发明所实现的同步是子网内同步,即每个以电表网络末端电表节点为根节点的低功耗子网保持时间同步。本同步方案建立在低功耗硬件平台MSP430+CC1100E上,通过几种包含时间信息的数据帧的交互和涉及到低功耗机制的硬件底层驱动共同来完成从软件协议栈到硬件的低功耗控制。
文档编号H04W56/00GK102905354SQ201210327178
公开日2013年1月30日 申请日期2012年9月6日 优先权日2012年9月6日
发明者刘昊, 康长宇, 蒋富龙, 吴建辉 申请人:东南大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1