CN115622654B - 一种时钟同步方法、根节点、子节点及菊花链芯片系统 - Google Patents

一种时钟同步方法、根节点、子节点及菊花链芯片系统 Download PDF

Info

Publication number
CN115622654B
CN115622654B CN202211588005.1A CN202211588005A CN115622654B CN 115622654 B CN115622654 B CN 115622654B CN 202211588005 A CN202211588005 A CN 202211588005A CN 115622654 B CN115622654 B CN 115622654B
Authority
CN
China
Prior art keywords
time
node
broadcast
root node
child
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
CN202211588005.1A
Other languages
English (en)
Other versions
CN115622654A (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.)
Nanjing Semidrive Technology Co Ltd
Original Assignee
Nanjing Semidrive 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 Nanjing Semidrive Technology Co Ltd filed Critical Nanjing Semidrive Technology Co Ltd
Priority to CN202211588005.1A priority Critical patent/CN115622654B/zh
Publication of CN115622654A publication Critical patent/CN115622654A/zh
Application granted granted Critical
Publication of CN115622654B publication Critical patent/CN115622654B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0682Clock or time synchronisation in a network by delay compensation, e.g. by compensation of propagation delay or variations thereof, by ranging
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0638Clock or time synchronisation among nodes; Internode synchronisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

本申请提供了一种时钟同步方法、根节点、子节点及菊花链芯片系统,方法应用于菊花链芯片系统的根节点方法包括:沿指定环路对多个子节点进行节点间的传输延迟检测,确定节点间的传输延迟时间,基于传输延迟时间使每一个子节点加载对应的初始值并启动计时;沿指定环路发送第一同步广播至每一个子节点,第一同步广播携带有第一同步广播的第一发送时间,使每一个子节点记录第一同步广播的第一发送时间及第一接收时间;沿指定环路发送第二同步广播至每一个子节点,第二同步广播携带有第二同步广播的第二发送时间,使每一个子节点根据第一发送时间、第一接收时间、第二发送时间和第二接收时间对每一个子节点的时间步调进行校准。

Description

