用于获得全球导航卫星系统时间的方法及其装置转让专利

申请号 : CN200810086844.7

文献号 : CN101382589B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 黄工栓李明鸿

申请人 : 联发科技股份有限公司

摘要 :

本发明提供一种用于获得全球导航卫星系统时间的方法及其装置,该方法包括:导出第一时钟信号与接收到的GNSS时间之间的关系;在第一锁存点锁存第一时钟信号以及第二时钟信号,以获得第一时钟信号的时钟值A1以及第二时钟信号的时钟值B1;根据第一时钟信号以及接收到的GNSS时间之间的关系,计算对应于时钟值A1的GNSS时间C1;在第二锁存点锁存第一时钟信号以及第二时钟信号,以获得第二时钟信号的时钟值B2;并根据GNSS时间C1,时钟值B1,以及时钟值B2计算GNSS时间C2。本发明提供的用于获得GNSS接收机中GNSS时间的方法及其装置,解决了闰秒的问题,有助于子帧同步,可以大幅减少第一次定位所需的时间。

权利要求 :

1.一种用于获得全球导航卫星系统时间的方法,其特征在于,该全球导航卫星系统时间是全球导航卫星系统接收机的全球导航卫星系统时间,该方法包括:导出第一时钟信号以及接收到的全球导航卫星系统时间之间的关系;

在第一锁存点锁存该第一时钟信号以及第二时钟信号,以获得该第一时钟信号的时钟值A1以及该第二时钟信号的时钟值B1;

根据该关系,计算对应于该时钟值A1的全球导航卫星系统时间C1;

在第二锁存点锁存该第一时钟信号以及该第二时钟信号,以获得该第二时钟信号的时钟值B2;以及根据该时钟值B2与该时钟值B1的差值、该全球导航卫星系统时间C1计算全球导航卫星系统时间C2。

2.如权利要求1所述的用于获得全球导航卫星系统时间的方法,其特征在于,该方法进一步包括:在该第一锁存点以及该第二锁存点之间的时段关闭该全球导航卫星系统接收机的电源。

3.如权利要求1所述的用于获得全球导航卫星系统时间的方法,其特征在于,该方法进一步包括:通过以下方程式计算该全球导航卫星系统时间C2:

C2=C1+(B2-B1)-Bbias;

其中,Bbias为该时钟值B1以及该时钟值B2之间的该第二时钟信号的时钟偏差。

4.如权利要求1所述的用于获得全球导航卫星系统时间的方法,其特征在于,该方法进一步包括:计算该第二时钟信号的该时钟值B1以及该时钟值B2之间的时钟偏差;以及根据该时钟偏差,该全球导航卫星系统时间C1,该时钟值B1,以及该时钟值B2计算该全球导航卫星系统时间C2。

5.如权利要求1所述的用于获得全球导航卫星系统时间的方法,其特征在于,该方法进一步包括:至少将该时钟值B1以及该全球导航卫星系统时间C1存储到存储器。

6.如权利要求1所述的用于获得全球导航卫星系统时间的方法,其特征在于,该第一时钟信号以及该全球导航卫星系统时间之间的该关系表示该第一时钟信号的该时钟值A1以及该全球导航卫星系统时间之间的映像值。

7.如权利要求1所述的用于获得全球导航卫星系统时间的方法,其特征在于,该方法进一步包括:在每次获得定位后更新该关系。

8.如权利要求1所述的用于获得全球导航卫星系统时间的方法,其特征在于,该第一时钟信号的分辨率高于该第二时钟信号的分辨率。

9.如权利要求1所述的用于获得全球导航卫星系统时间的方法,其特征在于,该第一时钟信号产生于温度补偿晶体振荡器,以及该第二时钟信号产生于实时时钟信号。

10.一种用于获得全球导航卫星系统时间的装置,其特征在于,该全球导航卫星系统时间是全球导航卫星系统接收机的全球导航卫星系统时间,该装置包括:第一时钟源,用于产生第一时钟信号;

