基于IEEE1588协议的设备主时钟同步方法及装置与流程

文档序号:31807984发布日期:2022-10-14 20:41阅读:120来源:国知局
基于IEEE1588协议的设备主时钟同步方法及装置与流程
基于ieee1588协议的设备主时钟同步方法及装置
技术领域
1.本技术涉及通信技术领域,更具体地说,它涉及一种基于ieee1588协议的设备主时钟同步方法及装置。


背景技术:

2.ieee1588定义了精确时间协议(precision time protocol,ptp),用于对标准以太网或其他采用多播技术的分布式总线系统中的传感器、执行器以及其他终端设备中的时钟进行亚微秒级同步。在系统的同步过程中,主设备的主时钟周期性发布ptp时间同步及时间信息,从设备的从时钟接收主设备的主时钟的时间戳信息,系统根据此信息计算出主从线路时间延迟及主从时间差,并利用该时间差调整本地时间,从而使从设备时间保持与主设备时间一致的频率和相位。本地设备的主时钟的时钟信号作为本地设备的从时钟的时钟信号的跟随标准,具有引领本地设备整体的工作时间的重大意义,因此,要确保主时钟与导航卫星时钟同步的精准度。
3.在现实的通信设备中,由于受到导航卫星信号的接收设备的稳定性和通信设备环境温度的影响,通信设备的主时钟的秒脉冲与导航卫星的时钟的秒脉冲之间出现相位偏差,即秒脉冲出现漂移。
4.现有一种技术,将导航卫星信号转换成秒脉冲信号,并基于秒脉冲信号产生同步参考信号;将vcxo模块的一路分频信号处理成与同步参考信号频率一致;计算同步参考信号与分频信号的相位差值;根据相位差值转换成频率差值进而将频率差值转换成直流纠偏电压值;根据直流纠偏电压值对vcxo模块进行压控修正。通过vcxo模块调整本地时钟秒脉冲的频率,使本地时钟秒脉冲跟随导航卫星时钟秒脉冲,以达到同步的目的。
5.在实施现有技术的过程中,发明人发现:这种现有技术需要额外的vcxo芯片及相关锁相环控制芯片电路组件来实现本地时钟与导航卫星时钟同步,制作成本高且时间同步步骤复杂。


技术实现要素:

6.针对现有技术存在的不足,本技术的第一目的在于提供一种基于ieee1588协议的设备主时钟同步方法,通过本地设备的时间计数器来调整本地设备的主时钟发出的秒脉冲的时间,以使导航卫星时钟与本地主时钟同步,不需要额外机制,降低时间同步的复杂程度和成本。
7.为实现上述目的,本技术提供了如下技术方案:一种基于ieee1588协议的设备主时钟同步方法,包括以下步骤:当获取到导航卫星的时钟信号的初始导航卫星脉冲信号时,本地设备的主时钟发出初始本地脉冲信号;当获取到与初始本地脉冲信号相邻的第一本地脉冲信号时,时间计数器记录第一计数次数;
当获取到与初始导航卫星脉冲信号相邻的第一导航卫星脉冲信号时,时间计数器记录第二计数次数;计算第一计数次数与第二计数次数之间的计数次数差值;当计数次数差值超出预设范围时,判断第一计数次数是否大于第二计数次数;当第一计数次数大于第二计数次数时,减小时间计数器的步进值,以使第一本地脉冲信号与第一导航卫星脉冲信号同步,从而使本地设备的主时钟的时钟信号与导航卫星的时钟信号同步。
8.进一步,当获取到导航卫星的时钟信号的初始导航卫星脉冲信号时,本地设备的主时钟发出初始本地脉冲信号,具体包括以下步骤:当获取到导航卫星的时钟信号的初始导航卫星脉冲信号时,检测初始导航卫星脉冲信号的上边沿;当检测到初始导航卫星脉冲信号的上边沿时,本地设备的主时钟发出初始本地脉冲信号。
9.进一步,当获取到与初始本地脉冲信号相邻的第一本地脉冲信号时,时间计数器记录第一计数次数,具体包括以下步骤:当获取到与初始本地脉冲信号相邻的第一本地脉冲信号时,检测第一本地脉冲信号的上边沿或下边沿;当检测到第一本地脉冲信号的上边沿或下边沿时,时间计数器记录第一计数次数。
10.进一步,当获取到与初始导航卫星脉冲信号相邻的第一导航卫星脉冲信号时,时间计数器记录第二计数次数,具体包括以下步骤:当获取到与初始导航卫星脉冲信号相邻的第一导航卫星脉冲信号时,检测第一导航卫星脉冲信号的上边沿或下边沿;当检测到第一导航卫星脉冲信号的上边沿或下边沿时,时间计数器记录第二计数次数。
11.进一步,当第一计数次数大于第二计数次数时,减小时间计数器的步进值,具体包括以下步骤:当第一计数次数大于第二计数次数时,判断计数次数差值是否大于第一预设阀值;当计数次数差值大于第一预设阀值时,按照第一步进变化值减小时间计数器的步进值;当计数次数差值小于第一预设阀值并大于第二预设阀值时,按照第二步进变化值减小时间计数器的步进值,所述第二步进变化值小于第一步进变化值,所述第一预设阀值大于第二预设阀值。
12.进一步,所述导航卫星的时钟信号来自gps卫星和/或北斗卫星。
13.进一步,本地设备的主时钟与前传卡和/或扩展单元和/或远程射频模块通信连接,所述前传卡、扩展单元和远程射频模块均用于获取导航卫星的时钟信号。
14.针对现有技术存在的不足,本技术的第二目的在于提供一种基于ieee1588协议的设备主时钟同步装置,具有降低时间同步的复杂程度和成本的优点。
15.为实现上述目的,本技术提供了如下技术方案:一种基于ieee1588协议的设备主时钟同步装置,包括:导航卫星脉冲信号获取单元,用于获取导航卫星的时钟信号的初始导航卫星脉冲信号和与初始导航卫星脉冲信号相邻的第一导航卫星脉冲信号;本地脉冲信号获取单元,用于获取本地设备的主时钟发出初始本地脉冲信号和与初始本地脉冲信号相邻的第一本地脉冲信号;计数次数获取单元,用于获取时间计数器在第一本地脉冲信号时的第一计数次数和时间计数器在第一导航卫星脉冲信号时的第二计数次数;计算单元,用于计算第一计数次数与第二计数次数之间的计数次数差值;计数次数差值判断单元,用于判断计数次数差值是否超出预设范围;比较单元,用于判断第一计数次数是否大于第二计数次数;时间计数器步进值调整单元,用于调整时间计数器的步进值,以使第一本地脉冲信号与第一导航卫星脉冲信号同步,从而使本地设备的主时钟的时钟信号与导航卫星的时钟信号同步。
16.进一步,所述计数次数获取单元连接有脉冲信号边沿检测单元,所述脉冲信号边沿检测单元用于检测脉冲信号的上边沿或下边沿,所述脉冲信号边沿检测单元与时间计数器连接。
17.进一步,还包括:第一预设阀值判断单元,用于判断计数次数差值是否大于第一预设阀值;第二预设阀值判断单元,用于判断计数次数差值是否小于第一预设阀值并大于第二预设阀值,所述第一预设阀值大于第二预设阀值,所述第一预设阀值判断单元和第二预设阀值判断单元均与时间计数器步进值调整单元通信连接。
18.综上所述,本技术具有以下有益效果:通过时间计数器来调整本地设备的主时钟发出秒脉冲信号的时间,使主时钟发出秒脉冲信号的时间始终跟随导航卫星的秒脉冲信号的获得时间,实现本地设备与导航卫星的时钟同步。相比于通过vcxo芯片及相关锁相环控制芯片电路来调整时钟频率的方法,本技术在不需要额外机制调整本地设备主时钟的前提下,保证了导航卫星时钟与本地时钟同步,简化了信号处理过程,降低时间同步的复杂程度和成本。
附图说明
19.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:图1为基于ieee1588协议的设备主时钟同步方法的步骤示意图。
20.图2为图1的本地设备的主时钟发出初始本地脉冲信号的具体的步骤示意图。
21.图3为图1的时间计数器记录第一计数次数的具体的步骤示意图。
22.图4为图1的时间计数器记录第二计数次数的具体的步骤示意图。
23.图5为图1的减小时间计数器的步进值的具体的步骤示意图。
24.图6为基于ieee1588协议的设备主时钟同步装置的结构示意图。
25.100设备主时钟同步装置
11导航卫星脉冲信号获取单元12本地脉冲信号获取单元13脉冲信号边沿检测单元14计数次数获取单元15计算单元16计数次数差值判断单元17比较单元18第一预设阀值判断单元19第二预设阀值判断单元110时间计数器步进值调整单元。
具体实施方式
26.为使本技术的目的、技术方案和优点更加清楚,下面将结合本技术具体实施例及相应的附图对本技术技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
27.本技术提供了一种基于ieee1588协议的设备主时钟同步方法,参见图1,包括以下步骤:s100:当获取到导航卫星的时钟信号的初始导航卫星脉冲信号时,本地设备的主时钟发出初始本地脉冲信号。
28.本技术中,导航卫星可以采用gps卫星。时钟信号是指由时钟发生器产生的有固定周期的低电平或高电平的脉冲化的数字信号。这种脉冲化的数字信号就是秒脉冲信号。导航卫星的时钟信号是由导航卫星的时钟发生器产生的。初始导航卫星脉冲信号是信号接收设备所接收的来自导航卫星的时钟信号的第一个秒脉冲信号。初始本地脉冲信号是本地设备的主时钟发出的时钟信号的第一个秒脉冲信号。初始导航卫星脉冲信号作为本地设备主时钟的同步的基准信号。当本地设备接收到初始导航卫星脉冲信号时,立即启动本地设备的主时钟。主时钟立即发出秒脉冲信号,也就是初始本地脉冲信号。
29.可以理解的是,当接收到初始导航卫星脉冲信号时,上电启动本地设备的主时钟,本地设备的主时钟立即发出秒脉冲,作为初始本地脉冲信号,以实现初始导航卫星脉冲信号与初始本地脉冲信号同步。导航卫星时钟和本地设备主时钟的首个脉冲信号的同步,作为判断后续的导航卫星的时钟信号与本地设备的时钟信号的秒脉冲是否同步的基础。
30.进一步,参见图2,步骤s100具体包括以下步骤:s101:当获取到导航卫星的时钟信号的初始导航卫星脉冲信号时,检测初始导航卫星脉冲信号的上边沿。
31.s102:当检测到初始导航卫星脉冲信号的上边沿时,本地设备的主时钟发出初始本地脉冲信号。
32.可以理解的是,本地设备的主时钟的时钟信号作为本地设备的从时钟的时钟信号的跟随标准,具有引领本地设备整体的工作时间的重大意义,因此,要确保主时钟与导航卫星的精准度。时钟信号不仅包括秒脉冲信号的高电平和低电平,还包括高电平和低电平之
间的秒脉冲边沿信号。秒脉冲边沿信号包括上边沿和下边沿。脉冲信号的上边沿是电路中由低电压跃升为高电压的电信号的变化。脉冲信号的下边沿是电路中由高电压下降为低电压的电信号的变化。上边沿和下边沿的时间通常为皮秒级别。相对于高电平信号发生的时间,上边沿和下边沿发生的时间短得多。因此,当检测到初始导航卫星脉冲信号的边沿信号时,在极短的时间内迅速启动本地设备的主时钟,减少因秒脉冲信号的高电平时间延迟而导致的捕获秒脉冲信号的时间不准确,从而提高初始导航卫星脉冲信号与初始本地脉冲信号同步的精度,以实现初始导航卫星脉冲信号与初始本地脉冲信号的精准同步。
33.另外,一个脉冲信号的发生是首先电信号由低电位跃升为高电位,然后保持高电位,最终由高电位下降到低电位。也就是说,脉冲信号先产生上边沿,再保持高电位,最后产生下边沿。当检测到初始导航卫星脉冲信号的上边沿时,立即启动本地设备的主时钟,使主时钟发出的第一个秒脉冲信号的上边沿与初始导航卫星脉冲信号的上边沿同步,实现初始导航卫星脉冲信号与初始本地脉冲信号的精准同步,从而为后续的导航卫星的时钟信号与本地设备主时钟的时钟信号的同步提供精准基础。
34.s200:当获取到与初始本地脉冲信号相邻的第一本地脉冲信号时,时间计数器记录第一计数次数。
35.具体地,时间计数器是采用1588时钟计数器。时间计数器与本地设备的主时钟连接。时间计数器的计数一次所需要的时间为时间计数器的步进值。时间计数器的步进值的单位为纳秒。当时间计数器的步进值减小时,本地设备的主时钟发出两个秒脉冲的时间间隔减小,本地设备的主时钟发出秒脉冲的周期更短,发出秒脉冲的频率更高。第一本地脉冲信号是本地设备主时钟在发出初始本地脉冲信号之后的所发出的下一个秒脉冲信号。第一计数次数是当获取到第一本地脉冲信号时,时间计数器当前的计数数值。
36.可以理解的是,时间计数器记录的计数次数乘以步进值等于当前总计数的总时间。当计数次数不变时,时间计数器的步进值决定主时钟发出相邻的两个秒脉冲的时间间隔。在计数次数不变的情况下,当步进值减小时,主时钟发出秒脉冲时间间隔减小。当步进值增加时,主时钟发出秒脉冲时间间隔增大。因此,通过调整时间计数器的步进值即可调整本地设备主时钟发出秒脉冲信号的周期或频率。
37.在具体实施过程中,当本地设备的主时钟上电时,本地设备的主时钟发出第一个秒脉冲,即初始本地脉冲信号。同时,时间计数器开始计数。当本地设备的主时钟发出第二个秒脉冲时,即当发出第一本地脉冲信号时,时间计数器记录从开始计数到此时的计数次数,即第一计数次数。
38.进一步,参见图3,步骤s200具体包括以下步骤:s201:当获取到与初始本地脉冲信号相邻的第一本地脉冲信号时,检测第一本地脉冲信号的上边沿或下边沿。
39.s202:当检测到第一本地脉冲信号的上边沿或下边沿时,时间计数器记录第一计数次数。
40.可以理解的是,脉冲信号的上边沿是电路中由低电压跃升为高电压的电信号的变化。脉冲信号的下边沿是电路中由高电压下降为低电压的电信号的变化。上边沿和下边沿的时间通常为皮秒级别。相对于高电平信号发生的时间,上边沿和下边沿发生的时间短得多。时间计数器在电信号出现上边沿或下边沿时,瞬间记录计数次数,使计数次数更精确。
在检测到第一本地脉冲信号的上升沿或下降沿时,时间计数器记录计数次数,即第一计数次数,提高时间计数器的计数准确度,使第一计数次数的准确度更高。
41.s300:当获取到与初始导航卫星脉冲信号相邻的第一导航卫星脉冲信号时,时间计数器记录第二计数次数。
42.本技术中,第一导航卫星脉冲信号是在接收到初始导航卫星脉冲信号之后,所接收到的下一个秒脉冲信号。
43.在具体实施过程中,当本地设备第一次接收到来自导航卫星的秒脉冲信号时,即当接收到初始导航卫星脉冲信号时,本地设备的主时钟上电。同时,时间计数器开始计数。当本地设备第二次接收到来自导航卫星的秒脉冲信号时,即当接收到第一导航卫星脉冲信号时,时间计数器记录此时的计数次数,即第二计数次数。
44.进一步,参见图4,步骤s300具体包括以下步骤:s301:当获取到与初始导航卫星脉冲信号相邻的第一导航卫星脉冲信号时,检测第一导航卫星脉冲信号的上边沿或下边沿。
45.s302:当检测到第一导航卫星脉冲信号的上边沿或下边沿时,时间计数器记录第二计数次数。
46.可以理解的是,相比于脉冲信号的高电平,时钟产生脉冲信号的上边沿和下边沿所用时间更短,使时间计数器获取上边沿和下边沿信号时的计数次数更准确。在检测到第一导航卫星脉冲信号的上升沿或下降沿时,时间计数器记录计数次数,即第二计数次数,提高时间计数器的计数准确度,使第二计数次数的准确度更高,为后续本地时钟信号和导航卫星信号的同步提供准确数据基础。
47.另外,上边沿和下边沿均可作为时间计数器记录计数次数的触发信号。这里选用上边沿和下边沿两者其中之一,既可保证时间计数器记录计数次数的准确度,也增加本方法的适用范围。
48.s400:计算第一计数次数与第二计数次数之间的计数次数差值。
49.可以理解的是,当第一导航卫星脉冲信号与第一本地脉冲信号不同步时,第一计数次数与第二计数次数必然存在差值,此差值作为时间计数器的步进值的调整的数据支持。
50.s500:当计数次数差值超出预设范围时,判断第一计数次数是否大于第二计数次数。
51.本技术中,预设范围可以是在本地设备中提前输入的设定值。若计数次数差值在预设范围内,则第一导航卫星脉冲信号与第一本地脉冲信号之间同步。若计数次数差值超出预设范围,则第一导航卫星脉冲信号与第一本地脉冲信号之间不同步,此时,需要通过调整时间计数器的步进值来调整本地设备的主时钟发出第一本地脉冲信号的时间,以使计数次数差值在预设范围内,从而实现第一导航卫星脉冲信号与第一本地脉冲信号同步。在确定调整时间计数器的前提下,通过判断第一计数次数是否大于第二计数次数,来判断如何调整时间计数器,使第一导航卫星脉冲信号与第一本地脉冲信号同步。
52.可以理解的是,在现实情况中,由于设备制造误差,环境因素的影响,第一计数次数与第二计数次数不会严格理想化地相等。只要第一计数次数与第二计数次数的计数次数差值在合理的范围内,即可视为第一导航卫星脉冲信号与第一本地脉冲信号同步,使本方
案具有实用性。当计数次数差值超出预设范围时,比较第一计数次数与第二计数次数之间的大小,为后续调整时间计数器的步进值提供数据支持。
53.s600:当第一计数次数大于第二计数次数时,减小时间计数器的步进值,以使第一本地脉冲信号与第一导航卫星脉冲信号同步,从而使本地设备的主时钟的时钟信号与导航卫星的时钟信号同步。
54.本技术中,当第一计数次数大于第二计数次数时,第一本地脉冲信号与初始本地脉冲信号之间的时间间隔大于第一导航卫星脉冲信号与初始导航卫星脉冲信号之间的时间间隔。也就是说,本地设备的主时钟发出的秒脉冲信号延迟于导航卫星的秒脉冲信号。此时,需要减少本地设备的主时钟每次发出的秒脉冲信号的时间间隔。通过减少时间计数器的步进值,达到减少地设备的主时钟发出的秒脉冲信号的时间间隔的目的,实现减少初始本地脉冲信号与第一本地脉冲信号之间的时间,从而实现第一本地脉冲信号与第一导航卫星脉冲信号同步。
55.同样地,当第一计数次数小于第二计数次数时,增大时间计数器的步进值。第一计数次数小于第二计数次数,即第一本地脉冲信号与初始本地脉冲信号之间的时间间隔小于第一导航卫星脉冲信号与初始导航卫星脉冲信号之间的时间间隔。也就是说,本地设备的主时钟发出的秒脉冲信号提前于导航卫星的秒脉冲信号。此时,需要增加本地设备的主时钟每次发出的秒脉冲信号的时间间隔。通过增加时间计数器的步进值,达到增加地设备的主时钟发出的秒脉冲信号的时间间隔的目的,实现增加初始本地脉冲信号与第一本地脉冲信号之间的时间,从而实现第一本地脉冲信号与第一导航卫星脉冲信号同步。
56.可以理解的是,通过时间计数器来调整本地设备的主时钟发出秒脉冲信号的相位,使主时钟发出秒脉冲信号的相位始终跟随导航卫星的秒脉冲信号,实现本地设备与导航卫星的时钟同步。相比于通过vcxo芯片及相关锁相环控制芯片电路来调整时钟频率的方法,本方案简化了信号处理过程,降低了硬件成本。
57.进一步,参见图5,步骤s600具体包括以下步骤:s601:当第一计数次数大于第二计数次数时,判断计数次数差值是否大于第一预设阀值。
58.s602:当计数次数差值大于第一预设阀值时,按照第一步进变化值减小时间计数器的步进值。
59.s603:当计数次数差值小于第一预设阀值并大于第二预设阀值时,按照第二步进变化值减小时间计数器的步进值,所述第二步进变化值小于第一步进变化值,所述第一预设阀值大于第二预设阀值。
60.本技术中,第一步进变化值、第二步进变化值、第一预设阀值和第二预设阀值均可以是提前输入本地设备中的设定值。第一步进变化值和第二步进变化值均是本地设备的主时钟的时间计数器的步进值的调整量。
61.可以理解的是,当第一计数次数大于第二计数次数时,或者,当第一计数次数小于第二计数次数时,均需要判断计数次数差值是否大于第一预设阀值。总之,当第一计数次数与第二计数次数之间的计数次数差值超过预设范围时,判断计数次数差值是否大于第一预设阀值。
62.在第一计数次数大于第二计数次数的前提下,当计数次数差值大于第一预设阀值
时,第一本地脉冲信号与第一导航卫星脉冲信号之间的时间间隔过大。也就是说,本地设备的主时钟每次发出秒脉冲信号的时间间隔过长。此时,将时间计数器以第一步进变化值减小步进值,使第一本地脉冲信号与初始本地脉冲信号之间的时间间隔快速地减小,避免因本地设备与导航卫星的时钟严重不同步而导致的本地设备的时间误差,保证本地设备的主时钟的较高同步精度,使本技术更具有实用性。
63.当计数次数差值小于第一预设阀值并大于第二预设阀值时,第一本地脉冲信号与第一导航卫星脉冲信号之间的时间间隔不如计数次数差值大于第一预设阀值时的大。此时,将时间计数器以第二步进变化值减小步进值,使第一本地脉冲信号与初始本地脉冲信号之间的时间间隔缓慢地减小,避免因时间计数器的步进值快速的变化而导致的增加系统的负担,使系统工作更稳定。
64.当计数次数差值小于第二预设阀值时,也就是计数次数差值在预设范围内,第一本地脉冲信号与第一导航卫星脉冲信号同步,时间计数器不做任何调整。
65.时间计数器的步进值有两种调整量:第一步进变化值和第二步进变化值,使系统根据本地时钟与导航卫星时钟之间不同步的情况来调整时间计数器的步进值,增加系统的灵活性。
66.另外,在第一计数次数小于第二计数次数的前提下,当计数次数差值大于第一预设阀值时,第一本地脉冲信号与第一导航卫星脉冲信号之间的时间间隔过大。也就是说,本地设备的主时钟每次发出秒脉冲信号的时间间隔过长。此时,将时间计数器以第一步进变化值增加步进值,使第一本地脉冲信号与初始本地脉冲信号之间的时间间隔快速地增加。当计数次数差值小于第一预设阀值并大于第二预设阀值时,第一本地脉冲信号与第一导航卫星脉冲信号之间的时间间隔不如计数次数差值大于第一预设阀值时的大。此时,将时间计数器以第二步进变化值增加步进值,使第一本地脉冲信号与初始本地脉冲信号之间的时间间隔缓慢地增加。
67.进一步,所述导航卫星的时钟信号来自gps卫星和/或北斗卫星。
68.可以理解的是,gps卫星和北斗卫星均属于导航卫星。导航卫星的时钟信号均可从gps卫星和北斗卫星发射的信号确定,增加本发明的适用范围,使本发明具有兼容性。
69.进一步,本地设备的主时钟与前传卡和/或扩展单元和/或远程射频模块通信连接,所述前传卡、扩展单元和远程射频模块均用于获取导航卫星的时钟信号。
70.可以理解的是,导航卫星的时钟信号均可从前传卡、扩展单元、远程射频模块获得。导航卫星的时钟信号的获取设备不局限于某单一设备,增加装置的兼容性,扩大装置的适用范围,使本发明的适用范围更广泛。
71.本技术还提供了一种基于ieee1588协议的设备主时钟同步装置100,适应于一种基于ieee1588协议的设备主时钟同步方法,参见图6,包括:导航卫星脉冲信号获取单元11,用于获取导航卫星的时钟信号的初始导航卫星脉冲信号和与初始导航卫星脉冲信号相邻的第一导航卫星脉冲信号;本地脉冲信号获取单元12,用于获取本地设备的主时钟发出初始本地脉冲信号和与初始本地脉冲信号相邻的第一本地脉冲信号;计数次数获取单元14,用于获取时间计数器在第一本地脉冲信号时的第一计数次数和时间计数器在第一导航卫星脉冲信号时的第二计数次数;
计算单元15,用于计算第一计数次数与第二计数次数之间的计数次数差值;计数次数差值判断单元16,用于判断计数次数差值是否超出预设范围;比较单元17,用于判断第一计数次数是否大于第二计数次数;时间计数器步进值调整单元110,用于调整时间计数器的步进值,以使第一本地脉冲信号与第一导航卫星脉冲信号同步,从而使本地设备的主时钟的时钟信号与导航卫星的时钟信号同步。
72.本技术中,导航卫星可以采用gps卫星。导航卫星脉冲信号获取单元11还连接有导航卫星天线和导航卫星信号获取模块。导航卫星天线用于接收导航卫星信号,可以采用gps天线。导航模块用于将导航卫星信号转化为数字信号,可以采用gps芯片。时钟信号是指有固定周期的低电平或高电平的脉冲化的数字信号。这种脉冲化的数字信号就是秒脉冲信号。时钟信号是由时钟发生器产生的。导航卫星的时钟信号是由导航卫星的时钟发生器产生的。初始导航卫星脉冲信号是导航卫星信号的接收设备所接收的来自导航卫星的时钟信号,并由导航卫星脉冲信号获取单元11从导航卫星的时钟信号的第一个秒脉冲信号获取到的。初始本地脉冲信号是本地设备的主时钟发出的时钟信号,是由本地脉冲信号获取单元12从本地设备的时钟发出的第一个秒脉冲信号获取到的。导航卫星的时钟信号的初始导航卫星脉冲信号是本地设备主时钟的同步的基准信号。
73.在具体实施过程中,当导航卫星脉冲信号获取单元11接收到初始导航卫星脉冲信号时,上电立即启动本地设备的主时钟。同时,本地设备的主时钟立即向本地脉冲信号获取单元12发出时钟信号的秒脉冲信号,也就是初始本地脉冲信号,以实现初始导航卫星脉冲信号与初始本地脉冲信号同步,以作为判断后续的导航卫星的时钟信号与本地设备的时钟信号的秒脉冲是否同步的基础。
74.本技术中,时间计数器是采用1588时钟计数器。时间计数器、本地设备的主时钟、计数次数获取单元14、导航卫星脉冲信号获取单元11和本地脉冲信号获取单元12均连接。时间计数器的计数一次所需要的时间为时间计数器的步进值。时间计数器的步进值的单位为纳秒。当时间计数器的步进值减小时,本地设备的主时钟发出两个秒脉冲的时间间隔减小,也就是说,本地设备的主时钟发出秒脉冲的周期更短,发出秒脉冲的频率更高。第一本地脉冲信号是本地设备主时钟在发出初始本地脉冲信号之后的所发出的下一个秒脉冲信号。第一计数次数是获取到第一本地脉冲信号时,时间计数器当前的计数数值。
75.时间计数器具体地可以是80bit位宽的无符号数ts_data[79:0]。在ts_data[79:0]中,ts_data[31:0]为时间信息(time of day,tod)的秒级计数器,tod本质上是一种串行时间接口协议的简称。一般只要通信协议里有年月日时分秒的信息就可以称之为tod。ts_data[31:0]从0ns~999999999ns周期性计数。ts_data[31:0]的步进值跟本地设备的主时钟的频率相关。如果采用频率为1000mhz的主时钟,那么ts_data[31:0]的步进值为1ns。此时,ts_data[31:0]每一走步需要1ns的时间。如果采用频率为100mhz的主时钟,那么ts_data[31:0]的步进值为10ns。此时,ts_data[31:0]每一走步需要10ns的时间。
[0076]
可以理解的是,时间计数器记录的计数次数乘以步进值等于当前总计数的总时间。当计数次数不变时,时间计数器的步进值决定主时钟发出相邻的两个秒脉冲的时间间隔。具体地,在计数次数不变的情况下,当步进值减小时,主时钟发出秒脉冲时间间隔减小。当步进值增加时,主时钟发出秒脉冲时间间隔增大。因此,通过调整时间计数器的步进值即
可调整本地设备主时钟发出秒脉冲信号的周期或频率,不需要额外机制调整本地设备主时钟,以保证导航卫星时钟与本地时钟同步,降低时间同步的复杂程度和成本。
[0077]
在具体实施过程中,当本地设备的主时钟上电时,本地设备的主时钟发出第一个秒脉冲,即初始本地脉冲信号。同时,时间计数器开始计数。当本地设备的主时钟发出第二个秒脉冲时,即当发出第一本地脉冲信号时,时间计数器记录从开始计数到此时的计数次数,即第一计数次数。第一计数次数被记录在计数次数获取单元14中。
[0078]
本技术中,第一导航卫星脉冲信号是在导航卫星脉冲信号获取单元11接收到初始导航卫星脉冲信号之后,所接收到的下一个秒脉冲信号。计数次数获取单元14与计算单元15连接。
[0079]
在具体实施过程中,当导航卫星脉冲信号获取单元11第一次接收到来自导航卫星的秒脉冲信号时,即当接收到初始导航卫星脉冲信号时,本地设备的主时钟上电。同时,时间计数器开始计数。当导航卫星脉冲信号获取单元11第二次接收到来自导航卫星的秒脉冲信号时,即当接收到第一导航卫星脉冲信号时,时间计数器记录此时的计数次数,即第二计数次数。第二计数次数被记录在计数次数获取单元14中。计数次数获取单元14将第一计数次数和第二计数次数发送至计算单元15。计算单元15计算第一计数次数和第二计数次数之间的计数次数差值。
[0080]
可以理解的是,当第一导航卫星脉冲信号与第一本地脉冲信号不同步时,第一计数次数与第二计数次数必然存在差值,此差值作为时间计数器的步进值的调整的数据支持。
[0081]
本技术中,预设范围可以是在本地设备中提前输入的设定值。若计数次数差值在预设范围内,则第一导航卫星脉冲信号与第一本地脉冲信号之间同步。若计数次数差值超出预设范围,则第一导航卫星脉冲信号与第一本地脉冲信号之间不同步,此时,需要通过调整时间计数器的步进值来调整本地设备的主时钟发出第一本地脉冲信号的时间,以使计数次数差值在预设范围内,从而实现第一导航卫星脉冲信号与第一本地脉冲信号同步。在确定调整时间计数器的前提下,通过判断第一计数次数是否大于第二计数次数,来判断如何调整时间计数器,使第一导航卫星脉冲信号与第一本地脉冲信号同步。
[0082]
在具体实施过程中,计算单元15与计数次数差值判断单元16连接。计算单元15将第一计数次数与第二计数次数之间的计数次数差值发送至计数次数差值判断单元16。计数次数差值判断单元16中提前输入预设范围值。计数次数差值判断单元16判断计数次数差值是否超出预设范围,以判断第一导航卫星脉冲信号与第一本地脉冲信号之间是否同步,为是否调整时间计数器的步进值提供数据支持。计数次数差值判断单元16与比较单元17连接。当计数次数差值超出预设范围时,计数次数差值判断单元16将确定调整时间计数器的步进值的信息发送至比较单元17。比较单元17判断第一计数次数是否大于第二计数次数,为后续调整时间计数器的步进值提供数据支持。当计数次数差值在预设范围内时,计数次数差值判断单元16不发出信息,此时,比较单元17等待计数次数差值判断单元16的信息。
[0083]
可以理解的是,在现实情况中,由于设备制造误差,环境因素的影响,第一计数次数与第二计数次数不会严格理想化地相等。只要第一计数次数与第二计数次数的计数次数差值在合理的范围内,即可视为第一导航卫星脉冲信号与第一本地脉冲信号同步,使本方案具有实用性。当计数次数差值超出预设范围时,比较第一计数次数与第二计数次数之间
的大小,为后续调整时间计数器的步进值提供数据支持。
[0084]
本技术中,当第一计数次数大于第二计数次数时,第一本地脉冲信号与初始本地脉冲信号之间的时间间隔大于第一导航卫星脉冲信号与初始导航卫星脉冲信号之间的时间间隔。也就是说,本地设备的主时钟发出的秒脉冲信号延迟于导航卫星的秒脉冲信号。此时,需要减少本地设备的主时钟每次发出的秒脉冲信号的时间间隔。通过减少时间计数器的步进值,达到减少地设备的主时钟发出的秒脉冲信号的时间间隔的目的,实现减少初始本地脉冲信号与第一本地脉冲信号之间的时间,从而实现第一本地脉冲信号与第一导航卫星脉冲信号同步。
[0085]
同样地,当第一计数次数小于第二计数次数时,第一本地脉冲信号与初始本地脉冲信号之间的时间间隔小于第一导航卫星脉冲信号与初始导航卫星脉冲信号之间的时间间隔。也就是说,本地设备的主时钟发出的秒脉冲信号提前于导航卫星的秒脉冲信号。此时,需要增加本地设备的主时钟每次发出的秒脉冲信号的时间间隔。通过增加时间计数器的步进值,达到增加地设备的主时钟发出的秒脉冲信号的时间间隔的目的,实现增加初始本地脉冲信号与第一本地脉冲信号之间的时间,从而实现第一本地脉冲信号与第一导航卫星脉冲信号同步。
[0086]
在具体实施过程中,比较单元17与时间计数器步进值调整单元110连接。时间计数器步进值调整单元110与时间计数器连接。比较单元17将判断得到第一计数次数大于或小于第二计数次数的信息发送至时间计数器步进值调整单元110。当第一计数次数大于第二计数次数时,时间计数器步进值调整单元110向时间计数器发送减少时间计数器的步进值的信息。时间计数器收到信号后减少步进值。
[0087]
可以理解的是,通过时间计数器来调整本地设备的主时钟发出秒脉冲信号的相位,使主时钟发出秒脉冲信号的相位始终跟随导航卫星的秒脉冲信号的相位,实现本地设备与导航卫星的时钟同步。相比于通过vcxo芯片及相关锁相环控制芯片电路来调整时钟频率的方法,本技术简化了信号处理过程,降低了硬件成本。
[0088]
进一步,参见图6,所述计数次数获取单元14连接有脉冲信号边沿检测单元13,所述脉冲信号边沿检测单元13用于检测脉冲信号的上边沿或下边沿,所述脉冲信号边沿检测单元13与时间计数器连接。
[0089]
可以理解的是,时钟信号不仅包括秒脉冲信号的高电平和低电平,还包括高电平和低电平之间的秒脉冲边沿信号。相对于高电平信号发生的时间,边沿信号发生的时间更短。因此,当检测到初始导航卫星脉冲信号的边沿信号时,立即启动本地设备的主时钟,减少因秒脉冲信号的高电平时间延迟而导致的捕获秒脉冲信号的时间不准确,从而提高初始导航卫星脉冲信号与初始本地脉冲信号同步的精度,以实现初始导航卫星脉冲信号与初始本地脉冲信号的精准同步。
[0090]
另外,一个脉冲信号的发生是首先出现上边沿,然后是高电平,最后是下边沿,最终回落到低电平。当检测到初始导航卫星脉冲信号的上边沿时,立即启动本地设备的主时钟,使主时钟发出的第一个秒脉冲信号的上边沿与初始导航卫星脉冲信号的上边沿同步,实现初始导航卫星脉冲信号与初始本地脉冲信号的精准同步,从而为后续的导航卫星的时钟信号与本地设备主时钟的时钟信号的同步提供精准的基础。
[0091]
在具体的实施过程中,脉冲信号边沿检测单元13与导航卫星脉冲信号获取单元
11、本地脉冲信号获取单元12、计数次数获取单元14和时间计数器连接。当检测到初始导航卫星脉冲信号时,脉冲信号边沿检测单元13检测到初始导航卫星脉冲信号的上边沿,并将初始导航卫星脉冲信号的上边沿信号立即发送至计数次数获取单元14和本地脉冲信号获取单元12。计数次数获取单元14开始计数。同时,本地脉冲信号获取单元12通知本地设备的主时钟上电,发出初始本地脉冲信号。当检测到第一导航卫星脉冲信号和第一本地脉冲信号时,脉冲信号边沿检测单元13检测到第一导航卫星脉冲信号的上边沿和第一本地脉冲信号的上边沿,并将第一导航卫星脉冲信号的上边沿信号和第一本地脉冲信号的上边沿信号立即发送至计数次数获取单元14。计数次数获取单元14分别将得到第一导航卫星脉冲信号时的的计数值和得到第一本地脉冲信号时的计数值记为第二计数次数和第一计数次数。
[0092]
进一步,参见图6,还包括:第一预设阀值判断单元18,用于判断计数次数差值是否大于第一预设阀值;第二预设阀值判断单元19,用于判断计数次数差值是否小于第一预设阀值并大于第二预设阀值,所述第一预设阀值大于第二预设阀值,所述第一预设阀值判断单元18和第二预设阀值判断单元19均与时间计数器步进值调整单元110通信连接。
[0093]
可以理解的是,第一预设阀值和第二预设阀值均可以是提前输入本地设备中的设定值。当第一计数次数大于第二计数次数时,或者,当第一计数次数小于第二计数次数时,均需要判断计数次数差值是否大于第一预设阀值。总之,当第一计数次数与第二计数次数之间的计数次数差值超过预设范围时,判断计数次数差值是否大于第一预设阀值。
[0094]
当计数次数差值大于第一预设阀值时,第一本地脉冲信号与第一导航卫星脉冲信号之间的时间间隔过大。也就是说,本地设备的主时钟每次发出秒脉冲信号的时间间隔过长。此时,将时间计数器以第一步进变化值调整步进值,使第一本地脉冲信号与初始本地脉冲信号之间的时间间隔快速地减小,避免因本地设备与导航卫星的时钟严重不同步而导致的本地设备的时间误差,保证本地设备的主时钟的较高同步精度,使本技术更具有实用性。第一步进变化值和第二步进变化值均是本地设备的主时钟的时间计数器的步进值的调整量。第二步进变化值小于第一步进变化值。
[0095]
当计数次数差值小于第一预设阀值并大于第二预设阀值时,第一本地脉冲信号与第一导航卫星脉冲信号之间的时间间隔不如计数次数差值大于第一预设阀值时的大。此时,将时间计数器以第二步进变化值减小步进值,使第一本地脉冲信号与初始本地脉冲信号之间的时间间隔缓慢地减小,避免因时间计数器的步进值快速的变化而导致的增加系统的负担,使系统工作更稳定。
[0096]
在具体的实施过程中,比较单元17将判断得到的第一计数次数大于第二计数次数的信息和计数次数差值发送至第一预设阀值判断单元18和第二预设阀值判断单元19。
[0097]
当第一预设阀值判断单元18得到第一计数次数大于第二计数次数的信息和计数次数差值时,判断计数次数差值是否大于第一预设阀值。第一预设阀值和第二预设阀值是提前设置在第一预设阀值判断单元18中的数值。当计数次数差值大于第一预设阀值时,第一预设阀值向时间计数器步进值调整单元110发送按照第一步进变化值减小时间计数器的步进值的信息。时间计数器步进值调整单元110将按照第一步进变化值减小的信息发送至时间计数器,以使时间计数器按照第一步进变化值改变步进值。
[0098]
当第二预设阀值判断单元19得到计数次数差值大于第一预设阀值的信息时,不做任何判断。
[0099]
当第二预设阀值判断单元19得到第一计数次数大于第二计数次数的信息和计数次数差值时,判断计数次数差值是否小于第一预设阀值并大于第二预设阀值。第一预设阀值和第二预设阀值是提前设置在第二预设阀值判断单元19中的数值。当计数次数差值小于第一预设阀值并大于第二预设阀值时,第二预设阀值向时间计数器步进值调整单元110发送按照第二步进变化值减小时间计数器的步进值的信息。时间计数器步进值调整单元110将按照第二步进变化值减小的信息发送至时间计数器,以使时间计数器按照第二步进变化值改变步进值。
[0100]
第一预设阀值判断单元18得到计数次数差值小于第一预设阀值并大于第二预设阀值的信息,不做任何判断。
[0101]
尽管已描述了本技术的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本技术范围的所有变更和修改。
[0102]
显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1