一种时钟同步方法、根节点、子节点及菊花链芯片系统
技术领域
本申请涉及芯片处理技术领域,尤其涉及一种时钟同步方法、根节点、子节点及菊花链芯片系统。
背景技术
对于多芯片、多设备的电子系统来说,由于不同芯片的设计方式不同、生产厂家不同、时钟装置不同、设备的时钟的漂移等多种原因,在芯片系统使用时,不同芯片或设备的会存在一定的时间差值,且随着时间的累积,时间差值会被累计,多芯片、多设备之间的时间差值会对电子系统的协同任务造成危害,影响协同任务的执行。
发明内容
本申请提供了一种时钟同步方法、根节点、子节点及菊花链芯片系统,以至少解决现有技术中存在的以上技术问题。
根据本申请实施例的第一方面,提供了一种时钟同步方法,所述方法应用于菊花链芯片系统的根节点,所述根节点沿指定环路连接有多个子节点,所述方法包括:沿所述指定环路对所述多个子节点进行节点间的传输延迟检测,确定节点间的传输延迟时间,基于所述传输延迟时间使每一个子节点加载对应的初始值并启动计时;沿所述指定环路发送第一同步广播至所述每一个子节点,所述第一同步广播携带有所述第一同步广播的第一发送时间,使每一个子节点记录所述第一同步广播的第一发送时间及第一接收时间;沿所述指定环路发送第二同步广播至所述每一个子节点,所述第二同步广播携带有所述第二同步广播的第二发送时间,使每一个子节点记录所述第二同步广播的第二发送时间及第二接收时间,并根据所述第一发送时间、第一接收时间、第二发送时间和第二接收时间对所述每一个子节点的时间步调进行校准。
在一可实施方式中,所述沿所述指定环路对所述多个子节点进行节点间的传输延迟检测,确定节点间的传输延迟时间,包括:沿所述指定环路发送第一配置广播至每一个子节点,使所述根节点和所述子节点在获取所述第一配置广播时进行计时;指示任一子节点沿所述指定环路发送第二配置广播至其他所述子节点和所述根节点,使所述根节点和所述子节点在获取所述第二配置广播时停止计时;获取所述根节点对应的第一计时区间和其中一个所述子节点对应的第二计时区间;基于所述第一计时区间和所述第二计时区间确定节点传输延迟时间。
在一可实施方式中,基于所述传输延迟时间使每一个子节点加载对应的初始值并启动计时,包括:沿所述指定环路发送第三配置广播至子节点,使所述子节点依次基于所述传输延迟时间加载对应的初始值;沿所述指定环路发送第四配置广播至所述子节点,使所述子节点依次基于所述初始值启动计时。
在一可实施方式中,所述沿所述指定环路发送第二同步广播至所述每一个子节点,包括:根据当前计时时间和第一发送时间确定第三计时区间;当所述第三计时区间满足计时区间阈值的情况下,沿所述指定环路发送第二同步广播至所述每一个子节点。
在一可实施方式中,所述根据所述第一发送时间、第一接收时间、第二发送时间和第二接收时间对所述每一个子节点的时间步调进行校准,包括:根据所述第一发送时间、第一接收时间、第二发送时间和第二接收时间确定对应所述子节点与所述根节点的时钟周期比值;根据所述时钟周期比值对所述子节点的时间步调进行校准。
在一可实施方式中,所述方法还包括:当所述根节点的时间发生校正的情况下,沿所述指定环路发送第三同步广播至所述每一个子节点,所述第三同步广播携带有所述第三同步广播的第三发送时间;指示所述子节点根据所述时钟周期比值、所述第三发送时间和所述传输延迟时间确定补正值,并根据补正值对所述子节点的时间步调进行校准。
根据本申请实施例的第二方面,提供了一种时钟同步方法,所述方法应用于菊花链芯片系统的子节点,所述子节点沿指定环路连接至根节点,所述方法包括:沿所述指定环路获取来自所述根节点的传输延迟检测,确定节点间的传输延迟时间;根据所述根节点的指示,基于所述传输延迟时间加载对应的初始值并启动计时;沿所述指定环路接收来自所述根节点的第一同步广播,所述第一同步广播携带有所述第一同步广播的第一发送时间,记录所述第一同步广播的第一发送时间及第一接收时间;沿所述指定环路接收来自所述根节点的第二同步广播,所述第二同步广播携带有所述第二同步广播的第二发送时间,记录所述第二同步广播的第二发送时间及第二接收时间;根据所述第一发送时间、第一接收时间、第二发送时间及第二接收时间对时间步调进行校准。
根据本申请实施例的第三方面,提供了一种根节点,所述根节点为菊花链芯片系统的根节点,所述根节点沿指定环路连接有多个子节点,所述根节点包括:检测模块,用于沿所述指定环路对所述多个子节点进行节点间的传输延迟检测,确定节点间的传输延迟时间,基于所述传输延迟时间使每一个子节点加载对应的初始值并启动计时;发送模块,用于沿所述指定环路发送第一同步广播至所述每一个子节点,所述第一同步广播携带有所述第一同步广播的第一发送时间,使每一个子节点记录所述第一同步广播的第一发送时间及第一接收时间;所述发送模块,还用于沿所述指定环路发送第二同步广播至所述每一个子节点,所述第二同步广播携带有所述第二同步广播的第二发送时间,使每一个子节点记录所述第二同步广播的第二发送时间及第二接收时间,并根据所述第一发送时间、第一接收时间、第二发送时间和第二接收时间对所述每一个子节点的时间步调进行校准。
在一可实施方式中,所述检测模块,包括:发送子模块,用于沿所述指定环路发送第一配置广播至每一个子节点,使所述根节点和所述子节点在获取所述第一配置广播时进行计时;指示子模块,用于指示任一子节点沿所述指定环路发送第二配置广播至其他所述子节点和所述根节点,使所述根节点和所述子节点在获取所述第二配置广播时停止计时;获取子模块,用于获取所述根节点对应的第一计时区间和其中一个所述子节点对应的第二计时区间;确定子模块,用于基于所述第一计时区间和所述第二计时区间确定节点传输延迟时间。
在一可实施方式中,所述指示子模块,还用于沿所述指定环路发送第三配置广播至子节点,使所述其他子节点依次基于所述传输延迟时间加载对应的初始值;所述指示子模块,还用于沿所述指定环路发送第四配置广播至所述子节点,使所述其他子节点依次基于所述初始值启动计时。
在一可实施方式中,所述发送模块,还用于根据当前计时时间和第一发送时间确定第三计时区间;当所述第三计时区间满足计时区间阈值的情况下,沿所述指定环路发送第二同步广播至所述每一个子节点。
在一可实施方式中,所述发送模块,还用于根据所述第一发送时间、第一接收时间、第二发送时间和第二接收时间确定对应所述子节点与所述根节点的时钟周期比值;根据所述时钟周期比值对所述子节点的时间步调进行校准。
在一可实施方式中,所述发送模块,还用于当所述根节点的时间发生校正的情况下,沿所述指定环路发送第三同步广播至所述每一个子节点,所述第三同步广播携带有所述第三同步广播的第三发送时间;所述根节点还包括:校准模块,用于指示所述子节点根据所述时钟周期比值、所述第三发送时间和所述传输延迟时间确定补正值,并根据补正值对所述子节点的时间步调进行校准。
根据本申请的第四方面,提供了一种子节点,所述子节点为菊花链芯片系统的子节点,所述子节点沿指定环路连接至根节点,所述子节点包括:确定模块,用于沿所述指定环路获取来自所述根节点的传输延迟检测,确定节点间的传输延迟时间;计时模块,用于根据所述根节点的指示,基于所述传输延迟时间加载对应的初始值并启动计时;记录模块,用于沿所述指定环路接收来自所述根节点的第一同步广播,所述第一同步广播携带有所述第一同步广播的第一发送时间,记录所述第一同步广播的第一发送时间及第一接收时间;所述记录模块,还用于沿所述指定环路接收来自所述根节点的第二同步广播,所述第二同步广播携带有所述第二同步广播的第二发送时间,记录所述第二同步广播的第二发送时间及第二接收时间;校准模块,用于根据所述第一发送时间、第一接收时间、第二发送时间及第二接收时间对时间步调进行校准。
根据本申请实施例的第五方面,提供了一种菊花链芯片系统,所述系统包括多个链路串联的根节点,所述根节点沿指定环路连接有多个子节点;所述根节点包括:检测模块,用于沿所述指定环路对所述多个子节点进行节点间的传输延迟检测,确定节点间的传输延迟时间,基于所述传输延迟时间使每一个子节点加载对应的初始值并启动计时;发送模块,用于沿所述指定环路发送第一同步广播至所述每一个子节点,所述第一同步广播携带有所述第一同步广播的第一发送时间,使每一个子节点记录所述第一同步广播的第一发送时间及第一接收时间;所述发送模块,还用于沿所述指定环路发送第二同步广播至所述每一个子节点,所述第二同步广播携带有所述第二同步广播的第二发送时间,使每一个子节点记录所述第二同步广播的第二发送时间及第二接收时间,并根据所述第一发送时间、第一接收时间、第二发送时间和第二接收时间对所述每一个子节点的时间步调进行校准;所述子节点包括:确定模块,用于沿所述指定环路获取来自所述根节点的传输延迟检测,确定节点间的传输延迟时间;计时模块,用于根据所述根节点的指示,基于所述传输延迟时间加载对应的初始值并启动计时;记录模块,用于沿所述指定环路接收来自所述根节点的第一同步广播,所述第一同步广播携带有所述第一同步广播的第一发送时间,记录所述第一同步广播的第一发送时间及第一接收时间;所述记录模块,还用于沿所述指定环路接收来自所述根节点的第二同步广播,所述第二同步广播携带有所述第二同步广播的第二发送时间,记录所述第二同步广播的第二发送时间及第二接收时间;校准模块,用于根据所述第一发送时间、第一接收时间、第二发送时间及第二接收时间对时间步调进行校准。
在一可实施方式中,所述检测模块,包括:发送子模块,用于沿所述指定环路发送第一配置广播至每一个子节点,使所述根节点和所述子节点在获取所述第一配置广播时进行计时;指示子模块,用于指示任一子节点沿所述指定环路发送第二配置广播至其他所述子节点和所述根节点,使所述根节点和所述子节点在获取所述第二配置广播时停止计时;获取子模块,用于获取所述根节点对应的第一计时区间和其中一个所述子节点对应的第二计时区间;确定子模块,用于基于所述第一计时区间和所述第二计时区间确定节点传输延迟时间。
在一可实施方式中,所述指示子模块,还用于沿所述指定环路发送第三配置广播至子节点,使所述其他子节点依次基于所述传输延迟时间加载对应的初始值;所述指示子模块,还用于沿所述指定环路发送第四配置广播至所述子节点,使所述其他子节点依次基于所述初始值启动计时。
在一可实施方式中,所述发送模块,还用于根据当前计时时间和第一发送时间确定第三计时区间;当所述第三计时区间满足计时区间阈值的情况下,沿所述指定环路发送第二同步广播至所述每一个子节点。
在一可实施方式中,所述发送模块,还用于根据所述第一发送时间、第一接收时间、第二发送时间和第二接收时间确定对应所述子节点与所述根节点的时钟周期比值;根据所述时钟周期比值对所述子节点的时间步调进行校准。
在一可实施方式中,所述发送模块,还用于当所述根节点的时间发生校正的情况下,沿所述指定环路发送第三同步广播至所述每一个子节点,所述第三同步广播携带有所述第三同步广播的第三发送时间;所述根节点还包括:校准模块,用于指示所述子节点根据所述时钟周期比值、所述第三发送时间和所述传输延迟时间确定补正值,并根据补正值对所述子节点的时间步调进行校准。
根据本申请实施例的第六方面,提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的广播,所述广播被所述至少一个处理器执行,以使所述至少一个处理器能够执行本申请所述的方法。
根据本申请的第七方面,提供了一种存储有计算机广播的非瞬时计算机可读存储介质,所述计算机广播用于使所述计算机执行本申请所述的方法。
本申请实施例提供的一种时钟同步方法,根节点利用指定环路对多个子节点进行节点间的传输延迟检测,根据检测获得的传输延迟时间加载各子节点的初始值,实现节点间时间同步的目的;由根节点指示指定环路中所有子节点根据第一同步广播和第二同步广播进行计时,获取根节点对应的第一发送时间和第二发送时间,以及子节点对应的第一接收时间和第二接收时间,进行时间步调的校准,如此操作使所有子节点能够以根节点的时间为依据,以数字逻辑的方式进行自适应调整,从而在随后的时间里与根节点保持相同的时间及时间步调。
应当理解,本部分所描述的内容并非旨在标识本申请的实施例的关键或重要特征,也不用于限制本申请的范围。本申请的其它特征将通过以下的说明书而变得容易理解。
附图说明
通过参考附图阅读下文的详细描述,本申请示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本申请的若干实施方式,其中:
在附图中,相同或对应的标号表示相同或对应的部分。
图1示出了本申请第一实施例一种时钟同步方法的实现流程示意图;
图2a示出了本申请第一实施例一种时钟同步方法的菊花链式芯片系统示意图;
图2b示出了本申请第二实施例一种时钟同步方法的菊花链式芯片系统示意图;
图2c示出了本申请第三实施例一种时钟同步方法的菊花链式芯片系统示意图;
图3示出了本申请第二实施例一种时钟同步方法的实现流程示意图;
图4示出了本申请实施例一种时钟同步方法的应用场景示意图一;
图5示出了本申请实施例一种时钟同步方法的应用场景示意图二;
图6示出了本申请实施例一种根节点的实现模块示意图;
图7示出了本申请实施例一种子节点的实现模块示意图;
图8示出了本申请实施例一种菊花链芯片系统的实现模块示意图;
图9示出了本申请实施例一种电子设备的组成结构示意图。
具体实施方式
为使本申请的目的、特征、优点能够更加的明显和易懂,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而非全部实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1示出了本申请第一实施例一种时钟同步方法的实现流程示意图。
参见图1,根据本申请实施例的第一方面,提供了一种时钟同步方法,方法应用于菊花链芯片系统的根节点,根节点沿指定环路连接有多个子节点,方法包括:操作101,沿指定环路对多个子节点进行节点间的传输延迟检测,确定节点间的传输延迟时间,基于传输延迟时间使每一个子节点加载对应的初始值并启动计时;操作102,沿指定环路发送第一同步广播至每一个子节点,第一同步广播携带有第一同步广播的第一发送时间,使每一个子节点记录第一同步广播的第一发送时间及第一接收时间;操作103,沿指定环路发送第二同步广播至每一个子节点,第二同步广播携带有第二同步广播的第二发送时间,使每一个子节点记录第二同步广播的第二发送时间及第二接收时间,并根据第一发送时间、第一接收时间、第二发送时间和第二接收时间对每一个子节点的时间步调进行校准。
本申请实施例提供的一种时钟同步方法,根节点利用指定环路对多个子节点进行节点间的传输延迟检测,根据检测获得的传输延迟时间加载各子节点的初始值,实现节点间时间同步的目的;在各子节点进行计时后,由根节点指示指定环路中所有子节点根据第一同步广播和第二同步广播进行计时,获取根节点对应的第一发送时间和第二发送时间,以及子节点对应的第一接收时间和第二接收时间,利用第一发送时间、第一接收时间、第二发送时间和第二接收时间使子节点根据根节点进行时间步调的校准,如此操作,能够把根节点的时间传递到其他子节点,使所有子节点能够以根节点的时间为依据,以数字逻辑的方式进行自适应调整,从而在随后的时间里与根节点保持相同的时间及时间步调。
本申请实施例提供的时钟同步方法适用于多芯片、多设备的电子系统。可以应用于多个芯片首尾串联成环的电子系统、多个设备首尾串联成环、多个芯片和多个设备组合首尾串联成环中的任一种。如菊花链芯片系统及类似菊花链式芯片系统的根节点。菊花链芯片系统如图2a、图2b和图2c所示,分别为三种本申请实施例指代的菊花链式芯片系统及类似菊花链式芯片系统。
在图2a所示的芯片系统中,chip0为根节点,chip1至chip4为子节点。在图2b所示的芯片系统中,chip0和chip5为根节点,chip1至chip4为对应chip0的子节点、chip6至chip9为对应chip5的子节点。图2c所示的芯片系统中,chip0、chip5、chip10和chip15为根节点,chip1至chip4为对应chip0的子节点、chip6至chip9为对应chip5的子节点、chip11至chip14为对应chip10的子节点、chip16至chip19为对应chip15的子节点。
即,本申请所指代的菊花链式芯片系统中,可以存在多个环路,每个环路具有一个根节点和对应的子节点,环路之间可以采用任意连接方式进行连接。环路之间的连接方式包括但不限于链式、环式、星式等。以下不做赘述。
其中,每个节点都设有定时器,该定时器设计为一个带小数的计数器,每个时钟节拍可按照本身时钟周期,与根节点时钟周期的比率计数,及两组捕获寄存器。
以下以其中一个环路为具体实施场景进行说明。
在本方法操作101中,根节点沿指定环路对多个子节点进行节点间的传输延迟检测。可以由根节点沿指定环路发送用于传输延迟检测对应的广播至每一个子节点,令子节点依次触发对应的动作,从而确定节点间的传输延迟时间。基于传输延迟时间使每一个子节点加载对应的初始值,从而使每一个子节点与根节点实现时间上的同步,并使子节点基于加载的初始值进行计时。
其中,指定环路用于指代连接根节点和子节点形成的环路,且指定环路上的传输方向为单向传输。传输延迟时间是由于两节点之间进行信息传输造成的延时,例如,假设chip0发出的广播从chip0传递到chip1需要花费的时间T1。chip0在时间0发出计时广播至chip1,并启动计时,计时广播到达chip1时,chip0的计时为T1,而此时chip1启动计时;以此类推,当计时广播到达chip2时,chip0计时为2T1,chip1计时为T1,chip2启动计时。本申请实施例可以通过传输延迟检测确定两个节点之间由于传输造成的延时时间。利用传输延迟时间使每一个子节点加载对应的初始值,实现每一个子节点与根节点在时间上的同步。
在此基础上,使每一个子节点基于加载的初始值进行计时,以用于在操作102和操作103时对子节点进行时间步调上的校准。其中,时间步调用于指代节点的计时读数为一时钟周期时,实际花费的时间。例如,在chip1上,其节点的计时读数为一时钟周期,实际花费时间为1单位时间,而在chip2上,其节点的计时读数为一时钟周期,实际花费时间为0.99单位时间。节点间的时间步调的不一致会导致原本节点时间同步的电子系统中,节点时间随着时间积累变得越来越不一致。
通过操作102和操作103中,可以通过对每一个子节点进行时间步调的校准,使每一个子节点的时间步调与根节点的时间步调保持一致。可以由根节点先沿指定环路发送携带有第一发送时间的第一同步广播至指定环路上的每一个子节点,令每一个子节点在接收到第一同步广播时,记录根节点的第一发送时间及自身的第一接收时间。
等待一段时间后,根节点再沿指定环路发送携带有第二发送时间的第二同步广播至指定环路上的每一个子节点,令每一个子节点在接收到第二同步广播时,记录第二发送时间及自身的第二接收时间。
根据根节点对应的第一发送时间和第二发送时间,可以确定根节点在发送第一同步广播和第二同步广播之间计时读数的区间,根据子节点对应的第一接收时间和第二接收时间,可以确定子节点在接收第一同步广播和第二同步广播之间计时读数的区间,通过将根节点的计时读数区间与子节点的计时读数区间进行比较,从而可以确定根节点和子节点之间的时间步调比值,利用时间步调比值可以对子节点的时间步调进行校准,使子节点的时间步调与根节点的时间步调保持一致。
通过本申请实施例提供的方法,不仅能够使根节点和子节点的时间同步,还能够使根节点和子节点的时间步调同步,从而能够使根节点和子节点的时间在后续的一段时间里始终保持同步。有利于保证根节点和子节点之间的同时性和同步性,从而保证根节点和子节点在执行协同工作时,协同工作具有良好的执行质量。
在一可实施方式中,操作101,沿指定环路对多个子节点进行节点间的传输延迟检测,确定节点间的传输延迟时间,包括:首先,沿指定环路发送第一配置广播至每一个子节点,使根节点和子节点在获取第一配置广播时进行计时;然后,指示任一子节点沿指定环路发送第二配置广播至其他子节点和根节点,使根节点和子节点在获取第二配置广播时停止计时;再后,获取根节点对应的第一计时区间和其中一个子节点对应的第二计时区间;基于第一计时区间和第二计时区间确定节点间的传输延迟时间。
本申请实施例对多个子节点的传输延迟时间的具体操作为:
首先,由根节点的定时器启动计时工作,并沿指定环路的传输方向发送第一配置广播至指定环路上的每一个子节点,第一配置广播用于指示接收到第一配置广播的子节点的定时器启动计时工作。
然后,根节点指示任一子节点沿指定环路的传输方向发送第二配置广播至其他子节点和根节点,第二配置广播用于指示接到第二配置广播的子节点和根节点的定时器停止计时工作。其中,根节点指示的任一子节点可以预先指定,也可以随机选取或投票选取。在另一种实施场景中,任一子节点可以预先设置,其在接收到第一配置广播时,生成对应的第二配置广播,无需根节点进行指示。如此操作,那个使根节点和子节点的计时时间出现由传输延迟导致的差值,可利用该差值计算传输延迟时间。
例如,以图2a的场景为例,根节点为chip0,子节点为chip1、chip2、chip3和chip4,chip0发送第一配置广播至子节点 chip1、chip2、chip3和chip4;当chip4接收第一配置广播的时刻,每个节点的计时时间为:chip0计时时间4t、chip1计时时间3t、chip2计时时间2t、chip3计时时间1t、chip4计时时间0;
在根节点发送第一配置广播之后,指示节点chip1发送第二配置广播;chip1生成第二配置广播,首先暂停自己计时,此时刻不妨记为ΔT+3t,其中ΔT为从环路中所有节点定时器启动到chip1被暂停计数花费的时间,并沿指定路径发送第二配置广播至所有子节点和根节点。对应的,每个节点的暂停时间读数将为:chip0计时时间ΔT+8t、chip1计时时间ΔT+3t、chip2计时时间ΔT+3t、chip3计时时间ΔT+3t、chip4计时时间ΔT+3t、chip5计时时间ΔT+3t。
再后,根节点通过读取自身的计时时间和任一子节点的计时时间,结合节点总数量,可以确定节点间的传输延迟时间。
具体公式如下:
其中,用于表征节点间的传输延迟时间;用于表征根节 点的计时时间;用于表征第N个子节点的计时时间;用于表征第个子节 点。
代入图2a的实施场景,可得公式:
节点间的传输延迟时间,得到节点间的传输延迟 时间为t。
利用传输延迟时间令子节点加载对应的初始值,实现子节点与根节点在时间上的校准同步。
在一可实施方式中,操作101,基于传输延迟时间使每一个子节点加载对应的初始值并启动计时,包括:首先,沿指定环路发送第三配置广播至子节点,使其他子节点依次基于传输延迟时间加载对应的初始值;然后,沿指定环路发送第四配置广播至子节点,使其他子节点依次基于初始值启动计时。
在获取节点间的传输延迟时间之后,根节点可以按照子节点在指定环路中的位置和传输延迟时间确定每个子节点对应的传输延迟时间,例如,在图2a的的实施场景中,chip1与chip0的传输延迟时间为t,chip2与chip0的传输延迟时间为2t…以下不做赘述。根节点指示沿指定环路指示每一个子节点通过对应的传输延迟时间,加载以根节点时间为基准的初始值,以实现子节点与根节点的在时间上的同步。
接着,根节点启动定时器的计时,发送第四配置广播,第四配置广播用于指示获取第四配置广播的节点启动定时器进行计时。具体的,第三配置广播和第四配置广播之间的间隔时间本申请不做限定。在一种具体实施情况下,根节点可以在所有子节点加载初始值之后,发送第四配置广播,以对子节点和根节点的时间步调进行同步校准。
在一可实施方式中,操作103,沿指定环路发送第二同步广播至每一个子节点,包括:首先,根据当前计时时间和第一发送时间确定第三计时区间;然后,当第三计时区间满足计时区间阈值的情况下,沿指定环路发送第二同步广播至每一个子节点。
在发送第四配置广播后,根节点和子节点的定时器均启动计时。当预定的时间同步条件满足时,根节点执行操作102,沿指定环路发送第一同步广播至每一个子节点。其中,第一同步广播可以包含sync type0命令包,sync type0命令包携带有根节点发出第一同步广播的时间,即第一发送时间;其中,第一发送时间可以只包含定时器的整数时间,也可以即包含整数时间又包含小数时间。各子节点上的捕获寄存器捕获在接收第一同步广播的同时第一接收时间,并记录第一发送时间和第一接收时间。
在操作103中,根节点发送第一同步广播的同时启动计时,对定时器的计时时间进行监控,以确定第三计时区间,第三计时区间用于指代从根节点第一发送时间至当前计时时间的区间时间。等待至第三计时区间满足计时区间阈值之后,沿指定环路发送第二同步广播至每一个子节点。
具体地,第三计时区间可以基于子节点定时时间与根节点定时时间的读数偏差值来确定。可按照两个目标基于第三计时区间对读数偏差进行自适应调整。其中,目标一为:使最小时间间隔内,子节点与根节点的定时偏差值不超过预期值;目标二:使最大时间间隔内,子节点与根节点的定时偏差不超过预期值。
举例来说,假设最小时间间隔为1秒,最大时间间隔为8小时,预期值为1毫秒。预期每秒时间内任一子节点与根节点读数偏差不超过1毫秒,且持续八小时任一子节点与根节点的读数偏差不超过1毫秒则可不校正。具体的,初始每隔一秒通过sync指令侦测是否有任一子节点与根节点定时时间的偏差超过1毫秒,如果有则进行调整,如果没有则不进行调整;如果1秒内定时时间的偏差远小于1毫秒,则下一次第三计时区间可改为2秒;再下一次如2秒间偏差仍远小于1毫秒,则第三计时区间可改为4秒;以此类推,直到持续八小时任一子节点与根节点偏差小于1毫秒,即持续八小时均未对任一子节点与根节点的读数偏差进行调整,沿指定环路发送第二同步广播至每一个子节点。针对第三计时区间的其他调整策略不在本专利具体申明。
其中,通过使最小时间间隔内,子节点与根节点的定时偏差值不超过预期值,可以确定可容忍的误差,通过对读数偏差进行校正,网络计时器的时间步调理论上会稳定同步,此时可以逐步减少校正执行的频率,在该基础上,通过使最大时间间隔内,子节点与根节点的定时偏差不超过预期值,逐步拉大整个过程中执行校正程序的时间间隔,并通过最大时间间隔停止校正程序,以实现满足时间同步条件的目的。
对应的,第二同步广播可以包含sync type1命令包,type 1 sync命令包携带有根节点发出第二同步广播的时间,即第二发送时间;其中,第二发送时间可以只包含定时器的整数时间,也可以即包含整数时间又包含小数时间。各子节点利用捕获寄存器捕获第二接收时间,并记录第二发送时间和第二接收时间。
在一可实施方式中,操作103,根据第一发送时间、第一接收时间、第二发送时间和第二接收时间对每一个子节点的时间步调进行校准,包括:首先,根据第一发送时间、第一接收时间、第二发送时间和第二接收时间确定对应子节点与根节点的时钟周期比值;然后,根据时钟周期比值对子节点的时间步调进行校准。
在各子节点获取第一发送时间、第一接收时间、第二发送时间和第二接收时间之后,可以通过第一发送时间和第二发送时间的差值确定根节点的计时时间区间;通过第一接收时间和第二接收时间的差值确定对应子节点的计时时间区间,通过根节点的计时时间区间和子节点的计时时间区间相比较,就可以得到根节点与子节点的时钟周期比值。同理,通过子节点的计时时间区间和根节点的计时时间区间相比较,可以获得子节点与根节点的时钟周期比值。
具体的,子节点与根节点的时钟周期比值的公式可以表征为:
其中,用于表征第N个子节点与根节点的时钟周期比值;k表示第k次 校正,k>0;用于表征第二发送时间;用于表征第一发送时间;用于表征第N个子节点的第二接收时间;用于表征第N 个子节点的第一接收时间。
在获取根节点与子节点的时钟周期比值之后,通过时钟周期比值对子节点的时间步调进行校准,具体可以通过将时钟周期比值加载到各子节点的定时器的每时钟周期增量寄存器之中,使子节点的时钟节拍按照本身时钟周期与根节点时钟周期的比率计数,使子节点与根节点的定时器在一段时间内保持时间步调的一致。
在一可实施方式中,方法还包括:首先,当根节点的时间发生校正的情况下,沿指定环路发送第三同步广播至每一个子节点,第三同步广播携带有第三同步广播的第三发送时间;然后,指示子节点根据时钟周期比值、第三发送时间和传输延迟时间确定补正值,并根据补正值对子节点的时间步调进行校准。
在一种实施场景中,根节点的计时时间可以与同一菊花链链路上、属于其他环路的其他根节点同步,也可以提供接入网络与网络时间同步。基于此,根节点时间也会被修改,当根节点的时间发生修改的情况下,即根节点的时钟周期被修改的情况下,确定根节点的当前时钟周期,需要利用根节点的当前时钟周期对子节点的时钟周期比值进行补正。具体的,根节点可以发送修改后的时钟周期至每一个子节点,令每一个子节点根据修改后的时钟周期对时钟周期比值进行调整,确定与根节点当前时间周期对应子节点时间周期,使根节点的时间步调和子节点时间步调保持一致。实现根节点时间校正后,子节点随着根节点的时间步调进行同步校准的目的。
具体的,子节点的子节点时间步调计算公式为:
其中,为子节点与根节点时钟周期比值,为根节点修改后的每 时钟周期对应的时间增量单位,incN为第N个子节点修改后的每时钟周期对应的时间增量 单位。
接着,根节点沿指定环路发送时钟校准广播至每一个子节点,时钟校准广播包含sync type0命令包,对应包含根节点发送时钟校准广播的校准发送时间,各子节点在获取时钟校准广播时,利用捕获寄存器捕获子节点的校准接收时间,并记录校准发送时间和校准接收时间。
之后,各子节点可以根据记录的校准接收时间、校准发送时间和传输延迟时间确定补正值,并以此补正值去加载定时器的当前值,从而实现根节点时间校正后,子节点和根节点之间的时间的同步校准。
具体的,各子节点的补正值可以通过如下方法计算:
用于表征第N个子节点的补正值;用于表征校准发送时 间,用于表征第N个子节点的校准接收时间,用于表 征根节点至第N个子节点的传输延迟时间。
进一步的,本申请实施例可以通过上述实施例的方法周期性地对根节点和子节点进行时间步调的同步。如此操作,在根节点时间不发生变化的情况下,只需执行一次时间校正,后续的校准均可以只对时间步调进行校正,本方法逻辑简单,易于实现,选择合适的寄存器表示精度及时钟频率,可以实现根节点与子节点间时间纳秒级的误差,从而从数字逻辑上与软件系统配合自适应调整当地芯片的时钟时间。
图3示出了本申请第二实施例一种时钟同步方法的实现流程示意图;
参见图3,根据本申请实施例的第二方面,提供了一种时钟同步方法,方法应用于菊花链芯片系统的子节点,子节点沿指定环路连接至根节点,方法包括:操作301,操作沿指定环路获取来自根节点的传输延迟检测,确定节点间的传输延迟时间;操作302,根据根节点的指示,基于传输延迟时间加载对应的初始值并启动计时;操作303,沿指定环路接收来自根节点的第一同步广播,第一同步广播携带有第一同步广播的第一发送时间,记录第一同步广播的第一发送时间及第一接收时间;操作304,沿指定环路接收来自根节点的第二同步广播,第二同步广播携带有第二同步广播的第二发送时间,记录第二同步广播的第二发送时间及第二接收时间;操作305,根据第一发送时间、第一接收时间、第二发送时间及第二接收时间对时间步调进行校准。
对应的,本方法还提供一种基于菊花链芯片系统的子节点的时钟同步方法,子节点先对沿指定环路接收来自根节点的传输延迟检测,确定对应的节点间的传输延迟时间;其中,节点传输延迟时间,可以由根节点确定,也可以由子节点确定;然后,子节点根据根节点的指示,基于传输延迟时间加载对应的初始值,实现子节点与根节点的时间同步。子节点同时启动计时,并根据根节点的两次同步广播确定并记录的第一发送时间、第一接收时间、第二发送时间和第二接收时间进行时间步调的校准,如此操作,能够把根节点的时间传递到其他子节点,使子节点能够依据根节点的时间,以数字逻辑的方式进行自适应调整,从而在随后的时间与根节点保持相同的时间步调。
为方便上述实施方式的进一步理解,以下提供一种完整的具体实施场景。
图4示出了本申请实施例一种时钟同步方法的应用场景示意图一;图5示出了本申请实施例一种时钟同步方法的应用场景示意图二。
参见图4和图5,该具体实施场景应用于多芯片、多设备的电子系统,通过对整个网络做时间同步和时间步调同步,保证系统的同时性、同步性,解决由于不同芯片、设备的时钟存在时钟漂移等问题。
在本场景中,存在一个根节点和多个子节点,根节点和子节点均为芯片,多芯片首尾相连串接为一个环形链路。每一个芯片具有一个在芯片所提供时钟下工作的定时器,该定时器设计为一个带小数的计数器,每个时钟节拍可按照本身时钟周期与根节点时钟周期的比率计数,芯片还具有两组捕获寄存器。
具体的时间及时间步调同步方法如下:
步骤一、在所有芯片初始化完成后,根节点沿环形链路的传输方向发送一个配置命令的广播,该命令途径每一个子节点,用于指示每一个获取到命令的子节点对应的定时器(timer)启动开始工作。
步骤二、任一子节点,如chip1发送广播,关闭环形链路中根节点和子节点对应的所有定时器。
步骤三、根节点读取自身定时器时间,并获取任一子节点的定时器时 间,如读取chip1的定时器时间
根据公式:
计算获得节点间传输延迟时间
步骤四、根节点按照节点间传输延迟时间,依次加载各节点对应的定时器的初始值,并紧接着发送一条配置命令的广播,再次启动链路中根节点和子节点对应的所有定时器。
步骤五、当预定的时间同步条件满足时,根节点发送一次sync命令包,该sync命令包为sync type0命令包。
其中,sync type0命令包由根节点发出,并携带根节点发出时根节点的定时器当时读数值,sync type0命令包携带的根节点的定时器当时读数值root_t0.int,int对应定时器的实数读数值的整数数值。每个收到sync命令包的子节点触发对应动作,并传输至下一个节点,在环路的最后一个节点被吸收。
sync type0命令包还用于命令节点N在收到sync命令包时捕获当地定时器的实数读数值leaf_N_t0.int/frac,其中,int/frac分别对应定时器的实数读数值的整数数值和小数数值。
各子节点根据sync type0命令包捕获存入捕获寄存器leaf capture REG 0中,并保存
步骤六、等待至超过指定时间ΔT之后,根节点发送一次sync type1命令包。synctype1命令包用于命令节点N在收到sync命令包时捕获当地定时器的实数读数值leaf_N_t1.int/frac,其中,int/frac分别对应定时器的实数读数值的整数数值和小数数值。
各子节点根据sync type1命令包捕获存入捕获寄存器leaf capture REG 1中,并保存
步骤七、各子节点根据捕获寄存器捕获的值,按下式计算,确定根节点时钟周期与子节点时钟周期的时钟周期比值:
步骤八、各子节点根据上一步算得的时钟周期比值,将其按照设计定 点数精度加载到定时器的incN.int/frac寄存器之中,使子节点的计时数将至少在一段时 间内与根节点同步。
之后,可以设置时钟步调同步周期,当达到时钟同步周期的情况下,执行步骤五至八,对根节点和子节点的时钟步调进行同步。
在一种实施场景中,如果根节点的发生了时间校正的情况,且其定时器的inc0≠1.0,则根据如下公式对该根节点对应的子节点的incN进行校正:
步骤九、根节点发送一次sync type0命令包。各子节点根据sync type 0命令包捕 获存入捕获寄存器leaf capture REG 0中,并保存
步骤十、各子节点可按照下式算得本地定时器的补正值为:
并根据补正值去加载定时器的初始值,具体公式如下:
leaf_N_
其中,为加载后定时器的值,为加载前 定时器的值。
之后,如果根节点的发生了时间校正的情况,执行步骤九和十,进行子节点时间和时间步调的补正。
在另一种实施情况下,在步骤八之后,根节点通过联网等其它方式确认自身是否需要进行时间及时间步调的校准,若是,执行步骤九和十,对应的在该实施场景下,当系统需要进行时间步调的校准时,执行步骤五至十。
图6示出了本申请实施例一种根节点的实现模块示意图;
参见图6,根据本申请实施例的第三方面,提供了一种根节点,根节点为菊花链芯片系统的根节点,根节点沿指定环路连接有多个子节点,根节点包括:检测模块601,用于沿指定环路对多个子节点进行节点间的传输延迟检测,确定节点间的传输延迟时间,基于传输延迟时间使每一个子节点加载对应的初始值并启动计时;发送模块602,用于沿指定环路发送第一同步广播至每一个子节点,第一同步广播携带有第一同步广播的第一发送时间,使每一个子节点记录第一同步广播的第一发送时间及第一接收时间;发送模块602,还用于沿指定环路发送第二同步广播至每一个子节点,第二同步广播携带有第二同步广播的第二发送时间,使每一个子节点记录第二同步广播的第二发送时间及第二接收时间,并根据第一发送时间、第一接收时间、第二发送时间和第二接收时间对每一个子节点的时间步调进行校准。
在一可实施方式中,检测模块601,包括:发送子模块6011,用于沿指定环路发送第一配置广播至每一个子节点,使根节点和子节点在获取第一配置广播时进行计时;指示子模块6012,用于指示任一子节点沿指定环路发送第二配置广播至其他子节点和根节点,使根节点和子节点在获取第二配置广播时停止计时;获取子模块6013,用于获取根节点对应的第一计时区间和其中一个子节点对应的第二计时区间;确定子模块6014,用于基于第一计时区间和第二计时区间确定节点传输延迟时间。
在一可实施方式中,指示子模块6012,还用于点沿指定环路发送第三配置广播至子节点,使其他子节点依次基于传输延迟时间加载对应的初始值;指示子模块6012,还用于沿指定环路发送第四配置广播至子节点,使其他子节点依次基于初始值启动计时。
在一可实施方式中,发送模块602,还用于根据当前计时时间和第一发送时间确定第三计时区间;当第三计时区间满足计时区间阈值的情况下,沿指定环路发送第二同步广播至每一个子节点。
在一可实施方式中,发送模块602,还用于根据第一发送时间、第一接收时间、第二发送时间和第二接收时间确定对应子节点与根节点的时钟周期比值;根据时钟周期比值对子节点的时间步调进行校准。
在一可实施方式中,发送模块602,还用于当根节点的时间发生校正的情况下,沿指定环路发送第三同步广播至每一个子节点,第三同步广播携带有第三同步广播的第三发送时间;根节点还包括:校准模块603,用于指示子节点根据时钟周期比值、第三发送时间和传输延迟时间确定补正值,并根据补正值对子节点的时间步调进行校准。
图7示出了本申请实施例一种子节点的实现模块示意图。
参见图7,根据本申请的第四方面,提供了一种子节点,子节点为菊花链芯片系统的子节点,子节点沿指定环路连接至根节点,子节点包括:确定模块701,用于沿指定环路获取来自根节点的传输延迟检测,确定节点间的传输延迟时间;计时模块702,用于根据根节点的指示,基于传输延迟时间加载对应的初始值并启动计时;记录模块703,用于沿指定环路接收来自根节点的第一同步广播,第一同步广播携带有第一同步广播的第一发送时间,记录第一同步广播的第一发送时间及第一接收时间;记录模块703,还用于沿指定环路接收来自根节点的第二同步广播,第二同步广播携带有第二同步广播的第二发送时间,记录第二同步广播的第二发送时间及第二接收时间;第二校准模块704,用于根据第一发送时间、第一接收时间、第二发送时间及第二接收时间对时间步调进行校准。
图8示出了本申请实施例一种菊花链芯片系统的实现模块示意图。
结合图6、图7和图8,根据本申请实施例的第五方面,提供了一种菊花链芯片系统,系统包括多个链路串联的根节点600,根节点600沿指定环路连接有多个子节点700;根节点600包括:检测模块601,用于沿指定环路对多个子节点700进行节点间的传输延迟检测,确定节点间的传输延迟时间,基于传输延迟时间使每一个子节点700加载对应的初始值并启动计时;发送模块602,用于沿指定环路发送第一同步广播至每一个子节点700,第一同步广播携带有第一同步广播的第一发送时间,使每一个子节点700记录第一同步广播的第一发送时间及第一接收时间;发送模块602,还用于沿指定环路发送第二同步广播至每一个子节点700,第二同步广播携带有第二同步广播的第二发送时间,使每一个子节点700记录第二同步广播的第二发送时间及第二接收时间,并根据第一发送时间、第一接收时间、第二发送时间和第二接收时间对每一个子节点700的时间步调进行校准;子节点700包括:确定模块701,用于沿指定环路获取来自根节点600的传输延迟检测,确定节点间的传输延迟时间;计时模块702,用于根据根节点600的指示,基于传输延迟时间加载对应的初始值并启动计时;记录模块703,用于沿指定环路接收来自根节点600的第一同步广播,第一同步广播携带有第一同步广播的第一发送时间,记录第一同步广播的第一发送时间及第一接收时间;记录模块703,还用于沿指定环路接收来自根节点600的第二同步广播,第二同步广播携带有第二同步广播的第二发送时间,记录第二同步广播的第二发送时间及第二接收时间;第二校准模块704,用于根据第一发送时间、第一接收时间、第二发送时间及第二接收时间对时间步调进行校准。
在一可实施方式中,检测模块601,包括:发送子模块6011,用于沿指定环路发送第一配置广播至每一个子节点700,使根节点600和子节点700在获取第一配置广播时进行计时;指示子模块6012,用于指示任一子节点700沿指定环路发送第二配置广播至其他子节点700和根节点600,使根节点600和子节点700在获取第二配置广播时停止计时;获取子模块6013,用于获取根节点600对应的第一计时区间和其中一个子节点700对应的第二计时区间;确定子模块6014,用于基于第一计时区间和第二计时区间确定节点传输延迟时间。
在一可实施方式中,指示子模块6012,还用于沿指定环路发送第三配置广播至子节点700,使其他子节点700依次基于传输延迟时间加载对应的初始值;指示子模块6012,还用于沿指定环路发送第四配置广播至子节点700,使其他子节点700依次基于初始值启动计时。
在一可实施方式中,发送模块602,还用于根据当前计时时间和第一发送时间确定第三计时区间;当第三计时区间满足计时区间阈值的情况下,沿指定环路发送第二同步广播至每一个子节点700。
在一可实施方式中,发送模块602,还用于根据第一发送时间、第一接收时间、第二发送时间和第二接收时间确定对应子节点700与根节点600的时钟周期比值;根据时钟周期比值对子节点700的时间步调进行校准。
在一可实施方式中,发送模块602,还用于当根节点600的时间发生校正的情况下,沿指定环路发送第三同步广播至每一个子节点700,第三同步广播携带有第三同步广播的第三发送时间;根节点600还包括:校准模块603,用于指示子节点700根据时钟周期比值、第三发送时间和传输延迟时间确定补正值,并根据补正值对子节点700的时间步调进行校准。
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
图9示出了可以用来实施本申请的实施例的示例电子设备900的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图9所示,设备900包括计算单元901,其可以根据存储在只读存储器(ROM)902中的计算机程序或者从存储单元908加载到随机访问存储器(RAM)903中的计算机程序,来执行各种适当的动作和处理。在RAM 903中,还可存储设备900操作所需的各种程序和数据。计算单元901、ROM 902以及RAM 903通过总线904彼此相连。输入/输出(I/O)接口905也连接至总线904。
设备900中的多个部件连接至I/O接口905,包括:输入单元906,例如键盘、鼠标等;输出单元907,例如各种类型的显示器、扬声器等;存储单元908,例如磁盘、光盘等;以及通信单元909,例如网卡、调制解调器、无线通信收发机等。通信单元909允许设备900通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元901可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元901的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元901执行上文所描述的各个方法和处理,例如一种时钟同步方法。例如,在一些实施例中,一种时钟同步方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元908。在一些实施例中,计算机程序的部分或者全部可以经由ROM 902和/或通信单元909而被载入和/或安装到设备900上。当计算机程序加载到RAM 903并由计算单元901执行时,可以执行上文描述的一种时钟同步方法的一个或多个步骤。备选地,在其他实施例中,计算单元901可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行一种时钟同步方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和广播,并且将数据和广播传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本申请的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本申请的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供广播执行系统、装置或设备使用或与广播执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (9)