第二时钟源,用于产生第二时钟信号;

时间锁存逻辑电路,耦接于该第一时钟源以及该第二时钟源,用于执行时间锁存操作,以在第一锁存点锁存该第一时钟信号以及该第二时钟信号,以获得该第一时钟信号的时钟值A1以及该第二时钟信号的时钟值B1,以及进一步在第二锁存点锁存该第一时钟信号以及该第二时钟信号,以获得该第二时钟信号的时钟值B2;以及处理模块,耦接于该第一时钟源,该第二时钟源,以及该时间锁存逻辑电路,用于导出该第一时钟信号以及该全球导航卫星系统时间之间的关系,根据该关系计算对应于该时钟值A1的全球导航卫星系统时间C1,以及根据该时钟值B2与该时钟值B1的差值、该全球导航卫星系统时间C1计算全球导航卫星系统时间C2。

11.如权利要求10所述的用于获得全球导航卫星系统时间的装置,其特征在于,该全球导航卫星系统接收机于该第一锁存点以及该第二锁存点之间的时段是关闭电源的。

12.如权利要求10所述的用于获得全球导航卫星系统时间的装置,其特征在于,该处理模块通过以下方程式计算该全球导航卫星系统时间C2:C2=C1+(B2-B1)-Bbias;

其中,Bbias为该时钟值B1以及该时钟值B2之间的该第二时钟信号的时钟偏差。

13.如权利要求10所述的用于获得全球导航卫星系统时间的装置,其特征在于,该处理模块计算该第二时钟信号的该时钟值B1以及该时钟值B2之间的时钟偏差,以及根据该时钟偏差,该全球导航卫星系统时间C1,该时钟值B1,以及该时钟值B2计算该全球导航卫星系统时间C2。

14.如权利要求10所述的用于获得全球导航卫星系统时间的装置,其特征在于,该装置进一步包括存储器;以及该处理模块存储至少该时钟值B1以及该全球导航卫星系统时间C1至该存储器。

15.如权利要求10所述的用于获得全球导航卫星系统时间的装置,其特征在于,该第一时钟信号以及该全球导航卫星系统时间之间的该关系表示该第一时钟信号的该时钟值A1以及该全球导航卫星系统时间之间的映像值。

16.如权利要求10所述的用于获得全球导航卫星系统时间的装置,其特征在于,该处理模块于每次获得定位后更新该关系。

17.如权利要求10所述的用于获得全球导航卫星系统时间的装置,其特征在于,该第一时钟信号的分辨率高于该第二时钟信号的分辨率。

18.如权利要求10所述的用于获得全球导航卫星系统时间的装置,其特征在于,该第一时钟信号产生在该第一时钟源中的温度补偿晶体振荡器,以及该第二时钟信号产生于该第二时钟源中的实时时钟信号。

说明书 :

用于获得全球导航卫星系统时间的方法及其装置

技术领域

[0001] 本发明是关于全球导航卫星系统(Global Navigation Satellite System,以下简称为GNSS)接收机,特别是关于获得GNSS接收机的准确的GNSS时间的方法及其装置。

背景技术

[0002] 关于GNSS接收机的最重要的问题之一是:当GNSS接收机从电源关闭模式进入发动模式时,如何获得准确的GNSS时间。特别是,在电源关闭模式下,GNSS接收机内除实时时钟(real time clock,以下简称为RTC)外的所有组件都处于断电状态。根据相关技术,当GNSS接收机开机时,一种通用的获得初始GNSS时间的方法是:通过读取RTC提供的RTC时间来作为世界标准时间(Coordinated Universal Time,其被简称为UTC时间),然后将由RTC时间导出的UTC时间直接转换为GNSS时间的粗略初始值。因此,根据相关技术实施时,会出现一些问题。例如,UTC闰秒(leap second)是未知的。另外,RTC的分辨率通常为几个微秒,且RTC的时钟偏移为百万分之(parts permillion,PPM)几十到几百,会导致上述GNSS时间的初始值不能被接受。另外,在RTC时间以及实时的GNSS时间之间的同步上,存在时间延迟,会导致上述GNSS时间的初始值不准确。

