本發明專利技術提出了一種IRIG106系統的時鐘同步方法,其特征在于引入了一個極小的時間單位(1/1,000,000,000ns),維護一個單位為1/1000,000,000納秒的變量,每一個10MHz的時鐘周期都加上100ns和這個變量,從而最大限度的逼近絕對時間,減少時間的抖動和誤差,并且實時補償系統的溫飄和抖動,利用普通晶振,就得到小于1us的時間誤差。
【技術實現步驟摘要】
本專利技術為IRIG106系統技術,具體涉及一種IRIG106系統的時鐘同步方法。
技術介紹
本專利技術涉及一種IRIG106 (Inter-Range Instrumentat1n Group,革巴場儀器組)標準的時鐘同步方法。如圖1,在I RIG 106第十章,規定了外部的絕對時間和10MHz的系統時間,系統要求記錄絕對時間的時間,但是時鐘同步和時鐘維護僅僅依賴于本地的10MHz的晶振。為了提尚系統精度,往往依賴于尚精度的10MHz晶振,這樣大大提尚了廣品的成本。
技術實現思路
本專利技術的目的在于提供一種IRIG106標準的時鐘同步方法,可以利用普通的10MHz晶振,達到lus的時鐘精度。為了實現上述目的,本專利技術的技術方案如下:一種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本專利技術中,系統通過計算,維護一個單位為1/1000,000,000納秒的變量,每一個10MHz的時鐘周期都加上或減去這個變量,從而最大限度的逼近絕對時間。應為利用了本算法,創造出了一個極小的時間單位(1/1000,000, 000納秒),所以抖動極小,精度極高,從而滿足了實際需求,達到了 lus的時鐘精度。【附圖說明】圖1為IRIG106的時鐘需求圖。圖2為本專利技術的狀態機。圖3為本專利技術的計算示意圖。下面結合附圖和實施例對本專利技術作詳細說明。【具體實施方式】本專利技術提供了一種IRIG106 (Inter-Range Instrumentat1n Group,革巴場儀器組)標準的時鐘同步方法。參考圖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本專利技術中的一些參數:T1,絕對時間,為T1 s秒+TIns納秒;T2,系統時間,為T2s秒+T2ns納秒+T2nns納秒; T2_l,系統時間的上一時鐘的時間Tls,絕對時間的秒為單位的部分;Tins,絕對時間的納秒為單位的部分;T2s,系統時間的秒為單位的部分;T2ns,系統時間的納秒為單位的部分;T2nns,系統時間的1/1,000, 000, 000納秒為單位的部分;Cnt,系統時鐘(10MHz晶振)的計數器,每個時鐘加一;dlt_x,偏移顆粒;dlt_x_pid,經過PID調節之后的偏移顆粒;T2_curr,表示當前得到絕對時間時的系統時間值;Tl_curr,表示當前得到絕對時間時的絕對時間值;Cnt_curr,表示本次得到絕對時間之時的Cnt值;Cnt_last,表示上一次得到絕對時間之時的Cnt值。本專利技術是這樣實現的(參考圖3):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 單位。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)。C、當系統處在SYNC狀態時,如果系統時間和絕對時間的誤差大于等于lus時,系統跳轉到IDLE狀態,否則保持SYNC狀態。當進入到SYNC狀態時,每次系統得到絕對時間時,系統時間更新為絕對時間,重新計算偏移顆粒dlt_x。dlt_x = (T2_curr-Tl_curr)/(Cnt_curr_Cnt_last)。D、當系統處在SYNC狀態時,如果系統時間和絕對時間的誤差大于等于lus時,系統跳轉到IDLE狀態,否則保持SYNC狀態;E、系統實際運行時,在PRE_SYNC和SYNC狀態下,對計算得到的偏移顆粒dlt_x進行PID修正,得到偏移顆粒修正值dlt_x_pid,計算該次晶振計數時的系統時間T2,T2 =Tl+100ns+dlt_x_pidodlt_x實際上應該是每次晶振計數的平均時間差,100ns應該是一次晶振計數的理論時間,系統校準時間應該是上一次系統校準時間加一次晶振計數的理論時間再加上每次晶振計數的平均時間差的修正值。本專利技術的PID調節利用自動控制理論里面的PID調節,要確保不失調,同時確保參數jitter小,ID參數由軟件根據實際情況按照需求來配置,PRE_SYNC和SYNC狀態各配置不同的參數,這里的PI本文檔來自技高網...
【技術保護點】
一種IRIG106系統的時鐘同步方法,其特征在于所述方法包括以下步驟:A、當系統啟動或者時鐘同步產生了失步時,系統狀態為IDLE;在IDLE狀態,T2s秒=T1s秒,T2ns=?T1ns,T2nss=0,其中T1s表示絕對時間的秒為單位的部分;T1ns表示絕對時間的納秒為單位的部分;T2s表示系統時間的秒為單位的部分;T2ns表示系統時間的納秒為單位的部分;T2nns表示系統時間的1/1,000,000,000納秒為單位的部分;B、當系統得到絕對時間過后,系統跳轉到PRE_SYNC狀態;每次系統得到絕對時間時,重新計算偏移顆粒dlt_x,?dlt_x?=?(T2_curr?T1_curr)/(?Cnt_curr?Cnt_last);其中T2_curr表示當前得到絕對時間時的系統時間值;T1_curr表示當前得到絕對時間時的絕對時間值;Cnt_curr表示本次得到絕對時間之時的系統時鐘晶振計數值;Cnt_last表示上一次得到絕對時間之時的系統時鐘晶振計數值;C、在PRE_SYNC狀態中當系統時間和絕對時間的誤差大于等于1us時,系統停在PRE_SYNC狀態,當系統時間和絕對時間的誤差連續3次小于1us時,系統跳轉到SYNC狀態;D、當系統處在SYNC狀態時,如果系統時間和絕對時間的誤差大于等于1us時,系統跳轉到IDLE狀態,否則保持SYNC狀態;E、系統實際運行時,在PRE_SYNC和SYNC狀態下,對計算得到的偏移顆粒dlt_x進行PID修正,得到偏移顆粒修正值dlt_x_pid,計算該次晶振計數時的系統時間T2,T2=T1+100ns+dlt_x_pid。...
【技術特征摘要】
【專利技術屬性】
技術研發人員:李志宏,王法,
申請(專利權)人:上海航空電器有限公司,
類型:發明
國別省市:上海;31
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。