1.一种时钟同步方法,其特征在于,所述方法应用于菊花链芯片系统的根节点,所述根节点沿指定环路连接有多个子节点,每个节点都设有定时器及两组捕获寄存器,所述定时器的每个时钟节拍按照本身时钟周期与根节点时钟周期的比率计数,所述方法包括:
沿所述指定环路对所述多个子节点进行节点间的传输延迟检测,确定节点间的传输延迟时间,基于所述传输延迟时间使每一个子节点的定时器加载对应的初始值并使根节点和子节点的定时器均启动计时;
沿所述指定环路发送第一同步广播至所述每一个子节点,所述第一同步广播携带有所述第一同步广播的第一发送时间,使每一个子节点上的捕获寄存器捕获在接收第一同步广播同时的第一接收时间,并记录第一发送时间和第一接收时间;
沿所述指定环路发送第二同步广播至所述每一个子节点,所述第二同步广播携带有所述第二同步广播的第二发送时间,使每一个子节点上的捕获寄存器捕获在接收第二同步广播同时的第二接收时间,并记录第二发送时间和第二接收时间,并根据所述第一发送时间、第一接收时间、第二发送时间和第二接收时间使所述每一个子节点确定与所述根节点的时钟周期比值,使每一个子节点将所述时钟周期比值加载到对应捕获寄存器中,实现对所述每一个子节点的时间步调进行校准。
2.根据权利要求1所述的方法,其特征在于,所述沿所述指定环路对所述多个子节点进行节点间的传输延迟检测,确定节点间的传输延迟时间,包括:
沿所述指定环路发送第一配置广播至每一个子节点,使所述根节点和所述子节点在获取所述第一配置广播时进行计时;
指示任一子节点沿所述指定环路发送第二配置广播至其他所述子节点和所述根节点,使所述根节点和所述子节点在获取所述第二配置广播时停止计时;
获取所述根节点对应的第一计时区间和其中一个所述子节点对应的第二计时区间;
基于所述第一计时区间和所述第二计时区间确定节点传输延迟时间。
3.根据权利要求1所述的方法,其特征在于,基于所述传输延迟时间使每一个子节点加载对应的初始值并使根节点和子节点的定时器均启动计时,包括:
沿所述指定环路发送第三配置广播至所述子节点,使所述子节点依次基于所述传输延迟时间加载对应的初始值;
沿所述指定环路发送第四配置广播至所述子节点,使所述子节点依次基于所述初始值启动计时。
4.根据权利要求1所述的方法,其特征在于,所述沿所述指定环路发送第二同步广播至所述每一个子节点,包括:
根据当前计时时间和第一发送时间确定第三计时区间;
当所述第三计时区间满足计时区间阈值的情况下,沿所述指定环路发送第二同步广播至所述每一个子节点。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
当所述根节点的时间发生校正的情况下,沿所述指定环路发送第三同步广播至所述每一个子节点,所述第三同步广播携带有所述第三同步广播的第三发送时间;
指示所述子节点根据所述时钟周期比值、所述第三发送时间和所述传输延迟时间确定补正值,并根据补正值对所述子节点的时间步调进行校准。
6.一种时钟同步方法,其特征在于,所述方法应用于菊花链芯片系统的子节点,所述子节点沿指定环路连接至根节点,每个节点都设有定时器及两组捕获寄存器,所述定时器的每个时钟节拍按照本身时钟周期与根节点时钟周期的比率计数,所述方法包括:
沿所述指定环路获取来自所述根节点的传输延迟检测,确定节点间的传输延迟时间;
根据所述根节点的指示,基于所述传输延迟时间使定时器加载对应的初始值并使定时器启动计时;
沿所述指定环路接收来自所述根节点的第一同步广播,所述第一同步广播携带有所述第一同步广播的第一发送时间,通过捕获寄存器捕获在接收第一同步广播同时的第一接收时间,并记录第一发送时间和第一接收时间;
沿所述指定环路接收来自所述根节点的第二同步广播,所述第二同步广播携带有所述第二同步广播的第二发送时间,通过捕获寄存器捕获在接收第二同步广播同时的第二接收时间,并记录第二发送时间和第二接收时间;
根据所述第一发送时间、第一接收时间、第二发送时间及第二接收时间确定与所述根节点对应的时钟周期比值;
将所述时钟周期比值加载到捕获寄存器中,实现对时间步调进行校准。
7.一种应用于菊花链芯片系统的根节点,其特征在于,所述根节点沿指定环路连接有多个子节点,每个节点都设有定时器及两组捕获寄存器,所述定时器的每个时钟节拍按照本身时钟周期与根节点时钟周期的比率计数,所述根节点包括:
检测模块,用于沿所述指定环路对所述多个子节点进行节点间的传输延迟检测,确定节点间的传输延迟时间,基于所述传输延迟时间使每一个子节点的定时器加载对应的初始值并使根节点和子节点的定时器均启动计时;
发送模块,用于沿所述指定环路发送第一同步广播至所述每一个子节点,所述第一同步广播携带有所述第一同步广播的第一发送时间,使每一个子节点上的捕获寄存器捕获在接收第一同步广播同时的第一接收时间,并记录第一发送时间和第一接收时间;
所述发送模块,还用于沿所述指定环路发送第二同步广播至所述每一个子节点,所述第二同步广播携带有所述第二同步广播的第二发送时间,使每一个子节点上的捕获寄存器捕获在接收第二同步广播同时的第二接收时间,并记录第二发送时间和第二接收时间,并根据所述第一发送时间、第一接收时间、第二发送时间和第二接收时间使所述每一个子节点确定与所述根节点的时钟周期比值,使每一个子节点将所述时钟周期比值加载到对应捕获寄存器中,实现对所述每一个子节点的时间步调进行校准。
8.一种应用于菊花链芯片系统的子节点,其特征在于,所述子节点沿指定环路连接至根节点,每个节点都设有定时器及两组捕获寄存器,所述定时器的每个时钟节拍按照本身时钟周期与根节点时钟周期的比率计数,所述子节点包括:
确定模块,用于沿所述指定环路获取来自所述根节点的传输延迟检测,确定节点间的传输延迟时间;
计时模块,用于根据所述根节点的指示,基于所述传输延迟时间使定时器加载对应的初始值并使定时器启动计时;
记录模块,用于沿所述指定环路接收来自所述根节点的第一同步广播,所述第一同步广播携带有所述第一同步广播的第一发送时间,通过捕获寄存器捕获在接收第一同步广播同时的第一接收时间,并记录第一发送时间和第一接收时间;
所述记录模块,还用于沿所述指定环路接收来自所述根节点的第二同步广播,所述第二同步广播携带有所述第二同步广播的第二发送时间,通过捕获寄存器捕获在接收第二同步广播同时的第二接收时间,并记录第二发送时间和第二接收时间;
校准模块,用于根据所述第一发送时间、第一接收时间、第二发送时间及第二接收时间确定与所述根节点对应的时钟周期比值;将所述时钟周期比值加载到捕获寄存器中,实现对时间步调进行校准。
9.一种菊花链芯片系统,其特征在于,所述系统包括多个链路串联的根节点,所述根节点沿指定环路连接有多个子节点,每个节点都设有定时器及两组捕获寄存器,所述定时器的每个时钟节拍按照本身时钟周期与根节点时钟周期的比率计数;
所述根节点包括:
检测模块,用于沿所述指定环路对所述多个子节点进行节点间的传输延迟检测,确定节点间的传输延迟时间,基于所述传输延迟时间使每一个子节点的定时器加载对应的初始值并使根节点和子节点的定时器均启动计时;
发送模块,用于沿所述指定环路发送第一同步广播至所述每一个子节点,所述第一同步广播携带有所述第一同步广播的第一发送时间,使每一个子节点上的捕获寄存器捕获在接收第一同步广播同时的第一接收时间,并记录第一发送时间和第一接收时间;
所述发送模块,还用于沿所述指定环路发送第二同步广播至所述每一个子节点,所述第二同步广播携带有所述第二同步广播的第二发送时间,使每一个子节点上的捕获寄存器捕获在接收第二同步广播同时的第二接收时间,并记录第二发送时间和第二接收时间,并根据所述第一发送时间、第一接收时间、第二发送时间和第二接收时间使所述每一个子节点确定与所述根节点的时钟周期比值,使每一个子节点将所述时钟周期比值加载到对应捕获寄存器中,实现对所述每一个子节点的时间步调进行校准;
所述子节点包括:
确定模块,用于沿所述指定环路获取来自所述根节点的传输延迟检测,确定节点间的传输延迟时间;
计时模块,用于根据所述根节点的指示,基于所述传输延迟时间使定时器加载对应的初始值并使定时器启动计时;
记录模块,用于沿所述指定环路接收来自所述根节点的第一同步广播,所述第一同步广播携带有所述第一同步广播的第一发送时间,记录所述第一同步广播的第一发送时间及第一接收时间;
所述记录模块,还用于沿所述指定环路接收来自所述根节点的第二同步广播,所述第二同步广播携带有所述第二同步广播的第二发送时间,通过捕获寄存器捕获在接收第一同步广播同时的第一接收时间,并记录第一发送时间和第一接收时间;
校准模块,用于根据所述第一发送时间、第一接收时间、第二发送时间及第二接收时间确定与所述根节点对应的时钟周期比值;将所述时钟周期比值加载到捕获寄存器中,实现对时间步调进行校准。
CN202211588005.1A 2022-12-12 2022-12-12 一种时钟同步方法、根节点、子节点及菊花链芯片系统 Active CN115622654B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211588005.1A CN115622654B (zh) 2022-12-12 2022-12-12 一种时钟同步方法、根节点、子节点及菊花链芯片系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211588005.1A CN115622654B (zh) 2022-12-12 2022-12-12 一种时钟同步方法、根节点、子节点及菊花链芯片系统

