專利名稱:用于獲得全球導航衛星系統時間的方法及其裝置的制作方法
技術領域:
本發明是關于全球導航衛星系統(Global Navigation Satellite System,以下 簡稱為GNSS)接收機,特別是關于獲得GNSS接收機的準確的GNSS時間的 方法及其裝置。
背景技術:
關于GNSS接收機的最重要的問題之一是當GNSS接收機從電源關閉 模式進入發動模式時,如何獲得準確的GNSS時間。特別是,在電源關閉模 式下,GNSS接收機內除實時時鐘(real time clock,以下簡稱為RTC)外的所有 組件都處于斷電狀態。根據相關技術,當GNSS接收機幵機時, 一種通用的 獲得初始GNSS時間的方法是通過讀取RTC提供的RTC時間來作為世界 標準時間(Coordinated Universal Time,其被簡稱為UTC時間),然后將由RTC 時間導出的UTC時間直接轉換為GNSS時間的粗略初始值。因此,根據相關 技術實施時,會出現一些問題。例如,UTC閏秒(leapsecond)是未知的。另外, RTC的分辨率通常為幾個微秒,且RTC的時鐘偏移為百萬分之(parts per million, PPM)幾十到幾百,會導致上述GNSS時間的初始值不能被接受。另外,在RTC時間以及實時的GNSS時間之間的同步上,存在時間延遲,會導 致上述GNSS時間的初始值不準確。
發明內容
為解決以上技術問題,本發明提供了一種用于獲得GNSS接收機中GNSS 時間的方法及其裝置。
本發明提供了一種用于獲得GNSS接收機中GNSS時間的方法,包括
導出第一時鐘信號以及接收到的GNSS時間之間的關系;在第一鎖存點鎖存 第一時鐘信號以及第二時鐘信號,以獲得第一時鐘信號的時鐘值A1以及第二
時鐘信號的時鐘值B1;根據第一時鐘信號以及接收到的GNSS時間之間的關 系,計算對應于時鐘值A1的GNSS時間C1;在第二鎖存點鎖存第一時鐘信 號以及第二時鐘信號,以獲得第二時鐘信號的時鐘值B2;并根據GNSS時間 Cl,時鐘值B1,以及時鐘值B2計算GNSS時間C2。
本發明提供了一種用于獲得GNSS接收機中GNSS時間的裝置,包括 第一時鐘源,用于產生第一時鐘信號。第二時鐘源,用于產生第二時鐘信號。 時間鎖存邏輯電路,耦接于第一時鐘源以及第二時鐘源,用于執行時間鎖存 操作,以在第一鎖存點鎖存第一時鐘信號以及第二時鐘信號,以獲得第一時 鐘信號的時鐘值A1以及第二時鐘信號的時鐘值B1,并進一步在第二鎖存點 鎖存第一時鐘信號以及第二時鐘信號,以獲得第二時鐘信號的時鐘值B2。處 理模塊,耦接于第一時鐘源,第二時鐘源,以及時間鎖存邏輯電路,用于導 出第一時鐘信號以及GNSS時間之間的關系,根據第一時鐘信號以及GNSS 時間之間的關系計算對應于時鐘值Al的GNSS時間Cl,且根據GNSS時間 Cl、時鐘值B1以及時鐘值B2計算GNSS時間C2。
本發明提供的用于獲得GNSS接收機中GNSS時間的方法及其裝置,通 過使用RTC的時間差值進行計算,解決了閏秒的問題,同時利用RTC時間以 及時間鎖存操作來恢復GNSS時間的準確的初始值,有助于子幀同步,可以 大幅減少第一 次定位所需的時間。
圖1為根據本發明第一實施例的用于獲得GNSS接收機中準確的GNSS 時間的裝置的方框圖2為根據本發明一實施例的用于獲得GNSS接收機中準確的GNSS時 間的方法示意圖3為圖2所示的方法的第一程序的流程圖; 圖4為圖2所示的方法的第二程序的流程圖; 圖5為由圖2所示的方法得出的實驗結果的表格。
具體實施例方式
請參考圖1,圖1為根據本發明第一實施例的用于獲得GNSS接收機中準 確的GNSS時間的裝置100的方框圖。裝置100包括處理模塊110,非易失 性存儲器120,基帶電路130, RTC140,以及時間鎖存邏輯電路150,其實 現了芯片IOOC,芯片IOOC耦接于射頻模塊180。在本發明的一實施例中,裝 置100可以代表GNSS接收機。在本發明的另一實施例中,裝置100可以代 表GNSS接收機的一部分,例如,芯片100C。于本發明的另一實施例中,裝 置IOO可以包括GNSS接收機。例如,裝置IOO可以為多功能裝置,包括移 動電話功能,個人數字助理功能,以及GNSS接收機功能。
根據本發明的第一實施例,基帶電路130可以利用射頻模塊180從GNSS 衛星接收到的信號,并根據射頻模塊180產生的導出信號進行基帶處理。本 實施例的處理模塊110包括微處理器112以及導航引擎114,其中,微處理器 112可以執行裝置100的全部控制,導航引擎114可以根據基帶電路130的處 理結果執行細化的導航操作。
基帶電路130運作于第一時鐘信號,例如,基帶對時信號(baseband time tick, TTick),基帶對時信號的頻率一般為16.368 MHz,其中,基帶對時信號 產生于第一時鐘源,第一時鐘源由基帶電路130中的溫度補償晶體振蕩器 (temperature compensated crystal oscillator,以下簡稱為TCXO)132來實現。RTC 140為第二時鐘源,并于電源關閉模式下保持通電狀態。產生于第二時鐘源(也 就是本實施例中的RTC140)的第二時鐘信號的分辨率比較低,其中,本實施 例中的第二時鐘信號為RTC 140的振蕩信號,典型的振蕩信號的頻率為32768 Hz。 一般而言,GNSS接收機需要獲得準確的時間信息以處理衛星信號。在
每一次定位后,處理模塊110根據基帶對時信號與GNSS時間之間的關系, 利用基帶對時信號值(第一時鐘信號的時鐘值沐獲得時間信息。但是當GNSS 接收機從電源關閉模式開始發動時,基帶對時信號與GNSS時間之間的關系 不再合適;GNSS接收機需要另一個時鐘源來獲得準確的GNSS時間。通過使 用時間鎖存邏輯電路150,本實施例的處理模塊110可以獲得具有高分辨率以 及精確度的時間信息。時間鎖存邏輯電路150可以執行時間鎖存操作,以于 同一鎖存時間點讀取RTC 140中的RTC值以及基帶對時信號的對時信號值。
圖2為根據本發明一實施例的用于獲得GNSS接收機中準確的GNSS時 間的方法示意圖。如圖2所示的方法可以利用圖1所示的裝置100來實現。 請參考圖2的左邊部分,在GNSS接收機獲得定位后,本實施例的處理模塊 110獲得第一時鐘信號(基帶對時信號)以及GNSS時間之間的關系。時間鎖存 邏輯電路150鎖存兩個時鐘信號,基帶對時信號以及RTC信號,接下來于鎖 存的時間點獲得一組時鐘值(A1, Bl)。 Al為基帶對時信號的時鐘值,Bl為 同一鎖存時間點的RTC信號的時鐘值。接下來,處理模塊IIO根據第一時鐘 信號以及GNSS時間之間的關系,導出對應于時鐘值Al的GNSS時間Cl。 另外,在每次獲得定位后,本實施例中的處理模塊IIO可以計算及更新RTC 140的最新的RTC偏移值。因此,處理模塊110可以將一組對應于鎖存時間 點的值(例如,最新的RTC偏移值,時鐘值Bl, GNSS時間Cl以及時鐘值 Al)存儲到非易失性存儲器120中。
請參考圖2的右邊部分,在電源關閉期間后,本實施例的處理模塊110 利用時間鎖存邏輯電路150來鎖存兩個時鐘信號,接著導出RTC 140的時鐘 值B2,并進一步根據存儲于非易失性存儲器120中的值(例如,最新的RTC 偏移值,時鐘值B1,以及GNSS時間C1)以及時鐘值B2來執行GNSS時間 計算,以計算出至少第二 GNSS時間C2來作為GNSS接收機于電源關閉期間 后的GNSS時間的初始值。關于用于獲得上述時鐘值B2的時間鎖存操作,RTC 的時鐘值B2以及基帶對時信號的時鐘值A2是于同一鎖存時間點被讀取。因
此,GNSS時間C2可以根據以下方程式(l)來計算<formula>formula see original document page 10</formula>1)
其中,B^為時鐘值B1以及時鐘值B2之間的RTC信號的時鐘偏差。 需要注意的是,為了確定第二GNSS值C2的相關計算的正確性,本實施 例引入了第一周數(weeknumber,以下簡稱為WN)值WN1 。根據本實施例的 不同實施選擇,第一WN值WN1可以不被用于第二GNSS值C2(例如,第二 星期時間(timeofweek, TOW)值TOW2)的相關計算中,也可以不存儲于非易 失性存儲器120中,而當GNSS時間的WN值增加時,可以利用一個旗標(flag) 或某種運算來指示電源關閉期間是否穿過一時間點。
圖3為圖2所示的方法的第一程序910的流程圖,其中,與第一程序910 相關的第一時段結束于圖2中所示的電源關閉時間點。以下將對第一程序910 做詳細的描述。
步驟912,在GNSS接收機獲得定位后,處理模塊110導出基帶電路130 的基帶對時信號以及GNSS時間之間的關系。在本實施例中,因為在GNSS 接收機獲得定位后的GNSS時間是準確的,處理模塊110可以同步導出特定 對時信號值TTickO以及至少一個準確的GNSS時間值,以獲得基帶對時信號 以及GNSS時間之間的正確的關系,其中,本實施例中上述準確的GNSS時 間值包括特定WN值WNO以及特定TOW值TOW0。
步驟914,在每次獲得定位后,本實施例中的處理模塊110可以計算及更 新RTC140的最新的RTC偏移值,并將最新的RTC偏移值存儲到非易失性存 儲器120中。需要注意的是,在電源關閉前,接收機獲得定位的次數大于一, 且為了更新存儲于非易失性存儲器120中的最新的RTC偏移值,處理模塊110 可以多次計算最新的RTC偏移值。
步驟916,處理模塊110控制時間鎖存邏輯電路150以執行時間鎖存操作, 為了在對應于RTC140的特定信號(例如上述的典型頻率為32768Hz的振蕩信 號)的邊緣的時間點讀取(RTC1, TTickl)(也就是,第一RTC值RTC1以及第
一對時信號值TTickl)。步驟916,處理模塊110根據基帶對時信號以及GNSS 時間之間的關系,進一步計算GNSS時間的(WN1, T0W1)(也就是,第一 WN值WN1以及第一TOW值TOWl)。例如,第一種情況下,GNSS時間保 持于同一周內,WN值保持為常數,因此GNSS時間的(WN1, T0W1)可以由
以下方程式(2)以及方程式(3)計算得出
WN1 =WN0............................................................(2)
TOW1 = TOW0 + (TTickl - TTickO).................................(3)
在另一實施例中,第二種情況下,GNSS時間經過下一周,WN值會以增
量1增加,因此GNSS時間的(WN1, TOWl)可以由以下方程式(4)以及方程式
(5)計算得出
WN1 = WN0+ 1.........................................................(4)
TOW1 = TOW0 + (TTickl — TTickO) — 604800.................. (5)
其中,以上方程式中的604800表示每個星期的秒數。因此,為了同時滿 足以上兩個實施例的兩種情況,第一TOW值TOWl可以先以第一種情況下 所提的方法計算,如果第一 TOW值TOW1大于或等于604800,第一 TOW 值TOWl將減少604800,并且第一 WN值WN1會以增量1增加;否則,第 一TOW值TOWl是正確的,因此,WN1=WN0。
步驟918,處理模塊110將(RTC1 , WN1 , TOWl)存儲于非易失性存儲器120。
于步驟910P,關閉電源。
請再次參考圖2。在處理模塊110發送命令觸發時間鎖存操作后,時間鎖 存邏輯電路150在上述對應于RTC 140的振蕩信號的邊緣的時間點讀取 (RTC1, TTickl),其中,本實施例中的邊緣表示振蕩信號的時鐘周期的結束 點。需要注意的是,為了簡潔,本實施例中用于導出(RTC1, TTickl)的時間 鎖存操作可以被描述為時間鎖存(RTC1, TTickl),或更簡單地被描述為鎖存 (RTC1, TTickl)。
在本實施例中,在接收到觸發時間鎖存操作的命令后,時間鎖存邏輯電
路150等待振蕩信號的第一個偵測到的下降邊緣,并且在接收命令后出現的
第一個偵測到的下降邊緣的時間點讀取(RTC1, TTickl)。因此,(RTC1, TTickl) 具有與基帶對時信號的頻率相同的分辨率。
根據本實施例的變化例,在接收到觸發時間鎖存操作的命令后,時間鎖 存邏輯電路150等待振蕩信號的第一個偵測到的上升邊緣,并且在接收命令 后出現的第一個偵測到的上升邊緣的時間點讀取(RTC1, TTickl)。因此, (RTC1, TTickl)仍然具有與基帶對時信號的頻率相同的分辨率。
圖4為圖2所示的方法的第二程序930的流程圖,其中,與第二程序930 相關的第二時段開始在圖2中所示的電源開啟時間點。以下將對第二程序930 做詳細的描述。
步驟930P,開啟電源。
步驟932,處理模塊110從非易失性存儲器120中讀取(RTC1 , WN1 ,T0W1) 以及最新的RTC偏移值。
步驟934,處理模塊110控制時間鎖存邏輯電路150執行時間鎖存操作, 并于對應于RTC140的特定信號的另一邊緣的時間點,讀取第二 RTC值RTC2 以及第二對時信號值TTick2,其中,本實施例中的特定信號為上述振蕩信號。
步驟936,處理模塊110根據存儲于非易失性存儲器120中的值(例如 最新的RTC偏移值,第一RTC值RTC1,第一WN值WN1,以及第一 TOW 值T0W1)以及第二RTC值RTC2,來計算第二 TOW值TOW2。根據本實施 例,處理模塊110首先根據存儲于非易失性存儲器120中的最新的時鐘偏移 值計算RTC偏差值RTCbias,接下來根據以下的方程式(6)計算第二 TOW值 TOW2:
TOW2 = T0W1 + (RTC2 - RTC1)畫RTCbias; .....................(6)
其中,RTC偏差值RTCbias等于差值(RTC2 - RTC1)以及最新的時鐘偏移值 之間的乘積,其中,最新的時鐘偏移存儲于非易失性存儲器120中。需要注意 的是,在此關于RTC偏差值RTCbias的計算僅為說明之用,并非為本發明的限制。
根據本實施例的變化例,RTC140的時鐘信號可以由上述振蕩信號導出,
其中,本發明的實現并不受此限制。
根據本實施例的另一變化例,在每次獲得定位后,處理模塊110可以更 新基帶對時信號與GNSS時間之間的關系。
圖5為由圖2所示的方法得出的實驗結果的表格,其中實驗結果是在溫 度不會快速變化的情況下獲得的。請參考圖5,請參考表格的下兩列,RTC 偏移值可以由"微秒偏移每秒"Oisec/sec)來度量,且在整個實驗結果中,此兩 列中的數據大致保持為常數。請參考圖5中首列以下的第一數據列,初始 GNSS時間誤差是通過比較初始值以及準確的GNSS時間測量出的,其中,初 始值是利用圖2所示的方法導出的,且此列中的數據滿足1毫秒或小于1毫 秒的需要。例如,在電源關閉期間分別等于1秒,10秒,或60秒(也就是1 分鐘的)的情況下,初始GNSS時間誤差小于1微秒。另外,在電源關閉期間 等于600秒(也就是10分鐘)的情況下,初始GNSS時間誤差小于2微秒。另 夕卜,在電源關閉期間等于3600秒(也就是1小時)的情況下,初始GNSS時間 誤差小于22微秒。
與相關技術不同的是,因為以上實施例是使用RTC的時間差值來進行計 算,而不是直接利用RTC時間,所以本發明的裝置及方法沒有閏秒的問題。
本發明的另一個優點為,本發明的裝置及方法于電源關閉期間后,利用 RTC時間以及時間鎖存操作來恢復GNSS時間的準確的初始值,其分辨率大 致為十億分之一秒(nanosecond),其中,當電源關閉期間較短時,GNSS時間 的初始值的典型誤差位于微秒數量級。
本發明的另一個優點為,本發明的裝置及方法有助于子幀同步。因此, 當GNSS接收機開機時,與相關技術相比,第一次定位的時間可以大幅減少。
雖然本發明已以較佳實施例揭露如上,然其并非用以限定本發明,任何 所屬技術領域中的技術人員,在不脫離本發明的范圍內,可以做一些改動, 因此本發明的保護范圍應與權利要求所界定的范圍為準。
權利要求
1. 一種用于獲得全球導航衛星系統時間的方法,其特征在于,該全球導航衛星系統時間是全球導航衛星系統接收機的全球導航衛星系統時間,該方法包括導出第一時鐘信號以及接收到的全球導航衛星系統時間之間的關系;在第一鎖存點鎖存該第一時鐘信號以及第二時鐘信號,以獲得該第一時鐘信號的時鐘值A1以及該第二時鐘信號的時鐘值B1;根據該關系,計算對應于該時鐘值A1的全球導航衛星系統時間C1;在第二鎖存點鎖存該第一時鐘信號以及該第二時鐘信號,以獲得該第二時鐘信號的時鐘值B2;以及根據該全球導航衛星系統時間C1,該時鐘值B1,以及該時鐘值B2計算全球導航衛星系統時間C2。
2. 如權利要求1所述的用于獲得全球導航衛星系統時間的方法,其特征在于,該方法進一步包括在該第一鎖存點以及該第二鎖存點之間的時段關閉該全球導航衛星系統 接收機的電源。
3. 如權利要求1所述的用于獲得全球導航衛星系統時間的方法,其特征在 于,該方法進一步包括通過以下方程式計算該全球導航衛星系統時間C2: C2 = Cl + (52-;其中,Bbias為該時鐘值B1以及該時鐘值B2之間的該第二時鐘信號的時 鐘偏差。
4. 如權利要求1所述的用于獲得全球導航衛星系統時間的方法,其特征在于,該方法進一步包括計算該第二時鐘信號的該時鐘值B1以及該時鐘值B2之間的時鐘偏差;以及根據該時鐘偏差,該全球導航衛星系統時間C1,該時鐘值B1,以及該時 鐘值B2計算該全球導航衛星系統時間C2。
5. 如權利要求1所述的用于獲得全球導航衛星系統時間的方法,其特征在 于,該方法進一步包括至少將該時鐘值B1以及該全球導航衛星系統時間Cl存儲到存儲器。
6. 如權利要求1所述的用于獲得全球導航衛星系統時間的方法,其特征在 于,該第一時鐘信號以及該全球導航衛星系統時間之間的該關系表示該第一 時鐘信號的該時鐘值A1以及該全球導航衛星系統時間之間的映像值。
7. 如權利要求1所述的用于獲得全球導航衛星系統時間的方法,其特征在 于,該方法進一步包括在每次獲得定位后更新該關系。
8. 如權利要求1所述的用于獲得全球導航衛星系統時間的方法,其特征在 于,該第一時鐘信號的分辨率高于該第二時鐘信號的分辨率。
9. 如權利要求1所述的用于獲得全球導航衛星系統時間的方法,其特征在 于,該第一時鐘信號產生于溫度補償晶體振蕩器,以及該第二時鐘信號產生 于實時時鐘信號。
10. —種用于獲得全球導航衛星系統時間的裝置,其特征在于,該全球導 航衛星系統時間是全球導航衛星系統接收機的全球導航衛星系統時間,該裝 置包括第一時鐘源,用于產生第一時鐘信號; 第二時鐘源,用于產生第二時鐘信號;時間鎖存邏輯電路,耦接于該第一時鐘源以及該第二時鐘源,用于執行 時間鎖存操作,以在第一鎖存點鎖存該第一時鐘信號以及該第二時鐘信號, 以獲得該第一時鐘信號的時鐘值Al以及該第二時鐘信號的時鐘值B1,以及 進一步在第二鎖存點鎖存該第一時鐘信號以及該第二時鐘信號,以獲得該第二時鐘信號的時鐘值B2;以及處理模塊,耦接于該第一時鐘源,該第二時鐘源,以及該時間鎖存邏輯 電路,用于導出該第一時鐘信號以及該全球導航衛星系統時間之間的關系, 根據該關系計算對應于該時鐘值Al的全球導航衛星系統時間Cl,以及根據該全球導航衛星系統時間Cl、該時鐘值B1以及該時鐘值B2計算全球導航衛 星系統時間C2。
11. 如權利要求IO所述的用于獲得全球導航衛星系統時間的裝置,其特征 在于,該全球導航衛星系統接收機于該第一鎖存點以及該第二鎖存點之間的 時段是關閉電源的。
12. 如權利要求IO所述的用于獲得全球導航衛星系統時間的裝置,其特征 在于,該處理模塊通過以下方程式計算該全球導航衛星系統時間C2:C2-Cl + (S2-m)-l ;其中,Bbias為該時鐘值B1以及該時鐘值B2之間的該第二時鐘信號的時 鐘偏差。
13. 如權利要求IO所述的用于獲得全球導航衛星系統時間的裝置,其特征 在于,該處理模塊計算該第二時鐘信號的該時鐘值B1以及該時鐘值B2之間 的時鐘偏差,以及根據該時鐘偏差,該全球導航衛星系統時間C1,該時鐘值 Bl,以及該時鐘值B2計算該全球導航衛星系統時間C2。
14. 如權利要求10所述的用于獲得全球導航衛星系統時間的裝置,其特征 在于,該裝置進一步包括存儲器;以及該處理模塊存儲至少該時鐘值B1以及 該全球導航衛星系統時間Cl至該存儲器。
15. 如權利要求IO所述的用于獲得全球導航衛星系統時間的裝置,其特征 在于,該第一時鐘信號以及該全球導航衛星系統時間之間的該關系表示該第 一時鐘信號的該時鐘值A1以及該全球導航衛星系統時間之間的映像值。
16. 如權利要求IO所述的用于獲得全球導航衛星系統時間的裝置,其特征 在于,該處理模塊于每次獲得定位后更新該關系。
17. 如權利要求IO所述的用于獲得全球導航衛星系統時間的裝置,其特征 在于,該第一時鐘信號的分辨率高于該第二時鐘信號的分辨率。
18. 如權利要求IO所述的用于獲得全球導航衛星系統時間的裝置,其特征 在于,該第一時鐘信號產生在該第一時鐘源中的溫度補償晶體振蕩器,以及 該第二時鐘信號產生于該第二時鐘源中的實時時鐘信號。
全文摘要
本發明提供一種用于獲得全球導航衛星系統時間的方法及其裝置,該方法包括導出第一時鐘信號與接收到的GNSS時間之間的關系;在第一鎖存點鎖存第一時鐘信號以及第二時鐘信號,以獲得第一時鐘信號的時鐘值A1以及第二時鐘信號的時鐘值B1;根據第一時鐘信號以及接收到的GNSS時間之間的關系,計算對應于時鐘值A1的GNSS時間C1;在第二鎖存點鎖存第一時鐘信號以及第二時鐘信號,以獲得第二時鐘信號的時鐘值B2;并根據GNSS時間C1,時鐘值B1,以及時鐘值B2計算GNSS時間C2。本發明提供的用于獲得GNSS接收機中GNSS時間的方法及其裝置,解決了閏秒的問題,有助于子幀同步,可以大幅減少第一次定位所需的時間。
文檔編號G01S1/04GK101382589SQ20081008684
公開日2009年3月11日 申請日期2008年3月19日 優先權日2007年9月6日
發明者李明鴻, 黃工栓 申請人:聯發科技股份有限公司