发明内容

[0003] 为解决以上技术问题,本发明提供了一种用于获得GNSS接收机中GNSS时间的方法及其装置。
[0004] 本发明提供了一种用于获得GNSS接收机中GNSS时间的方法,包括:导出第一时钟信号以及接收到的GNSS时间之间的关系;在第一锁存点锁存第一时钟信号以及第二时钟信号,以获得第一时钟信号的时钟值A1以及第二时钟信号的时钟值B1;根据第一时钟信号以及接收到的GNSS时间之间的关系,计算对应于时钟值A1的GNSS时间C1;在第二锁存点锁存第一时钟信号以及第二时钟信号,以获得第二时钟信号的时钟值B2;并根据GNSS时间C1,时钟值B1,以及时钟值B2计算GNSS时间C2。
[0005] 本发明提供了一种用于获得GNSS接收机中GNSS时间的装置,包括:第一时钟源,用于产生第一时钟信号。第二时钟源,用于产生第二时钟信号。时间锁存逻辑电路,耦接于第一时钟源以及第二时钟源,用于执行时间锁存操作,以在第一锁存点锁存第一时钟信号以及第二时钟信号,以获得第一时钟信号的时钟值A1以及第二时钟信号的时钟值B1,并进一步在第二锁存点锁存第一时钟信号以及第二时钟信号,以获得第二时钟信号的时钟值B2。处理模块,耦接于第一时钟源,第二时钟源,以及时间锁存逻辑电路,用于导出第一时钟信号以及GNSS时间之间的关系,根据第一时钟信号以及GNSS时间之间的关系计算对应于时钟值A1的GNSS时间C1,且根据GNSS时间C1、时钟值B1以及时钟值B2计算GNSS时间C2。
[0006] 本发明提供的用于获得GNSS接收机中GNSS时间的方法及其装置,通过使用RTC的时间差值进行计算,解决了闰秒的问题,同时利用RTC时间以及时间锁存操作来恢复GNSS时间的准确的初始值,有助于子帧同步,可以大幅减少第一次定位所需的时间。

附图说明

[0007] 图1为根据本发明第一实施例的用于获得GNSS接收机中准确的GNSS时间的装置的方框图;
[0008] 图2为根据本发明一实施例的用于获得GNSS接收机中准确的GNSS时间的方法示意图;
[0009] 图3为图2所示的方法的第一程序的流程图;
[0010] 图4为图2所示的方法的第二程序的流程图;
[0011] 图5为由图2所示的方法得出的实验结果的表格。

具体实施方式

[0012] 请参考图1,图1为根据本发明第一实施例的用于获得GNSS接收机中准确的GNSS时间的装置100的方框图。装置100包括:处理模块110,非易失性存储器120,基带电路130,RTC 140,以及时间锁存逻辑电路150,其实现了芯片100C,芯片100C耦接于射频模块
180。在本发明的一实施例中,装置100可以代表GNSS接收机。在本发明的另一实施例中,装置100可以代表GNSS接收机的一部分,例如,芯片100C。于本发明的另一实施例中,装置
100可以包括GNSS接收机。例如,装置100可以为多功能装置,包括移动电话功能,个人数字助理功能,以及GNSS接收机功能。
[0013] 根据本发明的第一实施例,基带电路130可以利用射频模块180从GNSS卫星接收到的信号,并根据射频模块180产生的导出信号进行基带处理。本实施例的处理模块110包括微处理器112以及导航引擎114,其中,微处理器112可以执行装置100的全部控制,导航引擎114可以根据基带电路130的处理结果执行细化的导航操作。
[0014] 基带电路130运作于第一时钟信号,例如,基带对时信号(baseband timetick,TTick),基带对时信号的频率一般为16.368MHz,其中,基带对时信号产生于第一时钟源,第一时钟源由基带电路130中的温度补偿晶体振荡器(temperature compensated crystal oscillator,以下简称为TCXO)132来实现。RTC140为第二时钟源,并于电源关闭模式下保持通电状态。产生于第二时钟源(也就是本实施例中的RTC140)的第二时钟信号的分辨率比较低,其中,本实施例中的第二时钟信号为RTC 140的振荡信号,典型的振荡信号的频率为32768Hz。一般而言,GNSS接收机需要获得准确的时间信息以处理卫星信号。在每一次定位后,处理模块110根据基带对时信号与GNSS时间之间的关系,利用基带对时信号值(第一时钟信号的时钟值)来获得时间信息。但是当GNSS接收机从电源关闭模式开始发动时,基带对时信号与GNSS时间之间的关系不再合适;GNSS接收机需要另一个时钟源来获得准确的GNSS时间。通过使用时间锁存逻辑电路150,本实施例的处理模块110可以获得具有高分辨率以及精确度的时间信息。时间锁存逻辑电路150可以执行时间锁存操作,以于同一锁存时间点读取RTC 140中的RTC值以及基带对时信号的对时信号值。
[0015] 图2为根据本发明一实施例的用于获得GNSS接收机中准确的GNSS时间的方法示意图。如图2所示的方法可以利用图1所示的装置100来实现。请参考图2的左边部分,在GNSS接收机获得定位后,本实施例的处理模块110获得第一时钟信号(基带对时信号)以及GNSS时间之间的关系。时间锁存逻辑电路150锁存两个时钟信号,基带对时信号以及RTC信号,接下来于锁存的时间点获得一组时钟值(A1,B1)。A1为基带对时信号的时钟值,B1为同一锁存时间点的RTC信号的时钟值。接下来,处理模块110根据第一时钟信号以及GNSS时间之间的关系,导出对应于时钟值A1的GNSS时间C1。另外,在每次获得定位后,本实施例中的处理模块110可以计算及更新RTC140的最新的RTC偏移值。因此,处理模块110可以将一组对应于锁存时间点的值(例如,最新的RTC偏移值,时钟值B1,GNSS时间C1以及时钟值A1)存储到非易失性存储器120中。
[0016] 请参考图2的右边部分,在电源关闭期间后,本实施例的处理模块110利用时间锁存逻辑电路150来锁存两个时钟信号,接着导出RTC 140的时钟值B2,并进一步根据存储于非易失性存储器120中的值(例如,最新的RTC偏移值,时钟值B1,以及GNSS时间C1)以及时钟值B2来执行GNSS时间计算,以计算出至少第二GNSS时间C2来作为GNSS接收机于电源关闭期间后的GNSS时间的初始值。关于用于获得上述时钟值B2的时间锁存操作,RTC的时钟值B2以及基带对时信号的时钟值A2是于同一锁存时间点被读取。因此,GNSS时间C2可以根据以下方程式(1)来计算:
[0017] C2=C1+(B2-B1)-Bbias...............................(1)
[0018] 其中,Bbias为时钟值B1以及时钟值B2之间的RTC信号的时钟偏差。
[0019] 需要注意的是,为了确定第二GNSS值C2的相关计算的正确性,本实施例引入了第一周数(week number,以下简称为WN)值WN1。根据本实施例的不同实施选择,第一WN值WN1可以不被用于第二GNSS值C2(例如,第二星期时间(time of week,TOW)值TOW2)的相关计算中,也可以不存储于非易失性存储器120中,而当GNSS时间的WN值增加时,可以利用一个旗标(flag)或某种运算来指示电源关闭期间是否穿过一时间点。
[0020] 图3为图2所示的方法的第一程序910的流程图,其中,与第一程序910相关的第一时段结束于图2中所示的电源关闭时间点。以下将对第一程序910做详细的描述。
[0021] 步骤912,在GNSS接收机获得定位后,处理模块110导出基带电路130的基带对时信号以及GNSS时间之间的关系。在本实施例中,因为在GNSS接收机获得定位后的GNSS时间是准确的,处理模块110可以同步导出特定对时信号值TTick0以及至少一个准确的GNSS时间值,以获得基带对时信号以及GNSS时间之间的正确的关系,其中,本实施例中上述准确的GNSS时间值包括:特定WN值WN0以及特定TOW值TOW0。
[0022] 步骤914,在每次获得定位后,本实施例中的处理模块110可以计算及更新RTC140的最新的RTC偏移值,并将最新的RTC偏移值存储到非易失性存储器120中。需要注意的是,在电源关闭前,接收机获得定位的次数大于一,且为了更新存储于非易失性存储器120中的最新的RTC偏移值,处理模块110可以多次计算最新的RTC偏移值。
[0023] 步骤916,处理模块110控制时间锁存逻辑电路150以执行时间锁存操作,为了在对应于RTC 140的特定信号(例如上述的典型频率为32768Hz的振荡信号)的边缘的时间点读取(RTC1,TTick1)(也就是,第一RTC值RTC1以及第一对时信号值TTick1)。步骤916,处理模块110根据基带对时信号以及GNSS时间之间的关系,进一步计算GNSS时间的(WN1,TOW1)(也就是,第一WN值WN1以及第一TOW值TOW1)。例如,第一种情况下,GNSS时间保持于同一周内,WN值保持为常数,因此GNSS时间的(WN1,TOW1)可以由以下方程式(2)以及方程式(3)计算得出:
[0024] WN1= WN0............................................................(2)
[0025] TOW1=TOW0+(TTick1-TTick0).................................(3)[0026] 在另一实施例中,第二种情况下,GNSS时间经过下一周,WN值会以增量1增加,因此GNSS时间的(WN1,TOW1)可以由以下方程式(4)以及方程式(5)计算得出:
[0027] WN1= WN0+1.........................................................(4)
[0028] TOW1=TOW0+(TTick1-TTick0)-604800.................. (5)[0029] 其中,以上方程式中的604800表示每个星期的秒数。因此,为了同时满足以上两个实施例的两种情况,第一TOW值TOW1可以先以第一种情况下所提的方法计算,如果第一TOW值TOW1大于或等于604800,第一TOW值TOW1将减少604800,并且第一WN值WN1会以增量1增加;否则,第一TOW值TOW1是正确的,因此,WN1=WN0。
[0030] 步骤918,处理模块110将(RTC1,WN1,TOW1)存储于非易失性存储器120。
[0031] 于步骤910P,关闭电源。
[0032] 请再次参考图2。在处理模块110发送命令触发时间锁存操作后,时间锁存逻辑电路150在上述对应于RTC 140的振荡信号的边缘的时间点读取(RTC1,TTick1),其中,本实施例中的边缘表示振荡信号的时钟周期的结束点。需要注意的是,为了简洁,本实施例中用于导出(RTC1,TTick1)的时间锁存操作可以被描述为时间锁存(RTC1,TTick1),或更简单地被描述为锁存(RTC1,TTick1)。
[0033] 在本实施例中,在接收到触发时间锁存操作的命令后,时间锁存逻辑电路150等待振荡信号的第一个侦测到的下降边缘,并且在接收命令后出现的第一个侦测到的下降边缘的时间点读取(RTC1,TTick1)。因此,(RTC1,TTick1)具有与基带对时信号的频率相同的分辨率。
[0034] 根据本实施例的变化例,在接收到触发时间锁存操作的命令后,时间锁存逻辑电路150等待振荡信号的第一个侦测到的上升边缘,并且在接收命令后出现的第一个侦测到的上升边缘的时间点读取(RTC1,TTick1)。因此,(RTC1,TTick1)仍然具有与基带对时信号的频率相同的分辨率。
[0035] 图4为图2所示的方法的第二程序930的流程图,其中,与第二程序930相关的第二时段开始在图2中所示的电源开启时间点。以下将对第二程序930做详细的描述。
[0036] 步骤930P,开启电源。
[0037] 步骤932,处理模块110从非易失性存储器120中读取(RTC1,WN1,TOW1)以及最新的RTC偏移值。
[0038] 步骤934,处理模块110控制时间锁存逻辑电路150执行时间锁存操作,并于对应于RTC140的特定信号的另一边缘的时间点,读取第二RTC值RTC2以及第二对时信号值TTick2,其中,本实施例中的特定信号为上述振荡信号。
[0039] 步骤936,处理模块110根据存储于非易失性存储器120中的值(例如:最新的RTC偏移值,第一RTC值RTC1,第一WN值WN1,以及第一TOW值TOW1)以及第二RTC值RTC2,来计算第二TOW值TOW2。根据本实施例,处理模块110首先根据存储于非易失性存储器120中的最新的时钟偏移值计算RTC偏差值RTCbias,接下来根据以下的方程式(6)计算第二TOW值TOW2:
[0040] TOW2=TOW1+(RTC2-RTC1)-RTCbias;.....................(6)[0041] 其中,RTC偏差值RTCbias等于差值(RTC2-RTC1)以及最新的时钟偏移值之间的乘积,其中,最新的时钟偏移存储于非易失性存储器120中。需要注意的是,在此关于RTC偏差值RTCbias的计算仅为说明之用,并非为本发明的限制。
[0042] 根据本实施例的变化例,RTC140的时钟信号可以由上述振荡信号导出,其中,本发明的实现并不受此限制。
[0043] 根据本实施例的另一变化例,在每次获得定位后,处理模块110可以更新基带对时信号与GNSS时间之间的关系。
[0044] 图5为由图2所示的方法得出的实验结果的表格,其中实验结果是在温度不会快速变化的情况下获得的。请参考图5,请参考表格的下两列,RTC偏移值可以由“微秒偏移每秒”(μsec/sec)来度量,且在整个实验结果中,此两列中的数据大致保持为常数。请参考图5中首列以下的第一数据列,初始GNSS时间误差是通过比较初始值以及准确的GNSS时间测量出的,其中,初始值是利用图2所示的方法导出的,且此列中的数据满足1毫秒或小于1毫秒的需要。例如,在电源关闭期间分别等于1秒,10秒,或60秒(也就是1分钟的)的情况下,初始GNSS时间误差小于1微秒。另外,在电源关闭期间等于600秒(也就是10分钟)的情况下,初始GNSS时间误差小于2微秒。另外,在电源关闭期间等于3600秒(也就是1小时)的情况下,初始GNSS时间误差小于22微秒。
[0045] 与相关技术不同的是,因为以上实施例是使用RTC的时间差值来进行计算,而不是直接利用RTC时间,所以本发明的装置及方法没有闰秒的问题。
[0046] 本发明的另一个优点为,本发明的装置及方法于电源关闭期间后,利用RTC时间以及时间锁存操作来恢复GNSS时间的准确的初始值,其分辨率大致为十亿分之一秒(nanosecond),其中,当电源关闭期间较短时,GNSS时间的初始值的典型误差位于微秒数量级。
[0047] 本发明的另一个优点为,本发明的装置及方法有助于子帧同步。因此,当GNSS接收机开机时,与相关技术相比,第一次定位的时间可以大幅减少。
[0048] 虽然本发明已以较佳实施例揭露如上,然其并非用以限定本发明,任何所属技术领域中的技术人员,在不脱离本发明的范围内,可以做一些改动,因此本发明的保护范围应与权利要求所界定的范围为准。