專利名稱:一種模擬的時(shí)鐘恢復(fù)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)同步時(shí)鐘領(lǐng)域,尤其涉及一種模擬的時(shí)鐘恢復(fù)方法。
背景技術(shù):
傳統(tǒng)時(shí)鐘同步是指要把分布在各地的時(shí)鐘同步起來,簡單來說就是要保持時(shí)鐘之間的頻率和相位相同。時(shí)鐘同步在很多領(lǐng)域里都有廣泛的應(yīng)用,例如工業(yè)控制、自動(dòng)化生產(chǎn)、測(cè)量等要求時(shí)間精確的行業(yè)。目前,隨著網(wǎng)絡(luò)的逐漸IP化,分組網(wǎng)絡(luò)的時(shí)鐘同步能力逐漸得到人們的重視。主要有兩方面一是分組網(wǎng)絡(luò)可以承載TDM(時(shí)分復(fù)用模式)業(yè)務(wù),并提供TDM業(yè)務(wù)時(shí)鐘恢復(fù)的機(jī)制,使得TDM業(yè)務(wù)在穿越分組網(wǎng)絡(luò)后仍滿足一定的性能指標(biāo);二是,分組網(wǎng)絡(luò)可以像TDM網(wǎng)絡(luò)一樣,提供高精度的網(wǎng)絡(luò)參考時(shí)鐘,以滿足網(wǎng)絡(luò)節(jié)點(diǎn)或終端的同步需求?,F(xiàn)在已經(jīng)有幾種可以實(shí)現(xiàn)時(shí)鐘同步的協(xié)議,例如ntp協(xié)議、IEEE1588協(xié)議等。其中ntp協(xié)議的時(shí)間精度為毫秒級(jí),而IEEE1588協(xié)議的時(shí)間精度為納秒級(jí)。所以IEEE1588 協(xié)議由于其精度的優(yōu)越性近幾年被廣范應(yīng)用。IEEE1588協(xié)議本身在設(shè)計(jì)上充分考慮了報(bào)文的傳輸時(shí)延及處理時(shí)間,并且依賴于硬件來獲取報(bào)文的發(fā)送及接收時(shí)間戳,將報(bào)文的傳輸時(shí)延最小化,從而計(jì)算出設(shè)備之間的主從時(shí)鐘頻率差f和相位差P,進(jìn)而來調(diào)整本地時(shí)鐘,即時(shí)鐘調(diào)整算法。因此,IEEE1588協(xié)議對(duì)于硬件的要求較高,并且它最終要恢復(fù)本地時(shí)鐘的頻率和相位。一般可通過修改從時(shí)鐘硬件設(shè)備本地時(shí)鐘的頻率和相位,但是,并非所有硬件設(shè)備都支持修改本地時(shí)鐘的頻率和相位。因此,對(duì)于不具備硬件時(shí)鐘恢復(fù)能力的設(shè)備,實(shí)現(xiàn)其時(shí)鐘同步是亟待解決的問題。
發(fā)明內(nèi)容
本發(fā)明提供了一種模擬的時(shí)鐘恢復(fù)方法,使得IEEE1588協(xié)議能夠在不具備硬件時(shí)鐘恢復(fù)能力的設(shè)備上實(shí)現(xiàn),并且為該設(shè)備上的其他應(yīng)用協(xié)議提供一個(gè)時(shí)鐘精度達(dá)到微秒級(jí)的時(shí)間。本發(fā)明采用的技術(shù)手段如下一種模擬的時(shí)鐘恢復(fù)方法,包括參數(shù)獲取步驟,獲取本地硬件時(shí)鐘流逝時(shí)間tpass、本地時(shí)鐘上一次恢復(fù)后的時(shí)間 tadj—η、本地時(shí)鐘上一次恢復(fù)后的頻率恢復(fù)值fadj—η、由本地時(shí)鐘與主時(shí)鐘的頻率比獲得的調(diào)整系數(shù)C、以及通過時(shí)鐘調(diào)整算法得到時(shí)鐘頻率差f i和相位差P ;計(jì)算得到本地時(shí)鐘恢復(fù)后時(shí)間tn。w的步驟,所述本地時(shí)鐘恢復(fù)后的時(shí)間為本地時(shí)鐘上一次恢復(fù)后的時(shí)間tadj η加上本地硬件時(shí)鐘流逝時(shí)間tpass與所述調(diào)整系數(shù)C的乘積, 再與相位差P之和。進(jìn)一步,所述參數(shù)獲取步驟還包括獲取本地硬件時(shí)鐘的時(shí)間t1()。al和上一次恢復(fù)時(shí)的硬件時(shí)間tharf,根據(jù)(kd-ty) 得到本地時(shí)鐘硬件流逝時(shí)間tpass。進(jìn)一步,由本地時(shí)鐘與主時(shí)鐘的頻率比獲得的調(diào)整系數(shù)C,是通過(l+fadj η/109) 或者(IOi^fadj HViO9得到的。
進(jìn)一步,計(jì)算得到本地時(shí)鐘恢復(fù)后時(shí)間以后還包括有更新頻率偏移整數(shù)值fa(U」的步驟,本地時(shí)鐘上一次恢復(fù)后的頻率恢復(fù)值fa(U H、 與本次時(shí)鐘頻率差f」累加;更新恢復(fù)后的時(shí)間ta(U」的步驟,即將本次確定的本地時(shí)鐘恢復(fù)后時(shí)間tn。w保存為恢復(fù)后的時(shí)間;更新恢復(fù)時(shí)的硬件時(shí)間tharf的步驟,即將本次獲得的本地時(shí)鐘時(shí)間t1()。al保存為恢復(fù)后的硬件時(shí)間。進(jìn)一步,所述確定本地時(shí)鐘恢復(fù)后的時(shí)間tn。w的步驟中還包括累加執(zhí)行該算法補(bǔ)償值的步驟。進(jìn)一步,所述補(bǔ)償值包括參數(shù)獲取步驟執(zhí)行時(shí)間、確定本地時(shí)鐘應(yīng)該走過的時(shí)間的執(zhí)行時(shí)間及累加相位差P和本地時(shí)鐘上一次恢復(fù)后的時(shí)間ta(U H的執(zhí)行時(shí)間。進(jìn)一步,每隔預(yù)定的時(shí)間進(jìn)行本地時(shí)鐘恢復(fù),計(jì)算恢復(fù)后時(shí)間tn。w的步驟。進(jìn)一步,初次調(diào)整計(jì)算時(shí)fadj η和Uj ^1均為零。
基于此,本發(fā)明提供的一種模擬的時(shí)鐘恢復(fù)方法與硬件時(shí)鐘配合使用,根據(jù) IEEE1588協(xié)議的時(shí)鐘調(diào)整算法計(jì)算出來的時(shí)鐘頻率差和相位差,模擬時(shí)鐘頻率和相位的恢復(fù),以在不具備硬件時(shí)鐘恢復(fù)能力的設(shè)備上實(shí)現(xiàn)時(shí)鐘恢復(fù);并且通過整數(shù)計(jì)算獲得本地時(shí)鐘恢復(fù)后的時(shí)間,避免浮點(diǎn)數(shù)計(jì)算精度不高的問題,并在確定本地時(shí)鐘恢復(fù)后的時(shí)間時(shí)累加執(zhí)行方法所需時(shí)間,進(jìn)一步提高了時(shí)間精度,進(jìn)而提供一個(gè)時(shí)鐘精度達(dá)到微秒級(jí)的時(shí)間, 來滿足上層協(xié)議的應(yīng)用,例如基于業(yè)務(wù)的OAM協(xié)議等。
圖1為本發(fā)明模擬的時(shí)鐘恢復(fù)方法流程示意圖。
具體實(shí)施例方式以下結(jié)合附圖對(duì)本發(fā)明的原理和特征進(jìn)行描述,所舉實(shí)例只用于解釋本發(fā)明,并非用于限定本發(fā)明的范圍。本發(fā)明是基于以下構(gòu)思進(jìn)行的IEEE1588網(wǎng)絡(luò)中,根據(jù)交互報(bào)文,最終能夠計(jì)算出主時(shí)鐘和從時(shí)鐘之間的時(shí)間差 offset和路徑延遲delay,然后通過現(xiàn)有的時(shí)鐘調(diào)整算法,計(jì)算出目前主時(shí)鐘和從時(shí)鐘之間的頻率差f—i和相位差P,根據(jù)頻率差f i (單位PPb,十億分之一)和相位差ρ (單位納秒) 先使從時(shí)鐘的頻率與主時(shí)鐘的頻率達(dá)到一致,然后將從時(shí)鐘的時(shí)間與主時(shí)鐘的時(shí)間達(dá)到一致,表現(xiàn)也就是兩個(gè)時(shí)鐘的TOD時(shí)間偏差在納秒級(jí)。進(jìn)行時(shí)鐘恢復(fù)時(shí)可獲得的物理量包括f」,表示頻率差(單位ppb),代表第i次頻率恢復(fù)值;p,表示相位差(單位納秒);t1()。al,表示本地硬件時(shí)鐘(單位納秒);需要計(jì)算得到的物理量包括tn。w,表示經(jīng)過軟件模擬調(diào)整的恢復(fù)后的時(shí)間(單位納秒);中間變量包括〔0031〕、33,表不本地硬件時(shí)鐘流逝時(shí)間;
〔0032〕(,表示本地時(shí)鐘與主時(shí)鐘的頻率比獲得的調(diào)整系數(shù)(;
〔0033〕^^㈠,表示當(dāng)前已經(jīng)調(diào)整的頻率恢復(fù)整數(shù)值;
〔0034〕、4」卜丨,表示上一次恢復(fù)后的調(diào)整時(shí)間;
^00353‘-,表示上一次恢復(fù)時(shí)的硬件時(shí)間;
〔0036〕時(shí)鐘恢復(fù)的基本公式如下
〔0037〕I膽 二、」“+‘…禮+!);〈公式 1〉
〔0038〕、333 二、。--、3時(shí)〈公式 2〉
〔0039〕0 二 (時(shí)拳/川9)或,。^ (從+^」」一0/109〈公式3〉
〔0040〕&」」二 &」」―廣?」;〈公式4〉
〔0041〕、”二、?!?公式 5〉
〔0042〕、- 二 ^10031〈公式 6〉
〔0043〕由于計(jì)算機(jī)進(jìn)行運(yùn)算時(shí),㈠整數(shù)值除以10億會(huì)導(dǎo)致最終的結(jié)果為小數(shù),而設(shè)
備的浮點(diǎn)數(shù)計(jì)算精度不如整數(shù)計(jì)算計(jì)算精度高,所以可修改公式為
〔0044〕七賄二、」“十“10。31-七」^ (從+^」—“)/從+口 ;〈公式7〉
〔0045〕 通過時(shí)鐘恢復(fù)公式,計(jì)算出目前主時(shí)鐘和從時(shí)鐘之間的頻率差腳相位差 其中,
頻率差“是有符號(hào)整數(shù)值,單位為!)沖,若。為正數(shù)表示本地時(shí)鐘頻率慢,每秒需要比以
前多走。118 ;反之表示本地時(shí)鐘的頻率快,每秒需要比以前少走。118。相位差0也是有符
號(hào)數(shù),單位為118,若0為正數(shù)表示本地的時(shí)間比主時(shí)鐘的時(shí)間慢1)118,需要將本地時(shí)間增加
卯8 ;反之表示本地的時(shí)間比主時(shí)鐘的時(shí)間慢卯8,需要將本地時(shí)間減少卯8。
〔0046〕 基于以上構(gòu)思,本發(fā)明提供的一種模擬的時(shí)鐘恢復(fù)方法,包括
〔0047〕 參數(shù)獲取步驟,獲取本地硬件時(shí)鐘流逝時(shí)間、333、本地時(shí)鐘上一次恢復(fù)后的時(shí)間
七&—㈠、本地時(shí)鐘上一次恢復(fù)后的頻率恢復(fù)值?吣—㈠、由本地時(shí)鐘與主時(shí)鐘的頻率比獲得的
調(diào)整系數(shù)(、以及通過時(shí)鐘調(diào)整算法得到時(shí)鐘頻率差“和相位差!);
〔0048〕 計(jì)算得到本地時(shí)鐘恢復(fù)后時(shí)間、。,的步驟,所述本地時(shí)鐘恢復(fù)后的時(shí)間為本地時(shí)
鐘上一次恢復(fù)后的時(shí)間㈠加上本地硬件時(shí)鐘流逝時(shí)間、333與所述調(diào)整系數(shù)(的乘積,
再與相位差!)之和
〔0049〕 作為本發(fā)明方法的實(shí)施例,如圖1所示流程
〔0050〕 步驟3301 讀取本地時(shí)鐘的時(shí)間、。。31,并獲取上一次恢復(fù)后的時(shí)間、&4、上一次 恢復(fù)時(shí)的硬件時(shí)間、㈣,根據(jù)(、…-‘㈣)得到本地時(shí)鐘硬件流逝時(shí)間、…并獲取本地時(shí) 鐘上一次恢復(fù)后的頻率恢復(fù)值?吣—~、由本地時(shí)鐘與主時(shí)鐘的頻率比獲得的調(diào)整系數(shù)(、以 及通過時(shí)鐘調(diào)整算法得到時(shí)鐘頻率差?」和相位差!);其中,本地時(shí)鐘與主時(shí)鐘的頻率比獲 得的調(diào)整系數(shù)(,是通過(丨+^」—㈠/從)或者(從+^」一/109得到的; 〔0051〕 步驟3302根據(jù)公式1或7計(jì)算本地時(shí)鐘恢復(fù)后的時(shí)間。得到本地時(shí)鐘 硬件流逝時(shí)間、㈣及調(diào)整系數(shù)(后,計(jì)算這段時(shí)間內(nèi)本地時(shí)鐘應(yīng)該走過的秒值,即 (^^"^^(!+^-!/^9)或“1。^;31-、』*(109+^1」」-1)/109 ;其次,將該段時(shí)間加上上次 恢復(fù)后的時(shí)間,這樣得到了本地時(shí)鐘恢復(fù)后的時(shí)間;最后再加上本次調(diào)整的相位值,得到最 終的本地時(shí)間;作為優(yōu)選的,使用公式7計(jì)算本地時(shí)鐘恢復(fù)后的時(shí)間,避免了設(shè)備的浮點(diǎn)數(shù) 計(jì)算精度不如整數(shù)計(jì)算計(jì)算精度高而帶來的時(shí)間誤差。
步驟S303 更新頻率恢復(fù)值,即以前累計(jì)的頻率恢復(fù)值與本次的頻率恢復(fù)值累加,表示從當(dāng)前時(shí)間開始,本地時(shí)鐘應(yīng)該按照恢復(fù)的頻率運(yùn)行,即fadi—i = fa(U—H+f—i ;步驟S304:更新上次恢復(fù)后的時(shí)間,即將本次計(jì)算出的時(shí)間保存為上次恢復(fù)時(shí)
間,^adj-I — ^now步驟S305 更新上次恢復(fù)時(shí)的硬件時(shí)間,即將本次計(jì)算出的時(shí)間保存為上次恢復(fù)
時(shí)間,用于下一次恢復(fù)時(shí)鐘的計(jì)算tharf = t1()。al。本實(shí)施例中,考慮到時(shí)間精度,使用模擬的方法恢復(fù)時(shí)鐘,需要考慮執(zhí)行該方法的執(zhí)行時(shí)間。作為優(yōu)選的,在步驟S302中,計(jì)算本地時(shí)鐘恢復(fù)后的時(shí)間時(shí),需累加包括參數(shù)獲取步驟執(zhí)行時(shí)間、確定本地時(shí)鐘應(yīng)該走過的時(shí)間的執(zhí)行時(shí)間及累加相位差P和本地時(shí)鐘的時(shí)間t1()。al的執(zhí)行時(shí)間的補(bǔ)償值,以提高時(shí)間精度,其中,補(bǔ)償值的確定可以通過運(yùn)行分析得到,根據(jù)實(shí)驗(yàn)補(bǔ)償值優(yōu)選90微秒。作為優(yōu)選的,每隔預(yù)定的時(shí)間進(jìn)行本地時(shí)鐘恢復(fù),計(jì)算恢復(fù)后時(shí)間tn。w的步驟。其中,初次調(diào)整計(jì)算時(shí)fa(U—Η和ta(U η均為零。獲得本地時(shí)鐘恢復(fù)后的時(shí)間時(shí),將頻率差f和相位差ρ的值賦予為0,并根據(jù)上述方法流程即可得到按回復(fù)后的頻率運(yùn)行的時(shí)間。以本發(fā)明的技術(shù)手段,根據(jù)實(shí)驗(yàn)測(cè)試,主從時(shí)鐘的頻率差最終可以調(diào)整到7ppb。以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明保護(hù)的范圍之內(nèi)。
權(quán)利要求
1.一種模擬的時(shí)鐘恢復(fù)方法,包括參數(shù)獲取步驟,獲取本地硬件時(shí)鐘流逝時(shí)間tpass、本地時(shí)鐘上一次恢復(fù)后的時(shí)間tadj H、 本地時(shí)鐘上一次恢復(fù)后的頻率恢復(fù)值fadj—H、由本地時(shí)鐘與主時(shí)鐘的頻率比獲得的調(diào)整系數(shù) C、以及通過時(shí)鐘調(diào)整算法得到時(shí)鐘頻率差f i和相位差P ;計(jì)算得到本地時(shí)鐘恢復(fù)后時(shí)間tn。w的步驟,所述本地時(shí)鐘恢復(fù)后的時(shí)間為本地時(shí)鐘上一次恢復(fù)后的時(shí)間tadj H加上本地硬件時(shí)鐘流逝時(shí)間tpass與所述調(diào)整系數(shù)C的乘積,再與相位差P之和。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述參數(shù)獲取步驟還包括獲取本地硬件時(shí)鐘的時(shí)間t1()。al和上一次恢復(fù)時(shí)的硬件時(shí)間tharf,根據(jù)(t^d-th-)得到本地時(shí)鐘硬件流逝時(shí)間tpass。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,由本地時(shí)鐘與主時(shí)鐘的頻率比獲得的調(diào)整系數(shù)C,是通過a+fadj η/109)或者(K^fadj HVio9得到的。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,計(jì)算得到本地時(shí)鐘恢復(fù)后時(shí)間以后還包括有更新頻率偏移整數(shù)值fatu—H的步驟,本地時(shí)鐘上一次恢復(fù)后的頻率恢復(fù)值fatu—H、與本次時(shí)鐘頻率差f—i累加;更新恢復(fù)后的時(shí)間i的步驟,即將本次確定的本地時(shí)鐘恢復(fù)后時(shí)間tn。w保存為恢復(fù)后的時(shí)間;更新恢復(fù)時(shí)的硬件時(shí)間th d的步驟,即將本次獲得的本地時(shí)鐘時(shí)間t1()。al保存為恢復(fù)后的硬件時(shí)間。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述確定本地時(shí)鐘恢復(fù)后的時(shí)間tn。w的步驟中還包括累加執(zhí)行該算法補(bǔ)償值的步驟。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述補(bǔ)償值包括參數(shù)獲取步驟執(zhí)行時(shí)間、 確定本地時(shí)鐘應(yīng)該走過的時(shí)間的執(zhí)行時(shí)間及累加相位差P和本地時(shí)鐘上一次恢復(fù)后的時(shí)間tadj—H的執(zhí)行時(shí)間。
7.據(jù)權(quán)利要求1至6任一項(xiàng)所述的方法,其特征在于,每隔預(yù)定的時(shí)間進(jìn)行本地時(shí)鐘恢復(fù),計(jì)算恢復(fù)后時(shí)間tn。w的步驟。
8.根據(jù)權(quán)利要求1或3所述的方法,其特征在于,初次調(diào)整計(jì)算時(shí)fa(Uη和ta(U Η均為零。
全文摘要
本發(fā)明提供的一種模擬的時(shí)鐘恢復(fù)方法,根據(jù)IEEE1588協(xié)議的時(shí)鐘調(diào)整算法計(jì)算出來的時(shí)鐘頻率差和相位差,模擬時(shí)鐘頻率和相位的恢復(fù),以在不具備硬件時(shí)鐘恢復(fù)能力的設(shè)備上實(shí)現(xiàn)時(shí)鐘恢復(fù);并且通過整數(shù)計(jì)算獲得本地時(shí)鐘恢復(fù)后的時(shí)間,避免浮點(diǎn)數(shù)計(jì)算精度不高的問題,并在確定本地時(shí)鐘恢復(fù)后的時(shí)間時(shí)累加執(zhí)行方法所需時(shí)間,進(jìn)一步提高了時(shí)間精度,進(jìn)而提供一個(gè)時(shí)鐘精度達(dá)到微秒級(jí)的時(shí)間通過整數(shù)計(jì)算獲得本地時(shí)鐘恢復(fù)后的時(shí)間,且避免浮點(diǎn)數(shù)計(jì)算精度不高的問題,并在確定本地時(shí)鐘恢復(fù)后的時(shí)間時(shí)累加執(zhí)行方法所需時(shí)間,提高了時(shí)間精度。
文檔編號(hào)H04J3/06GK102497244SQ20111042445
公開日2012年6月13日 申請(qǐng)日期2011年12月16日 優(yōu)先權(quán)日2011年12月16日
發(fā)明者遲蕾 申請(qǐng)人:瑞斯康達(dá)科技發(fā)展股份有限公司