发明内容
有鉴于此,本发明实施例的主要目的在于提供一种时钟同步方法及装置,能够降低时钟同步装置的设计成本及结构复杂度。
本发明实施例提供了一种时钟同步方法,所述方法应用于一种时钟同步装置,所述时钟同步装置包括两两相邻的N个同步模块,每个同步模块中设置有一个频率相同的本地时钟;当N为奇数时,每相邻两个同步模块通过等长传输线进行连接;所述方法包括:
从所有同步模块中选取两个不同的同步模块作为两个基准模块;
控制每个基准模块输出一个同步信号,并使所述同步信号同时沿顺时针方向和逆时针方向进行传输,直到所述基准模块以外的其它同步模块均接收到所述同步信号为止;
根据所述同步信号到达所述同步模块的时刻,确定所述基准模块两侧对应位置的每两个同步模块之间的本地时钟相位差,得到一组相位差数据;
从所有同步模块中选取一个校准模块,根据两个不同的基准模块分别对应的相位差数据,使所述时钟同步装置中的每个同步模块与所述校准模块的时钟同步。
本发明实施例还提供了一种时钟同步的控制装置,所述控制装置用于控制一种时钟同步装置,所述时钟同步装置包括两两相邻的N个同步模块,每个同步模块中设置有一个频率相同的本地时钟;当N为奇数时,每相邻两个同步模块通过等长传输线进行连接;所述控制装置包括:
基准选取单元,用于从所有同步模块中选取两个不同的同步模块作为两个基准模块;
传输控制单元,用于控制每个基准模块输出一个同步信号,并使所述同步信号同时沿顺时针方向和逆时针方向进行传输,直到所述基准模块以外的其它同步模块均接收到所述同步信号为止;
相位差获取单元,用于根据所述同步信号到达所述同步模块的时刻,确定所述基准模块两侧对应位置的每两个同步模块之间的本地时钟相位差,得到一组相位差数据;
时钟同步单元,用于从所有同步模块中选取一个校准模块,根据两个不同的基准模块分别对应的相位差数据,使所述时钟同步装置中的每个同步模块与所述校准模块的时钟同步。
本发明提供的时钟同步方法及装置,对于时钟同步装置中的所有同步模块或时钟同步装置中的所有同步模块及添加的一同步模块,使每相邻两个同步模块通过等长传输线进行连接;在进行时钟同步时,从所有同步模块中选取两个不同的同步模块作为基准模块;以每个基准模块为基准分别进行以下控制操作,即,控制基准模块输出一个同步信号,并使该同步信号同时沿顺时针方向和逆时针方向进行传输,根据该同步信号到达每个同步模块的时刻,确定基准模块两侧对应位置的每两个同步模块之间的本地时钟相位差,最终,两个基准模块分别对应得到一组相位差数据;最后,从所有同步模块中选取一个校准模块,根据两组相位差数据,使时钟同步装置中的每个同步模块与校准模块的时钟同步。可见,本发明仅通过各个同步模块的本地时钟运行情况及同步信号达到各个模块的时刻,对时钟同步装置进行校准以实现时钟同步,由于不需要额外的时钟源模块,能够降低时钟同步装置的设计成本及结构复杂度。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供的时钟同步方法,该方法应用于一种时钟同步装置,所述时钟同步装置包括两两相邻的N个同步模块,每个同步模块中设置有一个频率相同的本地时钟,但同步模块之间可能是相互不同步的本地时钟。具体地,所述时钟同步装置可以是PET系统中由若干个探测器模块组成的探测器圆环,所述探测器模块包括若干数量的晶体、光电传感器和信号处理电路,其中,所述探测器模块即为所述同步模块。此外,所述时钟同步装置还可以是其它需要进行时钟同步的装置,本发明实施例对此不做限制。
在本实施例中,所述同步模块的个数N可以是奇数也可以是偶数,针对这两种情况,各个同步模块之间存在不同的连接方式,具体地:
如图2所示的模块连接方式示意图之一,当N为奇数时,所述时钟同步装置的每相邻两个同步模块通过等长传输线进行连接。
如图3所示的模块连接方式示意图之二,由于本发明适用于奇数个具有本地时钟的模块,因此,当N为偶数时,所述时钟同步装置的其中一组相邻同步模块之间可以放置一额外的同步模块,且每相邻两个同步模块通过等长传输线进行连接,比如,对于相邻的同步模块N-1和同步模块N-2(或者是其它两个相邻模块),可以在这两个模块之间添加一个同步模块N+1,并使同步模块N+1分别与同步模块N-1和同步模块N-2通过所述等长传输线进行连接,且同步模块N-1和同步模块N-2之间不连接。对于增加的同步模块N+1,无需在其上设置额外的接口,只设置传输线连接接口用于进行时钟同步调节即可,此同步模块N+1可以与其它同步模块相同,也可以仅与其他同步模块具有相同的本地时钟电路即可。
需要说明的是,为了降低传输时间,每两个同步模块之间的传输线长度可以比较短。此外,所述时钟同步装置的各个同步模块可以按照圆环形式进行排列,也可以根据使用需求排布成其他形状,本发明实施例对此不做限制,只要所有的传输线长度相等即可。
参见图4,为本发明实施例提供的时钟同步方法的流程示意图,基于所述时钟同步装置中的奇数个同步模块,或所述时钟同步装置中的偶数个同步模块以及一添加的同步模块,该方法包括以下步骤:
步骤401:从所有同步模块中选取两个不同的同步模块作为两个基准模块。
对于图2和图3,可以从中选取两个不同的同步模块,分别作为基准模块1和基准模块2,然后,先后或同时针对每个基准模块执行以下步骤402-403。下面以图2为例,对步骤402-403进行具体介绍。
步骤402:控制每个基准模块输出一个同步信号,并使所述同步信号同时沿顺时针方向和逆时针方向进行传输,直到所述基准模块以外的其它同步模块均接收到所述同步信号为止。
首先从所有同步模块中任取一同步模块作为基准模块1,在某一时刻T,使用该基准模块1内部的现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)发出一同步信号SYN1,使该同步信号SYN1沿模块间传输线向顺时针和逆时针两个方向同时传输,最终传输至圆周上的所有同步模块,每个同步模块只接收一次同步信号SYN1。由于相邻两个同步模块间连接的传输线长度相等,所以,当同步信号SYN1沿顺时针和逆时针方向传输相同距离时,所使用的时间是相等的,即传输到与基准模块1左右两侧相同距离的同步模块所用的时间是相等的。
以N为奇数的情况比例,如图5(即图2)所示的同步信号流向示意图,当选择同步模块1为基准模块1时,同步信号SYN1分别沿图5中箭头方向同时传输,在传输过程中,同步信号SYN1传输至同步模块2和同步模块N的距离是相等的、传输至同步模块3和同步模块N-1的距离是相等的……、传输至同步模块(N+1)/2和同步模块(N+3)/2的时间是相等的。将同步信号SYN1以相同传输时间传输到的两两同步模块分为一组,比如,当N=7时,将同步模块2和7分为一组,将同步模块3和6分为一组,将同步模块4和5分为一组。
步骤403:根据所述同步信号到达所述同步模块的时刻,确定所述基准模块两侧对应位置的每两个同步模块之间的本地时钟相位差,得到一组相位差数据。
在同步信号SYN1的传输过程时,图5所示圆周上的其他同步模块(除基准模块1本身),均对基准模块1传来的同步信号SYN1进行接收,基于每组同步模块接收同步信号SYN1的时刻,以及该时刻每组同步模块的本地时钟运行情况,计算每组同步模块之间的本地时钟相位差(即本地时钟时间间隔)。
在一些实施方式中,步骤403可以包括步骤A1-A2:
步骤A1:所述基准模块两侧对应位置的两个同步模块在接收到所述同步信号后,分别测量当前时钟周期的边沿信号与所述同步信号之间的时间间隔。
当每组同步模块接收到同步信号SYN1,这两个同步模块各自测量同步信号SYN1与自己本地时钟之间的时间间隔。具体地,如图6所示的本地时钟时间间隔示意图,同样假设图5所示圆周上的同步模块1为基准模块1,对于其中一组同步模块,比如,同步模块2和同步模块N,当同步信号SYN1到达同步模块2和同步模块N的时刻为t时,同步模块2需要测量当前时钟周期上升沿的出现时刻与测量时刻t之间的时间间隔A,同步模块N需要测量当前时钟周期上升沿的出现时刻与测量时刻t之间的时间间隔B;或者,同步模块2需要测量当前时钟周期下降沿的出现时刻与测量时刻t之间的时间间隔C,同步模块N需要测量当前时钟周期下降沿的出现时刻与测量时刻t之间的时间间隔D。
具体地,步骤A1可以包括:利用时间数字转换器(Time-to-Digital Converter,简称TDC)或现场可编程门阵列FPGA延迟链,测量当前时钟周期的边沿信号与所述同步信号之间的时间间隔。具体地,每个同步模块可以各自使用内部的TDC,对同步信号SYN1与自己本地时钟边沿信号之间的时间间隔进行测量,因为TDC能够实现高精度的时间测量,可以达到50ps以下的时间测量精度,保证了时间间隔测量的准确性,此外,也可以使用FPGA延迟链技术对时间间隔进行测量,也能够达到50ps以下的时间测量精度,能够保证时间测量的高精度性。
步骤A2:根据所述时间间隔,确定所述对应位置的两个同步模块之间的本地时钟相位差。
基于对步骤A1的介绍,A-B则为同步模块2和同步模块N之间的相位差,A-B表示同步模块2在时间上超前同步模块N、且超前的时间长度为A-B;或者,基于对步骤A1的介绍,C-D则为同步模块2和同步模块N之间的相位差,C-D表示同步模块2在时间上超前同步模块N、且超前的时间长度为C-D。
采用上述方法,可以测量出以基准模块1所在圆环直径为对称轴的两两一组的同步模块之间的本地时钟相位差。例如,如图7所示的模块分组示意图之一,同样以同步模块1作为基准模块1为例,可以对测量得到的每组模块之间的本地时钟相位差进行存储。
接下来,从所有同步模块中再任取一同步模块作为基准模块2,该基准模块2与上述基准模块1是不同的模块。然后,采用与上述相同的方式,令基准模块2产生同步信号SYN2,并通过上述同样的传输方式和测量方式,获得以基准模块2所在圆环直径为对称轴的两两一组的同步模块之间的本地时钟相位差。例如,假设此次选择的基准模块2为同步模块2,通过重复上述的过程,能够得到图8所示的模块分组示意图之二,可以对测量得到的每组模块之间的本地时钟相位差进行存储。
需要说明的是,本发明实施例不但可以按照上述方式分别基于两个基准模块得到两组相位差数据,也可以同时基于两个基准模块采用上述方式得到两组相位差数据。
可见,通过选取两个不同的基准模块,即基准模块1和基准模块2,能够得到两组本地时钟相位差的数据,例如,如果同步模块的总数为7,当分别以同步模块1和同步模块2为基准模块时,分别得到表1所示的模块分组及各组模块的本地时钟相位差。
表1
通过表1中的模块分组及每组模块之间的相位差,能够交叉得到所有同步模块之间的相位差关系,如图9所示。
步骤404:从所有同步模块中选取一个校准模块,根据两个不同的基准模块分别对应的相位差数据,使所述时钟同步装置中的每个同步模块与所述校准模块的时钟同步。
在一些实施方式中,步骤404可以包括:
步骤B1:对于所述时钟同步装置中的每个同步模块,从得到的两组相位差数据中,查询使所述同步模块与所述校准模块联系起来的至少一个相位差数据。
在本实施中,从所有同步模块中任取一同步模块作为校准模块,该校准模块的本地时钟即为校准时钟,通过表1,可以查询与每个同步模块(除校准模块)相关的相位差数据,根据查询出的数据可以计算出每个同步模块的本地时钟与所述基准时钟之间的本地时钟相位差。
比如,取同步模块1为校准模块,通过表1依次能计算出同步模块3、6、5、4、7、2的本地时钟与所述校准时钟之间的相位差。具体地,参见表1,相位差4即为同步模块3的本地时钟与所述校准时钟之间的相位差,基于相位差4与相位差2可以计算出同步模块6的本地时钟与所述校准时钟之间的相位差A,基于相位差A与相位差6可以计算出模块5的本地时钟与所述校准时钟之间的相位差B…….,等等。
步骤B2:根据所述至少一个相位差数据校准所述同步模块,使所述同步模块与所述校准模块的本地时钟同步。
在通过步骤B1得到每个同步模块(除校准模块)的本地时钟与所述校准时钟的相位差后,根据每个同步模块对应的相位差对其本地时钟进行延时校准,校准方式如图10所示,各同步模块内部使用FPGA,对该模块的本地时钟进行延时处理,各模块延时后的本地时钟即为调整后的同步时钟,其结果是使所述时钟同步装置中的每个同步模块与所述校准模块的时钟同步,换句话说,是使每个同步模块与所述校准模块的相位同步。
本发明提供的时钟同步方法,对于时钟同步装置中的所有同步模块或时钟同步装置中的所有同步模块及添加的一同步模块,使每相邻两个同步模块通过等长传输线进行连接;在进行时钟同步时,从所有同步模块中选取两个不同的同步模块作为基准模块;以每个基准模块为基准分别进行以下控制操作,即,控制基准模块输出一个同步信号,并使该同步信号同时沿顺时针方向和逆时针方向进行传输,根据该同步信号到达每个同步模块的时刻,确定基准模块两侧对应位置的每两个同步模块之间的本地时钟相位差,最终,两个基准模块分别对应得到一组相位差数据;最后,从所有同步模块中选取一个校准模块,根据两组相位差数据,使时钟同步装置中的每个同步模块与校准模块的时钟同步。可见,本发明仅通过各个同步模块的本地时钟运行情况及同步信号达到各个模块的时刻,对时钟同步装置进行校准以实现时钟同步,由于不需要额外的时钟源模块,能够降低时钟同步装置的设计成本及结构复杂度。
参见图11,为本发明实施例提供的时钟同步的控制装置示意图,所述控制装置用于控制一种时钟同步装置,所述时钟同步装置包括两两相邻的N个同步模块,每个同步模块中设置有一个频率相同的本地时钟;当N为奇数时,每相邻两个同步模块通过等长传输线进行连接;所述控制装置包括:
基准选取单元1101,用于从所有同步模块中选取两个不同的同步模块作为两个基准模块;
传输控制单元1102,用于控制每个基准模块输出一个同步信号,并使所述同步信号同时沿顺时针方向和逆时针方向进行传输,直到所述基准模块以外的其它同步模块均接收到所述同步信号为止;
相位差获取单元1103,用于根据所述同步信号到达所述同步模块的时刻,确定所述基准模块两侧对应位置的每两个同步模块之间的本地时钟相位差,得到一组相位差数据;
时钟同步单元1104,用于从所有同步模块中选取一个校准模块,根据两个不同的基准模块分别对应的相位差数据,使所述时钟同步装置中的每个同步模块与所述校准模块的时钟同步。
在一些实施方式中,当N为偶数时,所述时钟同步装置的其中一组相邻同步模块之间放置一额外的同步模块,且每相邻两个同步模块通过等长传输线进行连接。
在一些实施方式中,所述相位差获取单元1103可以包括:
间隔测量子单元,用于所述基准模块两侧对应位置的两个同步模块在接收到所述同步信号后,分别测量当前时钟周期的边沿信号与所述同步信号之间的时间间隔;
相位差获取子单元,用于根据所述时间间隔,确定所述对应位置的两个同步模块之间的本地时钟相位差。
其中,所述间隔测量子单元,具体用于利用时间数字转换器TDC或现场可编程门阵列FPGA延迟链,测量当前时钟周期的边沿信号与所述同步信号之间的时间间隔。
在一些实施方式中,所述时钟同步单元可以包括:
数据查询子单元,用于对于所述时钟同步装置中的每个同步模块,从得到的两组相位差数据中,查询使所述同步模块与所述校准模块联系起来的至少一个相位差数据;
时钟同步子单元,用于根据所述至少一个相位差数据校准所述同步模块,使所述同步模块与所述校准模块的本地时钟同步。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到上述实施例方法中的全部或部分步骤可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者诸如媒体网关等网络通信设备,等等)执行本发明各个实施例或者实施例的某些部分所述的方法。
需要说明的是,对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。