Publications (2)

Publication Number Publication Date
CN115622654A CN115622654A (zh) 2023-01-17
CN115622654B true CN115622654B (zh) 2024-01-30

Family

ID=84880661

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211588005.1A Active CN115622654B (zh) 2022-12-12 2022-12-12 一种时钟同步方法、根节点、子节点及菊花链芯片系统

Country Status (1)

Country Link
CN (1) CN115622654B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2782290A1 (en) * 2011-11-15 2014-09-24 ZTE Corporation Method, system and apparatus for implementing hybrid networking of multiple clock synchronization technologies
CN105356962A (zh) * 2015-11-20 2016-02-24 上海联影医疗科技有限公司 环形网络结构及其节点时间同步方法
CN112514289A (zh) * 2020-10-29 2021-03-16 华为技术有限公司 控制系统、时钟同步方法、控制器、节点设备及车辆

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7912164B2 (en) * 2006-12-20 2011-03-22 Eaton Corporation Synchronization system and method for wireless communicating nodes

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2782290A1 (en) * 2011-11-15 2014-09-24 ZTE Corporation Method, system and apparatus for implementing hybrid networking of multiple clock synchronization technologies
CN105356962A (zh) * 2015-11-20 2016-02-24 上海联影医疗科技有限公司 环形网络结构及其节点时间同步方法
CN112514289A (zh) * 2020-10-29 2021-03-16 华为技术有限公司 控制系统、时钟同步方法、控制器、节点设备及车辆

