一种irig106系统的时钟同步方法

文档序号:9566953阅读:748来源:国知局
一种irig106系统的时钟同步方法
【技术领域】
[0001]本发明为IRIG106系统技术,具体涉及一种IRIG106系统的时钟同步方法。
【背景技术】
[0002]本发明涉及一种IRIG106 (Inter-Range Instrumentat1n Group,革巴场仪器组)标准的时钟同步方法。
[0003]如图1,在I RIG 106第十章,规定了外部的绝对时间和10MHz的系统时间,系统要求记录绝对时间的时间,但是时钟同步和时钟维护仅仅依赖于本地的10MHz的晶振。为了提尚系统精度,往往依赖于尚精度的10MHz晶振,这样大大提尚了广品的成本。

【发明内容】

[0004]本发明的目的在于提供一种IRIG106标准的时钟同步方法,可以利用普通的10MHz晶振,达到lus的时钟精度。
[0005]为了实现上述目的,本发明的技术方案如下:一种IRIG106系统的时钟同步方法,其特征在于所述方法包括以下步骤:
[0006]A、当系统启动或者时钟同步产生了失步时,系统状态为IDLE ;在IDLE状态,T2s秒=Tls秒,T2ns = Tins,T2nss = 0,其中Tls表示绝对时间的秒为单位的部分;Tlns表示绝对时间的纳秒为单位的部分;T2s表示系统时间的秒为单位的部分;T2ns表示系统时间的纳秒为单位的部分;T2nns表示系统时间的1/1,000,000,000纳秒为单位的部分;
[0007]B、当系统得到绝对时间过后,系统跳转到PRE_SYNC状态;每次系统得到绝对时间时,重新计算偏移颗粒 dlt_x,dlt_x = (T2_curr_Tl_curr)/(Cnt_curr_Cnt_last);其中T2_curr表示当前得到绝对时间时的系统时间值;Tl_curr表示当前得到绝对时间时的绝对时间值;Cnt_curr表示本次得到绝对时间之时的系统时钟晶振计数值;Cnt_last表示上一次得到绝对时间之时的系统时钟晶振计数值;
[0008]C、在PRE_SYNC状态中当系统时间和绝对时间的误差大于等于lus时,系统停在PRE_SYNC状态,当系统时间和绝对时间的误差连续3次小于lus时,系统跳转到SYNC状态;
[0009]D、当系统处在SYNC状态时,如果系统时间和绝对时间的误差大于等于lus时,系统跳转到IDLE状态,否则保持SYNC状态;
[0010]E、系统实际运行时,在PRE_SYNC和SYNC状态下,对计算得到的偏移颗粒dlt_x进行PID修正,得到偏移颗粒修正值dlt_x_pid,计算该次晶振计数时的系统时间T2,T2 =Tl+100ns+dlt_x_pido
[0011]本发明中,系统通过计算,维护一个单位为1/1000,000,000纳秒的变量,每一个10MHz的时钟周期都加上或减去这个变量,从而最大限度的逼近绝对时间。应为利用了本算法,创造出了一个极小的时间单位(1/1000,000, 000纳秒),所以抖动极小,精度极高,从而满足了实际需求,达到了 lus的时钟精度。
【附图说明】
[0012]图1为IRIG106的时钟需求图。
[0013]图2为本发明的状态机。
[0014]图3为本发明的计算示意图。
[0015]下面结合附图和实施例对本发明作详细说明。
【具体实施方式】
[0016]本发明提供了一种IRIG106 (Inter-Range Instrumentat1n Group,革巴场仪器组)标准的时钟同步方法。
[0017]参考图2,本发明系统状态机分为IDLE自由状态,PRE_SYNC为预同步状态,SYNC为同步状态。系统按照计算的结果,跳转到对应的状态,同时按照各种不同的状态,计算得到系统时间。利用本地10MHz晶振作为时钟,系统维护一个1/1000,000,000纳秒为单位的颗粒dlt_x (有正负,当本地晶振快于绝度时间是,为负,反之则反)。每一个时钟周期T2ns都加上100ns (10MHz晶振),T2nss都加上dlt_x,T2nss大于等于1,000, 000,000时,进位到T2ns,当T2ns大于等于1,000, 000,000时,进位到T2s。当从而利用本地10MHz晶振,计算得到系统时间T2s,T2ns,T2nsso
[0018]本发明中的一些参数:
[0019]T1,绝对时间,为T1 s秒+TIns纳秒;
[0020]T2,系统时间,为T2s秒+T2ns纳秒+T2nns纳秒;
[0021 ] T2_l,系统时间的上一时钟的时间
[0022]Tls,绝对时间的秒为单位的部分;
[0023]Tins,绝对时间的纳秒为单位的部分;
[0024]T2s,系统时间的秒为单位的部分;
[0025]T2ns,系统时间的纳秒为单位的部分;
[0026]T2nns,系统时间的1/1,000, 000, 000纳秒为单位的部分;
[0027]Cnt,系统时钟(10MHz晶振)的计数器,每个时钟加一;
[0028]dlt_x,偏移颗粒;
[0029]dlt_x_pid,经过PID调节之后的偏移颗粒;
[0030]T2_curr,表示当前得到绝对时间时的系统时间值;
[0031]Tl_curr,表示当前得到绝对时间时的绝对时间值;
[0032]Cnt_curr,表示本次得到绝对时间之时的Cnt值;
[0033]Cnt_last,表示上一次得到绝对时间之时的Cnt值。
[0034]本发明是这样实现的(参考图3):
[0035]A、当系统启动或者时钟同步产生了失步时,系统状态为IDLE。当系统得到绝对时间过后,系统跳转到PRE_SYNC状态,在IDLE状态,T2s秒=Tls秒,T2ns = Tins,T2nss = 0,其中Tls表示绝对时间的秒为单位的部分;Tlns表示绝对时间的纳秒为单位的部分;T2s表示系统时间的秒为单位的部分;T2ns表示系统时间的纳秒为单位的部分;T2nns表示系统时间的1/1,000, 000, 000纳秒为单位的部分;假设一秒内时间偏差为1ns,时钟为10M,则每个时钟将偏差一个100/1000,000, 000ns,此变量为100,由此得到以1/1000, 000, 000ns 单位。
[0036]B、在PRE_SYNC状态中当系统时间和绝对时间的误差大于等于lus时,系统停在PRE_SYNC状态。当系统时间和绝对时间的误差连续3次小于lus时,系统跳转到SYNC状态。每次系统得到绝对时间时,重新计算偏移颗粒dlt_x。时间偏移为T2_curr-Tl_curr,dlt_x = (T2_curr_Tl_curr)/(Cnt_curr_Cnt_last)。
[0037]C、当系统处在SYNC状态时,如果系统时间和绝对时间的误差大于等于lus时,系统跳转到IDLE状态,否则保持SYNC状态。当进入到SYNC状态时,每次系统得到绝对时间时,系统时间更新为绝对时间,重新计算偏移颗粒dlt_x。dlt_x = (T2_curr-Tl_curr)/(Cnt_curr_Cnt_last)。
[0038]D、当系统处在SYNC状态时,如果系统时间和绝对时间的误差大于等于lus时,系统跳转到IDLE状态,否则保持SYNC状态;
[0039]E、系统实际运行时,在PRE_SYNC和SYNC状态下,对计算得到的偏移颗粒dlt_x进行PID修正,得到偏移颗粒修正值dlt_x_pid,计算该次晶振计数时的系统时间T2,T2 =Tl+100ns+dlt_x_pido
[0040]dlt_x实际上应该是每次晶振计数的平均时间差,100ns应该是一次晶振计数的理论时间,系统校准时间应该是上一次系统校准时间加一次晶振计数的理论时间再加上每次晶振计数的平均时间差的修正值。
[0041]本发明的PID调节利用自动控制理论里面的PID调节,要确保不失调,同时确保参数jitter小,ID参数由软件根据实际情况按照需求来配置,PRE_SYNC和SYNC状态各配置不同的参数,这里的PID调节为现有技术,在此不再赘述。
[0042]以上仅表达了本发明的实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
【主权项】
1.一种IRIG106系统的时钟同步方法,其特征在于所述方法包括以下步骤: A、当系统启动或者时钟同步产生了失步时,系统状态为IDLE;在IDLE状态,T2s秒=Tls秒,T2ns= Tins,T2nss=0,其中Tls表示绝对时间的秒为单位的部分;Tlns表示绝对时间的纳秒为单位的部分;T2s表示系统时间的秒为单位的部分;T2ns表示系统时间的纳秒为单位的部分;T2nns表示系统时间的1/1,000,000,000纳秒为单位的部分; B、当系统得到绝对时间过后,系统跳转到PRE_SYNC状态;每次系统得到绝对时间时,重新计算偏移颗粒dlt_x,dlt_x = (T2_curr-Tl_curr) / ( Cnt_curr-Cnt_last);其中 T2_curr表示当前得到绝对时间时的系统时间值;Tl_curr表示当前得到绝对时间时的绝对时间值;Cnt_curr表示本次得到绝对时间之时的系统时钟晶振计数值;Cnt_last表示上一次得到绝对时间之时的系统时钟晶振计数值; C、在PRE_SYNC状态中当系统时间和绝对时间的误差大于等于lus时,系统停在PRE_SYNC状态,当系统时间和绝对时间的误差连续3次小于lus时,系统跳转到SYNC状态; D、当系统处在SYNC状态时,如果系统时间和绝对时间的误差大于等于lus时,系统跳转到IDLE状态,否则保持SYNC状态; E、系统实际运行时,在PRE_SYNC和SYNC状态下,对计算得到的偏移颗粒dlt_x进行PID修正,得到偏移颗粒修正值dlt_x_pid,计算该次晶振计数时的系统时间T2,T2=Tl+100ns+dlt_x_pido
【专利摘要】本发明提出了一种IRIG106系统的时钟同步方法,其特征在于引入了一个极小的时间单位(1/1,000,000,000ns),维护一个单位为1/1000,000,000纳秒的变量,每一个10MHz的时钟周期都加上100ns和这个变量,从而最大限度的逼近绝对时间,减少时间的抖动和误差,并且实时补偿系统的温飘和抖动,利用普通晶振,就得到小于1us的时间误差。
【IPC分类】H04L7/00
【公开号】CN105323057
【申请号】CN201510875980
【发明人】李志宏, 王法
【申请人】上海航空电器有限公司
【公开日】2016年2月10日
【申请日】2015年12月2日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1