CN118192759B - 时钟同步方法、装置、设备及存储介质 - Google Patents
时钟同步方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN118192759B CN118192759B CN202410612336.7A CN202410612336A CN118192759B CN 118192759 B CN118192759 B CN 118192759B CN 202410612336 A CN202410612336 A CN 202410612336A CN 118192759 B CN118192759 B CN 118192759B
- Authority
- CN
- China
- Prior art keywords
- slave
- synchronization
- circuit
- value
- master
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/12—Synchronisation of different clock signals provided by a plurality of clock generators
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
本发明实施例提供了一种时钟同步方法、装置、设备及存储介质,涉及电子技术领域,该方法包括:在满足预设同步条件的情况下,控制主同步电路向各从同步电路发送同步信号;预设同步条件包括主同步电路的主计数值与主同步电路的第一校准值相同;针对任一从同步电路,响应于主同步电路发送的同步信号,在从同步电路的从计数值与从同步电路的第二校准值的差值小于等于预设阈值的情况下,基于从同步电路中的第二校准值,校准从同步电路中的从计数值;第二校准值与第一校准值相同;在从计数值与第二校准值的差值大于预设阈值的情况下,输出告警信号。这样,降低了时间同步的时间成本以及同步难度,一定程度上提高了时间同步的效率。
Description
技术领域
本发明属于电子技术领域,特别是涉及一种时钟同步方法、装置、设备及存储介质。
背景技术
计数同步是多处理器系统设计中的一个关键组成部分,对于确保系统的可靠性、效率和性能至关重要。多处理器系统中,不同的处理器可能同时执行不同的任务,它们需要共享内存、输入输出(IO)等资源;操作系统需要对不同处理器的任务进行协调,以便更高效地执行任务,减少处理器之间的冲突和等待时间;若处理器之间的操作不同步,可能导致系统陷入死锁状态,即两个或多个处理器互相等待对方释放资源。
相关技术中,针对多处理器系统中各处理器的时间同步,如图1所示,往往是在各处理器中的计数同步模块上电后,计数同步模块内的时钟计数器开始计数,热复位模块将各计数器模块的值清零后重新计数,并将计数器的值同步到通用输入输出(GeneralPurpose Input Output,GPIO)备份模块。只有当各计数同步模块的GPIO备份模块内计数值的数值相同时,才完成多处理器的时钟同步。但是,由于每个计数同步模块的热复位时间由于信号的延迟等问题并不相同,导致各计数同步模块的GPIO备份模块内计数值的数值可能在较长一段时间内并不相同,因此,各处理器之间的时间同步过程花费时间较长且难度较高。
发明内容
为克服相关技术中存在的问题,本发明提供了一种时钟同步方法、装置、设备及存储介质。
第一方面,本发明提供了一种时钟同步方法,应用于时钟同步系统;所述方法包括:
在满足预设同步条件的情况下,控制所述时钟同步系统中的主同步电路向所述时钟同步系统中的各从同步电路发送同步信号;所述预设同步条件包括所述主同步电路的主计数值与所述主同步电路的第一校准值相同;
针对任一所述从同步电路,响应于所述主同步电路发送的同步信号,在所述从同步电路的从计数值与所述从同步电路的第二校准值的差值小于等于预设阈值的情况下,基于所述从同步电路中的第二校准值,校准所述从同步电路中的从计数值;所述第二校准值与所述第一校准值相同;
在所述从计数值与所述第二校准值的差值大于所述预设阈值的情况下,输出告警信号。
可选地,所述基于所述从同步电路中的第二校准值,校准所述从同步电路中的从计数值,包括:
基于所述从同步电路的第二校准值以及所述主同步电路与所述从同步电路对应的第一延时时间,确定第一数值;
基于所述第一数值,更新所述从同步电路的从计数值。
可选地,所述在满足预设同步条件的情况下,控制所述时钟同步系统中的主同步电路向所述时钟同步系统中的各从同步电路发送同步信号,包括:
在当前时间与所述主同步电路上一次发送同步信号的时间的差值满足预设同步周期的情况下,获取所述主同步电路的主计数值以及所述主同步电路的第一校准值;
在所述主计数值等于所述第一校准值的情况下,控制所述主同步电路向各所述从同步电路发送同步信号。
可选地,在所述基于所述从同步电路中的第二校准值,校准所述从同步电路中的从计数值之后,所述方法还包括:
基于预设同步周期,更新所述主同步电路中的第一校准值以及所述从同步电路中的第二校准值。
可选地,所述方法还包括:
在所述从计数值与所述第二校准值的差值大于所述预设阈值的情况下,基于所述主同步电路的主计数值,对所述从同步电路进行目标校准操作。
可选地,所述基于所述主同步电路的计数值,对所述从同步电路进行目标校准操作,包括:
读取所述主同步电路对应的主计数值,将所述主计数值写入所述从同步电路中的缓冲寄存器;
基于所述主计数值以及目标等待周期,确定第二数值并将所述第二数值写入所述从同步电路中的校准寄存器;所述目标等待周期是基于预设等待周期确定的;
在所述主同步电路对应的主计数值与所述第二数值相同的情况下,基于所述第二数值,对所述从同步电路对应的从计数值进行校准。
可选地,所述基于所述第二数值,对所述从同步电路对应的从计数值进行校准,包括:
控制所述主同步电路向所述从同步电路发送片间信号;
在所述从同步电路接收到所述片间信号的情况下,基于所述第二数值,更新所述从同步电路对应的从计数值。
可选地,所述基于所述主计数值以及目标等待周期,确定第二数值,包括:
基于所述缓冲寄存器中的主计数值,按照目标规则确定第一计数值;
基于所述目标等待周期以及所述第一计数值,确定所述第二数值。
可选地,所述目标规则包括对所述主计数值向上取整使得所述第一计数值为预设同步周期的整数倍。
可选地,在所述基于所述第二数值,对所述从同步电路对应的从计数值进行校准之后,所述方法还包括:
基于预设同步周期,更新所述主同步电路中的第一校准值以及所述从同步电路中的第二校准值。
可选地,在所述基于所述主同步电路的主计数值,对所述从同步电路进行目标校准操作之后,所述方法还包括:
在所述从同步电路接收到同步信号的情况下,当执行目标校准操作后的从同步电路的当前从计数值与所述从同步电路的当前第二校准值的差值大于预设阈值时,重新执行所述基于所述主同步电路的主计数值,对所述从同步电路进行目标校准操作。
可选地,所述方法还包括:
在所述从同步电路接收到同步信号的情况下,若执行目标校准操作后的从同步电路的当前从计数值与所述从同步电路的当前第二校准值的差值大于预设阈值且对所述从同步电路执行所述目标校准操作的次数大于预设次数,更新所述主同步电路以及各所述从同步电路对应的预设同步周期。
可选地,所述更新所述主同步电路以及各所述从同步电路对应的预设同步周期,包括:
向所述主同步电路以及各所述从同步电路发送第一信号;
针对所述主同步电路或任一所述从同步电路,响应于所述第一信号,基于所述第一信号携带的第一地址,确定第一寄存器;
将所述第一信号携带的第一同步周期写入所述第一寄存器。
可选地,所述方法还包括:
基于所述第一同步周期,更新所述主同步电路对应的第一校准值以及各所述从同步电路对应的第二校准值。
可选地,所述方法还包括:
在所述主同步电路掉线的情况下,从各所述从同步电路中确定目标主同步电路;
基于所述目标主同步电路的目标主计数值,校准各所述从同步电路对应的从计数值。
可选地,所述从各所述从同步电路中确定目标主同步电路,包括:
向目标从同步电路发送第二信号;
响应于所述第二信号,所述目标从同步电路基于所述第二信号携带的第二地址,确定第二寄存器;
将所述第二信号携带的第一标识写入所述第二寄存器;所述第一标识用于表征所述第二寄存器对应的同步电路的状态为主同步电路。
可选地,所述方法包括:
在对任一所述从同步电路进行目标校准操作同时所述从同步电路接收到同步信号的情况下,基于所述主同步电路的主计数值,对所述从同步电路进行目标校准操作。
第二方面,本发明提供了一种时钟同步装置,应用于时钟同步系统;所述装置包括:
第一发送模块,用于在满足预设同步条件的情况下,控制所述时钟同步系统中的主同步电路向所述时钟同步系统中的各从同步电路发送同步信号;所述预设同步条件包括所述主同步电路的主计数值与所述主同步电路的第一校准值相同;
第一校准模块,用于针对任一所述从同步电路,响应于所述主同步电路发送的同步信号,在所述从同步电路的从计数值与所述从同步电路的第二校准值的差值小于等于预设阈值的情况下,基于所述从同步电路中的第二校准值,校准所述从同步电路中的从计数值;所述第二校准值与所述第一校准值相同;
第一输出模块,用于在所述从计数值与所述第二校准值的差值大于所述预设阈值的情况下,输出告警信号。
第三方面,本发明提供一种电子设备,包括:处理器、存储器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现上述第一方面中任一项所述的时钟同步方法。
第四方面,本发明提供一种可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如上述第一方面中任一项实施例中的时钟同步方法中的步骤。
本发明实施例中,通过在满足预设同步条件的情况下,控制主同步电路向各从同步电路发送同步信号,并且将主同步电路的主计数值与第一校准值是否相同作为触发主同步电路发送同步信号的触发条件,可以使得时钟同步系统在每满足预设同步条件的情况下,都会向从同步电路发送同步信号,以进行主从时钟电路的时间同步。进一步地,针对任一从同步电路,响应于主同步电路发送的同步信号,基于从同步电路的从计数值与第二校准值的差值与预设阈值确定是否对从同步电路的从计数值进行校准。这样,在时钟同步系统运行的过程中,通过主同步电路多次向从同步电路发送同步信号,可以不断消除主同步电路与从同步电路以及各从同步电路之间计数值的误差,相应的,消除了各处理器之间累积的计数误差,确保了各处理器之间的时间同步性以及时间准确性。同时,相较于通过热复位的方式进行时间同步,各从同步电路在基于自身第二校准值校准从计数值之后,即完成了多处理器之间的时间同步,降低了时间同步的时间成本以及同步难度,一定程度上提高了时间同步的效率。并且,在对从同步电路的从计数值进行校准之前,先基于从同步电路从计数值与第二校准值的差值进行判断,再基于第二校准值校准从计数值,在确保从同步电路的计数机制的准确性的前提下,进一步校准从同步电路中的从计数值,由于第一校准值与第二校准值相同,使其与主同步电路的主计数值一致,确保了主计数值与从计数值的一致性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种现有技术的步骤流程图;
图2是本发明实施例提供的一种时钟同步方法的步骤流程图;
图3是本发明实施例提供的一种时钟同步系统的架构示意图;
图4是本发明实施例提供的一种从同步电路输出告警信号的步骤流程图;
图5是本发明实施例提供的一种时钟同步装置的结构图;
图6是本发明实施例提供的一种电子设备的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图2是本发明实施例提供的一种时钟同步方法的步骤流程图,应用于时钟同步系统,所述时钟同步系统包括至少两个时钟同步电路,所述至少两个时钟同步电路包括主同步电路以及至少一个从同步电路。
本发明实施例中,针对多处理器的时钟同步场景,可以在多处理器架构中部署该时钟同步系统,具体的,可以在各处理器中设置一个时钟同步电路(也称同步电路),由于处理器的数量为至少两个,相应的,时钟同步系统中包括至少两个时钟同步电路。可以理解的是,在本申请中对于多处理器架构中涉及到的处理器的个数、型号等等均不作限定,可以根据具体实施场景确定其实施方式。时钟同步电路可以是计数同步电路(System TimeSynchronize,STS)。在至少两个时钟同步电路中,包括一个主同步电路以及至少一个从同步电路。其中,主同步电路可以与时钟源连接,并基于时钟源发送的系统时钟信号作为系统时间。主同步电路与各从同步电路相连接,主同步电路作为各从同步电路是时钟同步标准,也就是说,各从同步电路可以在接收到主同步电路发送的同步信号或APB校准信号的情况下,基于主同步电路的主计数值校准自身的从计数值。
各时钟同步电路的架构可以是相同的,如图3所示(图3中时钟同步电路1、时钟同步电路2、时钟同步电路3以及时钟同步电路4的架构相同,图3中时钟同步电路2、时钟同步电路3以及时钟同步电路4的详细架构以及部件连接关系可以参考时钟同步电路1),图3示出了在时钟同步电路为4个的情况下,时钟同步电路1、时钟同步电路2、时钟同步电路3以及时钟同步电路4之间的连接关系,基于各时钟同步电路的内部架构。其中,主同步电路以及从同步电路可以包括以下部件:时钟同步电路中可以包括计数器、高级外设总线(AdvancedPeripheral Bus,APB)读写单元、校准寄存器、同步周期长度寄存器、比较器、主从切换单元。其中,计数器用于存储计数值,计数值随着系统时钟信号的上升沿而加一。APB读写单元用于基于APB信号读取时钟同步电路中的各寄存器的数据或向时钟同步电路中的各寄存器写入数据,例如:可以读取时钟同步电路的当前计数值或者将特定的计数值写入时钟同步电路的计数器中。校准寄存器用于存储校准值。同步周期长度寄存器用于存储主同步电路以及从同步电路之间的同步周期值。比较器用于在时钟同步电路为主同步电路的情况下,对时钟同步电路中的计数值以及校准值进行比较,该比较值用于判断主同步电路是否向从同步电路发送同步信号;同时,在时钟同步电路为从同步电路的情况下,比较从同步电路的从计数值与从同步电路的第二校准值的差值是否小于等于预设阈值,以判断是基于同步信号对从计数值进行校准还是对从同步电路进行目标校准操作实现对从计数值的校准。主从切换单元用于配置其所在处理器的时钟同步电路相对于其它处理器的同步电路是主同步电路(Master)还是从同步电路(Slave)。
如图2所示,该方法可以包括:
步骤101、在满足预设同步条件的情况下,控制所述时钟同步系统中的主同步电路向所述时钟同步系统中的各从同步电路发送同步信号;所述预设同步条件包括所述主同步电路的主计数值与所述主同步电路的第一校准值相同。
本发明实施例中,基于主同步电路中的比较器,读取主同步电路中计数器中的计数值作为主计数值,读取主同步电路中的校准寄存器中的校准值作为第一校准值。比较主计数值以及第一校准值是否相同,在主计数值以及第一校准值相同的情况下,确定满足预设同步条件,这时,主同步电路可以向各从同步电路发送同步信号,以启动主从时钟同步功能。其中,预设同步条件可以是预先设定的,在每当主同步电路的主计数值与第一校准值时,主同步电路都会向从同步电路发送同步信号,以进行主从时钟同步。同步信号可以用于指示从同步电路基于第二校准值对自身从计数值进行校准。
示例性的,如图3所示,在同步电路为主同步电路且通过比较器确定主同步电路的主计数值与主同步电路的第一校准值相等的情况下,可以拉高同步信号。
步骤102、针对任一所述从同步电路,响应于所述主同步电路发送的同步信号,在所述从同步电路的从计数值与所述从同步电路的第二校准值的差值小于等于预设阈值的情况下,基于所述从同步电路中的第二校准值,校准所述从同步电路中的从计数值;所述第二校准值与所述第一校准值相同。
步骤103、在所述从计数值与所述第二校准值的差值大于所述预设阈值的情况下,输出告警信号。
本发明实施例中,主同步电路中的第一校准值以及从同步电路中的第二校准值相同,并且,在完成一次主同步电路与从同步电路之间的时间同步后,会对应更新第一校准值以及第二校准值。第一校准值以及第二校准值的更新策略可以为:将当前校准值加上预设同步周期的数值作为更新后的第一校准值以及第二校准值。也就是说,第一校准值与第二校准值是基于预设同步周期确定的。示例性的,假设在主同步电路发送同步信号以及从同步电路接收同步信号时,第一校准值以及第二校准值的数值为a,预设同步周期为b,则在完成从同步电路的计数同步,即基于从同步电路中的第二校准值,校准从同步电路中的从计数值之后,更新主同步电路的校准寄存器中的第一校准值以及从同步电路的校准寄存器中的第二校准值为a+b,以满足下次主同步电路以及从同步电路的同步校准。这样,在主同步电路下次发送同步信号时,从同步电路会基于更新后的第二校准值,对从计数值进行更新。这样,由于同步信号的触发条件为主计数值与第一校准值相同,且第一校准值与第二校准值相同,那么,在从同步电路基于第二校准值校准从计数值后,主计数值与从计数值也是相同的,即,通过每次对同步信号的触发,可以实现主从同步电路的时间同步。
针对任一从同步电路,在从同步电路接收到主同步电路发送的同步信号的情况下,判断从同步电路的从计数值与从同步电路的第二校准值的差值是否小于等于预设阈值,在从同步电路的从计数值与从同步电路的第二校准值的差值小于等于预设阈值的情况下,表征从同步电路当前的计数误差在浮动阈值范围内,属于正常计数浮动现象;在从同步电路的从计数值与从同步电路的第二校准值的差值大于预设阈值的情况下,表征从同步电路当前的计数误差不在浮动阈值范围内,属于异常计数浮动现象,因此,可以输出告警信号,以对从同步电路的第二校准值以及从计数值进行校准。其中,预设阈值可以根据具体需求进行设定,例如预设阈值可以等于2个预设同步周期。具体的,可以获取从计数值以及第二校准值,并计算从计数值以及第二校准值之间的差值,对比该差值与预设阈值之间的大小,在该差值小于等于预设阈值的情况下,基于第二校准值对从同步电路中的从计数值进行校准;在该差值大于预设阈值的情况下,输出告警信号,并对从同步电路的第二校准值以及从计数值进行校准。其中,告警信号可以为一种中断信号,告警信号的位宽可以为2bit。从同步电路可以通过拉高告警信号进行告警,并在经过一个预设同步周期后拉低告警信号。在接收到任一从同步电路发送的告警信号的情况下,时钟同步系统会进行系统中断处理。
示例性的,如图3所示,在同步电路为从同步电路的情况下,从同步电路接收到同步信号且比较器判断从计数值以及第二校准值之间的差值大于预设阈值,会输出告警信号。
综上所述,本发明实施例中,通过在满足预设同步条件的情况下,控制主同步电路向各从同步电路发送同步信号,并且将主同步电路的主计数值与第一校准值是否相同作为触发主同步电路发送同步信号的触发条件,可以使得时钟同步系统在每满足预设同步条件的情况下,都会向从同步电路发送同步信号,以进行主从时钟电路的时间同步。进一步地,针对任一从同步电路,响应于主同步电路发送的同步信号,基于从同步电路的从计数值与第二校准值的差值与预设阈值确定是否对从同步电路的从计数值进行校准。这样,在时钟同步系统运行的过程中,通过主同步电路多次向从同步电路发送同步信号,可以不断消除主同步电路与从同步电路以及各从同步电路之间计数值的误差,相应的,消除了各处理器之间累积的计数误差,确保了各处理器之间的时间同步性以及时间准确性。同时,相较于通过热复位的方式进行时间同步,各从同步电路在基于自身第二校准值校准从计数值之后,即完成了多处理器之间的时间同步,降低了时间同步的时间成本以及同步难度,一定程度上提高了时间同步的效率。并且,在对从同步电路的从计数值进行校准之前,先基于从同步电路从计数值与第二校准值的差值进行判断,再基于第二校准值校准从计数值,在确保从同步电路的计数机制的准确性的前提下,进一步校准从同步电路中的从计数值,由于第一校准值与第二校准值相同,使其与主同步电路的主计数值一致,确保了主计数值与从计数值的一致性。
可以理解的是,本发明实施例提供的时钟同步方法可以应用到需要进行硬件计数同步的技术场景中,比如多核处理器系统、实时操作系统、网络通信、嵌入式系统、图形处理单元(Graphics Processing Unit,GPU)等,本发明实施例对此不做限制。
可选地,步骤102可以包括以下步骤:
步骤201、基于所述从同步电路的第二校准值以及所述主同步电路与所述从同步电路对应的第一延时时间,确定第一数值。
本发明实施例中,在对从同步电路进行校准时,可以基于从同步电路中的校准寄存器中存储的第二校准值,对从同步电路的从计数值进行校准。由于从同步电路的第二校准值与主同步电路的第一校准值相同,因此,在主同步电路发出同步信号的情况下,此时,第一校准值、第二校准值以及主计数值是相同的,也即,从同步电路的第二校准值与主同步电路拉高同步信号时的主计数值相同。在需要将从同步电路的从计数值与主同步电路的主计数值进行同步的情况下,可以直接基于第二计数值更新从计数值。但由于同步信号的传输具有延迟性,在从同步电路接收到同步信号的时刻,主同步电路的主计数值相较于发出同步信号时的主计数值是自然增长的,也就是说,从同步电路接收到同步信号时的主计数值大于主同步电路发出同步信号时的主计数值。因此,需要在第二计数值的基础上,增加主同步电路与从同步电路之间对应的第一延时时间,得到第一数值。也即,第一数值=第二计数值+第一延时时间。其中,第一延时时间可以是主同步电路与从同步电路之间信号传输时的延迟时间,第一延时时间可以根据实际情况测量得到,不同从同步电路与主同步电路对应的第一延时时间可以不同。
步骤202、基于所述第一数值,更新所述从同步电路的从计数值。
本发明实施例中,基于第一数值,更新从同步电路的计数值。可以通过APB读写单元将第一数值写入从同步电路的计数器中,以将第一数值作为新的从计数值,完成对从同步电路的从计数值的更新。
本发明实施例中,基于第二校准值以及第一延时时间,确定第一数值并更新从计数值,在考虑了主同步电路与从同步电路对应的第一延时时间的基础上,确保了更新后的从计数值与主计数值的一致性。
可选地,步骤101可以包括以下步骤:
步骤301、在当前时间与所述主同步电路上一次发送同步信号的时间的差值满足预设同步周期的情况下,获取所述主同步电路的主计数值以及所述主同步电路的第一校准值。
本发明实施例中,获取主同步电路上次发送同步信号的第一时间,在当前时间与第一时间之间的时间差满足预设同步周期的情况下,获取主同步电路的主计数值以及主同步电路的第一校准值。其中,预设同步周期用于表征主同步电路与从同步电路之间进行时间同步的时间间隔,预设同步周期可以根据需求自行设定的。
步骤302、在所述主计数值等于所述第一校准值的情况下,控制所述主同步电路向各所述从同步电路发送同步信号。
本发明实施例中,在主计数值等于第一校准值的情况下,表征满足预设同步条件,则控制主同步电路向各从同步电路发送同步信号。示例性的,主同步电路可以拉高同步信号,以告知从同步电路进行时间同步。
可以理解的是,由于第一校准值是基于预设同步周期确定的,则通常情况下,在当前时间与主同步电路上一次发送同步信号的时间的差值满足预设同步周期时,主计数值与第一校准值是相同的。示例性的,假设预设同步周期为30s,时钟同步系统初始化,第一校准值可以被预先设置为预设同步周期30,在时钟同步系统上电完成的情况下,主计数值进行自然计数,在上电完成后30s的情况下(当前时间与主同步电路上一次发送同步信号(本示例当前情况为上电后)的时间的差值满足预设同步周期),主计数值此时的数值为30,此时主计数值与第一校准值的数值相同,则主同步电路向各从同步电路发送同步信号;在基于同步信号完成一次主同步电路与各从同步电路的时间同步之后,更新主同步电路的第一校准值以及各从同步电路的第二校准值。此时,在更新前的第一校准值的基础上加上预设同步周期,即更新后的第一校准值为60,则经过了30s,即经过又一轮预设时间周期,此时主计数值的数值为60,也即,主计数值与第一校准值的数值仍然相同,则主同步电路向各从同步电路再次发送同步信号。
本发明实施例中,通过判断当前事件与主同步电路上一次发送同步信号的时间的差值是否满足预设同步周期,在满足预设同步周期且主计数值等于第一校准值的情况下,控制主同步电路向各从同步电路发送同步信号。这样,可以定期进行主同步电路与各从同步电路的时间同步,降低了主同步电路与各从同步电路时间不同步的可能性,确保了系统正常运行。
可选地,本发明实施例还包括以下步骤:
步骤401、基于预设同步周期,更新所述主同步电路中的第一校准值以及所述从同步电路中的第二校准值。
本发明实施例中,在对从同步电路完成时间校准同步后,需要基于预设同步周期,更新主同步电路的第一校准值以及从同步电路的第二校准值。示例性的,可以在主同步电路的当前第一校准值的基础上加上预设同步周期,作为更新后的第一校准值。相应的,可以在从同步电路的当前第二校准值的基础上加上预设同步周期,作为更新后的第二校准值。
本发明实施例中,在基于同步信号完成一次主同步电路与从同步电路的时间同步之后,及时更新第一校准值以及第二校准值,以便后续定期基于同步信号进行主同步电路与从同步电路的时间同步。
可选地,本发明实施例还可以包括以下步骤:
步骤501、在所述从计数值与所述第二校准值的差值大于所述预设阈值的情况下,基于所述主同步电路的主计数值,对所述从同步电路进行目标校准操作。
本发明实施例中,在从计数值与第二校准值的差值大于预设阈值的情况下,表征从同步电路当前的计数误差不在浮动阈值范围内,属于异常计数浮动现象,因此,可以输出告警信号,并对从同步电路的第二校准值以及从计数值进行校准。此时,可以直接基于主同步电路的主计数值,对从同步电路进行目标校准操作。其中,目标校准操作可以为APB读写校准,该目标校准操作可以是基于APB读写单元进行的,具体的,可以由APB读写单元发送APB读写信号,基于APB读信号读取主计数值,并基于APB写信号基于主计数值更新校准从计数值。这样,在需要对从同步电路进行目标校准操作时,从同步电路只需向处理器发送告警信号,使得处理器控制APB读写单元提供APB读写操作,完成对从同步电路的目标校准操作,一定程度上降低了与处理器的耦合性。
相应的,步骤501可以包括以下步骤:
步骤601、读取所述主同步电路对应的主计数值,将所述主计数值写入所述从同步电路中的缓冲寄存器。
本发明实施例中,可以基于APB读写单元向主同步电路发送读信号,读取主同步电路对应的主计数值,再基于APB读写单元向从同步电路发送写信号,以基于主计数值更新从计数值。但在读取主计数值与更新从计数值的过程中,会因读写操作产生时间差,因此不能直接将读取到的主计数值直接写入从同步电路的计数器中作为更新后的从计数值(直接写入会导致更新后的实时从计数值的数值小于当前实时主计数值)。可以理解的是,读写操作产生时间差的原因可以是由于同步电路外部处理其他事物导致的。将主计数值写入从同步电路中的缓存寄存器。
步骤602、基于所述主计数值以及目标等待周期,确定第二数值并将所述第二数值写入所述从同步电路中的校准寄存器;所述目标等待周期是基于预设等待周期确定的。
本发明实施例中,基于主计数值以及目标等待周期,确定第二数值。具体的,可以基于目标等待周期对主计数值进行增值处理,例如,在主计数值的基础上增加目标等待周期,作为第二数值。其中,目标等待周期是基于预设等待周期确定的,例如,目标等待周期可以为一个预设等待周期或多个预设等待周期之和。在确定第二数值之后,将第二数值写入从同步电路的校准寄存器。
可以理解的是,预设等待周期可以根据具体硬件和实际应用场景进行设定,本发明实施例对此不做限制。
步骤603、在所述主同步电路对应的主计数值与所述第二数值相同的情况下,基于所述第二数值,对所述从同步电路对应的从计数值进行校准。
本发明实施例中,在主同步电路对应的主计数值与第二数值相同的情况下,表征主计数值已经与第二数值保持一致,不存在误差,因此可以直接基于第二数值,对从同步电路对应的从计数值进行校准。
相应的,步骤603可以包括以下步骤:
步骤6031、控制所述主同步电路向所述从同步电路发送片间信号。
本发明实施例中,在主同步电路对应的主计数值与第二数值相同的情况下,控制主同步电路向从同步电路发送片间信号,该片间信号用于指示从同步电路基于从同步电路中的校准寄存器中存储的第二数值,更新从计数值。
步骤6032、在所述从同步电路接收到所述片间信号的情况下,基于所述第二数值,更新所述从同步电路对应的从计数值。
本发明实施例中,在从同步电路接收到到片间信号的情况下,基于第二数值更新从同步电路对应的从计数值。示例性的,可以直接将第二数值写入从同步电路中的计数器。
本发明实施例中,通过读取主计数值,并对主计数值进行增值处理,当主计数值等于第二数值时,才会基于第二数值更新从计数值,这样,可以避免由于读写操作带来的时间差导致更新后的从计数值与主计数值不一致的情况,确保了目标校准操作的准确性。进一步地,基于APB读写信号对从同步电路进行校准,相对于基于处理器输入输出资源进行数据传输,一定程度上降低了对处理器的输入输出资源的占用。
可选地,步骤602可以包括以下步骤:
步骤6021、基于所述缓冲寄存器中的主计数值,按照目标规则确定第一计数值。
步骤6022、基于所述目标等待周期以及所述第一计数值,确定所述第二数值。
本发明实施例中,在将主计数值写入缓冲寄存器之后,需要对主计数值进行增值处理。首先,先基于目标规则对主计数值进行向上取整,以将主计数值转换为第一计数值。其中,目标规则可以包括对主计数值向上取整使得第一计数值为预设同步周期的整数倍。也就是说,第一计数值为预设同步周期的整数倍。示例性的,假设主计数值为98,预设同步周期为10,则可以将主计数值向上取整至100,作为第一计数值;假设主计数值为107,预设同步周期为30,则可以将主计数值向上取整至120,作为第一计数值。
在确定第一计数值之后,可以在第一计数值的基础上加上目标等待周期,作为第二数值,完成对主计数值的增值处理。示例性的,假设基于APB读操作读取主同步电路的主计数值为98,将98写入从同步电路中的缓冲寄存器,并对主计数值98进行增值处理。假设预设同步周期为10,目标等待周期为5个预设同步周期的大小,即50,则先将98向上取整到预设同步周期10的整数倍,再基于第一计数值以及目标等待周期确定第二数值。第二数值可以为:100+50=150。将第二数值150写入校准寄存器中,在主同步电路对应的主计数值达到150时,即主计数值等于第二数值时,主同步电路向从同步电路发送一个片间信号,从同步电路基于校准寄存器中的第二数值更新从计数值,此时主同步电路以及从同步电路的计数值保持同步。
本发明实施例中,考虑到APB读写操作产生的时间差,先将主计数值进行增值处理,得到第二数值,在确保主计数值与第二数值相同的情况下,再基于第二数值更新从计数值,确保主同步电路以及从同步电路的计数值保持同步,提高时间同步的准确性。
可选地,在步骤603之后,本发明实施例还可以包括以下步骤:
步骤701、基于预设同步周期,更新所述主同步电路中的第一校准值以及所述从同步电路中的第二校准值。
本发明实施例中,在从同步电路的从计数值与第二校准值的差值大于预设阈值,并基于第二数值,对从同步电路对应的从计数值进行校准之后,同样需要基于预设同步周期,再次更新主同步电路的第一校准值以及从同步电路的第二校准值。可以理解的是,在本次校准值更新之前,从同步电路的校准寄存器中存储的第二校准值为第二数值,并且,在基于第二数值校准从计数值之后,此时,第二校准值、主计数值以及从计数值是相同的。因此,可以在第二校准值(第二数值)的基础上,加上预设同步周期,作为主同步电路的第一校准值以及从同步电路的第二校准值。这样,可以在从同步电路再次接收到同步信号的情况下,基于更新后的第一校准值以及第二校准值进行时间同步。
可选地,在步骤501之后,本发明实施例还可以包括以下步骤:
步骤801、在所述从同步电路接收到同步信号的情况下,当执行目标校准操作后的从同步电路的当前从计数值与所述从同步电路的当前第二校准值的差值大于预设阈值时,重新执行所述基于所述主同步电路的主计数值,对所述从同步电路进行目标校准操作。
本发明实施例中,在对从同步电路的从计数值进行目标校准操作之后,从同步电路接收到定期发送的同步信号,响应于同步信号,判断已经执行目标校准操作后的从同步电路的当前从计数值与从同步电路的当前第二校准值的差值是否小于等于预设阈值,若是,则基于从同步电路的当前第二校准值,校准从同步电路中的从计数值;若否,则输出告警信号并重新执行基于主同步电路的主计数值,对从同步电路进行目标校准操作的步骤。可以理解的是,“基于从同步电路的第二校准值,校准从同步电路中的从计数值”的校准方式可以参考步骤102,“基于主同步电路的主计数值,对从同步电路进行目标校准操作”可以参考步骤501,本发明实施例再次不再赘述。
本发明实施例中,在对从计数值进行目标校准操作后,在从同步电路接收到同步信号的情况下,依然会核验从同步电路的当前从计数值与从同步电路的当前第二校准值的差值是否小于等于预设阈值,在大于预设阈值的情况下,再次对从同步电路进行目标校准操作。通过在每接收到同步信号的情况下,均进行从计数值与第二校准值的比对,这样,一定程度上可以及时判断出从同步电路的异常情况并及时进行校准。
可选地,本发明实施例还可以包括以下步骤:
步骤901、在所述从同步电路接收到同步信号的情况下,若执行目标校准操作后的从同步电路的当前从计数值与所述从同步电路的当前第二校准值的差值大于预设阈值且对所述从同步电路执行所述目标校准操作的次数大于预设次数,更新所述主同步电路以及各所述从同步电路对应的预设同步周期。
本发明实施例中,在对从同步电路进行目标校准操作后,从同步电路再次接收到同步信号,判断从同步电路的从计数值与从同步电路的第二校准值的差值是否小于等于预设阈值,在执行目标校准操作后的从同步电路的当前从计数值与从同步电路的当前第二校准值的差值仍大于预设阈值且对从同步电路执行目标校准操作的次数大于预设次数的情况下,表征当前预设同步周期会导致从同步电路与主同步电路之间的时间误差无法满足需求,在一个预设同步周期内从计数值与主计数值的差异仍然较大,并且对从同步电路连续进行预设次数的目标校准操作仍然不能消除误差。因此,需要更新主同步电路以及各从同步电路对应的预设同步周期。示例性的,可以将主同步电路以及各从同步电路中的同步周期长度寄存器中存储的预设同步周期进行更新。可以理解的是,预设次数可以根据实际需求进行设定,例如设定预设次数为2次,则在对从同步电路执行目标校准操作的次数为3次的情况下,需要更新预设同步周期。如图3所示,在基于任一从同步电路发送的告警信号进行系统中断处理的过程中,若执行目标校准操作后的从同步电路的当前从计数值与从同步电路的当前第二校准值的差值仍大于预设阈值且对从同步电路执行目标校准操作的次数大于预设次数,同时向同步周期长度寄存器中写入新的同步周期。
本发明实施例中,可以在对从同步电路执行目标校准操作的累积次数大于预设次数的情况下,更新预设同步周期,也可以在连续对从同步电路执行目标校准操作的次数大于预设次数的情况下,更新预设同步周期,具体可以根据实际需求进行设定,本发明实施例对此不做限制。
相应的,步骤901可以包括以下步骤:
步骤9011、向所述主同步电路以及各所述从同步电路发送第一信号。
本发明实施例中,处理器向主同步电路以及各从同步电路发送第一信号,该第一信号可以是APB写信号,第一信号携带有第一地址以及第一同步周期,其中,第一地址为该第一寄存器对应的寄存器地址,第一同步周期为更新后的预设同步周期。
步骤9012、针对所述主同步电路或任一所述从同步电路,响应于所述第一信号,基于所述第一信号携带的第一地址,确定第一寄存器。
本发明实施例中,针对主同步电路或任一从同步电路,接收并响应于第一信号,解析第一信号携带的第一地址,确定主同步电路或从同步电路中第一地址指示的第一寄存器。示例性的,主同步电路接收并响应第一信号,基于第一信号携带的第一地址,确定主同步电路中的同步周期长度寄存器,作为第一寄存器;从同步电路接收并响应第一信号,基于第一信号携带的第一地址,确定从同步电路中的同步周期长度寄存器,作为第一寄存器。
步骤9013、将所述第一信号携带的第一同步周期写入所述第一寄存器。
本发明实施例中,解析第一信号,获取第一信号携带的第一同步周期,将第一同步周期基于APB写操作写入第一寄存器。可以理解的是,更新后的主同步电路以及各从同步电路的同步周期的数值为第一同步周期。其中,第一同步周期可以小于原预设同步周期。
本发明实施例中,通过在对从同步电路执行目标校准操作的次数大于预设次数的情况下,更新主同步电路以及各从同步电路对应的预设同步周期,能够在基于原预设同步周期多次对从同步电路进行目标校准操作后,及时更新预设同步周期,确保主同步电路以及各从同步电路在一个预设同步周期内的计数值差值小于等于预设阈值,提高主同步电路以及各从同步电路的时间同步性。
示例性的,本发明实施例提供了一种从同步电路输出告警信号的步骤流程图,如图4所示,假设预设次数为2次,从同步电路响应于接收到的第一次同步信号,在从计数值与第二校准值的差值小于等于预设阈值的情况下,不进行告警;在从计数值与第二校准值的差值大于预设阈值的情况下,输出告警信号并基于主同步电路的主计数值,对从同步电路进行目标校准操作。在进行目标校准操作之后,从同步电路响应于接收到的第二次同步信号,在从计数值与第二校准值的差值小于等于预设阈值的情况下,不进行告警;在从计数值与第二校准值的差值大于预设阈值的情况下,输出告警信号并基于主同步电路的主计数值,对从同步电路进行目标校准操作。在进行二次目标校准操作之后,从同步电路响应于接收到的第三次同步信号,在从计数值与第二校准值的差值小于等于预设阈值的情况下,不进行告警;在从计数值与第二校准值的差值大于预设阈值的情况下,表征对从同步电路连续进行两次目标校准操作仍然不能消除误差,则需要更新主同步电路以及各从同步电路对应的预设同步周期。
可选地,本发明实施例可以包括以下步骤:
步骤1001、基于所述第一同步周期,更新所述主同步电路对应的第一校准值以及各所述从同步电路对应的第二校准值。
本发明实施例中,在更新主同步电路以及各从同步电路的同步周期为第一同步周期的情况下,需要基于第一同步周期,对应更新主同步电路对应的第一校准值以及各从同步电路对应的第二校准值。也即,在基于APB写入操作将第一同步周期写入第一寄存器后,原第一校准值与原第二校准值是基于预设同步周期确定的,因此在更新同步周期后,需要基于第一同步周期更新第一校准值以及第二校准值,使得在当前时间与主同步电路上一次发送同步信号的时间的差值满足第一同步周期的情况下,主同步电路的主计数值与主同步电路的第一校准值以及从同步电路的第二校准值相同。
示例性的,在从同步电路接收到同步信号并对主同步电路以及各从同步电路的同步周期更新为第一同步周期后,可以在主同步电路的当前第一校准值的基础上加上第一同步周期,作为更新后的第一校准值。相应的,可以在从同步电路的当前第二校准值的基础上加上第一同步周期,作为更新后的第二校准值。
本发明实施例中,通过基于更新后的第一同步周期更新第一校准值以及第二校准值,可以使得在后续定期进行时间同步的过程中,确保在当前时间与主同步电路上一次发送同步信号的时间的差值满足第一同步周期的情况下,主计数值与第一校准值以及第二校准值相同,以正常进行定期时间同步的流程。
可选地,本发明实施例可以包括以下步骤:
步骤1101、在所述主同步电路掉线的情况下,从各所述从同步电路中确定目标主同步电路。
本发明实施例中,在时钟同步系统运行过程中主同步电路掉线的情况下,需要在各从同步电路中重新指定一个新的主同步电路,即目标主同步电路。其中,主同步电路掉线的情况可以包括该主同步电路对应的处理器掉线导致主同步电路掉线或主同步电路自身异常导致掉线的情况。示例性的,时钟同步系统可以接收主从切换命令,基于主从切换命令指示的从同步电路,确定目标主同步电路。或者,时钟同步系统可以基于处理器的优先级,选择优先级较高的处理器对应的从同步电路作为目标主同步电路。或者,时钟同步系统可以随机指定一个从同步电路,作为目标主同步电路。可以理解的是,本发明实施例对如何基于从同步电路确定目标主同步电路的方式不做限制。
步骤1102、基于所述目标主同步电路的目标主计数值,校准各所述从同步电路对应的从计数值。
本发明实施例中,在重新确定新的目标主同步电路作为主同步电路的情况下,可以基于新确定的目标主同步电路的目标主计数值,再次更新校准各从同步电路的从计数值。具体的,可以基于目标主同步电路的目标主计数值,对各从同步电路进行目标校准操作。可以理解的是,对各从同步电路进行目标校准操作的步骤与步骤501类似,在此不再赘述。
本发明实施例中,在主同步电路掉电后,可以直接基于重新确定的目标主同步电路的目标主计数值,校准其它从同步电路的从计数值,相对于现有技术中系统运行过程中任一处理器掉线均需要在重启后对系统中全部计数模块再次同步进行热复位,对系统正在运行的进程产生影响,本方案在主同步电路掉线后,只需要重新确定一个目标主同步电路,再基于目标主计数值,校准从同步电路对应的从计数值,重启后可以在不影响其它处理器工作的情况下完成计数同步。这样,降低了在系统运行过程中出现异常情况时时间同步的难度,以及减轻因异常情况对系统运行造成的影响。
在一种可能的实施方式中,在时钟同步系统中任一从同步电路掉线的情况下,重启该从同步电路对应的处理器,从同步电路重新上线,可以基于主同步电路的主计数值,对该从同步电路进行目标校准操作。这样,同样无需对系统中全部计数模块再次同步进行热复位,不会影响主同步电路以及其他从同步电路对应的处理器的运行进程。
可选地,步骤1101可以包括以下步骤:
步骤1201、向目标从同步电路发送第二信号。
本发明实施例中,基于从同步电路确定一个目标从同步电路,该目标从同步电路当前对应的同步电路的状态为从同步电路,若需要切换该目标从同步电路的同步电路状态,可以向该目标从同步电路发送第二信号,该第二信号可以为APB写信号,第二信号携带有第二地址以及第一标识,其中,第二地址为主从切换单元中的第二寄存器对应的寄存器地址,第一标识为用于表征第二寄存器对应的同步电路的状态为主同步电路的标识。
步骤1202、响应于所述第二信号,所述目标从同步电路基于所述第二信号携带的第二地址,确定第二寄存器。
本发明实施例,目标从同步电路在接收到第二信号的情况下,解析第二信号携带的第一地址,确定主从切换单元中的第二寄存器。
步骤1203、将所述第二信号携带的第一标识写入所述第二寄存器;所述第一标识用于表征所述第二寄存器对应的同步电路的状态为主同步电路。
本发明实施例中,将第二信号携带的第一标识写入第二寄存器,以使得该目标从同步电路的同步电路状态由从同步电路(Slave)切换为主同步电路(Master)。
本发明实施例中,通过第二信号,快速切换同步电路的主从状态,提高了时钟同步系统的异常响应能力,快速处置异常状态。
可选地,本发明实施例还可以包括以下步骤:
步骤1301、在对任一所述从同步电路进行目标校准操作同时所述从同步电路接收到同步信号的情况下,基于所述主同步电路的主计数值,对所述从同步电路进行目标校准操作。
本发明实施例中,在对任一从同步电路进行目标校准操作的同时,该从同步电路接收到主同步电路发送的同步信号的情况下,此时优先对从同步电路进行目标校准操作,本次同步信号失效,即该从同步电路无需响应同步信号。具体的,可以直接基于主同步电路的主计数值,对从同步电路进行目标校准操作,以完成对从同步电路的时间同步校准。
可以理解的是,本发明实施例中,对从同步电路进行时间同步校准的方式包括基于同步信号进行定期时间同步校准以及对从同步电路进行目标校准操作以进行时间同步校准。具体的:基于同步信号进行定期时间同步校准的场景可以包括:在系统正常运行时,根据同步周期,在满足预设同步条件的情况下,周期性的对从同步电路进行时间同步校准。对从同步电路进行目标校准操作的场景可以包括:由于主同步电路以及从同步电路之间的上电延迟,可能存在从同步电路无法接收到主同步电路发出的前几个同步信号,因此,可以在各从同步电路上电完成后,基于主同步电路的主计数值,对各从同步电路进行目标校准操作;在接收到同步信号但从计数值与第二校准值的差值大于预设阈值的情况下,对从同步电路进行目标校准操作;在主同步电路掉线后,确定新的目标主同步电路后,对各从同步电路进行目标校准操作;在任一从同步电路掉线且该从同步电路重新上线后,对该从同步电路进行目标校准操作等。
图5是本发明实施例提供的一种时钟同步装置的结构示意图,如图5所示,应用于时钟同步系统,所述时钟同步系统包括至少两个时钟同步电路,所述至少两个时钟同步电路包括主同步电路以及至少一个从同步电路,该装置具体可以包括:
第一发送模块1401,用于在满足预设同步条件的情况下,控制所述时钟同步系统中的主同步电路向所述时钟同步系统中的各从同步电路发送同步信号;所述预设同步条件包括所述主同步电路的主计数值与所述主同步电路的第一校准值相同;
第一校准模块1402,用于针对任一所述从同步电路,响应于所述主同步电路发送的同步信号,在所述从同步电路的从计数值与所述从同步电路的第二校准值的差值小于等于预设阈值的情况下,基于所述从同步电路中的第二校准值,校准所述从同步电路中的从计数值;所述第二校准值与所述第一校准值相同;
第一输出模块1403,用于在所述从计数值与所述第二校准值的差值大于所述预设阈值的情况下,输出告警信号。
本发明实施例提供了一种时钟同步装置,通过在满足预设同步条件的情况下,控制主同步电路向各从同步电路发送同步信号,并且将主同步电路的主计数值与第一校准值是否相同作为触发主同步电路发送同步信号的触发条件,可以使得时钟同步系统在每满足预设同步条件的情况下,都会向从同步电路发送同步信号,以进行主从时钟电路的时间同步。进一步地,针对任一从同步电路,响应于主同步电路发送的同步信号,基于从同步电路的从计数值与第二校准值的差值与预设阈值确定是否对从同步电路的从计数值进行校准。这样,在时钟同步系统运行的过程中,通过主同步电路多次向从同步电路发送同步信号,可以不断消除主同步电路与从同步电路以及各从同步电路之间计数值的误差,相应的,消除了各处理器之间累积的计数误差,确保了各处理器之间的时间同步性以及时间准确性。同时,相较于通过热复位的方式进行时间同步,各从同步电路在基于自身第二校准值校准从计数值之后,即完成了多处理器之间的时间同步,降低了时间同步的时间成本以及同步难度,一定程度上提高了时间同步的效率。并且,在对从同步电路的从计数值进行校准之前,先基于从同步电路从计数值与第二校准值的差值进行判断,再基于第二校准值校准从计数值,在确保从同步电路的计数机制的准确性的前提下,进一步校准从同步电路中的从计数值,由于第一校准值与第二校准值相同,使其与主同步电路的主计数值一致,确保了主计数值与从计数值的一致性。
可选地,第一校准模块1402可以包括:
第一确定模块,用于基于所述从同步电路的第二校准值以及所述主同步电路与所述从同步电路对应的第一延时时间,确定第一数值;
第一更新模块,用于基于所述第一数值,更新所述从同步电路的从计数值。
可选地,第一发送模块1401可以包括:
第一获取模块,用于在当前时间与所述主同步电路上一次发送同步信号的时间的差值满足预设同步周期的情况下,获取所述主同步电路的主计数值以及所述主同步电路的第一校准值;
第一发送子模块,用于在所述主计数值等于所述第一校准值的情况下,控制所述主同步电路向各所述从同步电路发送同步信号。
可选地,该装置具体还可以包括:
第二更新模块,用于基于预设同步周期,更新所述主同步电路中的第一校准值以及所述从同步电路中的第二校准值。
可选地,该装置具体还可以包括:
第二校准模块,用于在所述从计数值与所述第二校准值的差值大于所述预设阈值的情况下,基于所述主同步电路的主计数值,对所述从同步电路进行目标校准操作。
可选地,第二校准模块包括:
第一读写模块,读取所述主同步电路对应的主计数值,将所述主计数值写入所述从同步电路中的缓冲寄存器;
第二确定模块,用于基于所述主计数值以及目标等待周期,确定第二数值并将所述第二数值写入所述从同步电路中的校准寄存器;所述目标等待周期是基于预设等待周期确定的;
第三校准模块,用于在所述主同步电路对应的主计数值与所述第二数值相同的情况下,基于所述第二数值,对所述从同步电路对应的从计数值进行校准。
可选地,第三校准模块包括:
第二发送子模块,用于控制所述主同步电路向所述从同步电路发送片间信号;
第三更新模块,用于在所述从同步电路接收到所述片间信号的情况下,基于所述第二数值,更新所述从同步电路对应的从计数值。
可选地,第二确定模块包括:
第三确定模块,用于基于所述缓冲寄存器中的主计数值,按照目标规则确定第一计数值;
第四确定模块,用于基于所述目标等待周期以及所述第一计数值,确定所述第二数值。
可选地,该装置具体还可以包括:
第四更新模块,用于基于预设同步周期,更新所述主同步电路中的第一校准值以及所述从同步电路中的第二校准值。
可选地,该装置具体还可以包括:
第四校准模块,用于在所述从同步电路接收到同步信号的情况下,当执行目标校准操作后的从同步电路的当前从计数值与所述从同步电路的当前第二校准值的差值大于预设阈值时,重新执行所述基于所述主同步电路的主计数值,对所述从同步电路进行目标校准操作。
可选地,该装置具体还可以包括:
第五更新模块,用于在所述从同步电路接收到同步信号的情况下,若执行目标校准操作后的从同步电路的当前从计数值与所述从同步电路的当前第二校准值的差值大于预设阈值且对所述从同步电路执行所述目标校准操作的次数大于预设次数,更新所述主同步电路以及各所述从同步电路对应的预设同步周期。
可选地,第五更新模块包括:
第二发送模块,用于向所述主同步电路以及各所述从同步电路发送第一信号;
第五确定模块,用于针对所述主同步电路或任一所述从同步电路,响应于所述第一信号,基于所述第一信号携带的第一地址,确定第一寄存器;
第一写入模块,用于将所述第一信号携带的第一同步周期写入所述第一寄存器。
可选地,该装置具体还可以包括:
第六更新模块,用于基于所述第一同步周期,更新所述主同步电路对应的第一校准值以及各所述从同步电路对应的第二校准值。
可选地,该装置具体还可以包括:
第六确定模块,用于在所述主同步电路掉线的情况下,从各所述从同步电路中确定目标主同步电路;
第五校准模块,用于基于所述目标主同步电路的目标主计数值,校准各所述从同步电路对应的从计数值。
可选地,第六确定模块包括:
第三发送模块,用于向目标从同步电路发送第二信号;
第七确定模块,用于响应于所述第二信号,所述目标从同步电路基于所述第二信号携带的第二地址,确定第二寄存器;
第二写入模块,用于将所述第二信号携带的第一标识写入所述第二寄存器;所述第一标识用于表征所述第二寄存器对应的同步电路的状态为主同步电路。
可选地,该装置具体还可以包括:
第六校准模块,用于在对任一所述从同步电路进行目标校准操作同时所述从同步电路接收到同步信号的情况下,基于所述主同步电路的主计数值,对所述从同步电路进行目标校准操作。
本发明还提供了一种电子设备,参见图6,包括:处理器1501、存储器1502以及存储在所述存储器上并可在所述处理器上运行的计算机程序15021,所述处理器执行所述程序时实现前述实施例的时钟同步方法。
本发明还提供了一种可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行前述实施例的时钟同步方法。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明的排序设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
需要指出的是,本申请中所有获取信号、信息或数据的动作都是在遵照所在地国家相应的数据保护法规政策的前提下,并获得由相应装置所有者给予授权的情况下进行的。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (18)
1.一种时钟同步方法,其特征在于,应用于时钟同步系统,所述时钟同步系统包括至少两个时钟同步电路,所述至少两个时钟同步电路包括主同步电路以及至少一个从同步电路;所述方法包括:
在满足预设同步条件的情况下,控制所述时钟同步系统中的主同步电路向所述时钟同步系统中的各从同步电路发送同步信号;所述预设同步条件包括所述主同步电路的主计数值与所述主同步电路的第一校准值相同;
针对任一所述从同步电路,响应于所述主同步电路发送的同步信号,在所述从同步电路的从计数值与所述从同步电路的第二校准值的差值小于等于预设阈值的情况下,基于所述从同步电路中的第二校准值,校准所述从同步电路中的从计数值;所述第二校准值与所述第一校准值相同;
在所述从计数值与所述第二校准值的差值大于所述预设阈值的情况下,输出告警信号;
所述在满足预设同步条件的情况下,控制所述时钟同步系统中的主同步电路向所述时钟同步系统中的各从同步电路发送同步信号,包括:
在当前时间与所述主同步电路上一次发送同步信号的时间的差值满足预设同步周期的情况下,获取所述主同步电路的主计数值以及所述主同步电路的第一校准值;
在所述主计数值等于所述第一校准值的情况下,控制所述主同步电路向各所述从同步电路发送同步信号;
在所述基于所述从同步电路中的第二校准值,校准所述从同步电路中的从计数值之后,所述方法还包括:
基于预设同步周期,更新所述主同步电路中的第一校准值以及所述从同步电路中的第二校准值。
2.根据权利要求1所述的时钟同步方法,其特征在于,所述基于所述从同步电路中的第二校准值,校准所述从同步电路中的从计数值,包括:
基于所述从同步电路的第二校准值以及所述主同步电路与所述从同步电路对应的第一延时时间,确定第一数值;
基于所述第一数值,更新所述从同步电路的从计数值。
3.根据权利要求1所述的时钟同步方法,其特征在于,所述方法还包括:
在所述从计数值与所述第二校准值的差值大于所述预设阈值的情况下,基于所述主同步电路的主计数值,对所述从同步电路进行目标校准操作。
4.根据权利要求3所述的时钟同步方法,其特征在于,所述基于所述主同步电路的主计数值,对所述从同步电路进行目标校准操作,包括:
读取所述主同步电路对应的主计数值,将所述主计数值写入所述从同步电路中的缓冲寄存器;
基于所述主计数值以及目标等待周期,确定第二数值并将所述第二数值写入所述从同步电路中的校准寄存器;所述目标等待周期是基于预设等待周期确定的;
在所述主同步电路对应的主计数值与所述第二数值相同的情况下,基于所述第二数值,对所述从同步电路对应的从计数值进行校准。
5.根据权利要求4所述的时钟同步方法,其特征在于,所述基于所述第二数值,对所述从同步电路对应的从计数值进行校准,包括:
控制所述主同步电路向所述从同步电路发送片间信号;
在所述从同步电路接收到所述片间信号的情况下,基于所述第二数值,更新所述从同步电路对应的从计数值。
6.根据权利要求4所述的时钟同步方法,其特征在于,所述基于所述主计数值以及目标等待周期,确定第二数值,包括:
基于所述缓冲寄存器中的主计数值,按照目标规则确定第一计数值;
基于所述目标等待周期以及所述第一计数值,确定所述第二数值。
7.根据权利要求6所述的时钟同步方法,其特征在于,所述目标规则包括对所述主计数值向上取整使得所述第一计数值为预设同步周期的整数倍。
8.根据权利要求4所述的时钟同步方法,其特征在于,在所述基于所述第二数值,对所述从同步电路对应的从计数值进行校准之后,所述方法还包括:
基于预设同步周期,更新所述主同步电路中的第一校准值以及所述从同步电路中的第二校准值。
9.根据权利要求3所述的时钟同步方法,其特征在于,在所述基于所述主同步电路的主计数值,对所述从同步电路进行目标校准操作之后,所述方法还包括:
在所述从同步电路接收到同步信号的情况下,当执行目标校准操作后的从同步电路的当前从计数值与所述从同步电路的当前第二校准值的差值大于预设阈值时,重新执行所述基于所述主同步电路的主计数值,对所述从同步电路进行目标校准操作。
10.根据权利要求3所述的时钟同步方法,其特征在于,所述方法还包括:
在所述从同步电路接收到同步信号的情况下,若执行目标校准操作后的从同步电路的当前从计数值与所述从同步电路的当前第二校准值的差值大于预设阈值且对所述从同步电路执行所述目标校准操作的次数大于预设次数,更新所述主同步电路以及各所述从同步电路对应的预设同步周期。
11.根据权利要求10所述的时钟同步方法,其特征在于,所述更新所述主同步电路以及各所述从同步电路对应的预设同步周期,包括:
向所述主同步电路以及各所述从同步电路发送第一信号;
针对所述主同步电路或任一所述从同步电路,响应于所述第一信号,基于所述第一信号携带的第一地址,确定第一寄存器;
将所述第一信号携带的第一同步周期写入所述第一寄存器。
12.根据权利要求11所述的时钟同步方法,其特征在于,所述方法还包括:
基于所述第一同步周期,更新所述主同步电路对应的第一校准值以及各所述从同步电路对应的第二校准值。
13.根据权利要求1所述的时钟同步方法,其特征在于,所述方法还包括:
在所述主同步电路掉线的情况下,从各所述从同步电路中确定目标主同步电路;
基于所述目标主同步电路的目标主计数值,校准各所述从同步电路对应的从计数值。
14.根据权利要求13所述的时钟同步方法,其特征在于,所述从各所述从同步电路中确定目标主同步电路,包括:
向目标从同步电路发送第二信号;
响应于所述第二信号,所述目标从同步电路基于所述第二信号携带的第二地址,确定第二寄存器;
将所述第二信号携带的第一标识写入所述第二寄存器;所述第一标识用于表征所述第二寄存器对应的同步电路的状态为主同步电路。
15.根据权利要求1所述的时钟同步方法,其特征在于,所述方法包括:
在对任一所述从同步电路进行目标校准操作同时所述从同步电路接收到同步信号的情况下,基于所述主同步电路的主计数值,对所述从同步电路进行目标校准操作。
16.一种时钟同步装置,其特征在于,应用于时钟同步系统,所述时钟同步系统包括至少两个时钟同步电路,所述至少两个时钟同步电路包括主同步电路以及至少一个从同步电路,所述装置包括:
第一发送模块,用于在满足预设同步条件的情况下,控制所述时钟同步系统中的主同步电路向所述时钟同步系统中的各从同步电路发送同步信号;所述预设同步条件包括所述主同步电路的主计数值与所述主同步电路的第一校准值相同;
第一校准模块,用于针对任一所述从同步电路,响应于所述主同步电路发送的同步信号,在所述从同步电路的从计数值与所述从同步电路的第二校准值的差值小于等于预设阈值的情况下,基于所述从同步电路中的第二校准值,校准所述从同步电路中的从计数值;所述第二校准值与所述第一校准值相同;
第一输出模块,用于在所述从计数值与所述第二校准值的差值大于所述预设阈值的情况下,输出告警信号;
所述装置还用于,在当前时间与所述主同步电路上一次发送同步信号的时间的差值满足预设同步周期的情况下,获取所述主同步电路的主计数值以及所述主同步电路的第一校准值;
在所述主计数值等于所述第一校准值的情况下,控制所述主同步电路向各所述从同步电路发送同步信号;
所述装置还用于,在所述基于所述从同步电路中的第二校准值,校准所述从同步电路中的从计数值之后,基于预设同步周期,更新所述主同步电路中的第一校准值以及所述从同步电路中的第二校准值。
17.一种电子设备,其特征在于,包括:
处理器、存储器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如权利要求1-15中任一所述的时钟同步方法。
18.一种可读存储介质,其特征在于,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行权利要求1-15中任一所述的时钟同步方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410612336.7A CN118192759B (zh) | 2024-05-17 | 2024-05-17 | 时钟同步方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410612336.7A CN118192759B (zh) | 2024-05-17 | 2024-05-17 | 时钟同步方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN118192759A CN118192759A (zh) | 2024-06-14 |
CN118192759B true CN118192759B (zh) | 2024-08-02 |
Family
ID=91405497
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410612336.7A Active CN118192759B (zh) | 2024-05-17 | 2024-05-17 | 时钟同步方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118192759B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109541553A (zh) * | 2018-11-28 | 2019-03-29 | 四川九洲电器集团有限责任公司 | 一种同步时钟反馈电路 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3523238B2 (ja) * | 2002-03-13 | 2004-04-26 | 沖電気工業株式会社 | 音声データ同期補正回路 |
JP4313715B2 (ja) * | 2004-04-01 | 2009-08-12 | Okiセミコンダクタ株式会社 | 同期確立回路および同期確立方法 |
US9292036B2 (en) * | 2013-05-24 | 2016-03-22 | Arm Limited | Data processing apparatus and method for communicating between a master device and an asynchronous slave device via an interface |
CN109425844B (zh) * | 2017-08-30 | 2022-01-18 | 北京智云芯科技有限公司 | 一种数据采样的校准方法和系统 |
CN108415752A (zh) * | 2018-03-12 | 2018-08-17 | 广东欧珀移动通信有限公司 | 用户界面显示方法、装置、设备及存储介质 |
CN109460169A (zh) * | 2018-10-16 | 2019-03-12 | 北京新界教育科技有限公司 | 窗口显示的方法及装置 |
CN110147192A (zh) * | 2019-04-25 | 2019-08-20 | Oppo广东移动通信有限公司 | 界面操作方法、装置、电子设备及存储介质 |
CN113098646B (zh) * | 2020-01-08 | 2022-08-05 | 大唐移动通信设备有限公司 | 一种时间同步方法、装置、电子设备及存储介质 |
CN112115079B (zh) * | 2020-08-19 | 2022-07-26 | 苏州伟创电气科技股份有限公司 | 总线周期同步的方法和系统 |
CN112637031B (zh) * | 2021-01-06 | 2022-06-17 | 广东博智林机器人有限公司 | 从站控制周期的校准方法、校准装置和驱动控制系统 |
CN113260129B (zh) * | 2021-07-06 | 2021-11-12 | 珠海市杰理科技股份有限公司 | 同步闪灯控制方法、装置、系统和存储介质 |
CN114499732B (zh) * | 2022-02-09 | 2023-11-17 | 中央广播电视总台 | 一种时钟校准方法、装置、计算机设备及可读存储介质 |
-
2024
- 2024-05-17 CN CN202410612336.7A patent/CN118192759B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109541553A (zh) * | 2018-11-28 | 2019-03-29 | 四川九洲电器集团有限责任公司 | 一种同步时钟反馈电路 |
Also Published As
Publication number | Publication date |
---|---|
CN118192759A (zh) | 2024-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11256651B2 (en) | Multiple master, multi-slave serial peripheral interface | |
JP5829890B2 (ja) | 半導体データ処理装置、タイムトリガ通信システム及び通信システム | |
US9514070B2 (en) | Debug control circuit | |
CN110399034B (zh) | 一种SoC系统的功耗优化方法及终端 | |
CN114416435A (zh) | 一种微处理器架构及微处理器故障检测方法 | |
US11204799B2 (en) | Semiconductor device and systems using the same | |
KR100606946B1 (ko) | 마이크로 컴퓨터의 로직 개발 장치 | |
US20070098022A1 (en) | Multi-processor apparatus and control method therefor | |
CN116302141B (zh) | 串口切换方法、芯片及串口切换系统 | |
CN117270630A (zh) | 片上系统及其时间戳捕获方法、装置及存储介质 | |
JP2006512634A (ja) | 同期または非同期にクロック制御される処理ユニットを同期化する方法および回路装置 | |
CN118192759B (zh) | 时钟同步方法、装置、设备及存储介质 | |
CN109284176B (zh) | 中断响应方法、装置及计算机可读存储介质 | |
US20140181496A1 (en) | Method, Apparatus and Processor for Reading Bios | |
JP2016206891A (ja) | アクセス遮断回路、半導体集積回路およびアクセス遮断方法 | |
US20050120358A1 (en) | Event notifying method, device and processor system | |
US20140137126A1 (en) | Technique for Task Sequence Execution | |
US7761280B2 (en) | Data processing apparatus simulation by generating anticipated timing information for bus data transfers | |
CN102508738B (zh) | 一种多核处理器业务信息的备份方法、内核和备份内核 | |
US7480812B2 (en) | Microprocessor | |
US6112272A (en) | Non-invasive bus master back-off circuit and method for systems having a plurality of bus masters | |
CN115658601A (zh) | 多核处理器系统及其控制方法 | |
EP3428799B1 (en) | Data access device and access error notification method | |
US9411758B2 (en) | Semiconductor device | |
CN117149471B (zh) | 通信方法、装置、嵌入式系统、存储介质以及电子设备 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |