一種irig106系統(tǒng)的時鐘同步方法
【技術領域】
[0001]本發(fā)明為IRIG106系統(tǒng)技術,具體涉及一種IRIG106系統(tǒng)的時鐘同步方法。
【背景技術】
[0002]本發(fā)明涉及一種IRIG106 (Inter-Range Instrumentat1n Group,革巴場儀器組)標準的時鐘同步方法。
[0003]如圖1,在I RIG 106第十章,規(guī)定了外部的絕對時間和10MHz的系統(tǒng)時間,系統(tǒng)要求記錄絕對時間的時間,但是時鐘同步和時鐘維護僅僅依賴于本地的10MHz的晶振。為了提尚系統(tǒng)精度,往往依賴于尚精度的10MHz晶振,這樣大大提尚了廣品的成本。
【發(fā)明內容】
[0004]本發(fā)明的目的在于提供一種IRIG106標準的時鐘同步方法,可以利用普通的10MHz晶振,達到lus的時鐘精度。
[0005]為了實現上述目的,本發(fā)明的技術方案如下:一種IRIG106系統(tǒng)的時鐘同步方法,其特征在于所述方法包括以下步驟:
[0006]A、當系統(tǒng)啟動或者時鐘同步產生了失步時,系統(tǒng)狀態(tài)為IDLE ;在IDLE狀態(tài),T2s秒=Tls秒,T2ns = Tins,T2nss = 0,其中Tls表示絕對時間的秒為單位的部分;Tlns表示絕對時間的納秒為單位的部分;T2s表示系統(tǒng)時間的秒為單位的部分;T2ns表示系統(tǒng)時間的納秒為單位的部分;T2nns表示系統(tǒng)時間的1/1,000,000,000納秒為單位的部分;
[0007]B、當系統(tǒng)得到絕對時間過后,系統(tǒng)跳轉到PRE_SYNC狀態(tài);每次系統(tǒng)得到絕對時間時,重新計算偏移顆粒 dlt_x,dlt_x = (T2_curr_Tl_curr)/(Cnt_curr_Cnt_last);其中T2_curr表示當前得到絕對時間時的系統(tǒng)時間值;Tl_curr表示當前得到絕對時間時的絕對時間值;Cnt_curr表示本次得到絕對時間之時的系統(tǒng)時鐘晶振計數值;Cnt_last表示上一次得到絕對時間之時的系統(tǒng)時鐘晶振計數值;
[0008]C、在PRE_SYNC狀態(tài)中當系統(tǒng)時間和絕對時間的誤差大于等于lus時,系統(tǒng)停在PRE_SYNC狀態(tài),當系統(tǒng)時間和絕對時間的誤差連續(xù)3次小于lus時,系統(tǒng)跳轉到SYNC狀態(tài);
[0009]D、當系統(tǒng)處在SYNC狀態(tài)時,如果系統(tǒng)時間和絕對時間的誤差大于等于lus時,系統(tǒng)跳轉到IDLE狀態(tài),否則保持SYNC狀態(tài);
[0010]E、系統(tǒng)實際運行時,在PRE_SYNC和SYNC狀態(tài)下,對計算得到的偏移顆粒dlt_x進行PID修正,得到偏移顆粒修正值dlt_x_pid,計算該次晶振計數時的系統(tǒng)時間T2,T2 =Tl+100ns+dlt_x_pido
[0011]本發(fā)明中,系統(tǒng)通過計算,維護一個單位為1/1000,000,000納秒的變量,每一個10MHz的時鐘周期都加上或減去這個變量,從而最大限度的逼近絕對時間。應為利用了本算法,創(chuàng)造出了一個極小的時間單位(1/1000,000, 000納秒),所以抖動極小,精度極高,從而滿足了實際需求,達到了 lus的時鐘精度。
【附圖說明】
[0012]圖1為IRIG106的時鐘需求圖。
[0013]圖2為本發(fā)明的狀態(tài)機。
[0014]圖3為本發(fā)明的計算示意圖。
[0015]下面結合附圖和實施例對本發(fā)明作詳細說明。
【具體實施方式】
[0016]本發(fā)明提供了一種IRIG106 (Inter-Range Instrumentat1n Group,革巴場儀器組)標準的時鐘同步方法。
[0017]參考圖2,本發(fā)明系統(tǒng)狀態(tài)機分為IDLE自由狀態(tài),PRE_SYNC為預同步狀態(tài),SYNC為同步狀態(tài)。系統(tǒng)按照計算的結果,跳轉到對應的狀態(tài),同時按照各種不同的狀態(tài),計算得到系統(tǒng)時間。利用本地10MHz晶振作為時鐘,系統(tǒng)維護一個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晶振,計算得到系統(tǒng)時間T2s,T2ns,T2nsso
[0018]本發(fā)明中的一些參數:
[0019]T1,絕對時間,為T1 s秒+TIns納秒;
[0020]T2,系統(tǒng)時間,為T2s秒+T2ns納秒+T2nns納秒;
[0021 ] T2_l,系統(tǒng)時間的上一時鐘的時間
[0022]Tls,絕對時間的秒為單位的部分;
[0023]Tins,絕對時間的納秒為單位的部分;
[0024]T2s,系統(tǒng)時間的秒為單位的部分;
[0025]T2ns,系統(tǒng)時間的納秒為單位的部分;
[0026]T2nns,系統(tǒng)時間的1/1,000, 000, 000納秒為單位的部分;
[0027]Cnt,系統(tǒng)時鐘(10MHz晶振)的計數器,每個時鐘加一;
[0028]dlt_x,偏移顆粒;
[0029]dlt_x_pid,經過PID調節(jié)之后的偏移顆粒;
[0030]T2_curr,表示當前得到絕對時間時的系統(tǒng)時間值;
[0031]Tl_curr,表示當前得到絕對時間時的絕對時間值;
[0032]Cnt_curr,表示本次得到絕對時間之時的Cnt值;
[0033]Cnt_last,表示上一次得到絕對時間之時的Cnt值。
[0034]本發(fā)明是這樣實現的(參考圖3):
[0035]A、當系統(tǒng)啟動或者時鐘同步產生了失步時,系統(tǒng)狀態(tài)為IDLE。當系統(tǒng)得到絕對時間過后,系統(tǒng)跳轉到PRE_SYNC狀態(tài),在IDLE狀態(tài),T2s秒=Tls秒,T2ns = Tins,T2nss = 0,其中Tls表示絕對時間的秒為單位的部分;Tlns表示絕對時間的納秒為單位的部分;T2s表示系統(tǒng)時間的秒為單位的部分;T2ns表示系統(tǒng)時間的納秒為單位的部分;T2nns表示系統(tǒng)時間的1/1,000, 000, 000納秒為單位的部分;假設一秒內時間偏差為1ns,時鐘為10M,則每個時鐘將偏差一個100/1000,000, 000ns,此變量為100,由此得到以1/1000, 000, 000ns 單位。
[0036]B、在PRE_SYNC狀態(tài)中當系統(tǒng)時間和絕對時間的誤差大于等于lus時,系統(tǒng)停在PRE_SYNC狀態(tài)。當系統(tǒng)時間和絕對時間的誤差連續(xù)3次小于lus時,系統(tǒng)跳轉到SYNC狀態(tài)。每次系統(tǒng)得到絕對時間時,重新計算偏移顆粒dlt_x。時間偏移為T2_curr-Tl_curr,dlt_x = (T2_curr_Tl_curr)/(Cnt_curr_Cnt_last)。
[0037]C、當系統(tǒng)處在SYNC狀態(tài)時,如果系統(tǒng)時間和絕對時間的誤差大于等于lus時,系統(tǒng)跳轉到IDLE狀態(tài),否則保持SYNC狀態(tài)。當進入到SYNC狀態(tài)時,每次系統(tǒng)得到絕對時間時,系統(tǒng)時間更新為絕對時間,重新計算偏移顆粒dlt_x。dlt_x = (T2_curr-Tl_curr)/(Cnt_curr_Cnt_last)。
[0038]D、當系統(tǒng)處在SYNC狀態(tài)時,如果系統(tǒng)時間和絕對時間的誤差大于等于lus時,系統(tǒng)跳轉到IDLE狀態(tài),否則保持SYNC狀態(tài);
[0039]E、系統(tǒng)實際運行時,在PRE_SYNC和SYNC狀態(tài)下,對計算得到的偏移顆粒dlt_x進行PID修正,得到偏移顆粒修正值dlt_x_pid,計算該次晶振計數時的系統(tǒng)時間T2,T2 =Tl+100ns+dlt_x_pido
[0040]dlt_x實際上應該是每次晶振計數的平均時間差,100ns應該是一次晶振計數的理論時間,系統(tǒng)校準時間應該是上一次系統(tǒng)校準時間加一次晶振計數的理論時間再加上每次晶振計數的平均時間差的修正值。
[0041]本發(fā)明的PID調節(jié)利用自動控制理論里面的PID調節(jié),要確保不失調,同時確保參數jitter小,ID參數由軟件根據實際情況按照需求來配置,PRE_SYNC和SYNC狀態(tài)各配置不同的參數,這里的PID調節(jié)為現有技術,在此不再贅述。
[0042]以上僅表達了本發(fā)明的實施方式,其描述較為具體和詳細,但并不能因此而理解為對發(fā)明專利范圍的限制。應當指出的是,對于本領域的普通技術人員來說,在不脫離本發(fā)明構思的前提下,還可以做出若干變形和改進,這些都屬于本發(fā)明的保護范圍。因此,本發(fā)明專利的保護范圍應以所附權利要求為準。
【主權項】
1.一種IRIG106系統(tǒng)的時鐘同步方法,其特征在于所述方法包括以下步驟: A、當系統(tǒng)啟動或者時鐘同步產生了失步時,系統(tǒng)狀態(tài)為IDLE;在IDLE狀態(tài),T2s秒=Tls秒,T2ns= Tins,T2nss=0,其中Tls表示絕對時間的秒為單位的部分;Tlns表示絕對時間的納秒為單位的部分;T2s表示系統(tǒng)時間的秒為單位的部分;T2ns表示系統(tǒng)時間的納秒為單位的部分;T2nns表示系統(tǒng)時間的1/1,000,000,000納秒為單位的部分; B、當系統(tǒng)得到絕對時間過后,系統(tǒng)跳轉到PRE_SYNC狀態(tài);每次系統(tǒng)得到絕對時間時,重新計算偏移顆粒dlt_x,dlt_x = (T2_curr-Tl_curr) / ( Cnt_curr-Cnt_last);其中 T2_curr表示當前得到絕對時間時的系統(tǒng)時間值;Tl_curr表示當前得到絕對時間時的絕對時間值;Cnt_curr表示本次得到絕對時間之時的系統(tǒng)時鐘晶振計數值;Cnt_last表示上一次得到絕對時間之時的系統(tǒng)時鐘晶振計數值; C、在PRE_SYNC狀態(tài)中當系統(tǒng)時間和絕對時間的誤差大于等于lus時,系統(tǒng)停在PRE_SYNC狀態(tài),當系統(tǒng)時間和絕對時間的誤差連續(xù)3次小于lus時,系統(tǒng)跳轉到SYNC狀態(tài); D、當系統(tǒng)處在SYNC狀態(tài)時,如果系統(tǒng)時間和絕對時間的誤差大于等于lus時,系統(tǒng)跳轉到IDLE狀態(tài),否則保持SYNC狀態(tài); E、系統(tǒng)實際運行時,在PRE_SYNC和SYNC狀態(tài)下,對計算得到的偏移顆粒dlt_x進行PID修正,得到偏移顆粒修正值dlt_x_pid,計算該次晶振計數時的系統(tǒng)時間T2,T2=Tl+100ns+dlt_x_pido
【專利摘要】本發(fā)明提出了一種IRIG106系統(tǒng)的時鐘同步方法,其特征在于引入了一個極小的時間單位(1/1,000,000,000ns),維護一個單位為1/1000,000,000納秒的變量,每一個10MHz的時鐘周期都加上100ns和這個變量,從而最大限度的逼近絕對時間,減少時間的抖動和誤差,并且實時補償系統(tǒng)的溫飄和抖動,利用普通晶振,就得到小于1us的時間誤差。
【IPC分類】H04L7/00
【公開號】CN105323057
【申請?zhí)枴緾N201510875980
【發(fā)明人】李志宏, 王法
【申請人】上海航空電器有限公司
【公開日】2016年2月10日
【申請日】2015年12月2日