Also Published As

Publication number Publication date
CN115622654A (zh) 2023-01-17

Similar Documents

Publication Publication Date Title
US10707984B2 (en) Techniques for synchronizing slave devices
US11177896B2 (en) Time synchronization device and time synchronization method
WO2018228352A1 (zh) 一种同步曝光方法、装置及终端设备
US9323286B2 (en) Ad-hoc synchronization of industrial control networks
US10594424B2 (en) Time synchronization slave apparatus capable of adjusting time synchronization period, and method of determining time synchronization period
US11050548B2 (en) Image transmission system, imaging terminal, display terminal, adjustment method, adjustment assistance method, and non-transitory computer-readable recording medium storing program
US11199868B2 (en) Clock skew correction method, device and system
US20200382233A1 (en) Information processing apparatus and time synchronization method
CN115622654B (zh) 一种时钟同步方法、根节点、子节点及菊花链芯片系统
JP3523238B2 (ja) 音声データ同期補正回路
US9882705B2 (en) Communication apparatus, communication method, and computer readable medium using propagation delay for time synchronization
TWI811515B (zh) 由節點系統執行之使電子系統同步的方法及由節點系統同步之電子系統
US20230007606A1 (en) Method for time synchronization, method for broadcast setting, chip, electronic device, and storage medium
US11831402B2 (en) Slave equipment, computer readable medium, and embedded system
US8897289B2 (en) Node system and supervisory node
US11853116B2 (en) Clock error-bound tracker
US11323594B2 (en) Method, apparatus and terminal device for synchronous exposure
US10599918B2 (en) Information processing method and information processing apparatus
CN216673171U (zh) 图像采集系统及图像采集装置
CN115459897B (zh) 电力实时仿真中的步长同步校准方法、装置及相关设备
CN112019288B (zh) 时间同步方法、业务单板及网络设备
CN115442244B (zh) 电力实时仿真中通信间隔的校准方法、装置及相关设备
CN115459897A (zh) 电力实时仿真中的步长同步校准方法、装置及相关设备
US20220417123A1 (en) Information processing device, non-transitory computer-readable storage medium, and information processing method
CN117008684A (zh) 基于安全计算机平台的2oo2周期定时器修正方法、装置

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