CN113329341A - 全球导航卫星系统时间同步方法、装置、设备和存储介质 - Google Patents
全球导航卫星系统时间同步方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN113329341A CN113329341A CN202110642301.4A CN202110642301A CN113329341A CN 113329341 A CN113329341 A CN 113329341A CN 202110642301 A CN202110642301 A CN 202110642301A CN 113329341 A CN113329341 A CN 113329341A
- Authority
- CN
- China
- Prior art keywords
- time
- coordinated universal
- local
- synchronization controller
- time synchronization
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 54
- 238000012937 correction Methods 0.000 claims abstract description 49
- 230000004044 response Effects 0.000 claims description 25
- 238000004458 analytical method Methods 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 13
- 238000001914 filtration Methods 0.000 claims description 9
- 238000012545 processing Methods 0.000 claims description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 3
- 230000000630 rising effect Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 206010039203 Road traffic accident Diseases 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001915 proofreading effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
- H04W4/024—Guidance services
-
- G—PHYSICS
- G04—HOROLOGY
- G04R—RADIO-CONTROLLED TIME-PIECES
- G04R20/00—Setting the time according to the time information carried or implied by the radio signal
- G04R20/02—Setting the time according to the time information carried or implied by the radio signal the radio signal being sent by a satellite, e.g. GPS
- G04R20/04—Tuning or receiving; Circuits therefor
-
- G—PHYSICS
- G04—HOROLOGY
- G04R—RADIO-CONTROLLED TIME-PIECES
- G04R20/00—Setting the time according to the time information carried or implied by the radio signal
- G04R20/02—Setting the time according to the time information carried or implied by the radio signal the radio signal being sent by a satellite, e.g. GPS
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S19/00—Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
- G01S19/01—Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
- G01S19/13—Receivers
- G01S19/23—Testing, monitoring, correcting or calibrating of receiver elements
- G01S19/235—Calibration of receiver components
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S19/00—Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
- G01S19/01—Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
- G01S19/13—Receivers
- G01S19/24—Acquisition or tracking or demodulation of signals transmitted by the system
- G01S19/25—Acquisition or tracking or demodulation of signals transmitted by the system involving aiding data received from a cooperating element, e.g. assisted GPS
- G01S19/256—Acquisition or tracking or demodulation of signals transmitted by the system involving aiding data received from a cooperating element, e.g. assisted GPS relating to timing, e.g. time of week, code phase, timing offset
-
- G—PHYSICS
- G04—HOROLOGY
- G04G—ELECTRONIC TIME-PIECES
- G04G5/00—Setting, i.e. correcting or changing, the time-indication
-
- G—PHYSICS
- G04—HOROLOGY
- G04G—ELECTRONIC TIME-PIECES
- G04G7/00—Synchronisation
-
- G—PHYSICS
- G04—HOROLOGY
- G04R—RADIO-CONTROLLED TIME-PIECES
- G04R20/00—Setting the time according to the time information carried or implied by the radio signal
- G04R20/02—Setting the time according to the time information carried or implied by the radio signal the radio signal being sent by a satellite, e.g. GPS
- G04R20/06—Decoding time data; Circuits therefor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W56/00—Synchronisation arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W84/00—Network topologies
- H04W84/02—Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
- H04W84/04—Large scale networks; Deep hierarchical networks
- H04W84/06—Airborne or Satellite Networks
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Astronomy & Astrophysics (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
- Electric Clocks (AREA)
- Position Fixing By Use Of Radio Waves (AREA)
Abstract
本申请涉及一种全球导航卫星系统时间同步方法、装置、计算机设备和存储介质。所述方法包括:接收美国国家海洋电子协会协议数据包,并从数据包中读取有效的协调世界时时间,将读取到的协调世界时时间存储入时间同步控制器;接收秒脉冲信号,并捕获在秒脉冲信号产生时刻本地时钟输出的本地时间,将本地时间存储入时间同步控制器;时间同步控制器在接收到当前本地时间时,读取当前本地时间之前已存储的上一本地时间,并读取已存储的最新协调世界时时间作为与上一本地时间对应的协调世界时时间;时间同步控制器根据上一本地时间以及对应的协调世界时时间确定本地时间修正量,并根据本地时间修正量校正本地时钟。采用本方法能够提升时间同步的精确度。
Description
技术领域
本申请涉及时间同步技术领域,特别是涉及一种全球导航卫星系统时间同步方法、装置、计算机设备和存储介质。
背景技术
随着自动驾驶技术的飞速发展,道路车辆和道路设施的智能化水平提升,对全球导航卫星系统(Global Navigation Satellite System,GNSS)高精度授时的需求也日益明显。例如,在自动驾驶场景中,道路参与车辆通常需要接收路侧设施或其他车辆发布的道路信息,这些信息通常具有高度的时效性,因此要求接收信息的车辆应与路侧设施的时间保持高度一致,误差例如应低于1ms,否则极易误导道路车辆,造成交通事故。车辆与车辆之间、车辆与路侧设备之间,无法共用一个时钟源,要低成本地、高精度地、及时地、可靠地同步大量设备的时间,全球导航卫星系统授时是时间同步领域的常用技术手段。全球导航卫星系统包括全球定位系统(Global Positioning System,GPS)、北斗卫星导航系统(BeiDouNavigation Satellite System,BDS)、格洛纳斯卫星导航系统(GLONASS)、伽利略卫星导航系统(Galileo satellite navigation system,GALILEO)等卫星导航系统,全球导航卫星系统接收机成本较低,输出的秒脉冲信号误差可以控制在100ns以内,可以满足自动驾驶的时间同步需求。
在一种已知的全球导航卫星系统时间同步方法中,在对处理器芯片进行时间同步时,处理器芯片在从全球导航卫星系统接收机接收到美国国家海洋电子协会(NationalMarine Electronics Association,NMEA)协议数据包后,可以读取美国国家海洋电子协会协议数据包,解析美国国家海洋电子协会协议数据包得到协调世界时(Universal TimeCoordinated,UTC)时间后将得到的协调世界时时间直接同步到处理器芯片的本地时间。然而,全球导航卫星系统接收机输出美国国家海洋电子协会协议数据包的时间并不是确定的,可能在数据包中记载时间100ms以上才输出,此外处理器芯片对美国国家海洋电子协会协议数据包的接收和解析存在延迟,当接收和解析操作在处理器芯片的操作系统上进行时,还受系统任务调度影响,导致获取到协调世界时的时间不确定,继而使得使用该协调世界时时间对本地时间的同步精度较低。
上述现有的全球导航卫星系统时间同步方法,其时间同步精度仍然存在着提升的空间。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提升时间同步精度的全球导航卫星系统时间同步方法、装置、计算机设备和存储介质。
在一方面,提供一种全球导航卫星系统时间同步方法,包括:
接收美国国家海洋电子协会协议数据包,并从美国国家海洋电子协会协议数据包中读取有效的协调世界时时间,将读取到的有效的协调世界时时间存储入时间同步控制器;
接收秒脉冲信号,并捕获在秒脉冲信号产生时刻本地时钟输出的本地时间,将本地时间存储入时间同步控制器;
时间同步控制器在接收到当前本地时间时,读取当前本地时间之前已存储的上一本地时间,并读取已存储的最新协调世界时时间作为与上一本地时间对应的协调世界时时间;
时间同步控制器根据上一本地时间以及与上一本地时间对应的协调世界时时间确定本地时间修正量,并根据本地时间修正量校正本地时钟。
在一个实施例中,接收美国国家海洋电子协会协议数据包,并从美国国家海洋电子协会协议数据包中读取有效的协调世界时时间,将读取到的有效的协调世界时时间存储入时间同步控制器,包括:等待美国国家海洋电子协会协议数据包;每当接收到美国国家海洋电子协会协议数据包时,解析美国国家海洋电子协会协议数据包以得到当前的定位状态和当前的协调世界时时间;判断当前的定位状态是否为有效定位状态;当当前的定位状态不是有效定位状态时,则返回等待美国国家海洋电子协会协议数据包的步骤;当当前的定位状态是有效定位状态时,则确定当前的协调世界时时间为有效的协调世界时时间,并将当前有效的协调世界时时间传入时间同步控制器,然后返回等待美国国家海洋电子协会协议数据包的步骤;每当时间同步控制器接收到协调世界时时间时,保存时间值最大的协调世界时时间作为最新协调世界时时间。
在一个实施例中,每当收到美国国家海洋电子协会协议数据包时,解析美国国家海洋电子协会协议数据包以得到当前的定位状态和当前的协调世界时时间,包括:每当收到美国国家海洋电子协会协议数据包时,若收到美国国家海洋电子协会协议数据包时上一美国国家海洋电子协会协议数据包尚未完成解析,则停止对上一美国国家海洋电子协会协议数据包的解析,转而解析当前接收的美国国家海洋电子协会协议数据包以得到当前的定位状态和当前的协调世界时时间;若收到美国国家海洋电子协会协议数据包时上一美国国家海洋电子协会协议数据包已完成解析,则继续解析当前接收的美国国家海洋电子协会协议数据包以得到当前的定位状态和当前的协调世界时时间。
在一个实施例中,每当时间同步控制器接收到协调世界时时间时,保存时间值最大的协调世界时时间作为最新协调世界时时间,包括:每当时间同步控制器接收到协调世界时时间时,时间同步控制器判断当前时间同步控制器是否处于空闲状态或忙碌状态;忙碌状态指示时间同步控制器正在使用上一本地时间以及最新协调世界时时间执行对本地时钟的校正;当时间同步控制器处于空闲状态时,保存时间值最大的协调世界时时间作为最新协调世界时时间;当时间同步控制器处于忙碌状态时,则等待时间同步控制器切换到空闲状态后,保存时间值最大的协调世界时时间作为最新协调世界时时间。
在一个实施例中,每当时间同步控制器接收到协调世界时时间时,保存时间值最大的协调世界时时间作为最新协调世界时时间,包括:每当时间同步控制器接收到协调世界时时间时,若没有已存的协调世界时时间时,则存储接收到的协调世界时时间作为最新协调世界时时间;若有已存的协调世界时时间,则在接收到的协调世界时时间大于已存的协调世界时时间时,将接收到的协调世界时时间作为最新协调世界时时间覆盖已存的协调世界时时间,在接收到的协调世界时时间小于已存的协调世界时时间时,丢弃接收到的协调世界时时间,并保留已存的协调世界时时间作为最新协调世界时时间;全球导航卫星系统时间同步方法还包括:在时间同步控制器根据上一本地时间以及最新协调世界时时间确定本地时间修正量之后,删除最新协调世界时时间。
在一个实施例中,接收秒脉冲信号,并捕获在秒脉冲信号产生时刻本地时钟输出的本地时间,将本地时间存储入时间同步控制器包括:等待秒脉冲信号;在接收到秒脉冲信号时,捕获秒脉冲信号产生时刻本地时钟输出的本地时间,并触发秒脉冲中断响应,在秒脉冲中断响应中,将捕获到的本地时间传入时间同步控制器;每当时间同步控制器接收到本地时间时,将本地时间通过有限长单位冲激响应低通滤波器得到低通滤波后的本地时间,保存低通滤波后的本地时间。
在一个实施例中,时间同步控制器在接收到当前本地时间时,读取当前本地时间之前已存储的上一本地时间,并读取已存储的最新协调世界时时间作为与上一本地时间对应的协调世界时时间,包括:时间同步控制器等待接收本地时间;时间同步控制器在接收到当前本地时间时,读取当前本地时间之前是否已存储有上一本地时间;若否,则时间同步控制器返回等待接收本地时间的步骤;若是,则时间同步控制器读取是否已存储有最新协调世界时时间;若时间同步控制器尚未存储有最新协调世界时时间,则时间同步控制器删除上一本地时间,并返回等待接收本地时间;若时间同步控制器已存储有最新协调世界时时间,则读取已存储的最新协调世界时时间作为与上一本地时间对应的协调世界时时间;全球导航卫星系统时间同步方法还包括:在时间同步控制器根据上一本地时间以及最新协调世界时时间确定本地时间修正量之后,删除上一本地时间。
在一个实施例中,时间同步控制器根据上一本地时间以及与上一本地时间对应的协调世界时时间确定本地时间修正量,包括:时间同步控制器将上一本地时间以及与上一本地时间对应的协调世界时时间通过比例积分控制器,以得到本地时间修正量。
在另一方面,提供一种全球导航卫星系统时间同步装置,包括:
美国国家海洋电子协会协议数据包接收模块,用于接收美国国家海洋电子协会协议数据包,并从美国国家海洋电子协会协议数据包中读取有效的协调世界时时间,将读取到的有效的协调世界时时间存储入时间同步控制器;
秒脉冲信号接收模块,用于接收秒脉冲信号,并捕获在秒脉冲信号产生时刻本地时钟输出的本地时间,将本地时间存储入时间同步控制器;
时间匹配模块,用于使时间同步控制器在接收到当前本地时间时,读取当前本地时间之前已存储的上一本地时间,并读取已存储的最新协调世界时时间作为与上一本地时间对应的协调世界时时间;
本地时钟同步模块,用于时间同步控制器根据上一本地时间以及与上一本地时间对应的协调世界时时间确定本地时间修正量,并根据本地时间修正量校正本地时钟。
在另一方面,提供一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现以下步骤:
接收美国国家海洋电子协会协议数据包,并从美国国家海洋电子协会协议数据包中读取有效的协调世界时时间,将读取到的有效的协调世界时时间存储入时间同步控制器;
接收秒脉冲信号,并捕获在秒脉冲信号产生时刻本地时钟输出的本地时间,将本地时间存储入时间同步控制器;
时间同步控制器在接收到当前本地时间时,读取当前本地时间之前已存储的上一本地时间,并读取已存储的最新协调世界时时间作为与上一本地时间对应的协调世界时时间;
时间同步控制器根据上一本地时间以及与上一本地时间对应的协调世界时时间确定本地时间修正量,并根据本地时间修正量校正本地时钟。
在另一方面,提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
接收美国国家海洋电子协会协议数据包,并从美国国家海洋电子协会协议数据包中读取有效的协调世界时时间,将读取到的有效的协调世界时时间存储入时间同步控制器;
接收秒脉冲信号,并捕获在秒脉冲信号产生时刻本地时钟输出的本地时间,将本地时间存储入时间同步控制器;
时间同步控制器在接收到当前本地时间时,读取当前本地时间之前已存储的上一本地时间,并读取已存储的最新协调世界时时间作为与上一本地时间对应的协调世界时时间;
时间同步控制器根据上一本地时间以及与上一本地时间对应的协调世界时时间确定本地时间修正量,并根据本地时间修正量校正本地时钟。
上述全球导航卫星系统时间同步方法、装置、计算机设备和存储介质,时间同步控制器在接收到当前本地时间时,读取当前本地时间之前已存储的上一本地时间,并读取已存储的最新协调世界时时间作为与上一本地时间对应的协调世界时时间,由于在收到当前秒脉冲信号捕获的本地时间时才使用上一个秒脉冲信号捕获的本地时间来执行时间校正这种滞后校正方式,并根据秒脉冲信号输出时刻对应的协调世界时时间所在的美国国家海洋电子协会协议数据包一定在该秒脉冲信号产生之后输出的特性,将最新协调世界时时间作为与上一个秒脉冲信号捕获的本地时间对应的协调世界时时间,在同样可以修正时间偏差的情况下,可以使时间更新点固定,有效避免当美国国家海洋电子协会数据包解析失败、或者因系统任务调度没有在下一个秒脉冲来临前解析完成时,直接使用当前秒脉冲信号捕获的本地时间来对应协调世界时时间可能对应到错误的协调世界时时间的情况,从而能够将秒脉冲信号捕获的本地时间和与该秒脉冲信号对应的美国国家海洋电子协会协议数据包中的协调世界时时间准确地对应起来,从而有效提升时间同步的精准度。
附图说明
图1为一个实施例中全球导航卫星系统时间同步方法的应用环境图;
图2为一个实施例中系统级芯片的嵌入式Linux系统的软件系统架构图;
图3为一个实施例中全球导航卫星系统时间同步方法的流程示意图;
图4为一个实施例中时间同步控制器的处理的流程示意图;
图5为一个应用实例中全球导航卫星系统时间同步方法的流程示意图;
图6为一个实施例中全球导航卫星系统时间同步装置的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的全球导航卫星系统时间同步方法,可以应用于如图1所示的应用环境中。其中,处理器芯片110连接全球导航卫星系统接收机120,处理器芯片110从全球导航卫星系统接收机120分别接收美国国家海洋电子协会协议数据包和秒脉冲(Pulse perSecond,PPS)信号,并执行本申请任意实施例的全球导航卫星系统时间同步方法,以对该处理器芯片110进行时间同步。处理器芯片110例如可以是系统级芯片(System on Chip,SOC),该系统级芯片例如可以装载于车辆等设备中。该系统级芯片具备秒脉冲时间捕获功能,当系统级芯片在其秒脉冲引脚处检测到秒脉冲信号时,在秒脉冲信号的上升沿或下降沿时刻,该系统级芯片能够自动快速捕获当前本地时间并存储。
在本申请各个实施例中,全球导航卫星系统接收机120的输出具有两个基本特性:特性1:只有全球导航卫星系统有效定位时,才会输出秒脉冲信号,否则,仅会输出美国国家海洋电子协会协议数据包而不会输入秒脉冲信号;特性2:秒脉冲信号输出时刻对应的协调世界时(协调世界时)时间所在的美国国家海洋电子协会协议数据包一定在该秒脉冲信号产生之后输出。
在一个实施例中,以处理器芯片110为系统级芯片为例,本申请实施例提供的全球导航卫星系统时间同步方法可以适用于工作在上述系统级芯片110的嵌入式Linux系统中。示例的,该嵌入式Linux系统可以具有如图2中所示的软件系统架构。
其中,该嵌入式Linux系统可以包括Linux系统服务层和Linux内核层。在Linux系统服务层,包括全球导航卫星系统服务模块、全球导航卫星系统定位信息接口以及系统时间接口;在Linux内核层,包括通用异步收发传输器(Universal Asynchronous Receiver/Transmitter,UART)驱动模块、秒脉冲驱动模块、秒脉冲中断响应模块、时间同步控制器和系统日历时间模块等模块,这些模块分别具有如下作用:
·通用异步收发传输器驱动模块:用于接收全球导航卫星系统接收机输出的美国国家海洋电子协会协议数据包。全球导航卫星系统接收机可以通过串口输出NMEA-0183协议的数据包,例如GPGGA、GPZDA、GPRMC等格式的数据包。在本申请所述的方法中,要求将全球导航卫星系统接收机配置为可以输出带有年月日和时分秒信息的美国国家海洋电子协会协议数据包;
·秒脉冲驱动模块:用于配置系统级芯片的秒脉冲时间捕获功能,配置完成后,在秒脉冲信号的产生时刻(根据秒脉冲信号的情况,秒脉冲信号产生时刻可能是上升沿或下降沿)快速捕获当前本地时钟输出的本地时间并保存;
·秒脉冲中断响应模块:用于在捕获到秒脉冲信号时,进入秒脉冲中断响应,在秒脉冲中断响应中将秒脉冲驱动模块捕获到的本地时间传递给时间同步控制器;
·时间同步控制器:用于利用秒脉冲信号产生时刻捕获到的本地时间,和对接收到的NMEA-0183协议数据包解析得到的与该本地时间对应的协调世界时时间,修正本地时钟的本地时间。
·本地时间模块:用于提供Linux内核的日历时间。
·全球导航卫星系统服务模块:用于调用Linux内核提供的通用异步收发传输器驱动接口,接收全球导航卫星系统接收机输出的美国国家海洋电子协会协议数据包,并解析美国国家海洋电子协会协议数据包以得到数据包中的定位信息和协调世界时时间。解析和校验完成后,全球导航卫星系统服务模块对应用程序提供全球导航卫星系统定位信息接口,同时把协调世界时时间通过clock_settime接口传递给Linux内核的时间同步控制器。
将美国国家海洋电子协会协议数据包的解析工作放在全球导航卫星系统服务模块的优势在于,全球导航卫星系统服务模块不仅可以完成对美国国家海洋电子协会协议数据包的解析,还能更方便应用程序根据接收机信号和实际需要配置全球导航卫星系统接收机、传输RTCM数据等,更易于实现系统上下层解耦;此外,对美国国家海洋电子协会协议数据包解析的实时性的要求不高,全球导航卫星系统服务模块在用户态中接收系统任务调度管理,避免因解析工作占用资源影响其他任务执行。
可以理解,上述图2中所示的软件系统架构中对各个模块的划分仅为示例,在其他示例中,还可以对各个软件模块的划分进行灵活的增删或变更,以使本申请的方法在不同的软件系统架构中执行,只要该软件系统架构能够实现本申请实施例的全球导航卫星系统时间同步方法即可。
在一个实施例中,如图3所示,提供了一种全球导航卫星系统时间同步方法,以该方法应用于图1中的处理器芯片为例进行说明,包括以下步骤:
步骤S310,接收美国国家海洋电子协会协议数据包,并从美国国家海洋电子协会协议数据包中读取有效的协调世界时时间,将读取到的有效的协调世界时时间存储入时间同步控制器;
在本步骤中,美国国家海洋电子协会协议数据包可以由处理器芯片从全球导航卫星系统接收机接收到。
美国国家海洋电子协会协议是全球导航卫星系统接收机输出卫星定位结果的国际海运事业无线电技术委员会(Radio Technical Commission for Maritime services,RTCM)标准协议,美国国家海洋电子协会协议数据包内包括了协调世界时时间、经纬度、卫星星历、速度、定位状态等信息,全球导航卫星系统接收机一般配置为以预定的时间间隔输出一次(例如每1s输出一次)美国国家海洋电子协会协议数据包。
有效的协调世界时时间是指满足预定要求的协调世界时时间,该预定要求例如可以包括:该协调世界时时间是全球导航卫星系统有效定位时输出的美国国家海洋电子协会协议数据包中包含的协调世界时时间,和/或,该协调世界时时间是在预定时间段内完成对美国国家海洋电子协会协议数据包的解析所得到的协调世界时时间。
步骤S320,接收秒脉冲信号,并捕获在秒脉冲信号产生时刻本地时钟输出的本地时间,将本地时间存储入时间同步控制器;
在本步骤中,美国国家海洋电子协会协议数据包是由处理器芯片从全球导航卫星系统接收机接收到的。
由于输出的美国国家海洋电子协会协议数据包中包含了定位解算后的结果,同时通信端口(如串口)的数据传输还需要花费时间,处理器芯片接收然后解析美国国家海洋电子协会协议数据包也需要花费时间,因此还需要一个在整秒时刻输出的高精度秒脉冲信号,用于通知处理器芯片当前为整秒时刻,然后处理器芯片再接收美国国家海洋电子协会数据,获取该整秒时刻对应的实际协调世界时时间。
秒脉冲信号是在整秒时刻输出的秒脉冲信号,当接收机有效定位后,接收机输出秒脉冲信号会严格对齐卫星的协调世界时时间的整秒,因此具有很高的授时精度(纳秒级精度)。
本地时钟是处理器芯片自身记录的时间,以处理器芯片为系统级芯片为例,则其本地时钟可以是该系统级芯片内部的通用处理器上运行的嵌入式系统的系统时钟,该本地时钟输出的本地时间是该系统时钟的系统时间。
步骤S330,时间同步控制器在接收到当前本地时间时,读取当前本地时间之前已存储的上一本地时间,并读取已存储的最新协调世界时时间作为与上一本地时间对应的协调世界时时间;
时间同步控制器每接收到一个本地时间,均可以将其接收到的本地时间按照接收的先后顺序存储在该时间同步控制器中,并且,时间同步控制器每接收到一个协调世界时时间,均可以在其存储的协调世界时时间中确定一个最新协调世界时时间。时间同步控制器对最新协调世界时时间的确定可以以不同方式实现,例如其可以仅保存一个最新协调世界时时间,或者其虽然保存多个协调世界时时间,但是根据这些协调世界时时间的大小仍然可以确定一个时间值最大的协调世界时时间作为最新协调世界时时间。
步骤S340,时间同步控制器根据上一本地时间以及与上一本地时间对应的协调世界时时间确定本地时间修正量,并根据本地时间修正量校正本地时钟。
在本步骤中,时间同步控制器利用根据上一本地时间以及与上一本地时间对应的协调世界时时间确定的本地时间修正量,校正本地时钟的本地时间,以完成对本地时钟的时间同步。
上述全球导航卫星系统时间同步方法中,时间同步控制器在接收到当前本地时间时,读取当前本地时间之前已存储的上一本地时间,并读取已存储的最新协调世界时时间作为与上一本地时间对应的协调世界时时间,由于在收到当前秒脉冲信号捕获的本地时间时才使用上一个秒脉冲信号捕获的本地时间来执行时间校正这种滞后校正方式,并根据秒脉冲信号输出时刻对应的协调世界时时间所在的美国国家海洋电子协会协议数据包一定在该秒脉冲信号产生之后输出的特性,将最新协调世界时时间作为与上一个秒脉冲信号捕获的本地时间对应的协调世界时时间,可以使时间更新点固定,有效避免当美国国家海洋电子协会数据包解析失败、或者因系统任务调度没有在下一个秒脉冲来临前解析完成时,直接使用当前秒脉冲信号捕获的本地时间来对应协调世界时时间可能对应到错误的协调世界时时间的情况,从而能够将秒脉冲信号捕获的本地时间和与该秒脉冲信号对应的美国国家海洋电子协会协议数据包中的协调世界时时间准确地对应起来,从而有效提升时间同步的精准度。
在一个实施例中,步骤S310中接收美国国家海洋电子协会协议数据包,并从美国国家海洋电子协会协议数据包中读取有效的协调世界时时间,将读取到的有效的协调世界时时间存储入时间同步控制器,包括:
步骤S311,等待美国国家海洋电子协会协议数据包;
步骤S312,每当接收到美国国家海洋电子协会协议数据包时,解析美国国家海洋电子协会协议数据包以得到当前的定位状态和当前的协调世界时时间;判断当前的定位状态是否为有效定位状态;
其中,有效定位状态例如可以包括单点三维(3D)定位、实时动态(Real-timekinematic,RTK)固定解、实时动态浮动解等状态。美国国家海洋电子协会协议数据中,会包含卫星定位状态的信息。比如美国国家海洋电子协会协议的GPRMC的第二个字段即表示定位状态,A为有效定位,V为无效定位。
步骤S313,当当前的定位状态不是有效定位状态时,则返回等待美国国家海洋电子协会协议数据包的步骤;
步骤S314,当当前的定位状态是有效定位状态时,则确定当前的协调世界时时间为有效的协调世界时时间,并将当前有效的协调世界时时间传入时间同步控制器,然后返回等待美国国家海洋电子协会协议数据包的步骤;
步骤S315,每当时间同步控制器接收到协调世界时时间时,保存时间值最大的协调世界时时间作为最新协调世界时时间。
在本实施例中,根据全球导航卫星系统接收机的输出所具有的只有全球导航卫星系统有效定位时,才会输出秒脉冲信号的特性,仅在全球导航卫星系统有效定位时,即美国国家海洋电子协会协议数据包中的定位状态为有效定位时,才将该美国国家海洋电子协会协议数据包中的协调世界时时间传输到时间同步控制器,避免时间同步控制器未能接收到秒脉冲信号对应的本地时间却接收到对应的协调世界时时间,导致时间同步控制器难以将协调世界时时间对应到正确的本地时间的情况,有效提升了时间同步控制器执行时间同步的准确性。
在对美国国家海洋电子协会协议数据包进行解析时,如果解析时间过长,则解析得到的协调世界时时间的实时性较差,将该协调世界时时间用于执行对本地时钟的校对将降低时间同步的精准度。因此,可以考虑在对美国国家海洋电子协会协议数据包进行解析所花费的时间超出预定时间阈值,例如超出全球导航卫星系统输出的时间间隔时(即下一个美国国家海洋电子协会协议数据包已经来临但是尚未完成对当前美国国家海洋电子协会协议数据包的解析的情况),不使用该解析超时的美国国家海洋电子协会协议数据包的协调世界时时间来校正本地时间。
在上述步骤S315中,在时间同步控制器中保存时间值最大的协调世界时时间作为最新协调世界时时间。如此,即使超时的美国国家海洋电子协会协议数据包中的协调世界时时间被解析并被传输到时间同步控制器,该协调世界时时间也会被后续到达的美国国家海洋电子协会协议数据包的下一协调世界时时间取代作为最新协调世界时时间,以避免解析超时的协调世界时时间被用作最新协调世界时时间。
进一步地,为了确保不使用解析超时的美国国家海洋电子协会协议数据包的协调世界时时间来校正本地时间,还可以在对当前的美国国家海洋电子协会协议数据包的解析超时时,停止对该美国国家海洋电子协会协议数据包的解析,以避免将当前解析超时的数据包的协调世界时时间传输到时间同步控制器。在一个实施例中,步骤S312中每当收到美国国家海洋电子协会协议数据包时,解析美国国家海洋电子协会协议数据包以得到当前的定位状态和当前的协调世界时时间,包括:
步骤S3121,每当收到美国国家海洋电子协会协议数据包时,若收到美国国家海洋电子协会协议数据包时上一美国国家海洋电子协会协议数据包尚未完成解析,则停止对上一美国国家海洋电子协会协议数据包的解析,转而解析当前接收的美国国家海洋电子协会协议数据包以得到当前的定位状态和当前的协调世界时时间;
步骤S3122,若收到美国国家海洋电子协会协议数据包时上一美国国家海洋电子协会协议数据包已完成解析,则继续解析当前接收的美国国家海洋电子协会协议数据包以得到当前的定位状态和当前的协调世界时时间。
本实施例中,如果尚未完成对当前美国国家海洋电子协会协议数据包的解析的情况下,下一个美国国家海洋电子协会协议数据包已经来临,则放弃对当前数据包的解析,转而解析下一个美国国家海洋电子协会协议数据包,从而避免将当前解析超时的数据包的协调世界时时间传输到时间同步控制器中。
在一个实施例中,步骤S315中每当时间同步控制器接收到协调世界时时间时,保存时间值最大的协调世界时时间作为最新协调世界时时间,包括:
步骤S3151,每当时间同步控制器接收到协调世界时时间时,时间同步控制器判断当前时间同步控制器是否处于空闲状态或忙碌状态;
其中,忙碌状态指示时间同步控制器正在使用上一本地时间以及最新协调世界时时间执行对本地时钟的校正;空闲状态则指示时间同步控制器未处于正在使用上一本地时间以及最新协调世界时时间执行对本地时钟的校正的状态中;
每当时间同步控制器进入步骤S330和S340时,时间同步控制器可以将自身状态标记为处于忙碌状态,而每当时间同步控制器完成步骤S330和S340之后,则可以将自身状态标记回处于空闲状态。
步骤S3152,当时间同步控制器处于空闲状态时,保存时间值最大的协调世界时时间作为最新协调世界时时间;
步骤S3153,当时间同步控制器处于忙碌状态时,则等待时间同步控制器切换到空闲状态后,保存时间值最大的协调世界时时间作为最新协调世界时时间。
在本实施例中,当时间同步控制器接收到协调世界时时间时,时间同步控制器当前可能正在使用上一帧的协调世界时时间做时间同步,为了避免新的协调世界时时间覆盖正在做运算的协调世界时时间而导致可能的运算错误,时间同步控制器等到其自身处于空闲状态才保存和更新最新协调世界时时间在这里,鉴于上文所述的全球导航卫星系统接收机特性2,若时间同步控制器为Busy状态,则必然此时使用的是上一次秒脉冲时刻对应的协调世界时时间。
在一个实施例中,步骤S315中每当时间同步控制器接收到协调世界时时间时,保存时间值最大的协调世界时时间作为最新协调世界时时间,包括:
步骤S3154,每当时间同步控制器接收到协调世界时时间时,若没有已存的协调世界时时间时,则存储接收到的协调世界时时间作为最新协调世界时时间;
步骤S3155,若有已存的协调世界时时间,则在接收到的协调世界时时间大于已存的协调世界时时间时,将接收到的协调世界时时间作为最新协调世界时时间覆盖已存的协调世界时时间,在接收到的协调世界时时间小于已存的协调世界时时间时,丢弃接收到的协调世界时时间,并保留已存的协调世界时时间作为最新协调世界时时间;
全球导航卫星系统时间同步方法还包括:
步骤S350,在时间同步控制器根据上一本地时间以及最新协调世界时时间确定本地时间修正量之后,删除最新协调世界时时间。
在本实施例中,时间同步控制器中只保存时间值最大的一个最新协调世界时时间,当有新的协调世界时时间来临时,时间值较大的协调世界时时间将覆盖时间值较小的协调世界时时间,该最新协调世界时时间使用后即被删除,避免保存多余的协调世界时时间所造成的资源浪费和数据干扰。
可以理解,上述两个实施例可以组合执行,即在步骤S315中,时间同步控制器可以等待到其处于空闲状态时,才保存时间值最大的协调世界时时间作为最新协调世界时时间,并且只保存时间值最大的一个最新协调世界时时间,该最新协调世界时时间使用后即被删除。
在一个实施例中,步骤S320中接收秒脉冲信号,并捕获在秒脉冲信号产生时刻本地时钟输出的本地时间,将本地时间存储入时间同步控制器包括:
步骤S321,等待秒脉冲信号;
步骤S322,在接收到秒脉冲信号时,捕获秒脉冲信号产生时刻本地时钟输出的本地时间,并触发秒脉冲中断响应,在秒脉冲中断响应中,将捕获到的本地时间传入时间同步控制器;
步骤S323,每当时间同步控制器接收到本地时间时,将本地时间通过有限长单位冲激响应(Finite Impulse Response,FIR)低通滤波器得到低通滤波后的本地时间,保存低通滤波后的本地时间。
在本实施例中,使用有限长单位冲激响应滤波器能够平滑秒脉冲信号的噪声和系统时间捕获的噪声,并保持相位线性。
在一个实施例中,步骤S330中时间同步控制器在接收到当前本地时间时,读取当前本地时间之前已存储的上一本地时间,并读取已存储的最新协调世界时时间作为与上一本地时间对应的协调世界时时间,包括:
步骤S323,时间同步控制器等待接收本地时间;
步骤S323,时间同步控制器在接收到当前本地时间时,读取当前本地时间之前是否已存储有上一本地时间;
若当前本地时间之前未存储有上一本地时间,则执行步骤S323,时间同步控制器返回等待接收本地时间的步骤;
当前本地时间之前已存储有上一本地时间,则执行步骤S323,时间同步控制器读取是否已存储有最新协调世界时时间;
若时间同步控制器尚未存储有最新协调世界时时间,则执行步骤S323,时间同步控制器删除上一本地时间,并返回等待接收本地时间;
若时间同步控制器已存储有最新协调世界时时间,则执行步骤S323,读取已存储的最新协调世界时时间作为与上一本地时间对应的协调世界时时间;
全球导航卫星系统时间同步方法还包括:
步骤S360,在时间同步控制器根据上一本地时间以及最新协调世界时时间确定本地时间修正量之后,删除上一本地时间。
在本申请前述实施例中,考虑了在对美国国家海洋电子协会协议数据包进行解析所花费的时间超出全球导航卫星系统输出的时间间隔时,不使用该解析超时的美国国家海洋电子协会协议数据包的协调世界时时间来校正本地时间。然而,该解析超时的美国国家海洋电子协会协议数据包对应的秒脉冲信号仍然能被接收到并能捕获到该秒脉冲信号产生时的本地时间。为了避免将超时的美国国家海洋电子协会协议数据包对应的秒脉冲信号捕获到的本地时间错误地对应到其他协调世界时时间,在本实施例中,如果在步骤S323中确定时间同步控制器尚未存储有最新协调世界时时间,则说明上一次秒脉冲产生后,可能因为解析失败或解析延时而没有及时收到系统解析的协调世界时时间,则在步骤S323中时间同步控制器删除上一本地时间,并返回等待接收本地时间。从而有效避免了将将超时的美国国家海洋电子协会协议数据包对应的秒脉冲信号捕获到的该上一本地时间使用到时间同步中,以进一步提升时间同步的准确性。
在一个实施例中,步骤S350中时间同步控制器根据上一本地时间以及与上一本地时间对应的协调世界时时间确定本地时间修正量,包括:时间同步控制器将上一本地时间以及与上一本地时间对应的协调世界时时间通过比例积分(PI)控制器,以得到本地时间修正量。
在本实施例中,通过将上一本地时间以及与上一本地时间对应的协调世界时时间通过比例积分控制器以得到本地时间修正量,利用该本地时间修正量来修正本地时间,避免直接使用协调世界时时间来修正本地时间所可能导致的时间跳变,有效提升时间校正的准确性和平滑性。
在一个实施例中,时间同步控制器将上一本地时间以及与上一本地时间对应的协调世界时时间通过比例积分控制器,以得到本地时间修正量,包括:时间同步控制器将上一本地时间以及与上一本地时间对应的协调世界时时间通过比例积分控制器,以将上一本地时间对应的协调世界时时间减去上一本地时间得到时间差值,将该时间差值分别通过比例环节和积分环节,然后将比例环节的输出值与积分环节得到的输出值相加,得到本地时间修正量。
其中,比例积分控制器包括比例环节(P)和积分环节(I),比例环节用于调整让输入对象快速响应,积分环节用于调整让输入对象达到理想结果的程度,时间同步控制器执行的处理可以参见图4所示。
为了使本申请上述各个实施例的全球导航卫星系统时间同步方法的技术方案更加清楚和易于理解,下面列举一个具体的应用实例,在本应用实例中,结合了上述各个实施例的全球导航卫星系统时间同步方法步骤。以该方法应用于如图2中所示的嵌入式Linux系统中为例,相应地,本地时钟为嵌入式Linux系统的系统时钟,本地时间为嵌入式Linux系统的系统时间,本应用实例中的全球导航卫星系统时间同步方法的处理流程可以参见图5所示。
本应用实例中的全球导航卫星系统时间同步方法可以分为美国国家海洋电子协会响应流程和秒脉冲响应流程两部分分别在两个线程上并行执行。
在线程I中,美国国家海洋电子协会响应流程包括如下步骤:
步骤S501,Linux操作系统上电启动全球导航卫星系统服务模块,或用户的应用软件来启动全球导航卫星系统服务模块,全球导航卫星系统服务模块配置用于读取数据的端口的参数,并配置全球导航卫星系统接收机输出美国国家海洋电子协会协议数据包的参数,以使其输出的美国国家海洋电子协会协议数据包包含协调世界时时间信息,全球导航卫星系统接收机也可以配置为输出多个美国国家海洋电子协会协议数据包的组合;
步骤S502,全球导航卫星系统服务模块等待美国国家海洋电子协会协议数据包;
步骤S503,全球导航卫星系统服务模块接收到美国国家海洋电子协会协议数据包后,根据NMEA-0183协议解析美国国家海洋电子协会协议数据包以得到定位状态和当前第i个时刻的协调世界时时间TUTC(i),对美国国家海洋电子协会协议数据包数据解析应控制在秒脉冲输出的时间间隔以内,即1s以内,超过1s,则停止对该数据美国国家海洋电子协会协议数据包的解析,丢弃该美国国家海洋电子协会协议数据包;
步骤S504,全球导航卫星系统服务模块判断当前定位状态是否为有效定位状态,若不是,则返回S502,继续等待美国国家海洋电子协会协议数据包;若是,则进入步骤S505;
步骤S505,全球导航卫星系统服务模块调用clock_settime系统调用函数,以向时间同步控制器传入CLOCK_REALTIME和协调世界时时间TUTC(i)两个参数。其中,CLOCK_REALTIME是clock_settime的一种传入参数,用于表示传入的时间是系统实时时钟。参数传入成功后,返回S502;
步骤S506,时间同步控制器等待至其自身处于空闲状态;
具体地,时间同步控制器判断当前时间同步控制器是否处于空闲状态或忙碌状态;如果处于空闲状态,则直接进入步骤S507,如果处于忙碌状态,则等待到其自身处于空闲状态后再进入步骤S507。
在这里,鉴于上文所述的全球导航卫星系统接收机特性2,若时间同步控制器处于忙碌状态,则必然此时使用的是上一次秒脉冲时刻对应的协调世界时时间TUTC(i-1)。
步骤S507,时间同步控制器更新保存的最新协调世界时时间;
时间同步控制器等到其自身处于空闲(Free)状态时,才利用协调世界时时间TUTC(i)保存并更新最新协调世界时时间TUTC。时间同步控制器中只保存一个最新协调世界时时间TUTC,当保存的最新协调世界时时间TUTC被使用于时间同步后即删除使用过的最新协调世界时时间TUTC。
在线程II中,秒脉冲响应流程包括如下步骤:
步骤S511,全球导航卫星系统服务模块配置全球导航卫星系统接收机的秒脉冲输出参数,包括配置使能系统级芯片的秒脉冲自动捕获系统时间、秒脉冲中断响应、秒脉冲响应模式(上升沿或下降沿);
步骤S512,秒脉冲驱动模块等待秒脉冲信号;
步骤S513,秒脉冲驱动模块在接收到秒脉冲信号时,捕获秒脉冲信号产生时刻系统时钟输出的系统时间Tsys(i),并触发秒脉冲中断响应模块进入秒脉冲中断响应,在秒脉冲中断响应中,秒脉冲中断响应模块从秒脉冲驱动模块获取捕获到的系统时间Tsys(i)并将该系统时间Tsys(i)传输到时间同步控制器;
步骤S514,时间同步控制器将接收到的系统时间Tsys(i)通过有限长单位冲激响应低通滤波器后得到低通滤波后的系统时间Tsys(i)。
步骤S515,时间同步控制器依照接收时间顺序将低通滤波后的系统时间Tsys(i)存储到系统时间序列中。
步骤S516,时间同步控制器判断在系统时间序列中,当前接收的系统时间Tsys(i)是否为第一个数据(即最早接收的数据),即读取当前系统时间之前是否已存储有上一系统时间;若为第一个数据,则说明当前系统时间之前未存储有上一系统时间,则返回步骤S512,继续等待下一个秒脉冲信号,若不是第一个数据,说明当前系统时间之前已存储有上一系统时间,则进入步骤S517;
步骤S517,时间同步控制器将其自身状态从空闲状态转为忙碌(Busy)状态,时间同步控制器检查当前是否保存有最新协调世界时时间。鉴于全球导航卫星系统接收机的特性1和特性2,此时查看的最新协调世界时时间TUTC必然是上一个秒脉冲时刻捕获的上一系统时间Tsys(i-1)对应的协调世界时时间TUTC(i-1)。若没有,说明上一次秒脉冲产生后,由于美国国家海洋电子协会协议数据包解析超时或解析失败,时间同步控制器没有及时收到解析的协调世界时时间,则从系统时间序列中删除存储的上一系统时间,返回步骤S512;若有保存的TUTC(i-1),则进入步骤S518;
步骤S518,时间同步控制器将上一系统时间Tsys(i-1)和与上一系统时间对应的协调世界时时间TUTC(i-1)通过比例积分控制器,得到系统时间修正量;
步骤S519,时间同步控制器根据系统时间修正量调整系统时钟的系统时间,以完成对系统时钟的时间同步。完成时间同步后,时间同步控制器删除保存的协调世界时时间TUTC(i-1)以及系统时间序列中保存的系统时间Tsys(i-1),将自身状态从忙碌状态转为空闲状态,然后返回步骤S512。
应该理解的是,虽然图3-5的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图3-5中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图6所示,提供了一种全球导航卫星系统时间同步装置600,包括:
美国国家海洋电子协会协议数据包接收模块610,用于接收美国国家海洋电子协会协议数据包,并从美国国家海洋电子协会协议数据包中读取有效的协调世界时时间,将读取到的有效的协调世界时时间存储入时间同步控制器;
秒脉冲信号接收模块620,用于接收秒脉冲信号,并捕获在秒脉冲信号产生时刻本地时钟输出的本地时间,将本地时间存储入时间同步控制器;Tsys(i)
时间匹配模块630,用于使时间同步控制器在接收到当前本地时间时,读取当前本地时间之前已存储的上一本地时间,并读取已存储的最新协调世界时时间作为与上一本地时间对应的协调世界时时间;
本地时钟同步模块640,用于时间同步控制器根据上一本地时间以及与上一本地时间对应的协调世界时时间确定本地时间修正量,并根据本地时间修正量校正本地时钟。
关于全球导航卫星系统时间同步装置600的具体限定可以参见上文中对于全球导航卫星系统时间同步方法的限定,在此不再赘述。上述全球导航卫星系统时间同步装置600中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
接收美国国家海洋电子协会协议数据包,并从美国国家海洋电子协会协议数据包中读取有效的协调世界时时间,将读取到的有效的协调世界时时间存储入时间同步控制器;
接收秒脉冲信号,并捕获在秒脉冲信号产生时刻本地时钟输出的本地时间,将本地时间存储入时间同步控制器;
时间同步控制器在接收到当前本地时间时,读取当前本地时间之前已存储的上一本地时间,并读取已存储的最新协调世界时时间作为与上一本地时间对应的协调世界时时间;
时间同步控制器根据上一本地时间以及与上一本地时间对应的协调世界时时间确定本地时间修正量,并根据本地时间修正量校正本地时钟。
其中,该计算机设备例如可以是系统级芯片。
在其他实施例中,处理器执行计算机程序时还实现如上任意实施例的全球导航卫星系统时间同步方法,并具有相应的有益效果。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
接收美国国家海洋电子协会协议数据包,并从美国国家海洋电子协会协议数据包中读取有效的协调世界时时间,将读取到的有效的协调世界时时间存储入时间同步控制器;
接收秒脉冲信号,并捕获在秒脉冲信号产生时刻本地时钟输出的本地时间,将本地时间存储入时间同步控制器;
时间同步控制器在接收到当前本地时间时,读取当前本地时间之前已存储的上一本地时间,并读取已存储的最新协调世界时时间作为与上一本地时间对应的协调世界时时间;
时间同步控制器根据上一本地时间以及与上一本地时间对应的协调世界时时间确定本地时间修正量,并根据本地时间修正量校正本地时钟。
在其他实施例中,计算机程序被处理器执行时还实现如上任意实施例的全球导航卫星系统时间同步方法,并具有相应的有益效果。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (11)
1.一种全球导航卫星系统时间同步方法,所述方法包括:
接收美国国家海洋电子协会协议数据包,并从所述美国国家海洋电子协会协议数据包中读取有效的协调世界时时间,将读取到的有效的所述协调世界时时间存储入时间同步控制器;
接收秒脉冲信号,并捕获在所述秒脉冲信号产生时刻本地时钟输出的本地时间,将所述本地时间存储入所述时间同步控制器;
所述时间同步控制器在接收到所述当前本地时间时,读取所述当前本地时间之前已存储的上一本地时间,并读取已存储的最新协调世界时时间作为与所述上一本地时间对应的协调世界时时间;
所述时间同步控制器根据所述上一本地时间以及与所述上一本地时间对应的协调世界时时间确定本地时间修正量,并根据所述本地时间修正量校正所述本地时钟。
2.根据权利要求1所述的全球导航卫星系统时间同步方法,其特征在于,所述接收美国国家海洋电子协会协议数据包,并从所述美国国家海洋电子协会协议数据包中读取有效的协调世界时时间,将读取到的有效的所述协调世界时时间存储入时间同步控制器,包括:
等待美国国家海洋电子协会协议数据包;
每当接收到美国国家海洋电子协会协议数据包时,解析所述美国国家海洋电子协会协议数据包以得到当前的定位状态和当前的协调世界时时间;判断当前的所述定位状态是否为有效定位状态;
当当前的所述定位状态不是有效定位状态时,则返回所述等待美国国家海洋电子协会协议数据包的步骤;
当当前的所述定位状态是有效定位状态时,则确定当前的所述协调世界时时间为有效的所述协调世界时时间,并将当前有效的所述协调世界时时间传入时间同步控制器,然后返回所述等待美国国家海洋电子协会协议数据包的步骤;
每当所述时间同步控制器接收到协调世界时时间时,保存时间值最大的协调世界时时间作为最新协调世界时时间。
3.根据权利要求2所述的全球导航卫星系统时间同步方法,其特征在于,所述每当收到美国国家海洋电子协会协议数据包时,解析所述美国国家海洋电子协会协议数据包以得到当前的定位状态和当前的协调世界时时间,包括:
每当收到美国国家海洋电子协会协议数据包时,若收到美国国家海洋电子协会协议数据包时上一美国国家海洋电子协会协议数据包尚未完成解析,则停止对所述上一美国国家海洋电子协会协议数据包的解析,转而解析当前接收的所述美国国家海洋电子协会协议数据包以得到当前的定位状态和当前的协调世界时时间;
若收到美国国家海洋电子协会协议数据包时上一美国国家海洋电子协会协议数据包已完成解析,则继续解析当前接收的所述美国国家海洋电子协会协议数据包以得到当前的定位状态和当前的协调世界时时间。
4.根据权利要求2所述的全球导航卫星系统时间同步方法,其特征在于,所述每当所述时间同步控制器接收到协调世界时时间时,保存时间值最大的协调世界时时间作为最新协调世界时时间,包括:
每当所述时间同步控制器接收到协调世界时时间时,所述时间同步控制器判断当前所述时间同步控制器是否处于空闲状态或忙碌状态;所述忙碌状态指示所述时间同步控制器正在使用上一本地时间以及最新协调世界时时间执行对本地时钟的校正;
当所述时间同步控制器处于空闲状态时,保存时间值最大的协调世界时时间作为最新协调世界时时间;
当所述时间同步控制器处于忙碌状态时,则等待所述时间同步控制器切换到空闲状态后,保存时间值最大的协调世界时时间作为最新协调世界时时间。
5.根据权利要求2所述的全球导航卫星系统时间同步方法,其特征在于,所述每当所述时间同步控制器接收到协调世界时时间时,保存时间值最大的协调世界时时间作为最新协调世界时时间,包括:
每当所述时间同步控制器接收到协调世界时时间时,若没有已存的协调世界时时间时,则存储接收到的所述协调世界时时间作为最新协调世界时时间;
若有已存的协调世界时时间,则在接收到的所述协调世界时时间大于所述已存的协调世界时时间时,将接收到的所述协调世界时时间作为最新协调世界时时间覆盖所述已存的协调世界时时间,在接收到的所述协调世界时时间小于所述已存的协调世界时时间时,丢弃接收到的所述协调世界时时间,并保留所述已存的协调世界时时间作为最新协调世界时时间;
所述方法还包括:
在所述时间同步控制器根据所述上一本地时间以及所述最新协调世界时时间确定本地时间修正量之后,删除所述最新协调世界时时间。
6.根据权利要求1至5中任一项所述的全球导航卫星系统时间同步方法,其特征在于,所述接收秒脉冲信号,并捕获在所述秒脉冲信号产生时刻本地时钟输出的本地时间,将所述本地时间存储入所述时间同步控制器包括:
等待秒脉冲信号;
在接收到秒脉冲信号时,捕获所述秒脉冲信号产生时刻本地时钟输出的本地时间,并触发秒脉冲中断响应,在所述秒脉冲中断响应中,将捕获到的所述本地时间传入所述时间同步控制器;
每当所述时间同步控制器接收到本地时间时,将所述本地时间通过有限长单位冲激响应低通滤波器得到低通滤波后的本地时间,保存低通滤波后的所述本地时间。
7.根据权利要求1至5中任一项所述的全球导航卫星系统时间同步方法,其特征在于,所述时间同步控制器在接收到所述当前本地时间时,读取所述当前本地时间之前已存储的上一本地时间,并读取已存储的最新协调世界时时间作为与所述上一本地时间对应的协调世界时时间,包括:
所述时间同步控制器等待接收本地时间;
所述时间同步控制器在接收到所述当前本地时间时,读取所述当前本地时间之前是否已存储有上一本地时间;
若否,则所述时间同步控制器返回所述等待接收本地时间的步骤;
若是,则所述时间同步控制器读取是否已存储有最新协调世界时时间;
若所述时间同步控制器尚未存储有最新协调世界时时间,则所述时间同步控制器删除所述上一本地时间,并返回所述等待接收本地时间;
若所述时间同步控制器已存储有最新协调世界时时间,则读取已存储的所述最新协调世界时时间作为与所述上一本地时间对应的协调世界时时间;
所述方法还包括:
在所述时间同步控制器根据所述上一本地时间以及所述最新协调世界时时间确定本地时间修正量之后,删除所述上一本地时间。
8.根据权利要求1至5中任一项所述的全球导航卫星系统时间同步方法,其特征在于,所述时间同步控制器根据所述上一本地时间以及与所述上一本地时间对应的协调世界时时间确定本地时间修正量,包括:
所述时间同步控制器将所述上一本地时间以及与所述上一本地时间对应的协调世界时时间通过比例积分控制器,以得到本地时间修正量。
9.一种全球导航卫星系统时间同步装置,其特征在于,所述装置包括:
美国国家海洋电子协会协议数据包接收模块,用于接收美国国家海洋电子协会协议数据包,并从所述美国国家海洋电子协会协议数据包中读取有效的协调世界时时间,将读取到的有效的所述协调世界时时间存储入时间同步控制器;
秒脉冲信号接收模块,用于接收秒脉冲信号,并捕获在所述秒脉冲信号产生时刻本地时钟输出的本地时间,将所述本地时间存储入所述时间同步控制器;
时间匹配模块,用于使所述时间同步控制器在接收到所述当前本地时间时,读取所述当前本地时间之前已存储的上一本地时间,并读取已存储的最新协调世界时时间作为与所述上一本地时间对应的协调世界时时间;
本地时钟同步模块,用于所述时间同步控制器根据所述上一本地时间以及与所述上一本地时间对应的协调世界时时间确定本地时间修正量,并根据所述本地时间修正量校正所述本地时钟。
10.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至8中任一项所述的全球导航卫星系统时间同步方法的步骤。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8中任一项所述的全球导航卫星系统时间同步方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110642301.4A CN113329341A (zh) | 2021-06-09 | 2021-06-09 | 全球导航卫星系统时间同步方法、装置、设备和存储介质 |
US17/561,094 US20220397869A1 (en) | 2021-06-09 | 2021-12-23 | Method, device, equipment and storage medium for global navigation satellite system time synchronization |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110642301.4A CN113329341A (zh) | 2021-06-09 | 2021-06-09 | 全球导航卫星系统时间同步方法、装置、设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113329341A true CN113329341A (zh) | 2021-08-31 |
Family
ID=77420168
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110642301.4A Pending CN113329341A (zh) | 2021-06-09 | 2021-06-09 | 全球导航卫星系统时间同步方法、装置、设备和存储介质 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20220397869A1 (zh) |
CN (1) | CN113329341A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114362867A (zh) * | 2021-12-14 | 2022-04-15 | 山东科技大学 | 一种用于深拖系统的时间同步和数据存储工作方法 |
CN114545762A (zh) * | 2022-02-18 | 2022-05-27 | 广州导远电子科技有限公司 | 一种基于惯性测量单元的时间数据同步方法及系统 |
CN115902967A (zh) * | 2022-10-21 | 2023-04-04 | 北京跟踪与通信技术研究所 | 基于低轨导航增强卫星信号的导航定位方法、系统及飞行平台 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101430372A (zh) * | 2007-11-07 | 2009-05-13 | 中国科学院微电子研究所 | 全球定位系统接收机的低成本授时与同步方法及设备 |
US20090271110A1 (en) * | 2008-04-25 | 2009-10-29 | Denso Corporation | Local time amendment method and navigation apparatus |
CN101969690A (zh) * | 2010-10-09 | 2011-02-09 | 东莞市泰斗微电子科技有限公司 | 一种利用导航卫星进行授时的方法及装置 |
CN102946289A (zh) * | 2012-10-19 | 2013-02-27 | 中国科学院国家授时中心 | 卫星数字电视授时用户接收系统及方法 |
WO2013102324A1 (zh) * | 2012-01-06 | 2013-07-11 | 中兴通讯股份有限公司 | 时间校准方法及装置 |
CN106405579A (zh) * | 2016-08-29 | 2017-02-15 | 北京华力创通科技股份有限公司 | 一种实时卫星导航模拟方法及设备 |
CN107037722A (zh) * | 2017-04-25 | 2017-08-11 | 华北计算技术研究所(中国电子科技集团公司第十五研究所) | 一种时统终端 |
CN108536003A (zh) * | 2018-05-24 | 2018-09-14 | 千寻位置网络有限公司 | 精密授时系统及方法及授时服务系统 |
CN111585680A (zh) * | 2020-04-03 | 2020-08-25 | 马志成 | 一种高精度以太网时间同步装置 |
-
2021
- 2021-06-09 CN CN202110642301.4A patent/CN113329341A/zh active Pending
- 2021-12-23 US US17/561,094 patent/US20220397869A1/en active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101430372A (zh) * | 2007-11-07 | 2009-05-13 | 中国科学院微电子研究所 | 全球定位系统接收机的低成本授时与同步方法及设备 |
US20090271110A1 (en) * | 2008-04-25 | 2009-10-29 | Denso Corporation | Local time amendment method and navigation apparatus |
CN101969690A (zh) * | 2010-10-09 | 2011-02-09 | 东莞市泰斗微电子科技有限公司 | 一种利用导航卫星进行授时的方法及装置 |
WO2013102324A1 (zh) * | 2012-01-06 | 2013-07-11 | 中兴通讯股份有限公司 | 时间校准方法及装置 |
CN102946289A (zh) * | 2012-10-19 | 2013-02-27 | 中国科学院国家授时中心 | 卫星数字电视授时用户接收系统及方法 |
CN106405579A (zh) * | 2016-08-29 | 2017-02-15 | 北京华力创通科技股份有限公司 | 一种实时卫星导航模拟方法及设备 |
CN107037722A (zh) * | 2017-04-25 | 2017-08-11 | 华北计算技术研究所(中国电子科技集团公司第十五研究所) | 一种时统终端 |
CN108536003A (zh) * | 2018-05-24 | 2018-09-14 | 千寻位置网络有限公司 | 精密授时系统及方法及授时服务系统 |
CN111585680A (zh) * | 2020-04-03 | 2020-08-25 | 马志成 | 一种高精度以太网时间同步装置 |
Non-Patent Citations (1)
Title |
---|
吴勇;: "基于GPS秒脉冲的参考源实时校正算法", 红外与激光工程, no. 1, 25 December 2014 (2014-12-25) * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114362867A (zh) * | 2021-12-14 | 2022-04-15 | 山东科技大学 | 一种用于深拖系统的时间同步和数据存储工作方法 |
CN114545762A (zh) * | 2022-02-18 | 2022-05-27 | 广州导远电子科技有限公司 | 一种基于惯性测量单元的时间数据同步方法及系统 |
CN115902967A (zh) * | 2022-10-21 | 2023-04-04 | 北京跟踪与通信技术研究所 | 基于低轨导航增强卫星信号的导航定位方法、系统及飞行平台 |
CN115902967B (zh) * | 2022-10-21 | 2023-10-20 | 北京跟踪与通信技术研究所 | 基于低轨导航增强卫星信号的导航定位方法、系统及飞行平台 |
Also Published As
Publication number | Publication date |
---|---|
US20220397869A1 (en) | 2022-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113329341A (zh) | 全球导航卫星系统时间同步方法、装置、设备和存储介质 | |
CN109587405B (zh) | 时间同步方法和装置 | |
US20180003822A1 (en) | Environmental sensing device and information acquiring method applied to environmental sensing device | |
CN107352037B (zh) | 相机曝光位置信息的获取装置、方法及无人机 | |
CN110865406A (zh) | 基于车载gps授时系统的多传感器数据同步处理系统及方法 | |
CN107014381B (zh) | Pld、dsp、组合导航系统、数据处理方法和装置 | |
CN113110160A (zh) | 域控制器的时间同步方法、装置、域控制器和存储介质 | |
CN112653533B (zh) | 一种复杂系统智能授时管理方法 | |
CN108029092B (zh) | 用于移动终端的定位方法、装置及移动终端 | |
CN112865902B (zh) | 数据采集和时间同步方法、装置、电子设备及存储介质 | |
CN113259042A (zh) | 多设备间时钟基准同步方法、装置、设备和存储介质 | |
CN114019782B (zh) | 自动驾驶域控制器导航卫星时钟驯服的方法及装置 | |
CN115371689A (zh) | 自动驾驶车辆的融合定位方法、装置及电子设备 | |
CN113259902B (zh) | 基于v2x车载终端的同步方法、v2x车载终端及车辆 | |
CN112255906B (zh) | 计时方法、目视助航设备控制方法及相关装置 | |
CN112824835B (zh) | 车辆定位方法、装置及计算机可读存储介质 | |
US11205347B2 (en) | Method and electronic device for ascertaining an ego position | |
CN116566534A (zh) | 时间的同步方法、装置、车辆和可读存储介质 | |
CN104181557A (zh) | 星历收集装置及其方法 | |
CN113922910B (zh) | 传感器时间同步处理方法、装置和系统 | |
WO2023019984A1 (zh) | 控制系统的时钟同步方法以及控制系统 | |
CN114006672A (zh) | 一种车载多传感器数据同步采集方法及系统 | |
CN115290081A (zh) | 一种基于rtos的嵌入式ins/gps组合导航方法 | |
CN103744093A (zh) | 一种北斗导航接收机定位引擎及定位方法 | |
CN105717516A (zh) | Gnss数据同步方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |