專利名稱:一種時鐘閏秒處理方法及其系統(tǒng)的制作方法
一種時鐘閏秒處理方法及其系統(tǒng)技術(shù)領(lǐng)域:
[0001]本發(fā)明涉及授時的時間同步技術(shù)領(lǐng)域:
,尤其涉及一種時鐘閏秒處理方法及其系統(tǒng)。
背景技術(shù):
[0002]由于地球自轉(zhuǎn)速度減慢,原子時與世界時時間誤差大于O. 9秒,根據(jù)地球的自轉(zhuǎn)速度,國際計量局會定期在年底、年中或季末對協(xié)調(diào)世界時增加一秒鐘,使其能與地球自轉(zhuǎn)同步。這不會讓我們漸漸走向日落在早晨時發(fā)生,但可能會在計算機(jī)系統(tǒng)中帶來問題,原因是計算機(jī)系統(tǒng)需要在時鐘里多加一秒,但系統(tǒng)本身不夠靈活,因此無法處理這多出來的一秒鐘。[0003]高精度定時器是在一個應(yīng)用“睡眠”時被使用的子系統(tǒng),它會等待操作系統(tǒng)完成某些其他的任務(wù)。在某些情況下,高精度定時器會為這些睡眠中的應(yīng)用設(shè)定一種鬧鐘,會在操作系統(tǒng)花費太多時間來處理其他工作時敲響。從斯圖爾茨在郵件列表中發(fā)布的內(nèi)容來判斷,當(dāng)閏秒發(fā)生時,這些高精度定時器會突然變得比核心操作系統(tǒng)提前一秒,因此就會開始敲響那些鬧鐘,從而同時喚醒無數(shù)睡眠中的應(yīng)用,導(dǎo)致服務(wù)器的中央處理器超載。[0004]在2009年I月份,閏秒導(dǎo)致Sun Microsystems的Solaris操作系統(tǒng)和甲骨文的軟件包都出現(xiàn)了問題。自2005年以來則一共有三次閏秒發(fā)生,分別是在2005年、2008年底和現(xiàn)在的2012年,下一次閏秒將在何時發(fā)生,要視地球的自轉(zhuǎn)速度有多快而定——這一速度既有可能減慢也有可能加快,具體要視潮汐、天氣和熔態(tài)金屬在地球核心的流動而定。[0005]為了應(yīng)對閏秒的發(fā)生,目前有兩種解決方案,第一種常見方案閏秒設(shè)為定值常數(shù),此方案在閏秒進(jìn)行調(diào)整時,會出現(xiàn)跳秒問題,得到的TOD (Time of Data,實時時間常數(shù))消息是錯誤的,必須重新更改閏秒值,下載最新程序才能使用,缺點是,硬件一段時間不能正常工作,嚴(yán)重的甚至?xí)霈F(xiàn)整個系統(tǒng)癱瘓;第二種常見方案人工推送閏秒,此方案在設(shè)計硬件時,預(yù)留了接口,使得當(dāng)閏秒在調(diào)整時可以通過人工的方式告訴硬件閏秒值,從而不用重新下載最新程序,缺點是,此方式不夠智能化,每次閏秒調(diào)整時都需要耗費人力。[0006]隨著計算機(jī)和網(wǎng)絡(luò)通信技術(shù)的飛速發(fā)展,火電廠熱工自動化系統(tǒng)數(shù)字化、網(wǎng)絡(luò)化的時代已經(jīng)到來。這一方面為各控制和信息系統(tǒng)之間的數(shù)據(jù)交換、分析和應(yīng)用提供了更好的平臺、另一方面對各種實時和歷史數(shù)據(jù)時間標(biāo)簽的準(zhǔn)確性也提出了更高的要求。[0007]GPS時間服務(wù)器是針對自動化系統(tǒng)中的計算機(jī)、控制裝置等進(jìn)行校時的高科技產(chǎn)品,時鐘源設(shè)備它從授時衛(wèi)星上獲取標(biāo)準(zhǔn)的時間信號,將這些信息通過各種接口類型來傳輸給自動化系統(tǒng)中需要時間信息的設(shè)備,如計算機(jī)、保護(hù)裝置、故障錄波器、事件順序記錄裝置、安全自動裝置、遠(yuǎn)動RTU等,這樣就可以達(dá)到整個系統(tǒng)的時間同步。
發(fā)明內(nèi)容
[0008]本發(fā)明的目的在于提出一種時鐘閏秒處理方法及其系統(tǒng),能夠?qū)崿F(xiàn)在閏秒變化時 TOD消息平滑過渡,使其時間與調(diào)整閏秒時的時間完全一致。為達(dá)此目的,本發(fā)明采用以下技術(shù)方案[0009]一種時鐘閏秒處理方法,包括[0010]使用存儲器存儲閏秒值,所述存儲器掉電時不丟失數(shù)據(jù),本發(fā)明所述閏秒值為 UTC (Universal Time Coordinated,協(xié)調(diào)世界時)時間和GPS時間相差的整數(shù)秒數(shù),所述閏秒值初始由接收機(jī)通過授時衛(wèi)星信號獲?。籟0011]當(dāng)系統(tǒng)重啟時,通過接收機(jī)接收授時衛(wèi)星信號實時獲取系統(tǒng)的UTC時間;從所述存儲器中讀取閏秒值,將系統(tǒng)當(dāng)前的UTC時間加上所述閏秒值作為系統(tǒng)當(dāng)前的GPS時間,系統(tǒng)當(dāng)前的GPS時間根據(jù)高穩(wěn)晶振分頻繼續(xù)計時;系統(tǒng)進(jìn)入正常運行狀態(tài);[0012]當(dāng)系統(tǒng)處于正常運行狀態(tài)時,通過接收機(jī)接收授時衛(wèi)星信號實時獲取系統(tǒng)的UTC 時間;根據(jù)高穩(wěn)恒溫晶振分頻計時獲取系統(tǒng)的GPS時間;[0013]當(dāng)系統(tǒng)處于正常運行狀態(tài)時收到調(diào)整閏秒通知的中斷消息,使系統(tǒng)的UTC時間按照23 59 59,23 59 :60、00 00 :00、00 00 01變化,將所述中斷消息中新閏秒值寫入所述存儲器。[0014]進(jìn)一步地,當(dāng)系統(tǒng)丟失授時衛(wèi)星信號時,UTC時間根據(jù)高穩(wěn)晶振分頻繼續(xù)計時,直到授時衛(wèi)星信號恢復(fù)良好時使用接收機(jī)通過授時衛(wèi)星信號獲取UTC的時間,系統(tǒng)進(jìn)入正常運行狀態(tài)。[0015]進(jìn)一步地,所述根據(jù)高穩(wěn)晶振分頻繼續(xù)計時具體為由本地時間函數(shù)自動每秒加一計時,每秒的時間間隔由內(nèi)置的高穩(wěn)恒溫晶振進(jìn)行分頻得到。[0016]進(jìn)一步地,所述存儲器為單片機(jī)FLASH存儲器。[0017]本發(fā)明還提出了一種時鐘閏秒處理系統(tǒng),包括,[0018]閏秒值存儲模塊用于使用存儲器存儲閏秒值,所述存儲器掉電時不丟失數(shù)據(jù),所述閏秒值為UTC時間和GPS時間相差的整數(shù)秒數(shù),所述閏秒值初始由接收機(jī)通過授時衛(wèi)星信號獲??;用于接收閏秒中斷處理模塊發(fā)送的新閏秒值,將該新閏秒值替換所述存儲器中原閏秒值;用于為初始化模塊提供閏秒值;[0019]初始化模塊當(dāng)系統(tǒng)重啟時,用于通過接收機(jī)接收授時衛(wèi)星信號實時獲取UTC時間,從所述存儲器中讀取閏秒值,將當(dāng)前的UTC時間加上所述閏秒值作為當(dāng)前的GPS時間, 將當(dāng)前的GPS時間根據(jù)高穩(wěn)晶振分頻繼續(xù)計時;用于初始化完畢后使系統(tǒng)進(jìn)入所述正常運 4丁豐旲塊;[0020]正常運行模塊當(dāng)系統(tǒng)處于正常運行狀態(tài)時,用于通過接收機(jī)接收授時衛(wèi)星信號實時獲取系統(tǒng)的UTC時間,根據(jù)高穩(wěn)恒溫晶振分頻計時獲取系統(tǒng)的GPS時間;當(dāng)系統(tǒng)處于正常運行狀態(tài)時,若收到調(diào)整閏秒通知的中斷消息時,用于使系統(tǒng)進(jìn)入閏秒中斷處理模塊;[0021]閏秒中斷處理模塊當(dāng)系統(tǒng)處于正常運行模塊時收到調(diào)整閏秒通知的中斷消息, 用于使UTC時間按照23 59 59,23 59 :60、00 00 :00、00 00 01變化,將所述中斷消息中新閏秒值發(fā)送到所述閏秒值存儲模塊;用于閏秒中斷處理完畢后使系統(tǒng)進(jìn)入所述正常運行模塊。[0022]進(jìn)一步地,所述的時鐘閏秒處理系統(tǒng)還包括授時衛(wèi)星信號丟失應(yīng)對模塊當(dāng)系統(tǒng)丟失授時衛(wèi)星信號時,用于使系統(tǒng)根據(jù)高穩(wěn)晶振分頻繼續(xù)計時獲得UTC時間,直到授時衛(wèi)星信號恢復(fù)良好時使用接收機(jī)通過授時衛(wèi)星信號獲取UTC的時間;用于授時衛(wèi)星信號丟失應(yīng)對處理完畢后使系統(tǒng)進(jìn)入所述正常運行模塊。[0023]進(jìn)一步地,所述根據(jù)高穩(wěn)晶振分頻繼續(xù)計時具體為由本地時間函數(shù)自動每秒加一計時,每秒的時間間隔由內(nèi)置的高穩(wěn)恒溫晶振進(jìn)行分頻得到。[0024]進(jìn)一步地,閏秒值存儲模塊中所述存儲器為單片機(jī)FLASH存儲器。[0025]本發(fā)明所述閏秒處理技術(shù)方案可以實現(xiàn)在閏秒變化時TOD消息平滑過渡,其時間與調(diào)整閏秒時的時間完全一致,即UTC時間會出現(xiàn)23:59:58、23:59:59、23:59:60、 00:00:00,00:00:01……的變化,而GPS時間也不會出現(xiàn)跳秒,可以保證在閏秒調(diào)整時系統(tǒng)的穩(wěn)定正常運行。
[0026]圖一是本發(fā)明具體實施例一所述的時鐘閏秒處理方法的方法流程圖;[0027]圖二是本發(fā)明具體實施例二所述的時鐘閏秒處理系統(tǒng)的結(jié)構(gòu)示意圖。
具體實施方式
[0028]下面結(jié)合附圖并通過具體實施方式
來進(jìn)一步說明本發(fā)明的技術(shù)方案。[0029]實施例一[0030]圖一是本實施例所述的時鐘閏秒處理方法的方法流程圖,如圖一所示,本實施例所述的時鐘閏秒處理方法包括[0031]S101、系統(tǒng)重啟;[0032]S102、判斷接收機(jī)是否獲取UTC時間,若是,則執(zhí)行步驟S106,否則重復(fù)執(zhí)行本步驟;接收機(jī)通過授時衛(wèi)星信號獲取UTC時間是一個持續(xù)過程,與步驟S103無先后順序。[0034]在系統(tǒng)重啟后接收機(jī)一直持續(xù)工作讀取授時衛(wèi)星信號,在系統(tǒng)成功啟動后,進(jìn)入正常運行狀態(tài)時,如果當(dāng)接收機(jī)接收授時衛(wèi)星信號失敗時,向系統(tǒng)發(fā)送消息,告訴系統(tǒng)丟失授時衛(wèi)星信號,系統(tǒng)臨時通過高穩(wěn)晶振分頻IPPS計時繼續(xù)為UTC計時,當(dāng)接收授時衛(wèi)星信號恢復(fù)正常時,系統(tǒng)恢復(fù)為通過授時衛(wèi)星信號獲取UTC時間。[0035]S103、判斷FLASH是否存有閏秒信息,若是則執(zhí)行步驟S105,否則執(zhí)行步驟S104 ;[0036]本發(fā)明使用存儲器存儲閏秒值,所述存儲器掉電時不丟失數(shù)據(jù),可以為單片機(jī) FLASH存儲器。[0037]所述閏秒值為UTC時間和GPS時間相差的整數(shù)秒數(shù)。如,2012年調(diào)整閏秒之前, UTC時間和GPS時間相差15秒。[0038]所述閏秒值初始由接收機(jī)通過授時衛(wèi)星信號獲取,初次獲取后,由于所述存儲器掉電時不丟失數(shù)據(jù),后面系統(tǒng)重啟時可直接從所述存儲器中讀取。[0039]S104、預(yù)設(shè)時間閾值內(nèi)獲取到閏秒值存入FLASH,返回步驟S103 ;[0040]當(dāng)初次獲取閏秒值時,通過接收機(jī)讀取授時衛(wèi)星信號數(shù)據(jù)幀里面包含有閏秒信息。由于FLASH掉電時不丟失數(shù)據(jù),所以,除第一次系統(tǒng)重啟通過接收機(jī)讀取閏秒信息以外,后面系統(tǒng)重啟時僅需要直接從FLASH讀取該閏秒信息即可。該閏秒信息在每次進(jìn)行閏秒調(diào)整后由系統(tǒng)自動更新,每次閏秒調(diào)整后新的閏秒值比原閏秒值增加一秒。[0041]既然閏秒值可以通過接收機(jī)直接讀取,為什么還要使用存儲器存儲呢?因為閏秒值一般接收機(jī)在冷啟動的時候要獲取到閏秒信息通常要經(jīng)過較長的時間,約12. 5分鐘之內(nèi),若用在GPS時間服務(wù)器的時鐘模塊上會導(dǎo)致啟動時間過慢,將影響到整個GPS時間服務(wù)器的時鐘模塊的性能,而接收機(jī)的熱啟動雖然存有閏秒信息,但卻需要電池來實現(xiàn),這對于 GPS時間服務(wù)器的時鐘模塊是不適用的,因為GPS時間服務(wù)器的時鐘模塊是封裝在一個殼內(nèi)的,若用電池方案,電池?zé)o法更換,而且也可能帶來電池腐蝕等隱患,不利于GPS時間服務(wù)器的時鐘模塊的穩(wěn)定。將閏秒存入單片機(jī)FLASH可以很好的解決該問題,由于閏秒是半年甚至多年才調(diào)整一次,而當(dāng)前的閏秒是已知的,可先寫入FLASH,當(dāng)世界時間組織調(diào)整閏秒時,程序可以實現(xiàn)FLASH中的閏秒值隨著變化,從而在下次上電時又得到了當(dāng)時的正確閏秒值。[0042]所述預(yù)設(shè)時間閾值可為接收機(jī)在冷啟動的時候要獲取到閏秒信息需要等待的時間,如12. 5分鐘。[0043]本步驟執(zhí)行完畢后,將讀取的閏秒時間存入存儲器中,即存入本實施例所述的 FLASH存儲器中。[0044]S105、讀取閏秒值;[0045]讀取FLASH存儲器中的閏秒值,如2009年I月I日之后2012年6月30日之前, 所述閏秒值為15。[0046]S106、GPS 時間=UTC 時間 + 閏秒;[0047]系統(tǒng)重啟時,GPS時間初始時間為步驟S102所獲得的UTC時間加上步驟S105所獲得的閏秒時間。[0048]S107、系統(tǒng)正常運行,UTC時間跟蹤接收機(jī)計時,GPS時間根據(jù)高穩(wěn)晶振分頻IPPS 計時;系統(tǒng)正常運行時,UTC時間是按照跟蹤接收機(jī)每秒實時讀取時間信號獲?。籊PS時間以重啟初始化時的初始時間為基礎(chǔ),在初始時間基礎(chǔ)上由當(dāng)前的GPS時間通過本地時間函數(shù)自動每秒加一計時,每秒的時間間隔由內(nèi)置的高穩(wěn)恒溫晶振進(jìn)行分頻得到,具有很高的精確度。[0049]系統(tǒng)正常運行時,系統(tǒng)一直持續(xù)本步驟的運行狀態(tài),直到收到調(diào)整閏秒通知的中斷消息時進(jìn)入步驟S108,或丟失授時衛(wèi)星信號時進(jìn)入步驟S109。[0050]S108、當(dāng)收到調(diào)整閏秒通知的中斷消息時,使系統(tǒng)的UTC時間按照23 59 :59、23 59 :60,00 00 00,00 00 01變化,將新閏秒寫入FLASH中,本步驟執(zhí)行完畢后返回步驟 S107 ;[0051]在世界時間組織調(diào)整閏秒時,本發(fā)明在處理UTC時間時,采用實時處理方案,即在授時衛(wèi)星出來的時間信號有效情況下,每秒都會讀取時間信息,UTC時間跟著變化。UTC時間會按照 23:59:58、23:59:59、23:59:60、00:00:00、00:00:01......變化,而由于 UTC 時間是每秒實時讀取時間信息獲取的,所以只要那個時刻授時衛(wèi)星信號良好,UTC時間會同步改變。[0052]此時GPS時間還是根據(jù)高穩(wěn)晶振分頻IPPS計時,GPS時間不會出現(xiàn)跳秒。當(dāng)前通信系統(tǒng)的時間是不允許出現(xiàn)跳秒的,跳秒可能會導(dǎo)致整個通信系統(tǒng)的癱瘓。因此GPS時間服務(wù)器的時鐘模塊提供的GPS時間是不允許出現(xiàn)跳秒的,由于“GPS時間=UTC時間+閏秒”, 當(dāng)前的GPS時間服務(wù)器的時鐘模塊時間處理技術(shù)在上電獲取到準(zhǔn)確的UTC時間后,大約在 3分鐘內(nèi),就可以由UTC時間和閏秒數(shù)來確定GPS時間,而后,只要不掉電,GPS時間都是按照自己程序的時間函數(shù)在計時,一直不會變化,也就不會產(chǎn)生跳秒。[0053]將新閏秒寫入FLASH中,此時FLASH中新的閏秒值比原閏秒值大一秒。如2012年 6月30日調(diào)整閏秒后,F(xiàn)LASH中的閏秒由原來的15秒改為16秒。[0054]S109、當(dāng)丟失授時衛(wèi)星信號時,UTC時間、GPS時間根據(jù)高穩(wěn)晶振分頻IPPS計時;[0055]當(dāng)授時衛(wèi)星信號丟失時,UTC時間由本地時間函數(shù)自動每秒加I計時,而每一秒的時間間隔是由GPS時間服務(wù)器的時鐘模塊內(nèi)置的高穩(wěn)恒溫晶振進(jìn)行分頻得到的,這樣就可以使GPS時間服務(wù)器的時鐘模塊在丟失授時衛(wèi)星信號后,時間仍能保持很高的精度。[0056]此處UTC時間、GPS時間均根據(jù)高穩(wěn)晶振分頻IPPS計時,直到授時衛(wèi)星信號恢復(fù)良好時使用接收機(jī)通過授時衛(wèi)星信號獲取UTC的時間,系統(tǒng)進(jìn)入正常運行狀態(tài)。[0057]S110、判斷接收機(jī)接收授時衛(wèi)星信號是否恢復(fù)正常,若是則返加步驟S107,否則返回步驟S109。[0058]實施例二[0059]圖二是本實施例所述的時鐘閏秒處理系統(tǒng)的結(jié)構(gòu)示意圖,如圖二所示,本時鐘閏秒處理系統(tǒng)包括閏秒值存儲模塊201、初始化模塊202、正常運行模塊203、閏秒中斷處理模塊204,進(jìn)一步地,系統(tǒng)還可包括授時衛(wèi)星信號丟失應(yīng)對模塊205。[0060]下面逐一介紹各模塊的功能和實現(xiàn)方式[0061]閏秒值存儲模塊201 :用于使用存儲器存儲閏秒值,所述存儲器掉電時不丟失數(shù)據(jù),所述閏秒值為UTC時間和GPS時間相差的整數(shù)秒數(shù),所述閏秒值初始由接收機(jī)通過授時衛(wèi)星信號獲?。挥糜诮邮臻c秒中斷處理模塊204發(fā)送的新閏秒值,將該新閏秒值替換所述存儲器中原閏秒值;用于為初始化模塊202提供閏秒值;[0062]本發(fā)明使用存儲器存儲閏秒值,所述存儲器掉電時不丟失數(shù)據(jù),可選擇單片機(jī) FLASH存儲器。[0063]當(dāng)初次獲取閏秒值時,通過接收機(jī)讀取授時衛(wèi)星信號數(shù)據(jù)幀里面包含有閏秒信息,所述閏秒值為UTC時間和GPS時間相差的整數(shù)秒數(shù)。如,2012年調(diào)整閏秒之前,UTC時間和GPS時間相差15秒。初次獲取閏秒值后,將讀取的閏秒時間存入存儲器中,即存入本實施例所述的FLASH存儲器中。[0064]由于FLASH掉電時不丟失數(shù)據(jù),所以,除第一次系統(tǒng)重啟通過接收機(jī)讀取閏秒信息以外,后面系統(tǒng)重啟時僅需要直接從FLASH讀取該閏秒信息即可。該閏秒信息在每次進(jìn)行閏秒調(diào)整后由系統(tǒng)自動更新,每次閏秒調(diào)整后新的閏秒值比原閏秒值增加一秒。[0065]既然閏秒值可以通過接收機(jī)直接讀取,為什么還要使用存儲器存儲呢?因為閏秒值一般接收機(jī)在冷啟動的時候要獲取到閏秒信息通常要經(jīng)過較長的時間,約12. 5分鐘之內(nèi),若用在GPS時間服務(wù)器的時鐘模塊上會導(dǎo)致啟動時間過慢,將影響到整個GPS時間服務(wù)器的時鐘模塊的性能,而接收機(jī)的熱啟動雖然存有閏秒信息,但卻需要電池來實現(xiàn),這對于 GPS時間服務(wù)器的時鐘模塊是不適用的,因為GPS時間服務(wù)器的時鐘模塊是封裝在一個殼內(nèi)的,若用電池方案,電池?zé)o法更換,而且也可能帶來電池腐蝕等隱患,不利于GPS時間服務(wù)器的時鐘模塊的穩(wěn)定。將閏秒存入單片機(jī)FLASH可以很好的解決該問題,由于閏秒是半年甚至多年才調(diào)整一次,而當(dāng)前的閏秒是已知的,可先寫入FLASH,當(dāng)世界時間組織調(diào)整閏秒時,程序可以實現(xiàn)FLASH中的閏秒值隨著變化,從而在下次上電時又得到了當(dāng)時的正確閏秒值。[0066]初始化模塊202 :當(dāng)系統(tǒng)重啟時,用于通過接收機(jī)接收授時衛(wèi)星信號實時獲取UTC 時間,從所述存儲器中讀取閏秒值,將當(dāng)前的UTC時間加上所述閏秒值作為當(dāng)前的GPS時間,將當(dāng)前的GPS時間根據(jù)高穩(wěn)晶振分頻繼續(xù)計時;用于初始化完畢后使系統(tǒng)進(jìn)入所述正常運行模塊203 ;[0067]系統(tǒng)重啟時,讀取FLASH存儲器中的閏秒值,如2009年I月I日之后2012年6月 30日之前,所述閏秒值為15。[0068]系統(tǒng)重啟時,判斷接收機(jī)是否獲取UTC時間,若未獲取則繼續(xù)判斷,直到成功獲取當(dāng)前UTC時間為止。[0069]此時,GPS時間初始時間為步驟S102所獲得的UTC時間加上步驟S105所獲得的閏秒時間。[0070]即GPS時間=UTC時間+閏秒[0071]獲取GPS時間初始時間后,在初始時間基礎(chǔ)上,當(dāng)前的GPS時間通過本地時間函數(shù)自動每秒加一計時,每秒的時間間隔由內(nèi)置的高穩(wěn)恒溫晶振進(jìn)行分頻得到,具有很高的精確度。[0072]初始化完成后,系統(tǒng)進(jìn)入正常運行狀態(tài)。[0073]正常運行模塊203 :當(dāng)系統(tǒng)處于正常運行狀態(tài)時,用于通過接收機(jī)接收授時衛(wèi)星信號實時獲取系統(tǒng)的UTC時間,根據(jù)高穩(wěn)恒溫晶振分頻計時獲取系統(tǒng)的GPS時間;當(dāng)系統(tǒng)處于正常運行狀態(tài)時,若收到調(diào)整閏秒通知的中斷消息時,用于使系統(tǒng)進(jìn)入閏秒中斷處理模塊 204 ;[0074]系統(tǒng)正常運行,UTC時間跟蹤接收機(jī)計時,GPS時間根據(jù)高穩(wěn)晶振分頻IPPS計時; 系統(tǒng)正常運行時,UTC時間是按照跟蹤接收機(jī)每秒實時讀取時間信號獲取;GPS時間以重啟初始化時的初始時間為基礎(chǔ),在初始時間基礎(chǔ)上由當(dāng)前的GPS時間通過本地時間函數(shù)自動每秒加一計時,每秒的時間間隔由內(nèi)置的高穩(wěn)恒溫晶振進(jìn)行分頻得到,具有很高的精確度。[0075]系統(tǒng)正常運行時,系統(tǒng)一直持續(xù)該運行狀態(tài),直到收到調(diào)整閏秒通知的中斷消息, 或丟失授時衛(wèi)星信號時為止。[0076]閏秒中斷處理模塊204 :當(dāng)系統(tǒng)處于正常運行模塊203時收到調(diào)整閏秒通知的中斷消息,用于使UTC時間按照23 59 59,23 59 :60、00 00 :00、00 00 :01變化,將所述中斷消息中新閏秒值發(fā)送到所述閏秒值存儲模塊201 ;用于閏秒中斷處理完畢后使系統(tǒng)進(jìn)入所述正常運行模塊203 ;[0077]在世界時間組織調(diào)整閏秒時,本發(fā)明在處理UTC時間時,采用實時處理方案,即在授時衛(wèi)星出來的時間信號有效情況下,每秒都會讀取時間信息,UTC時間跟著變化。UTC時間會按照 23:59:58、23:59:59、23:59:60、00:00:00、00:00:01......變化,而由于 UTC 時間是每秒實時讀取時間信息獲取的,所以只要那個時刻授時衛(wèi)星信號良好,UTC時間會同步改變。[0078]此時GPS時間還是根據(jù)高穩(wěn)晶振分頻IPPS計時,GPS時間不會出現(xiàn)跳秒。當(dāng)前通信系統(tǒng)的時間是不允許出現(xiàn)跳秒的,跳秒可能會導(dǎo)致整個通信系統(tǒng)的癱瘓。因此GPS時間服務(wù)器的時鐘模塊提供的GPS時間是不允許出現(xiàn)跳秒的,由于“GPS時間=UTC時間+閏秒”, 當(dāng)前的GPS時間服務(wù)器的時鐘模塊時間處理技術(shù)在上電獲取到準(zhǔn)確的UTC時間后,大約在 3分鐘內(nèi),就可以由UTC時間和閏秒數(shù)來確定GPS時間,而后,只要不掉電,GPS時間都是按照自己程序的時間函數(shù)在計時,一直不會變化,也就不會產(chǎn)生跳秒。[0079]將新閏秒寫入FLASH中,此時FLASH中新的閏秒值比原閏秒值大一秒。如2012年 6月30日調(diào)整閏秒后,F(xiàn)LASH中的閏秒由原來的15秒改為16秒。[0080]授時衛(wèi)星信號丟失應(yīng)對模塊205:當(dāng)系統(tǒng)丟失授時衛(wèi)星信號時,用于使系統(tǒng)根據(jù)高穩(wěn)晶振分頻繼續(xù)計時獲得UTC時間,直到授時衛(wèi)星信號恢復(fù)良好時使用接收機(jī)通過授時衛(wèi)星信號獲取UTC的時間;用于授時衛(wèi)星信號丟失應(yīng)對處理完畢后使系統(tǒng)進(jìn)入所述正常運行模塊203。[0081]當(dāng)授時衛(wèi)星信號丟失時,UTC時間由本地時間函數(shù)自動每秒加I計時,而每一秒的時間間隔是由GPS時間服務(wù)器的時鐘模塊內(nèi)置的高穩(wěn)恒溫晶振進(jìn)行分頻得到的,這樣就可以使GPS時間服務(wù)器的時鐘模塊在丟失授時衛(wèi)星信號后,時間仍能保持很高的精度。[0082]此處UTC時間、GPS時間均根據(jù)高穩(wěn)晶振分頻IPPS計時,直到授時衛(wèi)星信號恢復(fù)良好時使用接收機(jī)通過授時衛(wèi)星信號獲取UTC的時間,系統(tǒng)進(jìn)入正常運行狀態(tài)。本發(fā)明所述閏秒處理技術(shù)方案可以實現(xiàn)在閏秒變化時TOD消息平滑過渡,其時間與調(diào)整閏秒時的時間完全一致,即 UTC 時間會出現(xiàn) 23:59:58、23:59:59、23:59:60、00:00:00、00:00:01......的變化,而GPS時間也不會出現(xiàn)跳秒,可以保證在閏秒調(diào)整時系統(tǒng)的穩(wěn)定正常運行。[0083]以上實施例提供的技術(shù)方案中的全部或部分內(nèi)容可以通過軟件編程實現(xiàn),其軟件程序存儲在可讀取的存儲介質(zhì)中,存儲介質(zhì)例如計算機(jī)中的硬盤、光盤或軟盤。[0084]上述僅為本發(fā)明的較佳實施例及所運用技術(shù)原理,任何熟悉本技術(shù)領(lǐng)域:
的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍內(nèi)。
權(quán)利要求
1.一種時鐘閏秒處理方法,其特征在于 使用存儲器存儲閏秒值,所述存儲器掉電時不丟失數(shù)據(jù),所述閏秒值為UTC時間和GPS時間相差的整數(shù)秒數(shù),所述閏秒值初始由接收機(jī)通過授時衛(wèi)星信號獲取; 當(dāng)系統(tǒng)重啟時,通過接收機(jī)接收授時衛(wèi)星信號實時獲取系統(tǒng)的UTC時間;從所述存儲器中讀取閏秒值,將系統(tǒng)當(dāng)前的UTC時間加上所述閏秒值作為系統(tǒng)當(dāng)前的GPS時間,系統(tǒng)進(jìn)入正常運行狀態(tài); 當(dāng)系統(tǒng)處于正常運行狀態(tài)時,通過接收機(jī)接收授時衛(wèi)星信號實時獲取系統(tǒng)的UTC時間;根據(jù)高穩(wěn)恒溫晶振分頻計時獲取系統(tǒng)的GPS時間; 如果當(dāng)系統(tǒng)處于正常運行狀態(tài)時收到調(diào)整閏秒通知的中斷消息,使系統(tǒng)的UTC時間按照23 59 59,23 59 :60、00 00 :00、00 00 01變化,將所述中斷消息中新閏秒值寫入所述存儲器。
2.如權(quán)利要求
I所述的時鐘閏秒處理方法,其特征在于,如果當(dāng)系統(tǒng)處于正常運行狀態(tài)時系統(tǒng)丟失授時衛(wèi)星信號,UTC時間根據(jù)高穩(wěn)晶振分頻繼續(xù)計時,直到授時衛(wèi)星信號恢復(fù)良好時使用接收機(jī)通過授時衛(wèi)星信號獲取UTC時間,系統(tǒng)重新進(jìn)入正常運行狀態(tài)。
3.如權(quán)利要求
I或2所述的時鐘閏秒處理方法,其特征在于,所述根據(jù)高穩(wěn)晶振分頻繼續(xù)計時具體為由本地時間函數(shù)自動每秒加一計時,每秒的時間間隔由內(nèi)置的高穩(wěn)恒溫晶振進(jìn)行分頻得到。
4.如權(quán)利要求
3所述的時鐘閏秒處理方法,其特征在于,所述存儲器為單片機(jī)FLASH存儲器。
5.—種時鐘閏秒處理系統(tǒng),其特征在于,包括, 閏秒值存儲模塊用于使用存儲器存儲閏秒值,所述存儲器掉電時不丟失數(shù)據(jù),所述閏秒值為UTC時間和GPS時間相差的整數(shù)秒數(shù),所述閏秒值初始由接收機(jī)通過授時衛(wèi)星信號獲取;用于接收閏秒中斷處理模塊發(fā)送的新閏秒值,將該新閏秒值替換所述存儲器中的原閏秒值;用于為初始化模塊提供閏秒值; 初始化模塊當(dāng)系統(tǒng)重啟時,用于通過接收機(jī)接收授時衛(wèi)星信號實時獲取UTC時間,從所述存儲器中讀取閏秒值,將當(dāng)前的UTC時間加上所述閏秒值作為當(dāng)前的GPS時間,將當(dāng)前的GPS時間根據(jù)高穩(wěn)晶振分頻繼續(xù)計時;用于初始化完畢后使系統(tǒng)進(jìn)入所述正常運行模塊; 正常運行模塊當(dāng)系統(tǒng)處于正常運行狀態(tài)時,用于通過接收機(jī)接收授時衛(wèi)星信號實時獲取系統(tǒng)的UTC時間,根據(jù)高穩(wěn)恒溫晶振分頻計時獲取系統(tǒng)的GPS時間;當(dāng)系統(tǒng)處于正常運行狀態(tài)時,若收到調(diào)整閏秒通知的中斷消息時,用于使系統(tǒng)進(jìn)入閏秒中斷處理模塊; 閏秒中斷處理模塊當(dāng)系統(tǒng)處于正常運行模塊時收到調(diào)整閏秒通知的中斷消息,用于使UTC時間按照23 59 59,23 59 :60、00 00 :00、00 00 :01變化,將所述中斷消息中新閏秒值發(fā)送到所述閏秒值存儲模塊;用于閏秒中斷處理完畢后使系統(tǒng)進(jìn)入所述正常運行模塊。
6.如權(quán)利要求
5所述的時鐘閏秒處理系統(tǒng),其特征在于,所述的時鐘閏秒處理系統(tǒng)還包括授時衛(wèi)星信號丟失應(yīng)對模塊如果當(dāng)系統(tǒng)處于正常運行狀態(tài)時系統(tǒng)丟失授時衛(wèi)星信號,用于使系統(tǒng)根據(jù)高穩(wěn)晶振分頻繼續(xù)計時獲得UTC時間,直到授時衛(wèi)星信號恢復(fù)良好時使用接收機(jī)通過授時衛(wèi)星信號獲取UTC的時間;用于授時衛(wèi)星信號丟失應(yīng)對處理完畢后使系統(tǒng)重新進(jìn)入所述正常運行模塊。
7.如權(quán)利要求
5或6所述的時鐘閏秒處理方法,其特征在于,所述根據(jù)高穩(wěn)晶振分頻繼續(xù)計時具體為由本地時間函數(shù)自動每秒加一計時,每秒的時間間隔由內(nèi)置的高穩(wěn)恒溫晶振進(jìn)行分頻得到。
8.如權(quán)利要求
7所述的時鐘閏秒處理方法,其特征在于,閏秒值存儲模塊中所述存儲器為單片機(jī)FLASH存儲器。
專利摘要
本發(fā)明公開了一種時鐘閏秒處理方法及其系統(tǒng),方法包括使用存儲器存儲閏秒值,閏秒值初始由接收機(jī)獲取;當(dāng)系統(tǒng)處于正常運行狀態(tài)時,通過接收機(jī)實時獲取UTC時間;根據(jù)高穩(wěn)恒溫晶振分頻計時獲取GPS時間;當(dāng)系統(tǒng)重啟時,通過接收機(jī)實時獲取UTC時間;將當(dāng)前的UTC時間加上閏秒值作為GPS時間,GPS時間根據(jù)高穩(wěn)晶振分頻繼續(xù)計時;系統(tǒng)進(jìn)入正常運行狀態(tài);當(dāng)系統(tǒng)處于正常運行狀態(tài)時收到調(diào)整閏秒通知的中斷消息,使UTC時間按照平滑過渡變化,將中斷消息中新閏秒值寫入存儲器。本發(fā)明可以實現(xiàn)在閏秒變化時TOD消息平滑過渡,其時間與調(diào)整閏秒時的時間完全一致,而GPS時間也不會出現(xiàn)跳秒,保證在閏秒調(diào)整時系統(tǒng)的穩(wěn)定正常運行。
文檔編號G04R20/04GKCN102981403SQ201210364560
公開日2013年3月20日 申請日期2012年9月26日
發(fā)明者劉搏, 吳浩浩 申請人:廣東大普通信技術(shù)有限公司導(dǎo)出引文BiBTeX, EndNote, RefMan