本發(fā)明涉及一種車載終端系統(tǒng)的時間校正方法。
背景技術(shù):當前,具備移動通訊和衛(wèi)星定位功能的車載終端設(shè)備越來越多。此類車載終端設(shè)備往往由微處理器、通信模塊、衛(wèi)星定位模塊組成,出于成本因數(shù)多不具備獨立的實時時鐘(RTC)電路,而是利用微處理器的硬件定時器或軟件定時器采用軟件方式來實現(xiàn)系統(tǒng)計時功能。軟件方式實現(xiàn)的系統(tǒng)計時功能,受微處理器性能及負載等因素影響,在設(shè)備運行過程中,系統(tǒng)時間將越來越不準確,而采用衛(wèi)星定位模塊輸出的時間來對系統(tǒng)時間進行校時,車載系統(tǒng)時間準確性又受衛(wèi)星定位模塊定位效果緊密影響。
技術(shù)實現(xiàn)要素:本發(fā)明要解決的技術(shù)問題,在于提供一種車載終端系統(tǒng)的時間校正方法,其采用衛(wèi)星定位模塊、通信模塊、遠程服務(wù)組合校時的方式,避免衛(wèi)星定位模塊單模校時,不定位等因數(shù)導(dǎo)致的車載設(shè)備無法正常校時的影響,并采用最小系統(tǒng)時基檢測秒跳變的方式來確定最優(yōu)的校正時刻,減少時間校正的延遲誤差,從而最大程度地提高時間準確性。本發(fā)明是這樣實現(xiàn)的:車載終端系統(tǒng)的時間校正方法,所述車載終端系統(tǒng)包括計時模塊、微處理器、衛(wèi)星定位模塊以及通信模塊;所述計時模塊包括系統(tǒng)時間模塊和時間校正模塊;所述系統(tǒng)時間模塊利用所述微處理器的硬件定時器或軟件定時器,進行周期性地計數(shù)定時,提供車載終端的系統(tǒng)時間;所述時間校正模塊通過檢測接收衛(wèi)星定位模塊、通信模塊、遠程服務(wù)器的時間,負責對系統(tǒng)時間進行校正處理;所述時間校正方法包括事件觸發(fā)校時步驟;所述事件觸發(fā)校時步驟如下:步驟1、所述系統(tǒng)啟動后,時間校正成功標識和通信模塊時間標識均置為無效,所述系統(tǒng)時間模塊以出廠設(shè)置時刻為基點,利用所述微處理器的硬件定時器或軟件定時器,進行周期性地計數(shù),實時更新系統(tǒng)時間;同時,所述衛(wèi)星定位模塊進行定位、所述通信模塊進行網(wǎng)絡(luò)注冊、所述系統(tǒng)同遠程服務(wù)器進行連接;步驟2、所述衛(wèi)星定位模塊定位成功后,從所述衛(wèi)星定位模塊獲取時間數(shù)據(jù)并將其作為校正時間源,同時,通知所述時間校正模塊啟動校正時刻判斷定時器TIM2,執(zhí)行步驟3;所述通訊模塊成功注冊網(wǎng)絡(luò)后,若基站校時成功,從所述基站獲取時間數(shù)據(jù),并將所述通信模塊時間標識置為有效,若此時所述時間校正成功標識為無效,將從所述基站獲取的時間數(shù)據(jù)作為校正時間源,啟動校正時刻判斷定時器TIM2,執(zhí)行步驟3;若此時所述時間校正成功標識為有效,則不重復(fù)校時;所述通訊模塊成功注冊網(wǎng)絡(luò)后,車載終端同遠程服務(wù)器建立連接,若此時所述時間校正成功標識為無效,則向所述遠程服務(wù)器發(fā)送校時申請,車載終端成功收到遠程服務(wù)器的時間數(shù)據(jù)后,將其作為校正時間源,啟動對系統(tǒng)時間模塊的校正,所述時間校正模塊校正更新所述系統(tǒng)時間,校正成功后,將時間校正成功標識置為有效;若此時所述時間校正成功標識為有效,則不重復(fù)校時;步驟3、所述校正時刻判斷定時器TIM2啟動后,選用所述微處理器支持的最小時基T2,周期性地查詢校正時間源的輸出時間,一旦檢測到校正時間源的輸出時間的秒刻度發(fā)生了變化,則關(guān)閉所述校正時刻判斷定時器TIM2,并立即啟動對系統(tǒng)時間模塊的校正,所述時間校正模塊校正更新所述系統(tǒng)時間,從而將校正延遲誤差降低為系統(tǒng)所支持的最高精度,即系統(tǒng)提供的最小時基;同時,將時間校正成功標識置為有效,若此時通信模塊時間標識為無效,則同時采用校正時間源的輸出時間對通信模塊的時間進行校正,并將通信模塊時間標識置為有效;進一步地,所述時間校正方法還包括:與所述事件觸發(fā)校時步驟同時進行的周期校時步驟,所述周期校時步驟如下:步驟10、所述時間校正模塊啟動校正定時器TIM1,并設(shè)置自動校時周期T1,以固定周期T1定時地進行時間校正;步驟11、當校正周期到達時,所述時間校正模塊先判斷所述衛(wèi)星定位模塊是否處于定位狀態(tài),若是,選擇所述衛(wèi)星定位模塊的時間數(shù)據(jù)為校正時間源,啟動所述校正時刻判斷定時器TIM2,執(zhí)行步驟12;若所述衛(wèi)星定位模塊處于未定位狀態(tài),則判斷所述通信模塊時間標識是否有效,若有效,則選擇通信模塊的時間數(shù)據(jù)為校正時間源,啟動所述校正時刻判斷定時器TIM2,執(zhí)行步驟12;若所述衛(wèi)星定位模塊和通信模塊時間標識均為無效,則所述時間校正模塊向遠程服務(wù)器發(fā)送校時申請,車載終端成功收到遠程服務(wù)器的時間數(shù)據(jù)后,將其作為校正時間源,啟動對系統(tǒng)時間模塊的校正,所述時間校正模塊校正更新所述系統(tǒng)時間,校正成功后,將時間校正成功標識置為有效;步驟12、所述校正時刻判斷定時器TIM2啟動后,選用所述微處理器支持的最小時基T2,周期性地查詢校正時間源的輸出時間,一旦檢測到校正時間源的輸出時間的秒刻度發(fā)生了變化,則關(guān)閉所述校正時刻判斷定時器TIM2,并立即啟動對系統(tǒng)時間模塊的校正,所述時間校正模塊校正更新所述系統(tǒng)時間,從而將校正延遲誤差降低為系統(tǒng)所支持的最高精度,即系統(tǒng)提供的最小時基;同時,將時間校正成功標識置為有效。進一步地,所述衛(wèi)星定位模塊的狀態(tài)從未定位狀態(tài)轉(zhuǎn)為已定位狀態(tài)時,對系統(tǒng)時間進行一次校時,具體為:從所述衛(wèi)星定位模塊獲取時間數(shù)據(jù)并將其作為校正時間源,同時,通知所述時間校正模塊啟動校正時刻判斷定時器TIM2,所述校正時刻判斷定時器TIM2啟動后,選用所述微處理器支持的最小時基T2,周期性地查詢校正時間源的輸出時間,一旦檢測到校正時間源的輸出時間的秒刻度發(fā)生了變化,則關(guān)閉所述校正時刻判斷定時器TIM2,并立即啟動對系統(tǒng)時間模塊的校正,所述時間校正模塊校正更新所述系統(tǒng)時間,同時,將時間校正成功標識置為有效。進一步地,所述周期T1大于所述最小時基T2。本發(fā)明具有如下優(yōu)點:本發(fā)明采用定位模塊校時、通信模塊校時、遠程服務(wù)器校時相結(jié)合方式對系統(tǒng)時間予以校時,避免衛(wèi)星定位模塊單模校時,不定位等因數(shù)導(dǎo)致的車載設(shè)備無法正常校時的影響;同時,還采用周期校時和事件觸發(fā)校時結(jié)合的方式,提高系統(tǒng)時間的同步性。車載終端設(shè)備所提供的時間精度為秒,而利用定位模塊校時或通信模塊作為時間校正源,其輸出時間精度也為秒,本方案采用系統(tǒng)最小時基定時器掃描校正模塊秒變化時刻,在檢測時間校正源輸出的秒發(fā)生變化后馬上進行時間校正,能夠減少校正延遲誤差,提高時間同步性、準確性。附圖說明下面參照附圖結(jié)合實施例對本發(fā)明作進一步的說明。圖1為本發(fā)明事件觸發(fā)流程圖;圖2為本發(fā)明周期校時流程圖。具體實施方式車載終端系統(tǒng)的時間校正方法,所述車載終端系統(tǒng)包括計時模塊、微...