NTP时间同步服务器(卫星时钟同步装置)基本架构介绍
NTP时间同步服务器(卫星时钟同步装置)基本架构介绍
NTP时间同步服务器(卫星时钟同步装置)基本架构介绍
京准电钟官微——ahjzsz
摘要:基于北斗的全球卫星系统(BDS)的高精度同步时钟信号在电网广域测量系统(WAMS)等很多领域具有广泛用途;但在实际应用中存在因卫星失锁等原因导致同步时钟信号失步的问题。该文中提出了一种预设时间差补偿值实现高精度守时的方案;研制了基于北斗卫星接收器和复杂可编程逻辑器件(CPLD)的高精度守时,北斗卫星系统样机,在实验室与上升沿同步及时间差反馈调整2种守时方案进行了对比验证,实测结果表明,采用文中提出的方案,北斗卫星时钟样机输出的秒脉冲(PPS)信号在正常情况下的精度可达±100ns,并能保证在卫星失锁24小时内的误差不超过20us,守时精度明显优于另外2种方案.
引言
在全球卫星系统(BDS)同步时钟功能的实际应用中,卫星信号的调整,天线受干扰以及接收机的故障等都会造成卫星失锁现象,进而导致接收机在短时间内失步。以电网广域测量系统为例,由于其基于BDS接收机的相量测量单元(PMU)安装在广域电网中的不同地点,因此这些测量单元受卫星失锁的影响也不一样;为保证PMU同步测量和系统信息的可信度与精度"必须建立基于BDS接收的高稳定度,高精度时钟系统。
目前,已有一些基于BDS的同步时钟系统或装置的研究,但讨论精确守时技术的文献相对较少,它们大同小异主要区别在于精确守时的实现,且以基于上升沿同步守时和基于时间差反馈调整守时较为常见,但这2种方法在卫星失锁较长时间情况下,其本地守时秒脉冲PPS信号均存在一定的循环累积延时误差,即卫星失锁情况下对时钟PPS信号的同步守时调整修正效果不理想。
本文提出了一种在卫星较长时间失锁时,也能保证BDS时钟系统具有较高守时精度的实现方法,并研制了相应的BDS卫星时钟系统实验样机。
1、高精度BDS时钟系统的总体构架
本文提出了一种预设时间差补偿值实现高精度守时的北斗时钟系统方案,其硬件原理如图1所示.图中C为来自微处理器MCU的控制信号(卫星未失锁时为1);SG为北斗接收机输出的PPS信号,SK为本地PPS生成模块输出的PPS信号;S为高精度时钟系统输出的PPS信号。
图1:守时方案硬件原理
系统主要由北斗接收机、MCU、高精度晶振和实现本地高精度守时的时间差测量模块、记录预设补偿值模块、脉冲生成模块等构成;其中实现本地高精度守时部分集成在一片复杂可编程逻辑器件(CPLD)内。
接收机接收来自北斗卫星的时间信息,包括脉冲信号及相关联的协调世界时间(UTC)时间码信息,并分别送往MCU和CPLD,CPLD中的相应模块对脉冲信号进行守时逻辑处理,并输出处理后的脉冲信号;通过分析接收到的UTC信息,判断当前卫星接收机输出的PPS等时钟脉冲信号是否与轨道卫星同步,并进行守时处理(同步时控制守时模块直接输出卫星接收机的PPS信号,失锁时则输出基于高精度晶振的本地守时PPS信号)。
图1中的卫星接收机选用PPS信号输出精度为100ns左右的国产卫星授时专用模块,守时模块中的高精度晶振选用了在-40°C—85℃范围内频率稳定度高达±10-6的数控可调晶振,工作频率为20MHZ
2、高精度守时的实现
由图1可知系统输出的PPS信号S与信号C,SG,SK,的逻辑关系。
系统各模块功能简介如下:
A、时间差测量模块,其功能是测量卫星接收机与卫星锁定情况下SG与SK这两个PPS信号的秒同步时差,并输出至记录预设补偿值模块处理。
B、记录预设补偿值模块,其功能是每5秒计算、存储一次时间差测量模块测得的SG与SK信号秒
同步时差的平均值(该值与所选的卫星接收机及本地晶振等器件有关),并输出给PPS生成模块。本
文所取的每5秒平均值(整秒计数调整均值)为进行了数百次实验后,从数据分析中获得的经验值。
C、PPS生成模块,主要由25bit计数器(硬件上设置成计数到1秒自动复位重计数)构成,负责对整形后的晶振输出脉冲进行整秒分频计数,并根据记录预设补偿值模块输出的秒同步时差均值自动进行计数补偿(实际实现时调整计数器的计数值),输出校正后的PPS信号SK。
3、守时方案的误差分析
守时误差指的是在卫星接收机与轨道卫星失锁情况下,以本地输出的守时钟pps信号SK作为秒同步时钟信号时可能存在的最大偏差ΔTmax。分析本文所提出的守时实现方案可知,其在如下3个环节存在误差源:①判断卫星失锁(即判断卫星接收机与卫星失锁到控制本地守时钟模块输出有效)产生的延时误差ΔT1;②高精度晶振的固有漂移误差ΔT2;③SK形成环节引起的延时误差ΔT3;因此:
ΔTmax═ΔT1+ΔT2+ΔT3…… (1)
3.1判断卫星失锁产生的延时误差
卫星接收机是否与卫星失锁,要在MCU接收并完成其发来的UTC信息解释后才能作出判断。因此,ΔT1 包括MCU接收UTC信息的串口通信延时、报文解析延时和切换控制本地守时模块输出(SK有效)延时导致的可能误差。
本方案中BDS接收器串口输出的UTC信息与PPS信号SG的关系有2种通信配置可选择:
⑴ 配置为COM0通信模式,其同步UTC信息在SG上升沿到达±100ns后从串口输出,即该报文对应已出现的SG脉冲。
⑵ 配置为COM1通信模式,则同步UTC信息在SG上升沿到达前100ms开始从串口输出,即该报文对应即将出现的SG脉冲。
采用第1种配置时"当MCU根据UTC信息分析判断出BDS接收机失锁时,本应无效的SG脉冲已作为有效信号发出,这意味着必须到下一秒时才能切换为本地守时pps信号SK输出;采用第2种配置时,UTC信息提前SG上升沿100ms就开始发送,MCU一般有足够时间根据接收到的UTC信息,分析判断出即将到来的SG脉冲是否有效(接收机是否失锁),从而能够及时(不滞后地)实施守时切换控制,避免误用失锁后的BDS接收机的pps信号SG所引起的时间偏差。本方案中采用第2种配置,因此该部分误差可忽略不计,即ΔT1 0
3.2 晶振固有的漂移误差ΔT2
晶振从启动到稳定运行过程中存在的初始化偏差因其规格型号的不同而不同(本文所选晶振的初
始误差测试值为±3us),但该误差在进入稳定运行后即不存在,而且可在晶振启动过程中采用补偿措
施加以消除,因此可不必考虑。需要考虑的是晶振在稳定运行状态下受运行环境等影响的固有漂移误
差,晶振芯片24小时内的固有漂移误差绝对值ΔT2≤120ns。
3.3 SK形成环节引起的延时误差ΔT3
该延时误差的大小取决于本地守时pps信号SK形成环节的实现方案,主要包括:
●形成pps信号SK的计数器延时误差,该部分误差取决于构成计数器的逻辑门电路类型及连接方式,本文述及的计数器在CPLD上实现,其整秒计数延时误差实测值不大于10ns。
●计数器整秒重复计数实现方法引起的延时误差,包括:确认整秒重计数产生的延时(即计数器的pps信号SK输出到清零或计数重装载信号CLR有效所需的延时)和计数器清零(重装载计数值)所需
的延时。其中,计数器清零所需延时很短,一般在半个晶振周期即25ns内完成,而确认整秒重计数产
生的延时取决于同步守时实现方案。
在上升沿同步守时方案中,BDS接收机与卫星失锁前,确认整秒重计数由SG直接反馈的计数器重
装载信号CLR同步完成,因此几乎不存在延时;BDS接收机与卫星失锁后,因计数器设计成整秒计数满自动重计数,故也不存在延时。因此,该方案中,ΔT3≤25ns+10ns=35ns。
在时间差反馈调整守时方案中,BDS接收器与卫星失锁前,是利用时间差测量模块测量获得的SG与SK间的时差脉冲数,对计数器的整秒计数初值进行调整实现守时pps信号的同步补偿,且每秒调
整一次,本文所述的MCU需要2条单机器周期指令(分高位和低位传送)约100ns完成,即其重装载总延时约为100ns;BDS接收器与卫星失锁后,虽不对计数初值进行补偿调整,但依旧需要每秒重装载一次默认的整秒计数初值。由此可见,该方案中,ΔT3 100ns+10ns=110ns。
在本文所提出的预设时间差补偿值守时方案中,其本地守时pps信号的同步补偿方法与时间差反馈调整守时方案类似,但增加了记录预设补偿值模块,且在BDS接收器与卫星失锁前每隔5s更新一次预设补偿值,需要增加一个机器周期指令(约50ns)完成操作,均摊到每秒相当于增加了10ns;在BDS接收器与卫星失锁后则停止更新并记住失锁前最后一次更新的预设补偿值。因此,该方案在卫星接收器与卫星失锁前ΔT3 110ns+10ns=120ns,失锁后则为ΔT3 100ns+10ns=110ns。
从上述分析结果来看,似乎本文所提出的预设时间差补偿值守时方案在SK形成环节的可能延时误差比另外2个方案都大,但这只是表象。进一步分析可知,由于上升沿同步守时方案与时间差反馈调整守时方案在卫星接收器与卫星失锁后,本地守时pps信号都是基于计数器缺省设置的整秒计数值生成的,这意味着失锁情况下,这2种方案本地pps信号生成各环节的延时误差不可能有效消除,并且会对后续pps信号产生累加正延时效应,结果是使得失锁后的本地守时pps信号越来越滞后。
而本文所提出的守时方案,由于增加了一个记录预设补偿值模块,前文已述该模块的功能是在BDS接收器未与卫星失锁前,每5s计算、更新一次时间差测量模块测得的SG与SK信号秒同步时差的平均值(整秒计数调整均值),这意味着在卫星接收器与卫星同步并经过一段时间的稳定运行后,记录预设补偿值模块所存储的整秒计数调整均值,能够基本补偿产生本地pps信号各环节所存在的延时误差,因此,锁定状态下SG与SK最终必然趋于同步。当卫星接收器与卫星失锁后,记录预设补偿值模块虽无法再进行误差补偿值的计算和更新,但保存了失锁前最后一次的整秒计数调整均值供pps信号生成模块调用,从而能够有效消除失锁后本地pps信号生成各环节的延时误差,保证了本地pps信号的高精度同步守时性能。
4、本地守时误差的实测结果
在所研制的高精度守时卫星时钟系统样机上,对本文所述的3种守时方案在卫星失锁前后的pps
信号守时情况进行了实验比较,并用高精度数字示波器记录样机输出的pps信号(以数据文件格式保
存)。图2所示为对实验数据进行处理后3种方案的守时误差曲线。图中:前4小时为卫星接收器与卫
星锁定情况下的误差曲线;中间24小时为卫星接收机与卫星失锁后的误差曲线;后2小时为卫星接收器与卫星重新锁定后的误差曲线;方案1为上升沿同步守时方案;方案2为时间差反馈调整守时方案;方案3为预设时间差补偿值守时方案。
图2 3种守时方案的守时误差分析
由图2可见,本文所提出的预设时间差补偿值守时方案在卫星接收器与卫星失锁后的24小时内,
能够有效保证其所输出的pps信号守时误差不大于20us;而另外2种方案在卫星接收器与卫星失锁后的pps信号守时误差呈正累加不断增大,且2小时后就已大于20us。
结合第3节的误差分析和本节的误差实测结果,对比本文所述预设时间差补偿值守时方案与另
外2种守时方案的本地守时性能,结果如下:
方案1:ΔTmax 35ns±100ns,且失锁后计数器根据缺省设置的整秒计数值生成本地守时pps信号,故延时存在正累加。
方案2:ΔTmax 110ns±100ns,且失锁后计数器根据缺省设置的整秒计数值生成本地守时pps信号,故延时存在正累加。
方案3:理论上,ΔTmax 110ns±100ns,但实际上,失锁后本地pps生成模块根据失锁前测得的
最后一次秒同步时差均值进行整秒计数补偿调整,因此,实际上能够有效消除本地pps生成各环节的
延时误差,确保失锁后本地守时pps信号的精度。
5、结论
本文对卫星时钟系统的守时技术进行了较为深入的分析研究,提出了一种预设时间差补偿值实现高精度守时的方案,能够在卫星接收器与卫星失锁情况下,有效保证所输出的本地pps信号具有很高的守时精度。研制了相应的样机"对该方案与上升沿同步和时间差反馈调整2种守时方案进行了对比实验验证。实测结果表明,卫星接收器与卫星失锁后,本文所提出的方案能够在失锁24小时内确保本地守时同步误差不大于20us,而另外2种方案的本地守时误差呈正累加放大发展且在失锁2小时后就已
超过20us,本文所提出的预设时间差补偿值守时方案可应用于智能电网和通信等领域的卫星高精度授时系统。