CN106970520B - 一种嵌入式系统中高精度时间同步系统及方法 - Google Patents

一种嵌入式系统中高精度时间同步系统及方法 Download PDF

Info

Publication number
CN106970520B
CN106970520B CN201610617213.8A CN201610617213A CN106970520B CN 106970520 B CN106970520 B CN 106970520B CN 201610617213 A CN201610617213 A CN 201610617213A CN 106970520 B CN106970520 B CN 106970520B
Authority
CN
China
Prior art keywords
time
precision
counter
synchronization
auxiliary counter
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.)
Active
Application number
CN201610617213.8A
Other languages
English (en)
Other versions
CN106970520A (zh
Inventor
汪革
王仁雷
芶利平
李俊盛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Baud Communication Technology Co ltd
Original Assignee
Shanghai Baud Communication Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Baud Communication Technology Co ltd filed Critical Shanghai Baud Communication Technology Co ltd
Priority to CN201610617213.8A priority Critical patent/CN106970520B/zh
Publication of CN106970520A publication Critical patent/CN106970520A/zh
Application granted granted Critical
Publication of CN106970520B publication Critical patent/CN106970520B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G04HOROLOGY
    • G04GELECTRONIC TIME-PIECES
    • G04G7/00Synchronisation
    • GPHYSICS
    • G04HOROLOGY
    • G04GELECTRONIC TIME-PIECES
    • G04G5/00Setting, i.e. correcting or changing, the time-indication
    • G04G5/04Setting, i.e. correcting or changing, the time-indication by setting each of the displayed values, e.g. date, hour, independently
    • G04G5/043Setting, i.e. correcting or changing, the time-indication by setting each of the displayed values, e.g. date, hour, independently using commutating devices for selecting the value, e.g. hours, minutes, seconds, to be corrected
    • G04G5/048Setting, i.e. correcting or changing, the time-indication by setting each of the displayed values, e.g. date, hour, independently using commutating devices for selecting the value, e.g. hours, minutes, seconds, to be corrected by using a separate register into which the correct setting of the selected time-counter is introduced which is thereafter transferred to the time-counter to be reset

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Electric Clocks (AREA)

Abstract

本发明公开了一种嵌入式系统中高精度时间同步系统及方法,同步系统由高精度时间源、辅助计数器以及时间同步及维护模块配合形成。在时间同步时,首先获取同时刻高精度时间源的时间与辅助计数器的时间;接着计算和维护辅助计数器的时间漂移和时间偏移;根据需要获取辅助计数器的时间,再根据时间漂移及时间偏移转换得到高精度的系统时间。由此形成的高精度时间同步方案,通过实时计算校正时钟误差,实现高精度的维护时间,同时本方案稳定性高,成本低,有效解决了时钟芯片精度差,精度易受温度、老化等影响的问题。

Description

一种嵌入式系统中高精度时间同步系统及方法
技术领域
本发明涉及软件系统技术,具体涉及软件系统中的时间同步技术。
背景技术
目前在嵌入式系统设备上越来越多的需要用到高精度的时间,且系统在同步完时间后需要自己维护时间。
现有技术中为了高精度的维护时间,常用的方案是给相关芯片提供高频高精度的时钟(要达到0.05ppm,既每秒误差50ns),但这些高精度的时钟源成本高,且随时间老化会影响精度。
由此可见,提供一种低成本且高精度的时间同步方案是本领域亟需解决的技术问题。
发明内容
针对现有嵌入式系统设备在高精度时间维护方面所存在的问题,本发明的目的在于提供一种低成本且精度高的时间方案。该方案主要包括高精度时间同步系统以及相应的同步方法。
为了达到上述目的,本发明采用如下的技术方案:
方案1:一种嵌入式系统中高精度时间同步系统,所述同步系统包括:
高精度时间源,所述高精度时间源定期获取原始的高精度时间,并通知辅助计数器同步时间,且将同步时刻时间信息发送至时间同步及维护模块;
辅助计数器,所述辅助计数器记录高精度时间源同步时刻计数器的值;
时间同步及维护模块,所述时间同步及维护模块获取同时刻高精度时间源的时间和辅助计数器的时间,计算并维护辅助计数器的时间漂移和时间偏移;所述时间同步及维护模块通过维护的时间漂移和时间偏移转换得到高精度的系统时间。
优选的,所述辅助计数器拥有ns级的计数器。
优选的,所述时间同步及维护模块根据两次获取高精度时间源的时间的差值与同一时刻两次获取辅助计数器的时间的差值计算辅助计数器的时间漂移。
优选的,所述时间同步及维护模块根据同一时刻高精度时间源的时间与辅助计数器的时间,计算辅助计数器的时间偏移。
优选的,所述时间同步及维护模块根据辅助计数器的时间漂移确定辅助计数器修正后时间,再利用辅助计数器修正后时间与辅助计数器的时间偏移计算得到高精度的系统时间。
方案2:一种嵌入式系统中高精度时间同步方法,所述同步方法包括
获取同时刻高精度时间源的时间与辅助计数器的时间,所述辅助计数器记录高精度时间源同步时刻计数器的值;
计算辅助计数器的时间漂移和时间偏移;
维护辅助计数器的时间漂移和时间偏移;
获取辅助计数器的时间,再根据时间漂移及时间偏移转换得到高精度的系统时间。
优选的,根据两次获取高精度时间源的时间的差值与同一时刻两次获取辅助计数器的时间的差值计算辅助计数器的时间漂移。
优选的,根据同一时刻高精度时间源的时间与辅助计数器的时间,计算辅助计数器的时间偏移。
优选的,首先根据辅助计数器的时间漂移确定辅助计数器修正后时间,再利用辅助计数器修正后时间与辅助计数器的时间偏移计算得到高精度的系统时间。
优选的,同步的高精度系统时间可以通过相同的同步方法再同步给系统中的其它部件。
由此形成的高精度时间同步方案,通过实时计算校正时钟误差,实现高精度的维护时间,同时本方案稳定性高,成本低,有效解决了时钟芯片精度差,精度易受温度、老化等影响的问题。
附图说明
以下结合附图和具体实施方式来进一步说明本发明。
图1为本发明方案的实现原理图;
图2为本发明应用实例中硬件概要设计图;
图3为本发明应用实例中时间同步的流程图。
具体实施方式
为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体图示,进一步阐述本发明。
参见图1,其所示为本方案中高精度时间同步系统的组成原理图。
由图可知,该高精度时间同步系统100主要由高精度时间源模块101、辅助计数器模块102以及时间同步及维护模块103相应配合组成。
其中,高精度时间源模块101与辅助计数器模块102和时间同步及维护模块103数据连接,其定期获取原始的高精度时间,并通知辅助计数器模块102同步时间,同时把同步时刻时间信息提供给时间同步及维护模块103。
本高精度时间源模块101可由相应的硬件元件来实现。
辅助计数器模块102,其拥有一个ns级的计数器,用来维护计数器的时间轴。
该辅助计数器模块102与时间同步及维护模块103数据连接,其用于记录高精度时间源同步时刻计数器的值,以提供给时间同步及维护模块103用来计算计数器的时间偏移和时间漂移。
在具体使用时,根据需要该辅助计数器模块102还可记录其它同步时刻计数器的值,以提供给时间同步及维护模块103用来同步系统中其他功能应用模块的时间。
本辅助计数器模块102可由相应的硬件器件来实现,如可由可编程的FPGA来实现。
时间同步及维护模块103,用于计算并维护辅助计数器的时间漂移和时间偏移,并以此来确定高精度时间。
该时间同步及维护模块103通过获取同时刻高精度时间源的时间和辅助计数器的时间,来计算并维护辅助计数器的时间漂移和时间偏移。
其中,时间同步及维护模块103具体根据两次获取高精度时间源的时间的差值与同一时刻两次获取辅助计数器的时间的差值计算辅助计数器的时间漂移。
时间同步及维护模块103根据同一时刻高精度时间源的时间与辅助计数器的时间,计算辅助计数器的时间偏移。
在此基础上,时间同步及维护模块103首先根据辅助计数器的时间漂移确定辅助计数器修正后时间,再利用辅助计数器修正后时间与辅助计数器的时间偏移计算得到高精度的系统时间。
本时间同步及维护模块103可由相应的软件程序来实现,如以嵌入式程序的形式集成在相应的系统中,由系统的CPU模块执行相应的功能。
可见,高精度时间同步系统100,其采用软硬结合的方式,通过高精度时间源模块、辅助计数器模块以及时间同步及维护模块之间的配合实现了全新的高精度时间同步技术,有效解决现有方案所存在的缺陷。
本方案在进行时间同步及维护时,整个过程由时间同步及维护模块103控制完成,其实现过程如下:
(1)获取同一时刻高精度时间源的时间与辅助计数器的时间。
该步骤中,高精度时间源其定期获取原始的高精度时间,然后同步到系统时间并同时通知辅助计数器同步时间;而辅助计数器记录高精度时间源通知时的计数器值。
软件处理中保存最近两次记录的辅助计数器时间,当前获取的为本次,之前获取的为前次。
(2)根据连续两次获取高精度时间源的时间的差值与同一时刻两次获取辅助计数器的时间的差值计算辅助计数器的时间漂移。
连续的是指本次记录的时间是前次记录的时间基础上增加高精度时间源定期同步的时间间隔。
本步骤具体通过如下公式来计算辅助计数器时间漂移:
辅助计数器时间漂移=(本次辅助计数器时间-前次辅助计数器时间)-高精度时间源同步间隔时间。
(3)根据同一时刻高精度时间源的时间与辅助计数器的时间,计算辅助计数器的时间偏移。
本步骤具体通过如下公式来计算辅助计数器的时间偏移:
辅助计数器时间偏移=高精度时间源时间-辅助计数器修正后时间(详见步骤5)。
(4)跳转到步骤(1),定期维护辅助计数器的时间偏移与时间漂移。
(5)当要获取某一时刻系统时间时,通过获取这一时刻辅助计数器的时间,再根据时间偏移及时间漂移转换得到高精度的系统时间。
本步骤中具体通过如下公式来完成高精度系统时间的计算转换:
辅助计数器修正后时间=修正起始辅助计数器时间+(辅助计数器时间-起始辅助计数器时间)-辅助计数器时间漂移*(辅助计数器时间-起始辅助计数器时间)/(高精度时间源同步间隔时间-辅助计数器时间漂移)
高精度系统时间=辅助计数器修正后时间+辅助计数器时间偏移
其中,起始辅助计数器时间=本次辅助计数器时间;
修正起始辅助计数器时间=本次辅助计数器修正后时间。
特别的初始时:
起始辅助计数器时间=0;
修正起始辅助计数器时间=0;
辅助计数器时间漂移=0。
另外,根据需要据此同步的高精度系统时间可以通过相同的同步方案再同步给系统中的其它应用部件200(参见图1),并由软件(时间同步及维护模块)维护这些部件时间轴的偏移和漂移。
以下通过一具体应用实例来进一步说明本高精度时间同步方案。
参见图2,本实例以BCM53003实现CPU系统,u-blox6GPS接收器实现高精度时间模块,FPGA硬编程逻辑实现辅助计数器,以此实现对BCM56152同步时间,具体实施步骤如下:
本实例方案中采用u-blox6GPS接收器实现高精度时间源模块,具体设置方案如下:
(1)u-blox6采用1pps定时通知辅助计数器同步时间。
(2)u-blox6采用UART接口把同步时刻时间信息提供给由BCM53003构成的CPU系统中的软件模块。
本实例方案中用FPGA硬编程逻辑辅助实现计数器模块,具体设置方案如下:
(1)FPGA硬编程实现ns级的计数器。
(2)FPGA硬编程实现记录高精度时间源同步时刻计数器的值。
(3)FPGA硬编程实现记录同步BCM56152时刻计数器的值。
本实例方案中在BCM53003构成的CPU系统中安置有时间同步及维护软件,其具体的功能和设置方案如上,此处不加以赘述。
由此,本实例方案首先由安置有时间同步及维护软件的BCM53003构成的CPU系统完成高精度系统时间同步,接着以同样的同步方案对BCM56152同步时间,其过程如下(参见图3):
(1)CPU系统中的时间同步及维护软件获取同一时刻高精度时间源的时间与辅助计数器的时间。
当u-blox6产生1pps时,软件通过标准的UART接口,按u-blox6要求的协议获取GPS标准时间;通过标准的I2C接口,按FPGA自定义的协议获取辅助计数器的时间。
(2)如果没有连续2次获取有效时间则跳转到步骤(1)。
(3)软件根据两次获取高精度时间源的时间的差值与同一时刻两次获取辅助计数器的时间的差值计算辅助计数器的时间漂移。
以下时间单位均为ns
mistake_its表示起始辅助计数器时间,初始为0;
mistake_ts表示修正起始辅助计数器时间,初始为0;
mistake_ps表示辅助计数器时间漂移,初始为0;
iFPGAtime表示这次辅助计数器时间;
FPGAtime表示这次辅助计数器修正后时间;
oldIFPGAtime表示上次辅助计数器时间。
根据步骤(5)计算得到的FPGAtime:
mistake_its=iFPGAtime;
mistake_ts=FPGAtime;
mistake_ps=(iFPGAtime-oldIFPGAtime)–1000000000。
(4)软件根据本次同一时刻高精度时间源的时间与辅助计数器的时间,计算辅助计数器的时间偏移。计算过程如下:
GPSsubFPGA=GPStime–FPGAtime;
其中,GPSsubFPGA表示辅助计数器时间偏移;
GPStime表示高精度时间源时间。
(5)跳转到(1),定期维护辅助计数器的时间偏移与时间漂移。
(6)当软件要获取某一时刻系统时间时,通过获取这一时刻辅助计数器的时间,再根据时间偏移及时间漂移转换得到高精度的系统时间。具体的计算过程如下:
以下iFPGAtime表示某一时刻辅助计数器时间
以下FPGAtime表示某一时刻辅助计数器修正后时间
Systime表示iFPGAtime时刻与GPS同步后的时间
FPGAtime=mistake_ts+(iFPGAtime-mistake_its)-mistake_ps*
(iFPGAtime-mistake_its)/(1000000000-mistake_ps);
Systime=FPGAtime+GPSsubFPGA。
(7)同步的高精度系统时间可以通过相同的算法同步给系统中的BCM56152,并由软件维护BCM56152时间轴的偏移和漂移,过程如上。
本应用实例中由软件实时计算校正时钟误差,有效解决了时钟芯片精度差,精度易受温度、老化等影响的问题。
再者,本应用实例中在GPS信息一直保持有效的情况下能使同步后的误差保持在100ns以内,即使GPS短暂失效也有很高的精度保证。
另外需要说明的,本实例中的高精度时间源可以用北斗定位接收器等其他高精度时间源变通实现,辅助计数器模块、CPU模块亦可变通实现,同时对实际的应用模块没有任何限制。
以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。

Claims (10)

1.一种嵌入式系统中高精度时间同步系统,其特征在于,所述同步系统包括:
高精度时间源,所述高精度时间源与辅助计数器模块和时间同步及维护模块数据连接,以定期获取原始的高精度时间,并通知辅助计数器同步时间,且将同步时刻时间信息发送至时间同步及维护模块;
辅助计数器,所述辅助计数器与时间同步及维护模块数据连接,记录高精度时间源同步时刻计数器的值,以提供给时间同步及维护模块用来计算计数器的时间偏移和时间漂移;
时间同步及维护模块,所述时间同步及维护模块获取同时刻高精度时间源的时间和辅助计数器的时间,计算并维护辅助计数器的时间漂移和时间偏移;所述时间同步及维护模块通过维护的时间漂移和时间偏移转换得到高精度的系统时间。
2.根据权利要求1所述的一种嵌入式系统中高精度时间同步系统,其特征在于,所述辅助计数器拥有ns级的计数器。
3.根据权利要求1所述的一种嵌入式系统中高精度时间同步系统,其特征在于,所述时间同步及维护模块根据两次获取高精度时间源的时间的差值与同一时刻两次获取辅助计数器的时间的差值计算辅助计数器的时间漂移。
4.根据权利要求1所述的一种嵌入式系统中高精度时间同步系统,其特征在于,所述时间同步及维护模块根据同一时刻高精度时间源的时间与辅助计数器的时间,计算辅助计数器的时间偏移。
5.根据权利要求1所述的一种嵌入式系统中高精度时间同步系统,其特征在于,所述时间同步及维护模块根据辅助计数器的时间漂移确定辅助计数器修正后时间,再利用辅助计数器修正后时间与辅助计数器的时间偏移计算得到高精度的系统时间。
6.一种嵌入式系统中高精度时间同步方法,其特征在于,所述同步方法基于权利要求1-5中任一项所述的嵌入式系统中高精度时间同步系统,其包括
获取同时刻高精度时间源的时间与辅助计数器的时间,所述辅助计数器记录高精度时间源同步时刻计数器的值;
计算辅助计数器的时间漂移和时间偏移;
维护辅助计数器的时间漂移和时间偏移;
获取辅助计数器的时间,再根据时间漂移及时间偏移转换得到高精度的系统时间。
7.根据权利要求6所述的一种嵌入式系统中高精度时间同步方法,其特征在于,根据两次获取高精度时间源的时间的差值与同一时刻两次获取辅助计数器的时间的差值计算辅助计数器的时间漂移。
8.根据权利要求6所述的一种嵌入式系统中高精度时间同步方法,其特征在于,根据同一时刻高精度时间源的时间与辅助计数器的时间,计算辅助计数器的时间偏移。
9.根据权利要求6所述的一种嵌入式系统中高精度时间同步方法,其特征在于,首先根据辅助计数器的时间漂移确定辅助计数器修正后时间,再利用辅助计数器修正后时间与辅助计数器的时间偏移计算得到高精度的系统时间。
10.根据权利要求6所述的一种嵌入式系统中高精度时间同步方法,其特征在于,同步的高精度系统时间通过相同的同步方法再同步给系统中的其它部件。
CN201610617213.8A 2016-07-29 2016-07-29 一种嵌入式系统中高精度时间同步系统及方法 Active CN106970520B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610617213.8A CN106970520B (zh) 2016-07-29 2016-07-29 一种嵌入式系统中高精度时间同步系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610617213.8A CN106970520B (zh) 2016-07-29 2016-07-29 一种嵌入式系统中高精度时间同步系统及方法

Publications (2)

Publication Number Publication Date
CN106970520A CN106970520A (zh) 2017-07-21
CN106970520B true CN106970520B (zh) 2020-06-16

Family

ID=59334968

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610617213.8A Active CN106970520B (zh) 2016-07-29 2016-07-29 一种嵌入式系统中高精度时间同步系统及方法

Country Status (1)

Country Link
CN (1) CN106970520B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109975834B (zh) * 2019-02-19 2021-03-09 上海卫星工程研究所 星载计算机在轨时钟漂移精确测量系统及测量方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101388741A (zh) * 2008-10-24 2009-03-18 中国科学院计算技术研究所 一种用于计算机网络的高精度时间同步设备、系统及方法
CN102394715A (zh) * 2011-06-30 2012-03-28 中兴通讯股份有限公司 时钟同步方法和装置
CN104597964A (zh) * 2013-10-30 2015-05-06 中国航空工业集团公司第六三一研究所 时间服务器

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57194380A (en) * 1981-05-26 1982-11-29 Seiko Instr & Electronics Ltd Second resetting device of electronic clock
JPS5868688A (ja) * 1981-10-20 1983-04-23 Seiko Instr & Electronics Ltd デジタル表示式電子時計
CN201303334Y (zh) * 2008-09-26 2009-09-02 华东电网有限公司 一种基于双模设计的卫星同步远程时间控制装置
CN102023567A (zh) * 2010-10-21 2011-04-20 国网电力科学研究院 一种多时间源综合计算的高精度授时方法
CN104506298B (zh) * 2014-12-26 2018-08-03 上海交通大学 一种工业网络检测系统时间同步方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101388741A (zh) * 2008-10-24 2009-03-18 中国科学院计算技术研究所 一种用于计算机网络的高精度时间同步设备、系统及方法
CN102394715A (zh) * 2011-06-30 2012-03-28 中兴通讯股份有限公司 时钟同步方法和装置
CN104597964A (zh) * 2013-10-30 2015-05-06 中国航空工业集团公司第六三一研究所 时间服务器

Also Published As

Publication number Publication date
CN106970520A (zh) 2017-07-21

Similar Documents

Publication Publication Date Title
US20200267669A1 (en) Methods and apparatus for synchronization of media playback within a wireless network
US9671761B2 (en) Method, time consumer system, and computer program product for maintaining accurate time on an ideal clock
US10863469B2 (en) System and method for accurate timestamping of virtual reality controller data
US8249115B2 (en) Slave device, time synchronization method in slave device, master device, and electronic equipment system
CN102474410B (zh) 高精度同步方法和系统
KR20180071268A (ko) 제어기와 센서들을 동기화하기 위한 장치 및 방법들
CN104597747B (zh) 基于驯服铷钟的同步测试系统及其提高同步精度的方法
CN101834684A (zh) 分布式水声定位系统gps时钟同步方法
CN103269262B (zh) 一种时间同步装置的守时方法
US20160087738A1 (en) Time synchronization slave apparatus capable of adjusting time synchronization period, and method of determining time synchronization period
US20160087737A1 (en) A network receiver for a network using distributed clock synchronization and a method of sampling a signal received from the network
CN101873187A (zh) 时钟同步方法及系统
CN104702214A (zh) 一种晶体振荡器频率补偿的方法
CN105099596A (zh) 一种系统内高精度时间同步方法及装置
CN106970520B (zh) 一种嵌入式系统中高精度时间同步系统及方法
JP2012242190A (ja) 基準信号発生装置及び基準信号発生方法
CN108206683B (zh) 一种动态补偿脉冲电路
CN101399653B (zh) 一种时钟同步的实现方法
CN105759600A (zh) 一种基于北斗卫星的电网系统授时系统
CN1964352B (zh) 一种提高时钟精度的方法和装置
WO2016000324A1 (zh) 时间同步的实现方法及装置
KR102064575B1 (ko) 디바이스 간의 시각 동기 정밀도를 향상시키는 방법, 장치, 시스템 및 컴퓨터 프로그램
WO2016177240A1 (zh) 一种实现频率同步的方法和装置
CN203366007U (zh) 一种多时基信号装置
CN112019288B (zh) 时间同步方法、业务单板及网络设备

Legal Events

Date Code Title Description
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant