基于锁相环的时间同步机制与算法
锁相环原理及其时钟配置
锁相环原理及其时钟配置2011-03-07 22:17:17| 分类:飞思卡尔智能车|字号大中小订阅MCU 的支撑电路一般需要外部时钟来给MCU 提供时钟信号,而外部时钟的频率可能偏低,为了使系统更加快速稳定运行,需要提升系统所需要的时钟频率。
这就得用到锁相环了。
例如MCU 用的外部晶振是16M 的无源晶振,则可以通过锁相环PLL 把系统时钟倍频到24M,从而给系统提供更高的时钟信号,提高程序的运行速度。
51 单片机,A VR单片机内部没有锁相环电路,其系统时钟直接由外部晶振提供。
而XS128 内部集成了锁相环电路,其系统时钟既可由外部晶振直接提供,也可以通过锁相环倍频后提供,当然,还有由XS128 内部的时钟电路来提供(当其它来源提供的系统时钟不稳定时,内部时钟电路就起作用了,也就是自时钟模式)。
锁相环作为一个提供系统时钟的模块,是一个基本的模块,几乎每次编程序都得用到。
下面记一下怎样配置锁相环来设定想要的系统时钟。
锁相环PLL、自时钟模式和前面说的实时中断RTI、看门狗COP 都属于系统时钟与复位CRG 中的模块,固前面用到的寄存器,这里有些会再用到。
在程序中配置锁相环的步骤如下:第一、禁止总中断;第二、寄存器CLKSEL 的第七位置0,即CLKSEL_PLLSEL=0。
选择时钟源为外部晶振OSCCLK,在PLL 程序执行前,内部总线频率为OSCCLK/2。
CLKSEL_PLLSEL=0 时,系统时钟由外部晶振直接提供,系统内部总线频率=OSCCLK/2(OSCCLK 为外部晶振频率)。
CLKSEL_PLLSEL=1 时,系统时钟由锁相环提供,此时系统内部总线频率=PLLCLK/2 (PLLCLK 为锁相环倍频后的频率)。
第三、禁止锁相环PLL,即PLLCTL_PLLON=0。
当PLLCTL_PLLON=0 时,关闭PLL 电路。
当PLLCTL_PLLON=1 时,打开PLL电路。
第四、根据想要的时钟频率设置SYNR 和REFDV 两个寄存器。
相位 同步 调节方法
相位同步调节方法相位同步调节方法一、相位同步的概念相位同步是指在通信系统中,发送端和接收端的时钟频率不完全一致,导致数据传输过程中出现时间偏移,从而影响数据传输质量。
因此需要采取一定的措施来实现相位同步。
相位同步是保证通信系统正常运行的重要前提。
二、相位同步的原理在通信系统中,发送端和接收端的时钟频率不完全一致,导致数据传输过程中出现时间偏移。
为了解决这个问题,需要在系统中引入一个参考时钟,并将其作为标准时钟来进行数据传输。
具体实现方法包括:将参考时钟信号通过某种方式传送到接收端,并在接收端使用该参考时钟来进行数据解调和处理。
三、常见的相位同步方法1. PLL(锁相环)法PLL是一种广泛应用于电子通信领域的同步技术。
它利用反馈控制原理实现对输入信号与参考信号之间的相位误差进行调节。
PLL法具有响应速度快、精度高等优点,在数字通信系统中得到了广泛应用。
2. FLL(锁频环)法FLL是一种基于锁相环的同步技术。
它主要用于频率同步,但也可以用于相位同步。
FLL法通过对输入信号的频率进行测量和调节来实现相位同步,具有简单、易实现等优点。
3. DPLL(数字锁相环)法DPLL是一种基于数字信号处理的同步技术。
它将输入信号进行数字化处理,并通过数字计算来实现对输入信号与参考信号之间的相位误差进行调节。
DPLL法具有高精度、高稳定性等优点,在数字通信系统中得到了广泛应用。
四、相位同步调节方法1. 预估法预估法是一种基于预测模型的同步方法。
它通过对接收端接收到的数据进行预测,从而推算出发送端和接收端之间的时间偏移,并根据推算结果来进行相位调节。
预估法具有响应速度快、精度高等优点,在高速数据传输中得到了广泛应用。
2. 闭环控制法闭环控制法是一种基于反馈控制原理的同步方法。
它通过反馈控制来实现对输入信号与参考信号之间的相位误差进行调节,从而达到相位同步的目的。
闭环控制法具有响应速度快、精度高等优点,在数字通信系统中得到了广泛应用。
位同步数字锁相环的原理与应用
位同步数字锁相环的原理与应用数字锁相环(Digital Phase-Locked Loop,DPLL)是一种用于同步信号的控制系统。
位同步数字锁相环(Bit Synchronous Digital Phase-Locked Loop)是一种特殊类型的数字锁相环,它主要用于数据通信领域中的时钟恢复和数据恢复。
在数字通信中,时钟信号的同步非常重要。
传输过程中,由于信号经过传输介质会受到噪声、衰减等因素的影响,导致时钟信号的相位和频率发生偏移。
为了恢复信号的正确时钟,就需要使用位同步数字锁相环。
位同步数字锁相环的原理基于相位比较器和数字控制环路。
首先,接收到的信号经过采样,然后由相位比较器将采样的信号与本地时钟信号进行相位比较。
相位比较器输出的误差信号经过数字控制环路进行滤波和调整,最后控制本地时钟信号的相位和频率,使其与接收到的信号保持同步。
位同步数字锁相环广泛应用于数字通信领域中的解调器和调制器设计。
在解调器中,位同步数字锁相环用于恢复接收信号的时钟,确保数据的正确接收。
在调制器中,位同步数字锁相环用于生成发送信号的时钟,确保数据的正确发送。
位同步数字锁相环的应用不仅限于数字通信领域。
它还被广泛应用于数字音频设备、数字视频设备以及其他需要对时钟信号进行同步的领域。
在数字音频设备中,位同步数字锁相环用于恢复音频信号的时钟,确保音频数据的正确传输。
在数字视频设备中,位同步数字锁相环用于恢复视频信号的时钟,确保视频数据的正确显示。
位同步数字锁相环的优点在于精度高、稳定性好、抗干扰能力强。
相对于传统的模拟锁相环,位同步数字锁相环具有更高的抗噪声和抗干扰能力。
同时,由于数字控制环路的设计和实现较为灵活,位同步数字锁相环的性能可以根据具体应用需求进行优化。
位同步数字锁相环是一种用于同步信号的控制系统,广泛应用于数字通信、数字音频、数字视频等领域。
它的原理基于相位比较器和数字控制环路,通过比较相位误差来控制本地时钟的相位和频率,使其与接收到的信号保持同步。
基于FPGA的锁相环位同步提取电路设计
基于FPGA的锁相环位同步提取电路设计锁相环(Phase-Locked Loop,PLL)是一种广泛应用于通信、控制及信号处理等领域的电路,能够实现频率同步和相位同步。
在本文中,我们将讨论基于FPGA的锁相环位同步提取电路设计。
首先,我们将介绍锁相环的基本原理。
锁相环由相位比较器、低通滤波器、VCO(Voltage-Controlled Oscillator)和分频器组成。
相位比较器用于比较参考信号和反馈信号的相位差,将相位差转换为电压差。
低通滤波器将电压差平滑处理,得到控制电压,用于控制VCO的频率。
VCO产生与输入信号频率相同的输出信号,通过分频器将输出信号分频后与参考信号进行比较,实现频率同步。
在基于FPGA的锁相环位同步提取电路设计中,我们的目标是实现一个能够提取输入信号的位同步信息的电路,其中输入信号可能包含多个周期不同的位同步序列。
首先,我们需要设计一个相位比较器,用于比较参考信号和输入信号的相位差。
可以使用FPGA中的数字时钟管理模块来实现相位比较器,将输入信号与参考信号都映射到固定的时钟边沿上,并通过计数器测量输入信号和参考信号之间的相位差。
然后,我们需要设计一个低通滤波器,用于平滑处理相位差。
可以使用FPGA中的滑动平均滤波器来实现低通滤波器,通过对相位差进行滑动平均运算,得到平滑的控制电压。
接下来,我们需要设计一个VCO,用于产生与输入信号频率相同的输出信号。
可以使用FPGA中的数字控制模块来实现VCO,通过调节VCO的控制电压来控制输出频率。
最后,我们需要设计一个分频器,将VCO的输出信号分频后与参考信号进行比较。
可以使用FPGA中的计数器来实现分频器,通过设置分频器的计数值来实现对VCO输出信号的分频。
在整个电路设计过程中,我们需要注意以下几点:1.选择合适的时钟频率和分辨率。
时钟频率要足够高,以满足输入信号的高速采样需求。
分辨率要足够高,以保证位同步信息的精确提取。
2.选择合适的滤波器参数。
锁相环原理及锁相环原理图
问题:什么是锁相环(PLL)?锁相环的工作原理是什么?锁相环电路对硬件电路连接有什么要求?解答:锁相环是一种反馈电路,其作用是使得电路上的时钟和某一外部时钟的相位同步。
PLL通过比较外部信号的相位和由压控晶振(VCXO)的相位来实现同步的,在比较的过程中,锁相环电路会不断根据外部信号的相位来调整本地晶振的时钟相位,直到两个信号的相位同步。
在数据采集系统中,锁相环是一种非常有用的同步技术,因为通过锁相环,可以使得不同的数据采集板卡共享同一个采样时钟。
因此,所有板卡上各自的本地80MHz和20MHz时基的相位都是同步的,从而采样时钟也是同步的。
因为每块板卡的采样时钟都是同步的,所以都能严格地在同一时刻进行数据采集。
通过锁相环同步多块板卡的采样时钟所需要的编程技术会根据您所使用的硬件板卡的不同而不同。
对于基于PCI总线的产品(M系列数据采集卡,PCI数字化仪等),所有的同步都是通过RTSI总线上的时钟和触发线来实现的;这时,其中一块版板卡会作为主卡并且输出其内部时钟,通过RTSI线,其他从板卡就可以获得这个用于同步的时钟信号,对于基于PXI总线的产品,则通过将所有板卡的时钟于PXI内置的10MHz背板时钟同步来实现锁相环同步的。
关于更多的不同仪器的锁相环技术,请点击下面相关的连接。
锁相环原理及锁相环原理图1.锁相环的基本组成锁相环中的鉴相器又称为相位比较器,它的作用是检测输入信号和输出信号的相(t)电压信号输出,该信号经低通滤位差,并将检测出的相位差信号转换成uD波器滤波后形成压控振荡器的控制电压u(t),对振荡器输出信号的频率实施C控制。
2.锁相环的工作原理(8-4-1)(8-4-2)0为压控振荡器在输入控制电压为零或为直流电压时的振荡角频率,称为电路的固有振荡角频率。
则模拟乘法器的输出电压u D 为:C (t )。
即u C (t )为:(8-4-3)i 为输入信号的瞬时振荡角频率,θi (t )和θO (t )分别为输入信号和输出信号的瞬时位相,根据相量的关系可得瞬时频率和瞬时位相的关系为:即 (8-4-4)d 为(8-4-5)(8-4-6)c (t )为恒定值。
一种基于软件锁相环实现位同步的设计的研究报告
一种基于软件锁相环实现位同步的设计的研究报告软件锁相环实现位同步的设计研究本文旨在探讨软件锁相环实现位同步的设计。
位同步是一种用于建立数据通信中信号位数、时隙长度、传输位比特等各参数之间的精确关系。
为了实现位同步,要解决的悬而未决的难题是如何保证发送和接收器能够在同一个位置接收信号。
在此基础上,本文提出了软件锁相环实现位同步的设计方法。
软件锁相环实现位同步的设计是基于引入一个专门的单位——相环(Phase-Locked Loop, PLL)来实现信号位定位。
相环有两个重要部分:解调器和控制器。
解调器用于接收和解调传入信号,并将解调结果作为输入发送给控制器;控制器则对传入信号进行分析,根据结果控制发出的信号的频率,以保持发出和接收信号在同一个位置上。
在实际设计过程中,首先要采用基于正交分频复用的方法,通过使用正交分频器将位率降低至接近信号位定位所需要的频率。
然后,可以采用相环或其他方法对位率进行调节,以确保比特精度不会受到影响。
此外,为了实现软件锁相环实现位同步的设计,可以利用软件中的环路控制技术,通过设置位率阈值,实现自适应控制。
在低位率下,信号位定位精度会受到较大干扰,机器可以通过调整频率来对应调节;当位率超过阈值时,机器会采取相反的调整方法来保持比特精度。
总之,软件锁相环实现位同步的设计有助于提高信号位定位和传输比特精度,可以保证信号传输可靠准确。
本文仅简单介绍了软件锁相环实现位同步的设计,更详细的研究需要有关专业人员深入研究。
相关数据分析本文旨在对相关数据进行分析,从而获得可信的结论。
首先,我们收集了若干组值得信赖的数据(X1, X2, ... Xn),通过合理的方法分析这些数据,将其赋予特定的意义。
首先,进行相关分析来确定X1,X2,…Xn之间的关系。
为此,使用残差分析法对相关数据进行处理,从而得出X1,X2,…Xn 之间的拟合函数,确定X1,X2,…Xn之间的关系。
随后,使用变量分析法开展统计分析,以找出X1,X2,…Xn之间的相关性。
一种延时电路及基于fpga锁相环的延时方法
延时电路及基于FPGA锁相环的延时方法一、延时电路的基本原理和应用延时电路是指能够延时信号传输的电路,其原理是利用电流的流动速度、信号的处理速度或者电磁波的传播速度进行延时。
延时电路在通信、数字信号处理、测试测量和控制系统等领域有着广泛的应用。
在数字电路中,延时电路可以用于信号同步、时序控制、脉冲信号的调整和缓冲等方面。
而在模拟电路中,延时电路则主要用于模拟信号的延迟、滤波、时序控制和相位调整等方面。
二、FPGA锁相环的基本原理和特点FPGA锁相环(PLL)是一种电路,它可以将输入的时钟信号锁定到一个输出时钟信号,并保持它们之间的稳定相位关系。
锁相环可以用于时序控制、时钟信号的提取和合成、频率合成和时序对齐等应用中。
FPGA锁相环通常由相位比较器、VCO(Voltage Controlled Oscillator)、反馈环和分频器等部分组成。
通过这些部分的协同工作,锁相环可以实现对输入时钟信号的锁定、稳定输出时钟信号的产生以及相位和频率的调整。
三、基于FPGA锁相环的延时方法1. 描述基于FPGA锁相环的延时方法基于FPGA锁相环的延时方法是指利用FPGA锁相环的特点和功能,实现对输入信号的延时控制。
借助FPGA锁相环的高度灵活性和精准性,可以实现对信号的微秒甚至纳秒级别的延时。
2. 讨论在延时电路中的应用在延时电路中,基于FPGA锁相环的延时方法可以应用于时序控制、信号同步、时钟调整和相位对齐等方面。
它可以满足对信号延时精度和稳定性要求较高的场合,并且具有较大的灵活性和可编程性。
3. 讨论FPGA锁相环延时方法的优势相比传统的延时电路,基于FPGA锁相环的延时方法具有精度高、延时范围广、响应速度快以及可编程性好等优势。
它可以根据具体的应用需求进行灵活设置和调整,同时还可以克服传统延时电路中存在的一些不足之处。
四、个人观点和总结基于FPGA锁相环的延时方法是一种高效、灵活且精准的延时控制手段,在现代电子技术领域有着广泛的应用前景。
实验五:数字锁相环与位同步
实验五:数字锁相环与位同步一、实验目的1. 掌握数字锁相环工作原理以及触发式数字锁相环的快速捕获原理。
2. 掌握用数字环提取位同步信号的原理及对信息代码的要求。
3. 掌握位同步器的同步建立时间、同步保持时间、位同步信号同步抖动等概念。
二、实验内容1. 观察数字环的失锁状态、锁定状态。
2. 观察数字环锁定状态下位同步信号的相位抖动现象及相位抖动大小与固有频差、信息代码的关系。
3. 观察数字环位同步器的同步保持时间与固有频差之间的关系。
三、基本原理可用窄带带通滤波器,锁相环来提取位同步信号。
实验一中用模数混合锁相环(电荷泵锁相环)提取位同步信号,它要求输入信号是一个准周期数字信号。
实验三中的模拟环也可以提取位同步信号,它要求输入准周期正弦信号。
本实验使用数字锁相环提取位同步信号,它不要求输入信号一定是周期信号或准周期信号,其工作频率低于模数环和模拟环。
用于提取位同步信号的数字环有超前滞后型数字环和触发器型数字环,此实验系统中的位同步提取模块用的是触发器型数字环,它具有捕捉时间短、抗噪能力强等特点。
位同步模块原理框图如图5-1所示,电原理图如图5-2所示(见附录)。
其内部仅使用+5V电压。
位同步器由控制器、数字锁相环及脉冲展宽器组成,数字锁相环包括数字鉴相器、量化器、数字环路滤波器、数控振荡器等单元。
下面介绍位同步器的工作原理。
数字锁相环是一个单片机系统,主要器件是单片机89C51及可编程计数器8254。
环路中使用了两片8254,共六个计数器,分别表示为8254A0、8254A1、8254A2、8254B0、8254B1、8254B2。
它们分别工作在M0、M1、M2三种工作模式。
M0为计数中断方式,M1为单稳方式,M2为分频方式。
除地址线、数据线外,每个8254芯片还有时钟输入端C 、门控信号输入端G 和输出端O 。
数字鉴相器电原理图及波形图如图5-3(a )、图5-3(b )所示。
输出信号宽度正比于信号ui 及uo 上升沿之间的相位差,最大值为ui 的码元宽度。
锁相环工作原理
锁相环工作原理锁相环(Phase-Locked Loop,PLL)是一种常见的电子控制系统,用于将输入信号与参考信号进行同步。
它在许多领域中都有广泛的应用,例如通信系统、数字信号处理、频率合成器等。
本文将详细介绍锁相环的工作原理及其组成部份。
一、锁相环的基本原理锁相环的工作原理是通过不断调整反馈信号的相位和频率,使其与参考信号保持同步。
其基本原理可以概括为以下几个步骤:1. 参考信号产生:锁相环的输入信号通常是一个参考信号,它可以是一个稳定的时钟信号或者其他周期性信号。
2. 相频比较器:相频比较器用于比较输入信号和参考信号的相位差和频率差。
相位差可以通过比较两个信号的零交叉点来测量,频率差可以通过比较两个信号的周期来测量。
3. 错误放大器:错误放大器用于放大相频比较器的输出误差信号。
该误差信号表示输入信号和参考信号之间的相位和频率差异。
4. 低通滤波器:低通滤波器用于滤除错误放大器输出中的高频噪声,得到一个平滑的控制信号。
5. 控制电压产生:控制电压产生电路将滤波后的控制信号转换为控制电压,用于调整反馈信号的相位和频率。
6. 反馈电路:反馈电路将调整后的反馈信号送回相频比较器,与参考信号进行比较,形成闭环控制。
通过以上步骤,锁相环不断调整反馈信号的相位和频率,使其与参考信号同步,实现相位锁定和频率锁定。
二、锁相环的组成部份锁相环通常由以下几个主要组成部份构成:1. 相频比较器:相频比较器用于比较输入信号和参考信号的相位差和频率差。
常见的相频比较器有边沿比较器、乘法器、数字式比较器等。
2. 错误放大器:错误放大器是一个放大器,用于放大相频比较器的输出误差信号。
常见的错误放大器有运算放大器、差分放大器等。
3. 低通滤波器:低通滤波器用于滤除错误放大器输出中的高频噪声,得到一个平滑的控制信号。
常见的低通滤波器有RC滤波器、积分器等。
4. 控制电压产生电路:控制电压产生电路将滤波后的控制信号转换为控制电压,用于调整反馈信号的相位和频率。
基于锁相环的时间同步机制与算法概要
ISSN 1000-9825, CODEN RUXUEW E-mail: jos@Journal of Software, Vol.18, No.2, February 2007, pp.372−380 DOI: 10.1360/jos180372 Tel/Fax: +86-10-62562563© 2007 by Journal of Software. All rights reserved.基于锁相环的时间同步机制与算法∗任丰原 +, 董思颖 , 何滔 , 林闯(清华大学计算机科学与技术系 , 北京 100084A Time Synchronization Mechanism and Algorithm Based on Phase Lock LoopREN Feng-Yuan+, DONG Si-Ying, HE Tao, LIN Chuang(Department of Computer Science and Technology, Tsinghua University, Beijing 100084, China+ Corresponding author: Phn: +86-10-62772487, Fax: +86-10-62771138, E-mail: renfy@Ren FY, Dong SY, He T, Lin C. A time synchronization mechanism and algorithm based on phase lock loop.Journal of Software, 2007,18(2:372−380. /1000-9825/18/372.htmAbstract : In this paper, the analysis model of computer clock is discussed, and the characteristic of the existingsynchronization mechanisms is summarized. Subsequently, a unidirectional reference broadcast synchronizationmechanism with low power is developed, and this mechanism can achieve simultaneously the offset compensationand drift compensation. Its implementation algorithm is designed based on the principle of traditional phase lockedloop (PLL. In order to avoid introducing the extra hardware, a simple digital PLL is constructed. Finally, thevalidation is done on the Mica2 experimental platform, and the performance is evaluated and compared with thetypical algorithms.Key words: wireless sensor network; time synchronization; phase locked loop; clock offset; clock drift摘要 : 在讨论计算机时钟分析模型的基础上 , 分析和总结已有的时间同步机制的特点 , 提出了一种低能耗单向广播校正同步机制 , 同时进行时钟偏移补偿和漂移补偿 , 并基于传统的锁相环 (phase locked loop,简称 PLL 原理设计了同步算法 . 为了避免实现过程中额外的硬件开销 , 开发了一种简洁的数字锁相环 . 最后 , 在 Mica2实验平台上对所设计的同步机制与算法进行了验证 , 并与已有的典型算法进行了性能比较 .关键词 : 无线传感器网络 ; 时间同步 ; 锁相环 ; 时钟偏移 ; 时钟漂移中图法分类号 : TP393文献标识码 : A无线传感器网络 (wireless sensor network,简称 WSN 中的时间同步是指使网络中所有或部分节点拥有相同的时间基准 , 即不同节点保持相同的时钟 , 或者节点可以彼此将对方的时钟转换为本地时钟 . 造成传感器网络节点间时钟不一致的因素主要包括温度、压力、电源电压等外界环境变化引起的时钟频率漂移造成的失步 . 不同∗Supported by the National Natural Science Foundation of China under Grant Nos.60573122, 60672118 (国家自然科学基金 ; theNational Grand Fundamental Research 973 Program of China under GrantNo.2006CB303000 (国家重点基础研究发展规划 (973; theNational High-Tech Research and Development Plan of China under GrantNos.2006AA01Z225, 2006AA09Z117 (国家高技术研究发展计划 (863; the Program of the Ministry of Education of China for New Century Excellent Talents in University (NCET (国家教育部新世纪优秀人才支持计划 ; the Fundamental Research Foundation of Tsinghua University of China under Grant No.JCqn2005023 (清华大学基础研究基金Received 2005-07-07; Accepted 2006-01-24任丰原等 :基于锁相环的时间同步机制与算法 373节点的时钟初始值也各不相同 :一方面 , 开发过程中设定的初始值不同 ; 另一方面 , 为了节省能耗 , 节点通常依赖外部被观测事件频繁休眠和启动 , 时间间隔差异也可能造成新的同步过程中时钟初值的差异 . 此外 , 还有特殊事件处理对时钟的影响 , 比如 Berkeley 的 Mote 平台在处理分组发送和数据感知任务时忽略了时钟中断 . 因此 , 时钟误差就无法避免 . 虽然上述综合因素给传感器网络的时间同步制造了不小的障碍 , 但诸多应用的迫切需要使得有关时间同步机制的研究具有现实的理论意义和应用价值 . 概括来讲 , 与时间同步紧密相关的应用主要集中在多传感器数据融合、网络协议实现、节点数据处理、观测事件与自然时间关联、低能耗设计、测距定位和协同工作方面 [1]. 因为无线自组织网络特有的属性和设计要求 , 传统的时间同步技术 , 如 NTP(network time protocol 协议和 GPS(global position system授时等 , 无法应用在 WSN 中 [2], 于是 , 无线传感器网络中的时间同步技术就成为一个新的研究热点 . 在本文中 , 我们将首先讨论计算机时钟的分析模型 , 在此基础上给出时钟同步的一般性定义 , 分析时钟偏移补偿和漂移补偿的技术特点 , 并讨论数字时钟和软件时钟的构造方法 . 随后 , 总结已有同步机制的优、缺点 , 分析它们的能量开销 , 并由此确定一种较为理想的同步机制 , 在锁相环原理的支持下 , 开发适应新机制的低成本同步实现算法 . 最后 , 完成实验验证和相关的性能评价 .1 概念与定义1.1 时钟模型在计算机系统中 , 时钟通常用晶体振荡器脉冲来度量 , 即(1(d ( (0 0t c k t c tt +=∫ττω其中:ω(t 是晶振的频率 ; k 是依赖于晶振物理特性的常量 ; t 是真实时间变量 ; c (t 是构造的本地时钟 , 间隔c (t − c (t 0 被用来作为度量时间 . 对于理想的时钟 , 我们有 r (t =dc (t /dt =1,也就是说 , 理想时钟的变化速率 r (t 为 1, 但在工程实践中 , 因为温度、压力、电源电压等外界环境的变化 , 往往会导致晶振频率产生波动 . 因此 , 构造理想时钟比较困难 . 但在一般情况下 , 晶振频率的波动幅度并非任意的 , 而是局限在一定的范围之内 . 为了方便描述和分析 , 定义如下 3种时钟模型 :(1 速率恒定模型速率恒定模型假定时钟速率 r (t =dc (t /dt 是恒定的 , 即晶振频率没有波动发生 . 当要求的时钟精度远低于频率波动导致的偏差时 , 该模型的假定应该是合理的 .(2 漂移有界模型定义时钟速率 r (t 相对于理想速率 1的偏差为时钟漂移(driftρ(t , 即ρ(t =r (t −1. 漂移有界模型满足下面的约束条件 :−ρmax ≤ρ(t ≤ρmax , ∀t (2此外 , 我们还有ρ(t >−1, 它的物理意义是时钟永远不会停止(ρ(t =−1 或倒走(ρ(t <−1. 因为硬件设备厂商可以给出晶振频率变化的范围 , 对于传感器网络节点使用的低成本的晶振 , 一般有ρmax ∈[10,100]ppm∗. 因此 , 漂移有界模型在工程实践中非常有用 , 常用来确定时钟的精度或误差的上下界 .(3 漂移变化有界模型该模型假定时钟漂移的变化ξ(t =dρ(t /dt 是有界的 , 即−ξmax ≤ξ(t ≤ξmax , ∀t (3 时钟漂移的变化主要是温度和电源电压等因素发生变化所引起的 , 一般变化速率相对缓慢 , 可以通过适当的补偿算法加以修正 .1.2 时钟同步假定 c (t 是一个理想的时钟 . 如果在 t 时刻有 c (t =c i (t 时钟 , 则称时钟 c i (t 在 t 时刻是准确的 (correct;如果∗ ppm:百万分之一 . 漂移为 100ppm 的时钟在 1百万秒中将会发生 100秒的偏差 , 或者 1秒中出现 100毫秒的偏移 .374 Journal of Software 软件学报 Vol.18, No.2, February 2007(t c o k d c (t /dt =dc i (t /dt , 则称时钟 c i (t 在 t 时刻是精确的 (accuracy;如果 c i (t =c k (t , 则称时钟 c i (t 在 t 时刻与时钟 c k (t 是同步的 (synchronized.上述定义表明 , 两个同步时钟不一定是准确或精确的 , 时间同步与时间的准确性和精度没有必然的联系 , 只有实现了与理想时钟 (即真实的物理时间的完全同步之后 , 三者才是统一的 . 对于大多数的传感器网络应用而言 , 只需要实现网络内部节点之间的时间同步 [1], 这就意味着节点上实现同步的时钟可以是不精确 , 甚至是不准确的 .如果采用时钟速率恒定模型 , 由式 (1,时钟 c i (t 可以简化表示为c i (t =a i t +b i (4 由此可知 , 时钟 c i (t 和 c k (t 之间应该存在如下的线性关系 : c i (t =a ik c k (t +b ik (5 其中 , a ik 和 b ik 分别称为相对漂移量和相对偏移量 . 式 (5给出了两种基本的同步原理 :偏移补偿和漂移补偿 . 如果在某个时刻通过一定的算法求得了 b ik , 也就意味着在该时刻实现时钟 c i (t 和 c k (t 的同步 . 图 1刻画了偏移量补偿的过程 , 时钟 c k (t 在一系列的同步时刻被同步到参考时钟c i (t . 由此 , 可以进一步构造同步时钟偏移补偿没有考虑时钟漂移对同步精度的影响 . 在图 1中 , 这一点意味着 :在每一个同步间隔上 , 同步时钟与本地时钟 c . (t c o k k (t 具有相同的变c i c k c (t 化速率 . 因此 , 如图 1所示 , 同步时间间隔越大 , 同步误差也就越大 . 为了提高精度 , 可以考虑增加同步频率 , 但会引入相应的开销 ; 另外一种解决途径是估计相对漂移量进行相应的修正来减小同步误差 . 具体来讲 , 如果我们能通过算法估计出本地时钟和参考时钟的相对漂移量ρi −ρk , 在构造同步时钟时 , 就有了人为弥补这种漂移的依据 . 同步时钟此时不再依赖本地时钟 c k (t 的速率变化 , 而会以接近参考时钟的速率变化 , 同步精度自然得以提 Fig.1 The principle of synchronization图 1 同步原理高 . 如果相对漂移量估计得较为准确 , 那么在很长的时间间隔上也不会产生太大的同步误差 . 在图 1中 , 是采用漂移补偿技术之后可能得到的同步时钟之一 , 同步误差不再像那样与同步周期密切相关 . 可见 , 漂移(t c d k (t c o k 补偿是一种有效的同步手段 , 在同步间隔较大时效果尤为明显 . 当然 , 实际的晶体振荡器很难长时间稳定工作在同一频率上 , 因此 , 在线实时估计时钟的相对漂移量是必要的 . 漂移量估计需要一定的观测数据 , 在交换数据的过程中 , 同时完成偏移补偿是一种既节省开销又能提高同步精度的策略 . 因此 , 我们将综合应用偏移补偿和漂移补偿来实现一种高精度、低开销的时间同步算法 .1.3 数字时钟计算机系统中的本地时钟 (local clock通常由一个计数器组成 , 用来记录晶体振荡器产生脉冲的个数 . 在本地时钟的基础上 , 我们可以构造出不同类型的软件时钟 , 例如c (t =c (t 0+a {h (t −h (t 0},这里 h (t 是本地时钟 , 函数 a (⋅用来将计数器读数的差值转化为时间间隔 , 构造时钟 c (t . 以 Mica2节点为例 , 晶振频率为 4MHz, 如果设定本地时钟每 64个“ 滴答声 (ticks” 增加 1, 那么 a (⋅=16µs, 这意味着该时钟频率为 62.5KHz, 其最高精度为 16µs. 同步算法可以直接修改本地时钟 h (t , 也可以单独构建一个软件时钟 c s (t 来维护同步时钟 .2 同步机制2.1 基本机制自 2002年 J. Elson和 Kay Romer在 HotNets 这一影响未来网络研究发展方向的国际权威学术会议上首次提出和阐述无线传感器网络中的时间同步这一研究课题以来 [3], 已经提出了近 10种不同的实现算法 , 典型的有 RBS(reference broadcast synchronization[4],DMTS(delay measurement time synchronization[5],FTSP(flooding time synchronization protocol[6],AD(asynchronism diffusion[7],TPSN(time synchronization for sensor networks[8],任丰原等 :基于锁相环的时间同步机制与算法 375TS/MS(tiny synchronization/mini synchronization[9],LTS(lightweight time synchronization[10]和 Tsync(time synchronization [11]. 分析已有的同步机制与算法 , 它们大多采用两类基本的同步机制 :单向广播 (unidirectional broadcast 同步和双向成对 (bidirectional pair-wise同步 , 其中 :算法 RBS,DMTS,FTSP 和 AD 属于前者 ; 算法TPSN, TS/MS和 LTS 属于后者 ; 而需要多信道支持的 TSync 算法则组合应用了两种机制 , 在控制信道上广播同步消息 , 在时钟信道上采用成对同步确定时钟偏移 . 双向成对同步的原理如图 2所示 .T 41T 3Fig.2 Bidirectional two-paired synchronization图 2 双向成对同步节点 A 向节点 B 发送同步分组 1, 节点 B 用它的时钟记录收到该分组的时间 T 2, 则 T 2=T 1+D +d , 其中 , D 是传输时间 ; d 是节点 A 和 B 之间的时钟偏移量(offset.之后 , B 向 A 发送一个携带 T 2的分组 2, 同时加盖了时戳 T 3. 节点 A 在 T 4收到分组 2, 那么T 4=T 3+D −d . 假设时钟偏移量和传播延迟在较小的时间尺度内不发生改变 , 则节点 A 通过式 (6就可以计算出时钟偏移量 d 和传输延迟 D ., 2 ( (3412T T T T d −−−= 2( (3412T T T T D −+−= (6 一个特例是节点 B 在收到同步分组后立即加盖时戳返回 , 即 T 2=T 3.TS/MS[9]就使用了这一机制 , 但没有采用式 (6计算偏移量来实现同步 , 而是利用三元组 (T 1, T 2, T 4 集合寻找两个时钟线性关系中参数的上下界来确定漂移量和偏移量 , 最终完成同步 .两两成对同步虽然能达到一定的同步精度 , 但开销过大 . 假定传感器网络的某个簇类 (cluster中包含 n 个节点 , 那么在一个同步周期内 , 总共需要 2n 个分组交换 , 其中 , 信标 (beacon节点发送 n 个 , 接收 n 个 . 为了提高精度 , 增加同步频率会导致更多的能量损耗 . 在有些对能耗非常敏感的无线传感器网络应用中 , 这样的开销是不可接受的 . 相比之下 , 广播同步机制开销要小一些 , 簇类中所有节点可以同时依据信标节点发送的同步分组一次完成同步 .RBS 是一种基于广播同步的算法 , 但广播分组的作用仅仅在于启动一次新的同步过程 , 节点之间时钟的偏移量是通过相互交换接收到广播分组的本地时间后计算得到的 . 与两两成对同步相比 ,RBS 避免了一些可能引入随机误差的环节 [4], 但通信开销没有显著降低 .DMTS 和 FTSP 则利用了单向广播分组实现同步 , 减小了通信开销 . 两者的不同之处在于 ,FTSP 采用比DMTS 更为精确的计算偏移量的机制与算法 .从已有的各种算法的同步原理分析 , 除了 TS/MS以外 , 几乎所有算法都以偏移补偿为主 , 有些算法如 RBS 和 FTSP 等 , 虽然结合了漂移补偿技术 , 但都无一例外地通过对多个样本数据进行线性回归处理来估计漂移量 , 对应算法的空间复杂度相对较大 :TS/MS中的 Tiny-Snyc 用两个数据点确定了 4个约束边界 , 虽然开销小 , 但无法给出相对漂移和相对偏移的最优估计 ;Mini-Sync 用复杂的算法确定性地删除不影响精度的数据点 , 但需要保存有用的历史数据 , 以求得最优估计 ; 文献 [9]建议的 40个三元组数据点的存储对于资源有限的无线传感器网络节点是不小的开销 .上面有关无线传感器网络中同步原理、机制和算法的分析与总结 , 启发我们提出了如下的研究思路 :采用单向广播同步机制设计一种满足一定精度要求 , 同时具备漂移和偏移补偿功能且复杂度较小的同步算法 . 下面 , 我们将利用传统的锁相环(phase locked loop,简称 PLL 原理 , 设计一种新的时间同步机制与算法 .3 同步机制与算法设计3.1 广播校正同步机制考虑到无线传感器网络中由于节点和链路失效等因素导致拓扑结构动态变化的特点 , 以及为均衡能量损376 Journal of Software 软件学报 Vol.18, No.2, February 2007耗、延长网络生命周期而采用拓扑控制等系统性优化能耗的方案对网络带来的影响 , 我们沿用 FTSP 中“ 根节点” 的选取和维护方案 [6], 着重讨论广播域内单跳同步机制与原理 , 在此基础上扩展到整个网络的多跳机制是较为直接和方便的 . 在一个广播域内 , 时钟参考节点 (时标周期性广播同步分组 , 分组中携带了时标节点的本地时钟 , 为避免广播分组在发送、访问信道和接收过程中由于系统和信道状态的不确定性因素可能引入的误差 , 我们也采用在 MAC(media access control层加盖时戳的方案 [6,8]. 收到同步分组的节点容易得到两个时钟间的差 ,FTSP 和 DMTS 直接用差值进行了偏移补偿 . 如果能通过分析这个差值时间序列 , 得到两个时钟相对漂移的信息 , 一次完成偏移和漂移补偿 , 则这样的时间同步算法会更有效率 . 因为它不会再像 FTSP 那样 , 为了进行线性回归处理而维护大量的历史数据 . 为此 , 需要设计一个简单的滤波器来递推估计差值序列的变化 , 进行相应的校正 . 我们将这一新机制称为广播校正同步机制 . 需要指出的是 , 这里 , 我们忽略了广播分组传播延时的差异给同步精度造成的影响 . 如果广播域覆盖半径约为 30米 (ZigBee标准定义的有效传输距离 , 最大的传播延时差异为 100纳秒 , 对于精度要求为毫秒或微秒级的同步算法 , 忽略传播延时差异是合理的 . 广播校正同步机制与其他同步补偿算法最大的区别在于 :同步过程并非在某个时刻通过补偿一次完成 , 而是要经过一个动态调整的瞬态过程 , 进入稳态意味着实现了同步 . 本质上 , 广播校正同步机制主要利用了锁相环原理进行时钟频率锁定 , 最终实现了时钟同步 . 为了便于后面的论述 , 我们首先结合传统锁相环技术的锁频原理 , 介绍我们的同步算法的机理 .在图 3中 , h 1(k 和分别表示广播分组中携带的参考时钟和任意节点的同步时钟 , 它们的差值 e (k 经过低通滤波器处理后 , 消除了高频噪声 . 为了方便设计 , 我们采用常用的比例积分 (proportional integral,简称 PI 控制器作为滤波器 , 控制信号 v (k 作为压控振荡器 (voltage control oscillator,简称 VCO 的输入 , K (*2k h . (*2k h . (*2k h 0是 VCO 的基准频率 . 不难看出 ,VCO 的输出频率 f (k 随着误差信号 e (k 动态地发生变化 . f (k 经过零阶保持器和积分环节后转化为节点的同步时钟基于锁相环的时钟同步需要压控振荡器支持 , 追加额外的硬件是追求低成本节点实现所不期望的 . 为此 , 我们给出了下面的等价实现 , 它是全数字式 , 避免了对压控振荡器的依赖 .Loop filterFig.3 The principle of clock synchronization based on phase locked loop图 3 基于锁相环的时钟同步原理3.2 数字锁相环由图 3可知 ,(7 T k v K k h k h ( ( 1(0*2*2+=+其中 :T 是同步周期 , 即T =t (k +1−t (k ; t 为真实的物理时间 . 因为 VCO 的基准频率 K 0是恒定的 , 所以我们可用网络节点上晶振的固有频率等效替代 . 依据晶振频率和计数器的关系 , 有K 0{t (k +1−t (k }=h 2(k +1−h 2(k (8 这里 , h 2(k 为被同步节点的本地时钟 . 将式 (8代入式 (7,即可得到一个不依赖压控振荡器的数字锁相环 . (9]( 1([( ( 1(22*2*2k h k h k v k h k h −++=+依据式 (9,我们有如图 4所示的数字锁相环结构图 .式 (9仅仅给出了同步时钟的离散形式 , 在此基础上 , 我们可以进一步构造出连续时间的软件时钟 c 2(t 供应用程序使用 .(10}( ({ ( (*22*22i i t h t h a t c t c −+=其中 , 是同步时钟计数器在同步时刻的值 . 值得注意的是 , 在每一个同步时刻 , 需要用同步时钟的值替换本 (*2i t h任丰原等:基于锁相环的时间同步机制与算法 377 * 地时钟计数器,即 h2 (t i = h2 (t i . h2(k PI h1(k e(k Kp KiT(1+z1 2(1z1 z1 v(k 1z1 * h2 ( k Fig.4 3.3 滤波器实现The framework of digital phase looked loop 图4 数字锁相环结构接下来我们具体设计滤波器,主要是确定滤波器的参数 Kp 和 Ki 的值.由图 3 可知,系统的开环传递函数为 K T (1 + z 1 K 0Tz 1 K 0T (2 K p + K i T z + K i T 2 K p (11 Go ( z = K p + i = 2(1 z 1 1 z 1 2( z 1 2 开环系统有两个相同极点 p1,2=1.依据根轨迹变化规律 ,出于稳定性的考虑 ,开环系统的零点应该最好在单 [ ] 位圆内,不妨假定为 0.5,即 z= 2 K p K iT 2 K p + K iT = 1 2 (12 于是有 2Kp=3KiT 闭环系统的特征方程为 (13 (14 (152(z12+K0T(2Kp+KiTz+K0T(KiT2Kp=0 代入式(13,有 z22(K0KiT21z+1K0KiT2=0 振荡.这意味着被同步时钟不会围绕着参考时钟来回摆动,将单调逼近参考时钟.于是有如果方程式 (15 有两个相同的实根 , 则闭环系统将是一个典型的欠阻尼二阶系统 , 瞬态过程将不发生任何 4(K0KiT2124(1K0KiT2=0 即 (16 (17 KiK0T2=1 令采样时间T=1s,如前所述,Mica2 节点的时钟固有频率 K0=62.5KHz,那么 Ki=1.6×105, Kp=1.5,Ki=2.4×105. 4 性能评价为了验证所设计同步机制与算法的有效性,我们在流行的Mica2 实验平台上用 nesC 实现了基于锁相环的同步算法.实验配置如图 5 所示:MIB510 板上的 sink 节点充当“时标”节点,周期性地广播时钟信号;节点 A,B,C 是网络中将被同步节点.为了测试同步精度,让 sink 节点在两个同步广播分组之间再广播一个时钟读取请求,网络节点在收到该请求的瞬时记录当前各自的本地同步时钟 , 之后陆续发送回 sink 节点 . 用 TinyOS 内置的 SerialForwarder 例程将 Sink 节点收集到的时钟消息通过串口送至 PC 进行分析.取网络节点与 Sink 节点时钟的最大偏差为同步误差. 图 6 给出了同步过程中误差的变化趋势:最终,同步误差稳定到了一定的范围内.为了更清晰地反映稳态过程中误差的变化,我们截取图 6 中的一段,放大于图 7 中,可以看出,锁相环同步算法能够达到毫秒级的同步精度. 响应性是同步算法的一个重要性能指标.观察图 6,经过一个短暂的调节过程(约 15 拍 ,误差就回到了稳态值.具体的响应时间与同步周期有关,频率越高,同步时间越短.如果 15 拍即可完成同步,当同步周期为 1s 时,同步378 Journal of Software 软件学报 Vol.18, No.2, February 2007 时间为 15s;当同步周期为 20s 时,同步时间则是 5min.为了加速同步过程,可以在启动同步过程时适当提高同步频率 , 之后 , 为减小开销 , 适当降低频率 . 这不会对我们提出的同步算法的精度带来太大影响 , 因为理论上基于锁相环的同步算法的精度与同步周期的相关性不大.这一点,后面的实验会进行证实. Sink RS 232 MIB 510 PC Node A Node B Node C Fig.5 1000 900 800 700 600 500 400 300 200 100 0 Experiment Configuration 图5 实验配置 5 4.5 4 3.5 3 2.5 2 1.5 1 0.5 0 100 120 140 160 180 200 220 240 260 280 300 Sample point Error (ms 0 50 100 150 200 250 250 Sample point Fig.6 Variation of error 误差变化 Error (ms Fig.7 Variation of stable error 稳态误差变化图6 图7 下面我们考察同步间隔对于同步精度的影响,分别取同步周期为 20s,50s,100s 和 200s,采样稳态过程中同步误差的变化,将结果绘制在图 8 中. 3 2.5 2 1.5 1 0.5 0 3 2.5 2 1.5 1 0.5 0 3 2.5 2 1.5 1 0.5 0 3 2.5 2 1.5 1 0.5 0 0 50 100 150 Sample point 200 T=20 0 50 100 150 200 250 T=50 300 Error (ms 0 50 100 150 200 250 T=100 300 0 50 100 150 200 250T=200 300 250 300 Fig.8 The impact of sampling cycle on synchronization error 图8 采样周期对同步误差的影响任丰原等:基于锁相环的时间同步机制与算法 379 为了方便比较,我们作进一步的定量分析,求取误差的均值、方差和最大值,将统计结果列于表 1 中.不难看出,在 4 组实验中,不同的同步周期并没有给同步精度带来明显的影响.这也是我们设计的机制与算法同时进行偏移和漂移补偿的技术体现.而单纯进行偏移补偿的同步算法如TPSN 和 LTS 等,精度不可避免地受到同步周期的影响 , 周期越短 , 精度越高 , 但相应的通信能耗也越大 . 在这一点上 , 我们提出的基于锁相环的单向广播校正同步机制与算法有较为明显的优势. Table 1 表1 Period (s 20 50 100 200 Statistic of PLL synchronization error 锁相环同步机制的误差统计值 Deviation (ms 0.282 0.316 0.294 0.291 Maximum (ms 1.760 1.728 1.888 1.790 Mean (ms 1.162 1.126 1.142 1.173 为了方便比较,我们在 Mica2 平台上实现 TPSN 算法.分别取同步周期为 5s,10s,25s 和 50s进行实验,采样时钟误差,将结果绘制在图 9 中;进行统计处理后得到表 2 所列各项数据. 3 2.5 2 1.5 1 0.5 0 3.0 2.5 2 1.5 1 0.5 0 3 2.5 2 1.5 1 0.5 0 10 8 6 4 2 0 T=5 0 50 100 150 200 250 T=10 300 Error (ms 0 50 100 150 200 250 T=25 300 0 50 100 150 200 250 300 350 400 T=50 450 500 0 200 400 600 800 1000 1200 Sample point 1400 1600 1800 2000 Fig.9 图9 Table 2 Period (s 5 10 25 50 Results of TPSN TPSN 算法的结果Statistic of TPSN synchronization error 表2 TPSN 同步误差统计值 Deviation (ms 0.11 0.21 0.53 4.00 Maximum (ms 1.76 2.45 3.86 9.07 Mean (ms 0.60 0.74 1.28 3.07 分析表2 中的数据,TPSN 的精度与同步周期密切相关,周期增大,则精度降低.图 9 揭示了精度降低的原因, 当同步周期增大以后,节点晶振频率漂移对误差的影响凸现.观察图 9 中最下面两组曲线,误差呈线性规律增长的情形不断出现,其根本原因在于,TPSN 只在同步时刻进行偏移补偿,而没有相应的漂移补偿措施.380 Journal of Software 软件学报 Vol.18, No.2, February 2007 5 结论在本研究中 , 我们基于传统的锁相环原理设计了一种能耗开销较小 ,同时进行偏移补偿和漂移补偿的无线传感器网络同步机制与算法 .实验验证了其设计的可行性 ,算法到达了预期的技术目标 ,在目前的测试环境下达到了毫秒级同步精度 .但这一测试方案存在系统误差 , 主要是节点接收和处理时钟读取请求过程中的随机因素引入的.在下一步的工作中,我们将寻求更合理的测试方案,如在网络节点上加装 GPS 接收机来建立相对准确的时间基准平台 , 进而测试和分析各种算法的同步精度 . 此外 , 受到网络节点数量的限制 , 我们目前的研究只进行了广播域内单跳同步机制与算法的测试 .虽然理论上可以采用 FTSP[6]的扩展方案将我们的算法很直接地拓展到多跳环境中 ,但应该还需要搭建具有一定规模的实验网来进行测试和验证 ,这是另一项需要进一步完成的工作,本文的重点在于阐述新的同步机制与实现算法. References: [1] Sundararaman B, Buy U, Kshemkalyani AD. Clock synchronization for wireless sensor networks: A survey. Elsevier Ad Hoc Network, 2005,3(3:281323. [2] [3] Sivrikaya F, Yener B. Time synchronization in sensor networks: A survey. IEEE Network,2004,18(4:4550. Elson J, Rmer K. Wireless sensor networks: A new regime for time synchronization. In: Proc. of the 1st Workshop on Hot Topics in Networks (HotNets-I. 2002. 2829. [4] Elson J, Girod L, Estrin D. Fine-Grained network time synchronization using reference broadcasts. In: Proc. of the 5th Symp. on Operating Systems Design and Implementation. ACM Press, 2002. 147163. [5] [6] Ping S. Delay measurement time synchronization for wireless sensor networks. Int’l Research Berkeley Lab., 2003. Maroti M, Kusy B, Simon G, Ledeczi A. The flooding time synchronization protocol. In: Proc. of the 2nd Int’l Conf. on Embedded Networked Sensor Systems. 2004. 3949. [7] [8] Li Q, Rus D. Global clock synchronization in sensor networks. In: Proc. of the IEEE INFOCOM 2004. Hong Kong, 2004. Ganeriwal S, Kumar R, Srivastava MB. Timing-Sync protocol for sensor networks. In: Proc. of the 1st ACM Conf. on Embedded Networked Sensor Systems (SenSys. ACM Press, 2003. 138149. [9] Sichitiu ML, Veerarittiphan C. Simple, accurate time synchronization for wireless sensor networks. In: Proc. of the IEEE Wireless Communications and Networking Conf. (WCNC 2003. 2003.[10] van Greunen J, Rabaey J. Lightweight time synchronization for sensor networks. In: Proc. of the 2nd ACM Int’l Workshop on Wireles s Sensor Networks and Applications. 2003. 1119. [11] Dai H, Han R. Tsync: A lightweight bidirectional time synchronization service for wireless sensor networks. ACM SIGMOBILE Mobile Computing and Communications Review, 2004,8(1:125139. 任丰原(1970-,男,甘肃临洮人,博士,副教授,博士生导师,CCF 高级会员,主要研究领域为网络流量管理与控制,传感器网络,系统性能评价. 何滔(1983-,男,硕士生,主要研究领域为传感器网络. 董思颖(1983-,男,。
锁相环原理及应用
锁相环原理及应用锁相环(Phase-Locked Loop,PLL)是一种电子电路,主要用于调整频率和相位,使其与输入信号同步,并用来提供高精度的时钟和频率合成。
锁相环的原理是通过不断比较参考信号和输出信号的相位差,并通过反馈控制来调整输出信号的频率和相位,使输出信号与参考信号保持稳定的相位关系。
锁相环通常由相位比较器、低通滤波器、控制电压发生器、振荡器等组成。
锁相环的工作过程可以简单描述为以下几个步骤:1.相位比较:输入信号与参考信号经过相位比较器,比较它们之间的相位差。
2.滤波调整:比较结果经过低通滤波器,得到一个控制电压,该控制电压用于调整振荡器的频率和相位。
3.振荡器反馈:通过控制电压调整振荡器的频率和相位,使输出信号与参考信号保持稳定的相位关系。
4.输出信号:输出信号作为锁相环的输出,可以用于时钟同步、频率合成等应用。
锁相环具有许多应用。
以下是一些常见的应用案例:1.时钟同步:在数字系统中,锁相环常用于同步时钟信号,确保各个子系统的时钟一致,避免数据传输错误和时序问题。
2.频率合成:通过锁相环可以将一个低频信号合成为一个高频信号,常用于通信系统、雷达、音视频处理等领域。
3.相位调制和解调:锁相环可以用于实现相位调制和解调,常用于无线通信系统和调制解调器等。
4.频率跟踪和捕获:锁相环可以自动跟踪输入信号的频率变化并调整输出信号的频率,用于跟踪和捕获频率变化较快的信号。
锁相环的优点是可以实现高精度的频率和相位调整,对于精密测量、通信系统等需要高稳定性、高精度的应用非常重要。
然而,锁相环也存在一些局限性,比如锁定时间相对较长,对噪声和干扰较敏感,需要合适的滤波器和设计来提高性能。
综上所述,锁相环是一种基于反馈控制的电子电路,通过比较输入信号和参考信号的相位差来调整输出信号的频率和相位。
它在时钟同步、频率合成、相位调制解调、频率跟踪捕获等应用中起到重要作用。
锁相环的原理和应用对于理解和设计高精度的电子系统非常关键。
一种时钟同步系统数字锁相环实现方法[发明专利]
专利名称:一种时钟同步系统数字锁相环实现方法专利类型:发明专利
发明人:何赵钢
申请号:CN99117206.X
申请日:19991112
公开号:CN1286530A
公开日:
20010307
专利内容由知识产权出版社提供
摘要:一种时钟同步系统数字锁相环实现方法,首先判断是否锁定,如果锁定,继续跟踪;如果还没有锁定,继续捕捉;如果时钟已经接近锁定,切换到捕捉带宽更窄的捕捉参数;当采用当前捕捉参数在一定时间内捕捉不到时,切换到捕捉带宽更宽的捕捉参数。
跟踪时判断是否失锁,如果失锁,则切换时钟源,并改变参数为捕捉带宽最窄的捕捉参数;如果没有失锁,则执行低通方法并输出。
因为采用捕捉参数自适应配置,能快速、平滑地捕捉到时钟源。
申请人:深圳市中兴通讯股份有限公司
地址:518057 广东省深圳市南山区高新技术产业园科技南路中兴通讯大厦
国籍:CN
更多信息请下载全文后查看。
基于全数字锁相环的电力系统高精度同步时钟
基于全数字锁相环的电力系统高精度同步时钟李泽文;舒磊;邓丰;曾祥君;邓拓夫【摘要】提出了一种基于全数字锁相环的电力系统高精度同步时钟实现方法.该方法基于卫星时钟与晶振时钟授时误差互补的特点,在卫星时钟工作正常时,利用全数字锁相环使晶振时钟跟踪卫星时钟秒脉冲的相位波动,实时消除晶振时钟的累积误差;当卫星时钟失效时,利用失效前记录的历史分频数据辨识优化分频控制参数,预测修正晶振时钟的累积误差.仿真实验结果表明,该方法实现的同步时钟具有随机误差小且累积误差小的优点,在卫星时钟失效一段时间内仍可保持较高的授时精度,可为电力系统提供精确时间同步信号.【期刊名称】《电力自动化设备》【年(卷),期】2015(035)007【总页数】5页(P32-36)【关键词】卫星时钟;数字锁相环;晶振;同步时钟;电力系统;通信;同步;误差【作者】李泽文;舒磊;邓丰;曾祥君;邓拓夫【作者单位】长沙理工大学智能电网运行与控制湖南省重点实验室,湖南长沙410114;长沙理工大学智能电网运行与控制湖南省重点实验室,湖南长沙410114;长沙理工大学智能电网运行与控制湖南省重点实验室,湖南长沙410114;长沙理工大学智能电网运行与控制湖南省重点实验室,湖南长沙410114;长沙理工大学智能电网运行与控制湖南省重点实验室,湖南长沙410114【正文语种】中文【中图分类】TM760 引言国产北斗卫星导航系统和美国全球定位系统(GPS)等多种卫星授时系统(下文统称卫星时钟)可提供全天候授时信号,授时精度高,且具有广域时间同步性能好、不受地理和气候等条件限制、应用简单等优点[1-3],在电力系统广域测量、故障行波定位等领域得到了越来越多的应用。
基于卫星时钟的精确时间同步技术受到广泛关注[4-7]。
虽然卫星时钟有着较高的授时精度和良好的广域时间同步性能,但在卫星失锁等情况下,秒脉冲误差可达几十微秒甚至上百微秒[8-11];同时卫星时钟信号在传播过程中会受到各种电磁干扰,严重时可能导致信号中断;其精度与稳定性难以满足保护监控等领域的时间同步要求。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ISSN 1000-9825, CODEN RUXUEW E-mail: jos@Journal of Software, Vol.18, No.2, February 2007, pp.372−380 DOI: 10.1360/jos180372 Tel/Fax: +86-10-62562563© 2007 by Journal of Software. All rights reserved.基于锁相环的时间同步机制与算法∗任丰原 +, 董思颖 , 何滔 , 林闯(清华大学计算机科学与技术系 , 北京 100084A Time Synchronization Mechanism and Algorithm Based on Phase Lock LoopREN Feng-Yuan+, DONG Si-Ying, HE Tao, LIN Chuang(Department of Computer Science and Technology, Tsinghua University, Beijing 100084, China+ Corresponding author: Phn: +86-10-62772487, Fax: +86-10-62771138, E-mail: renfy@Ren FY, Dong SY, He T, Lin C. A time synchronization mechanism and algorithm based on phase lock loop.Journal of Software, 2007,18(2:372−380. /1000-9825/18/372.htmAbstract : In this paper, the analysis model of computer clock is discussed, and the characteristic of the existingsynchronization mechanisms is summarized. Subsequently, a unidirectional reference broadcast synchronizationmechanism with low power is developed, and this mechanism can achieve simultaneously the offset compensationand drift compensation. Its implementation algorithm is designed based on the principle of traditional phase lockedloop (PLL. In order to avoid introducing the extra hardware, a simple digital PLL is constructed. Finally, thevalidation is done on the Mica2 experimental platform, and the performance is evaluated and compared with thetypical algorithms.Key words: wireless sensor network; time synchronization; phase locked loop; clock offset; clock drift摘要 : 在讨论计算机时钟分析模型的基础上 , 分析和总结已有的时间同步机制的特点 , 提出了一种低能耗单向广播校正同步机制 , 同时进行时钟偏移补偿和漂移补偿 , 并基于传统的锁相环 (phase locked loop,简称 PLL 原理设计了同步算法 . 为了避免实现过程中额外的硬件开销 , 开发了一种简洁的数字锁相环 . 最后 , 在 Mica2实验平台上对所设计的同步机制与算法进行了验证 , 并与已有的典型算法进行了性能比较 .关键词 : 无线传感器网络 ; 时间同步 ; 锁相环 ; 时钟偏移 ; 时钟漂移中图法分类号 : TP393文献标识码 : A无线传感器网络 (wireless sensor network,简称 WSN 中的时间同步是指使网络中所有或部分节点拥有相同的时间基准 , 即不同节点保持相同的时钟 , 或者节点可以彼此将对方的时钟转换为本地时钟 . 造成传感器网络节点间时钟不一致的因素主要包括温度、压力、电源电压等外界环境变化引起的时钟频率漂移造成的失步 . 不同∗Supported by the National Natural Science Foundation of China under Grant Nos.60573122, 60672118 (国家自然科学基金 ; theNational Grand Fundamental Research 973 Program of China under GrantNo.2006CB303000 (国家重点基础研究发展规划 (973; theNational High-Tech Research and Development Plan of China under GrantNos.2006AA01Z225, 2006AA09Z117 (国家高技术研究发展计划 (863; the Program of the Ministry of Education of China for New Century Excellent Talents in University (NCET (国家教育部新世纪优秀人才支持计划 ; the Fundamental Research Foundation of Tsinghua University of China under Grant No.JCqn2005023 (清华大学基础研究基金Received 2005-07-07; Accepted 2006-01-24任丰原等 :基于锁相环的时间同步机制与算法 373节点的时钟初始值也各不相同 :一方面 , 开发过程中设定的初始值不同 ; 另一方面 , 为了节省能耗 , 节点通常依赖外部被观测事件频繁休眠和启动 , 时间间隔差异也可能造成新的同步过程中时钟初值的差异 . 此外 , 还有特殊事件处理对时钟的影响 , 比如 Berkeley 的 Mote 平台在处理分组发送和数据感知任务时忽略了时钟中断 . 因此 , 时钟误差就无法避免 . 虽然上述综合因素给传感器网络的时间同步制造了不小的障碍 , 但诸多应用的迫切需要使得有关时间同步机制的研究具有现实的理论意义和应用价值 . 概括来讲 , 与时间同步紧密相关的应用主要集中在多传感器数据融合、网络协议实现、节点数据处理、观测事件与自然时间关联、低能耗设计、测距定位和协同工作方面 [1]. 因为无线自组织网络特有的属性和设计要求 , 传统的时间同步技术 , 如 NTP(network time protocol 协议和 GPS(global position system授时等 , 无法应用在 WSN 中 [2], 于是 , 无线传感器网络中的时间同步技术就成为一个新的研究热点 . 在本文中 , 我们将首先讨论计算机时钟的分析模型 , 在此基础上给出时钟同步的一般性定义 , 分析时钟偏移补偿和漂移补偿的技术特点 , 并讨论数字时钟和软件时钟的构造方法 . 随后 , 总结已有同步机制的优、缺点 , 分析它们的能量开销 , 并由此确定一种较为理想的同步机制 , 在锁相环原理的支持下 , 开发适应新机制的低成本同步实现算法 . 最后 , 完成实验验证和相关的性能评价 .1 概念与定义1.1 时钟模型在计算机系统中 , 时钟通常用晶体振荡器脉冲来度量 , 即(1(d ( (0 0t c k t c tt +=∫ττω其中:ω(t 是晶振的频率 ; k 是依赖于晶振物理特性的常量 ; t 是真实时间变量 ; c (t 是构造的本地时钟 , 间隔c (t − c (t 0 被用来作为度量时间 . 对于理想的时钟 , 我们有 r (t =dc (t /dt =1,也就是说 , 理想时钟的变化速率 r (t 为 1, 但在工程实践中 , 因为温度、压力、电源电压等外界环境的变化 , 往往会导致晶振频率产生波动 . 因此 , 构造理想时钟比较困难 . 但在一般情况下 , 晶振频率的波动幅度并非任意的 , 而是局限在一定的范围之内 . 为了方便描述和分析 , 定义如下 3种时钟模型 :(1 速率恒定模型速率恒定模型假定时钟速率 r (t =dc (t /dt 是恒定的 , 即晶振频率没有波动发生 . 当要求的时钟精度远低于频率波动导致的偏差时 , 该模型的假定应该是合理的 .(2 漂移有界模型定义时钟速率 r (t 相对于理想速率 1的偏差为时钟漂移(driftρ(t , 即ρ(t =r (t −1. 漂移有界模型满足下面的约束条件 :−ρmax ≤ρ(t ≤ρmax , ∀t (2此外 , 我们还有ρ(t >−1, 它的物理意义是时钟永远不会停止(ρ(t =−1 或倒走(ρ(t <−1. 因为硬件设备厂商可以给出晶振频率变化的范围 , 对于传感器网络节点使用的低成本的晶振 , 一般有ρmax ∈[10,100]ppm∗. 因此 , 漂移有界模型在工程实践中非常有用 , 常用来确定时钟的精度或误差的上下界 .(3 漂移变化有界模型该模型假定时钟漂移的变化ξ(t =dρ(t /dt 是有界的 , 即−ξmax ≤ξ(t ≤ξmax , ∀t (3 时钟漂移的变化主要是温度和电源电压等因素发生变化所引起的 , 一般变化速率相对缓慢 , 可以通过适当的补偿算法加以修正 .1.2 时钟同步假定 c (t 是一个理想的时钟 . 如果在 t 时刻有 c (t =c i (t 时钟 , 则称时钟 c i (t 在 t 时刻是准确的 (correct;如果∗ ppm:百万分之一 . 漂移为 100ppm 的时钟在 1百万秒中将会发生 100秒的偏差 , 或者 1秒中出现 100毫秒的偏移 .374 Journal of Software 软件学报 Vol.18, No.2, February 2007(t c o k d c (t /dt =dc i (t /dt , 则称时钟 c i (t 在 t 时刻是精确的 (accuracy;如果 c i (t =c k (t , 则称时钟 c i (t 在 t 时刻与时钟 c k (t 是同步的 (synchronized.上述定义表明 , 两个同步时钟不一定是准确或精确的 , 时间同步与时间的准确性和精度没有必然的联系 , 只有实现了与理想时钟 (即真实的物理时间的完全同步之后 , 三者才是统一的 . 对于大多数的传感器网络应用而言 , 只需要实现网络内部节点之间的时间同步 [1], 这就意味着节点上实现同步的时钟可以是不精确 , 甚至是不准确的 .如果采用时钟速率恒定模型 , 由式 (1,时钟 c i (t 可以简化表示为c i (t =a i t +b i (4 由此可知 , 时钟 c i (t 和 c k (t 之间应该存在如下的线性关系 : c i (t =a ik c k (t +b ik (5 其中 , a ik 和 b ik 分别称为相对漂移量和相对偏移量 . 式 (5给出了两种基本的同步原理 :偏移补偿和漂移补偿 . 如果在某个时刻通过一定的算法求得了 b ik , 也就意味着在该时刻实现时钟 c i (t 和 c k (t 的同步 . 图 1刻画了偏移量补偿的过程 , 时钟 c k (t 在一系列的同步时刻被同步到参考时钟c i (t . 由此 , 可以进一步构造同步时钟偏移补偿没有考虑时钟漂移对同步精度的影响 . 在图 1中 , 这一点意味着 :在每一个同步间隔上 , 同步时钟与本地时钟 c . (t c o k k (t 具有相同的变c i c k c (t 化速率 . 因此 , 如图 1所示 , 同步时间间隔越大 , 同步误差也就越大 . 为了提高精度 , 可以考虑增加同步频率 , 但会引入相应的开销 ; 另外一种解决途径是估计相对漂移量进行相应的修正来减小同步误差 . 具体来讲 , 如果我们能通过算法估计出本地时钟和参考时钟的相对漂移量ρi −ρk , 在构造同步时钟时 , 就有了人为弥补这种漂移的依据 . 同步时钟此时不再依赖本地时钟 c k (t 的速率变化 , 而会以接近参考时钟的速率变化 , 同步精度自然得以提 Fig.1 The principle of synchronization图 1 同步原理高 . 如果相对漂移量估计得较为准确 , 那么在很长的时间间隔上也不会产生太大的同步误差 . 在图 1中 , 是采用漂移补偿技术之后可能得到的同步时钟之一 , 同步误差不再像那样与同步周期密切相关 . 可见 , 漂移(t c d k (t c o k 补偿是一种有效的同步手段 , 在同步间隔较大时效果尤为明显 . 当然 , 实际的晶体振荡器很难长时间稳定工作在同一频率上 , 因此 , 在线实时估计时钟的相对漂移量是必要的 . 漂移量估计需要一定的观测数据 , 在交换数据的过程中 , 同时完成偏移补偿是一种既节省开销又能提高同步精度的策略 . 因此 , 我们将综合应用偏移补偿和漂移补偿来实现一种高精度、低开销的时间同步算法 .1.3 数字时钟计算机系统中的本地时钟 (local clock通常由一个计数器组成 , 用来记录晶体振荡器产生脉冲的个数 . 在本地时钟的基础上 , 我们可以构造出不同类型的软件时钟 , 例如c (t =c (t 0+a {h (t −h (t 0},这里 h (t 是本地时钟 , 函数 a (⋅用来将计数器读数的差值转化为时间间隔 , 构造时钟 c (t . 以 Mica2节点为例 , 晶振频率为 4MHz, 如果设定本地时钟每 64个“ 滴答声 (ticks” 增加 1, 那么 a (⋅=16µs, 这意味着该时钟频率为 62.5KHz, 其最高精度为 16µs. 同步算法可以直接修改本地时钟 h (t , 也可以单独构建一个软件时钟 c s (t 来维护同步时钟 .2 同步机制2.1 基本机制自 2002年 J. Elson和 Kay Romer在 HotNets 这一影响未来网络研究发展方向的国际权威学术会议上首次提出和阐述无线传感器网络中的时间同步这一研究课题以来 [3], 已经提出了近 10种不同的实现算法 , 典型的有 RBS(reference broadcast synchronization[4],DMTS(delay measurement time synchronization[5],FTSP(flooding time synchronization protocol[6],AD(asynchronism diffusion[7],TPSN(time synchronization for sensor networks[8],任丰原等 :基于锁相环的时间同步机制与算法 375TS/MS(tiny synchronization/mini synchronization[9],LTS(lightweight time synchronization[10]和 Tsync(time synchronization [11]. 分析已有的同步机制与算法 , 它们大多采用两类基本的同步机制 :单向广播 (unidirectional broadcast 同步和双向成对 (bidirectional pair-wise同步 , 其中 :算法 RBS,DMTS,FTSP 和 AD 属于前者 ; 算法TPSN, TS/MS和 LTS 属于后者 ; 而需要多信道支持的 TSync 算法则组合应用了两种机制 , 在控制信道上广播同步消息 , 在时钟信道上采用成对同步确定时钟偏移 . 双向成对同步的原理如图 2所示 .T 41T 3Fig.2 Bidirectional two-paired synchronization图 2 双向成对同步节点 A 向节点 B 发送同步分组 1, 节点 B 用它的时钟记录收到该分组的时间 T 2, 则 T 2=T 1+D +d , 其中 , D 是传输时间 ; d 是节点 A 和 B 之间的时钟偏移量(offset.之后 , B 向 A 发送一个携带 T 2的分组 2, 同时加盖了时戳 T 3. 节点 A 在 T 4收到分组 2, 那么T 4=T 3+D −d . 假设时钟偏移量和传播延迟在较小的时间尺度内不发生改变 , 则节点 A 通过式 (6就可以计算出时钟偏移量 d 和传输延迟 D ., 2 ( (3412T T T T d −−−= 2( (3412T T T T D −+−= (6 一个特例是节点 B 在收到同步分组后立即加盖时戳返回 , 即 T 2=T 3.TS/MS[9]就使用了这一机制 , 但没有采用式 (6计算偏移量来实现同步 , 而是利用三元组 (T 1, T 2, T 4 集合寻找两个时钟线性关系中参数的上下界来确定漂移量和偏移量 , 最终完成同步 .两两成对同步虽然能达到一定的同步精度 , 但开销过大 . 假定传感器网络的某个簇类 (cluster中包含 n 个节点 , 那么在一个同步周期内 , 总共需要 2n 个分组交换 , 其中 , 信标 (beacon节点发送 n 个 , 接收 n 个 . 为了提高精度 , 增加同步频率会导致更多的能量损耗 . 在有些对能耗非常敏感的无线传感器网络应用中 , 这样的开销是不可接受的 . 相比之下 , 广播同步机制开销要小一些 , 簇类中所有节点可以同时依据信标节点发送的同步分组一次完成同步 .RBS 是一种基于广播同步的算法 , 但广播分组的作用仅仅在于启动一次新的同步过程 , 节点之间时钟的偏移量是通过相互交换接收到广播分组的本地时间后计算得到的 . 与两两成对同步相比 ,RBS 避免了一些可能引入随机误差的环节 [4], 但通信开销没有显著降低 .DMTS 和 FTSP 则利用了单向广播分组实现同步 , 减小了通信开销 . 两者的不同之处在于 ,FTSP 采用比DMTS 更为精确的计算偏移量的机制与算法 .从已有的各种算法的同步原理分析 , 除了 TS/MS以外 , 几乎所有算法都以偏移补偿为主 , 有些算法如 RBS 和 FTSP 等 , 虽然结合了漂移补偿技术 , 但都无一例外地通过对多个样本数据进行线性回归处理来估计漂移量 , 对应算法的空间复杂度相对较大 :TS/MS中的 Tiny-Snyc 用两个数据点确定了 4个约束边界 , 虽然开销小 , 但无法给出相对漂移和相对偏移的最优估计 ;Mini-Sync 用复杂的算法确定性地删除不影响精度的数据点 , 但需要保存有用的历史数据 , 以求得最优估计 ; 文献 [9]建议的 40个三元组数据点的存储对于资源有限的无线传感器网络节点是不小的开销 .上面有关无线传感器网络中同步原理、机制和算法的分析与总结 , 启发我们提出了如下的研究思路 :采用单向广播同步机制设计一种满足一定精度要求 , 同时具备漂移和偏移补偿功能且复杂度较小的同步算法 . 下面 , 我们将利用传统的锁相环(phase locked loop,简称 PLL 原理 , 设计一种新的时间同步机制与算法 .3 同步机制与算法设计3.1 广播校正同步机制考虑到无线传感器网络中由于节点和链路失效等因素导致拓扑结构动态变化的特点 , 以及为均衡能量损376 Journal of Software 软件学报 Vol.18, No.2, February 2007耗、延长网络生命周期而采用拓扑控制等系统性优化能耗的方案对网络带来的影响 , 我们沿用 FTSP 中“ 根节点” 的选取和维护方案 [6], 着重讨论广播域内单跳同步机制与原理 , 在此基础上扩展到整个网络的多跳机制是较为直接和方便的 . 在一个广播域内 , 时钟参考节点 (时标周期性广播同步分组 , 分组中携带了时标节点的本地时钟 , 为避免广播分组在发送、访问信道和接收过程中由于系统和信道状态的不确定性因素可能引入的误差 , 我们也采用在 MAC(media access control层加盖时戳的方案 [6,8]. 收到同步分组的节点容易得到两个时钟间的差 ,FTSP 和 DMTS 直接用差值进行了偏移补偿 . 如果能通过分析这个差值时间序列 , 得到两个时钟相对漂移的信息 , 一次完成偏移和漂移补偿 , 则这样的时间同步算法会更有效率 . 因为它不会再像 FTSP 那样 , 为了进行线性回归处理而维护大量的历史数据 . 为此 , 需要设计一个简单的滤波器来递推估计差值序列的变化 , 进行相应的校正 . 我们将这一新机制称为广播校正同步机制 . 需要指出的是 , 这里 , 我们忽略了广播分组传播延时的差异给同步精度造成的影响 . 如果广播域覆盖半径约为 30米 (ZigBee标准定义的有效传输距离 , 最大的传播延时差异为 100纳秒 , 对于精度要求为毫秒或微秒级的同步算法 , 忽略传播延时差异是合理的 . 广播校正同步机制与其他同步补偿算法最大的区别在于 :同步过程并非在某个时刻通过补偿一次完成 , 而是要经过一个动态调整的瞬态过程 , 进入稳态意味着实现了同步 . 本质上 , 广播校正同步机制主要利用了锁相环原理进行时钟频率锁定 , 最终实现了时钟同步 . 为了便于后面的论述 , 我们首先结合传统锁相环技术的锁频原理 , 介绍我们的同步算法的机理 .在图 3中 , h 1(k 和分别表示广播分组中携带的参考时钟和任意节点的同步时钟 , 它们的差值 e (k 经过低通滤波器处理后 , 消除了高频噪声 . 为了方便设计 , 我们采用常用的比例积分 (proportional integral,简称 PI 控制器作为滤波器 , 控制信号 v (k 作为压控振荡器 (voltage control oscillator,简称 VCO 的输入 , K (*2k h . (*2k h . (*2k h 0是 VCO 的基准频率 . 不难看出 ,VCO 的输出频率 f (k 随着误差信号 e (k 动态地发生变化 . f (k 经过零阶保持器和积分环节后转化为节点的同步时钟基于锁相环的时钟同步需要压控振荡器支持 , 追加额外的硬件是追求低成本节点实现所不期望的 . 为此 , 我们给出了下面的等价实现 , 它是全数字式 , 避免了对压控振荡器的依赖 .Loop filterFig.3 The principle of clock synchronization based on phase locked loop图 3 基于锁相环的时钟同步原理3.2 数字锁相环由图 3可知 ,(7 T k v K k h k h ( ( 1(0*2*2+=+其中 :T 是同步周期 , 即T =t (k +1−t (k ; t 为真实的物理时间 . 因为 VCO 的基准频率 K 0是恒定的 , 所以我们可用网络节点上晶振的固有频率等效替代 . 依据晶振频率和计数器的关系 , 有K 0{t (k +1−t (k }=h 2(k +1−h 2(k (8 这里 , h 2(k 为被同步节点的本地时钟 . 将式 (8代入式 (7,即可得到一个不依赖压控振荡器的数字锁相环 . (9]( 1([( ( 1(22*2*2k h k h k v k h k h −++=+依据式 (9,我们有如图 4所示的数字锁相环结构图 .式 (9仅仅给出了同步时钟的离散形式 , 在此基础上 , 我们可以进一步构造出连续时间的软件时钟 c 2(t 供应用程序使用 .(10}( ({ ( (*22*22i i t h t h a t c t c −+=其中 , 是同步时钟计数器在同步时刻的值 . 值得注意的是 , 在每一个同步时刻 , 需要用同步时钟的值替换本 (*2i t h任丰原等:基于锁相环的时间同步机制与算法 377 * 地时钟计数器,即 h2 (t i = h2 (t i . h2(k PI h1(k e(k Kp KiT(1+z1 2(1z1 z1 v(k 1z1 * h2 ( k Fig.4 3.3 滤波器实现The framework of digital phase looked loop 图4 数字锁相环结构接下来我们具体设计滤波器,主要是确定滤波器的参数 Kp 和 Ki 的值.由图 3 可知,系统的开环传递函数为 K T (1 + z 1 K 0Tz 1 K 0T (2 K p + K i T z + K i T 2 K p (11 Go ( z = K p + i = 2(1 z 1 1 z 1 2( z 1 2 开环系统有两个相同极点 p1,2=1.依据根轨迹变化规律 ,出于稳定性的考虑 ,开环系统的零点应该最好在单 [ ] 位圆内,不妨假定为 0.5,即 z= 2 K p K iT 2 K p + K iT = 1 2 (12 于是有 2Kp=3KiT 闭环系统的特征方程为 (13 (14 (152(z12+K0T(2Kp+KiTz+K0T(KiT2Kp=0 代入式(13,有 z22(K0KiT21z+1K0KiT2=0 振荡.这意味着被同步时钟不会围绕着参考时钟来回摆动,将单调逼近参考时钟.于是有如果方程式 (15 有两个相同的实根 , 则闭环系统将是一个典型的欠阻尼二阶系统 , 瞬态过程将不发生任何 4(K0KiT2124(1K0KiT2=0 即 (16 (17 KiK0T2=1 令采样时间T=1s,如前所述,Mica2 节点的时钟固有频率 K0=62.5KHz,那么 Ki=1.6×105, Kp=1.5,Ki=2.4×105. 4 性能评价为了验证所设计同步机制与算法的有效性,我们在流行的Mica2 实验平台上用 nesC 实现了基于锁相环的同步算法.实验配置如图 5 所示:MIB510 板上的 sink 节点充当“时标”节点,周期性地广播时钟信号;节点 A,B,C 是网络中将被同步节点.为了测试同步精度,让 sink 节点在两个同步广播分组之间再广播一个时钟读取请求,网络节点在收到该请求的瞬时记录当前各自的本地同步时钟 , 之后陆续发送回 sink 节点 . 用 TinyOS 内置的 SerialForwarder 例程将 Sink 节点收集到的时钟消息通过串口送至 PC 进行分析.取网络节点与 Sink 节点时钟的最大偏差为同步误差. 图 6 给出了同步过程中误差的变化趋势:最终,同步误差稳定到了一定的范围内.为了更清晰地反映稳态过程中误差的变化,我们截取图 6 中的一段,放大于图 7 中,可以看出,锁相环同步算法能够达到毫秒级的同步精度. 响应性是同步算法的一个重要性能指标.观察图 6,经过一个短暂的调节过程(约 15 拍 ,误差就回到了稳态值.具体的响应时间与同步周期有关,频率越高,同步时间越短.如果 15 拍即可完成同步,当同步周期为 1s 时,同步378 Journal of Software 软件学报 Vol.18, No.2, February 2007 时间为 15s;当同步周期为 20s 时,同步时间则是 5min.为了加速同步过程,可以在启动同步过程时适当提高同步频率 , 之后 , 为减小开销 , 适当降低频率 . 这不会对我们提出的同步算法的精度带来太大影响 , 因为理论上基于锁相环的同步算法的精度与同步周期的相关性不大.这一点,后面的实验会进行证实. Sink RS 232 MIB 510 PC Node A Node B Node C Fig.5 1000 900 800 700 600 500 400 300 200 100 0 Experiment Configuration 图5 实验配置 5 4.5 4 3.5 3 2.5 2 1.5 1 0.5 0 100 120 140 160 180 200 220 240 260 280 300 Sample point Error (ms 0 50 100 150 200 250 250 Sample point Fig.6 Variation of error 误差变化 Error (ms Fig.7 Variation of stable error 稳态误差变化图6 图7 下面我们考察同步间隔对于同步精度的影响,分别取同步周期为 20s,50s,100s 和 200s,采样稳态过程中同步误差的变化,将结果绘制在图 8 中. 3 2.5 2 1.5 1 0.5 0 3 2.5 2 1.5 1 0.5 0 3 2.5 2 1.5 1 0.5 0 3 2.5 2 1.5 1 0.5 0 0 50 100 150 Sample point 200 T=20 0 50 100 150 200 250 T=50 300 Error (ms 0 50 100 150 200 250 T=100 300 0 50 100 150 200 250T=200 300 250 300 Fig.8 The impact of sampling cycle on synchronization error 图8 采样周期对同步误差的影响任丰原等:基于锁相环的时间同步机制与算法 379 为了方便比较,我们作进一步的定量分析,求取误差的均值、方差和最大值,将统计结果列于表 1 中.不难看出,在 4 组实验中,不同的同步周期并没有给同步精度带来明显的影响.这也是我们设计的机制与算法同时进行偏移和漂移补偿的技术体现.而单纯进行偏移补偿的同步算法如TPSN 和 LTS 等,精度不可避免地受到同步周期的影响 , 周期越短 , 精度越高 , 但相应的通信能耗也越大 . 在这一点上 , 我们提出的基于锁相环的单向广播校正同步机制与算法有较为明显的优势. Table 1 表1 Period (s 20 50 100 200 Statistic of PLL synchronization error 锁相环同步机制的误差统计值 Deviation (ms 0.282 0.316 0.294 0.291 Maximum (ms 1.760 1.728 1.888 1.790 Mean (ms 1.162 1.126 1.142 1.173 为了方便比较,我们在 Mica2 平台上实现 TPSN 算法.分别取同步周期为 5s,10s,25s 和 50s进行实验,采样时钟误差,将结果绘制在图 9 中;进行统计处理后得到表 2 所列各项数据. 3 2.5 2 1.5 1 0.5 0 3.0 2.5 2 1.5 1 0.5 0 3 2.5 2 1.5 1 0.5 0 10 8 6 4 2 0 T=5 0 50 100 150 200 250 T=10 300 Error (ms 0 50 100 150 200 250 T=25 300 0 50 100 150 200 250 300 350 400 T=50 450 500 0 200 400 600 800 1000 1200 Sample point 1400 1600 1800 2000 Fig.9 图9 Table 2 Period (s 5 10 25 50 Results of TPSN TPSN 算法的结果Statistic of TPSN synchronization error 表2 TPSN 同步误差统计值 Deviation (ms 0.11 0.21 0.53 4.00 Maximum (ms 1.76 2.45 3.86 9.07 Mean (ms 0.60 0.74 1.28 3.07 分析表2 中的数据,TPSN 的精度与同步周期密切相关,周期增大,则精度降低.图 9 揭示了精度降低的原因, 当同步周期增大以后,节点晶振频率漂移对误差的影响凸现.观察图 9 中最下面两组曲线,误差呈线性规律增长的情形不断出现,其根本原因在于,TPSN 只在同步时刻进行偏移补偿,而没有相应的漂移补偿措施.380 Journal of Software 软件学报 Vol.18, No.2, February 2007 5 结论在本研究中 , 我们基于传统的锁相环原理设计了一种能耗开销较小 ,同时进行偏移补偿和漂移补偿的无线传感器网络同步机制与算法 .实验验证了其设计的可行性 ,算法到达了预期的技术目标 ,在目前的测试环境下达到了毫秒级同步精度 .但这一测试方案存在系统误差 , 主要是节点接收和处理时钟读取请求过程中的随机因素引入的.在下一步的工作中,我们将寻求更合理的测试方案,如在网络节点上加装 GPS 接收机来建立相对准确的时间基准平台 , 进而测试和分析各种算法的同步精度 . 此外 , 受到网络节点数量的限制 , 我们目前的研究只进行了广播域内单跳同步机制与算法的测试 .虽然理论上可以采用 FTSP[6]的扩展方案将我们的算法很直接地拓展到多跳环境中 ,但应该还需要搭建具有一定规模的实验网来进行测试和验证 ,这是另一项需要进一步完成的工作,本文的重点在于阐述新的同步机制与实现算法. References: [1] Sundararaman B, Buy U, Kshemkalyani AD. Clock synchronization for wireless sensor networks: A survey. Elsevier Ad Hoc Network, 2005,3(3:281323. [2] [3] Sivrikaya F, Yener B. Time synchronization in sensor networks: A survey. IEEE Network,2004,18(4:4550. Elson J, Rmer K. Wireless sensor networks: A new regime for time synchronization. In: Proc. of the 1st Workshop on Hot Topics in Networks (HotNets-I. 2002. 2829. [4] Elson J, Girod L, Estrin D. Fine-Grained network time synchronization using reference broadcasts. In: Proc. of the 5th Symp. on Operating Systems Design and Implementation. ACM Press, 2002. 147163. [5] [6] Ping S. Delay measurement time synchronization for wireless sensor networks. Int’l Research Berkeley Lab., 2003. Maroti M, Kusy B, Simon G, Ledeczi A. The flooding time synchronization protocol. In: Proc. of the 2nd Int’l Conf. on Embedded Networked Sensor Systems. 2004. 3949. [7] [8] Li Q, Rus D. Global clock synchronization in sensor networks. In: Proc. of the IEEE INFOCOM 2004. Hong Kong, 2004. Ganeriwal S, Kumar R, Srivastava MB. Timing-Sync protocol for sensor networks. In: Proc. of the 1st ACM Conf. on Embedded Networked Sensor Systems (SenSys. ACM Press, 2003. 138149. [9] Sichitiu ML, Veerarittiphan C. Simple, accurate time synchronization for wireless sensor networks. In: Proc. of the IEEE Wireless Communications and Networking Conf. (WCNC 2003. 2003.[10] van Greunen J, Rabaey J. Lightweight time synchronization for sensor networks. In: Proc. of the 2nd ACM Int’l Workshop on Wireles s Sensor Networks and Applications. 2003. 1119. [11] Dai H, Han R. Tsync: A lightweight bidirectional time synchronization service for wireless sensor networks. ACM SIGMOBILE Mobile Computing and Communications Review, 2004,8(1:125139. 任丰原(1970-,男,甘肃临洮人,博士,副教授,博士生导师,CCF 高级会员,主要研究领域为网络流量管理与控制,传感器网络,系统性能评价. 何滔(1983-,男,硕士生,主要研究领域为传感器网络. 董思颖(1983-,男,。