CN108737000B - 用于时钟同步的方法和设备 - Google Patents
用于时钟同步的方法和设备 Download PDFInfo
- Publication number
- CN108737000B CN108737000B CN201710272184.0A CN201710272184A CN108737000B CN 108737000 B CN108737000 B CN 108737000B CN 201710272184 A CN201710272184 A CN 201710272184A CN 108737000 B CN108737000 B CN 108737000B
- Authority
- CN
- China
- Prior art keywords
- chip
- 1pps
- tod information
- tod
- timer
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0685—Clock or time synchronisation in a node; Intranode synchronisation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
本公开涉及用于时钟同步的方法和设备。该通信设备包括第一芯片和第二芯片。该方法包括:以预定格式串行化由所述第一芯片接收到的秒脉冲(1PPS)以及与该1PPS相对应的第一当前时间(TOD)信息,该第一TOD信息由第一芯片的第一计时器基于第一参考时钟生成,经过串行化的1PPS和第一TOD信息将向第二芯片递送;基于第一芯片与第二芯片之间的数据传播延迟,在第二芯片处对齐经过串行化的1PPS和第一TOD信息的相位;基于第二参考时钟,通过对经过串行化的1PPS和第一TOD信息进行解串行化来获取第二TOD信息,第一参考时钟和第二参考时钟与相同的时钟源相关联;以及利用第二TOD信息设定第二芯片的第二计时器,以同步所述第一芯片和所述第二芯片。
Description
技术领域
本公开的实施例总体上涉及无线通信技术,更具体地,涉及一种用于时钟同步的方法和设备。
背景技术
在现有技术中,对同一设备中的两个芯片进行时间同步的方法往往采用这样的方式。将其中一块芯片作为主时间设备(time master),而将另一块芯片作为从时间设备(time slave)。将第二芯片的第二计时器同步到第一芯片的第一计时器。其中第一芯片的时钟源自参考时钟,而第二芯片的时钟源自第一芯片的时钟,尽管第一计时器和第二计时器具有相同的参考时钟,但由于其上升沿相位不相同,因此需要对齐第一计时器和第二计时器的时间相位。
在实施现有技术的时间同步方法的过程中,由于系统断电/上电造成采样的时钟相位的抖动,在时钟同步的过程中存在较大的抖动,由此造成的时间同步误差能够达到+/-8ns。另外,由于硬件电路差异性引起的路径延迟变化也会造成较大的时间同步误差,该同步时间的抖动也可达+/-8ns。
发明内容
总体上,本公开的实施例提出用于时钟同步的方法和设备。
在第一方面,本公开的实施例提供一种在通信设备处实施的时间同步方法。该通信设备包括第一芯片和第二芯片。该方法包括:以预定格式串行化由所述第一芯片接收到的秒脉冲(1PPS)以及与该1PPS相对应的第一当前时间(TOD)信息,该第一TOD信息由第一芯片的第一计时器基于第一参考时钟生成,经过串行化的1PPS和第一TOD信息将向第二芯片递送;基于第一芯片与第二芯片之间的数据传播延迟,在第二芯片处对齐经过串行化的1PPS和第一TOD信息的相位;基于第二参考时钟,通过对经过串行化的1PPS和第一TOD信息进行解串行化来获取第二TOD信息,第一参考时钟和第二参考时钟与相同的时钟源相关联;以及利用第二TOD信息设定第二芯片的第二计时器,以同步所述第一芯片和所述第二芯片。
在第二方面,本公开的实施例提供一种通信。该设备包括:第一芯片,被配置为接收秒脉冲(1PPS)和第一参考时钟;利用第一计时器基于所述第一参考时钟生成第一当前时间(TOD)信息;以及以预定格式串行化接收到的1PPS以及与所述1PPS相对应的第一当前时间TOD信息。该设备还包括第二芯片,该第二芯片与所述第一芯片耦合并且被配置为接收第二参考时钟,所述第一参考时钟和所述第二参考时钟与相同的时钟源相关联;从所述第一芯片接收经串行化的所述1PPS和所述第一TOD信息;基于所述第二参考时钟,通过对经过串行化的所述1PPS和所述第一TOD信息进行解串行化来获取第二TOD信息;以及利用所述第二TOD信息设定所述第二计时器,以与同步所述第一芯片同步。该设备还包括控制器,该控制器被耦合至所述第一芯片和所述第二芯片并且被配置为基于所述第一芯片与所述第二芯片之间的数据传播延迟,在所述第二芯片处对齐经过串行化的所述1PPS和所述第一TOD信息的相位。
在第三方面,本公开的实施例提供一种计算机可读介质,该计算机可读介质上存储有指令,当指令在被至少一个处理单元执行时,使得至少一个处理单元被配置为执行一种方法。该方法包括:以预定格式串行化由所述第一芯片接收到的秒脉冲(1PPS)以及与该1PPS相对应的第一当前时间(TOD)信息,该第一TOD信息由第一芯片的第一计时器基于第一参考时钟生成,经过串行化的1PPS和第一TOD信息将向第二芯片递送;基于第一芯片与第二芯片之间的数据传播延迟,在第二芯片处对齐经过串行化的1PPS和第一TOD信息的相位;基于第二参考时钟,通过对经过串行化的1PPS和第一TOD信息进行解串行化来获取第二TOD信息,第一参考时钟和第二参考时钟与相同的时钟源相关联;以及利用第二TOD信息设定第二芯片的第二计时器,以同步所述第一芯片和所述第二芯片。
应当理解,发明内容部分中所描述的内容并非旨在限定本公开实施例的关键或重要特征,亦非用于限制本公开的范围。本公开的其他特征将通过以下的描述变得容易理解。
附图说明
结合附图并参考以下详细说明,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标记表示相同或相似的元素,其中:
图1示出了传统方案的进行时间同步的通信设备100的示例性示意图;
图2示出了根据传统方案的在图1中的通信设备100处进行时间同步的时序图;
图3示出了以传统方案对图1的通信设备100进行时间同步之后出现时间同步误差的时序图;
图4示出了根据本发明的某些实施例的通信设备400的示意图;
图5示出了根据本发明的某些实施例的在通信设备处实施的方法500的流程图;
图6示出了根据本发明的某些实施例的通信设备600的示意图;
图7示出了根据本公开的某些实施例的在通信设备处实施时间同步的时序图;
图8示出了根据本公开的某些实施例的在通信设备处实施时间同步的时序图;
图9示出了根据本公开的某些实施例的在通信设备处实施时间同步的时序图;
在所有附图中,相同或相似参考数字表示相同或相似元素。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
在此使用的术语“通信设备”可以包括网络设备和终端设备。网络设备是指在基站或者通信网络中具有特定功能的其他实体或节点。“基站”(BS)可以表示节点B(NodeB或者NB)、演进节点B(eNodeB或者eNB)、远程无线电单元(RRU)、射频头(RH)、远程无线电头端(RRH)、中继器、或者诸如微微基站、毫微微基站等的低功率节点等等。在本公开的上下文中,为讨论方便之目的,术语“网络设备”和“基站”可以互换使用,并且可能主要以eNB作为网络设备的示例。“终端设备”或“终端设备”(UE)是指能够与基站之间或者彼此之间进行无线通信的任何终端设备。作为示例,终端设备可以包括移动终端(MT)、订户台(SS)、便携式订户台(PSS)、移动台(MS)或者接入终端(AT),以及车载的上述设备。在本公开的上下文中,为讨论方便之目的,术语“终端设备”和“终端设备”可以互换使用。
在此使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”。其他术语的相关定义将在下文描述中给出。
在传统方案中,对设备中的两个芯片进行时间同步的方法往往采用这样的方式。将其中一块芯片作为主时间设备(time master),而将另一块芯片作为从时间设备(timeslave)。将第二芯片的第二计时器同步到第一芯片的第一计时器。其中第一芯片的时钟源自参考时钟,而第二芯片的时钟源自第一芯片的时钟,因此第一计时器和第二计时器具有相同的参考时钟,但由于其上升沿相位不相同,因此需要对齐第一计时器和第二计时器的时间相位。
在实施现有技术的时间同步方法的过程中,由于系统断电/上电造成采样的时钟相位的抖动,在时钟同步的过程中存在较大的抖动,由此造成的时间同步误差能够达到+/-8ns。另外,由于硬件电路差异性引起的路径延迟变化也会造成较大的时间同步误差,该同步时间的抖动也可达+/-8ns。
图1示出了传统方案的进行时间同步的通信设备的示例性示意图。图2示出了根据传统方案的在图1中的通信设备处进行时间同步的时序图。图3示出了以传统方案对图1的通信设备进行时间同步之后出现时间同步误差的时序图。以下结合图1至图3说明根据传统方案在通信设备100处实施的时间同步的一个实例。
如图1所示,通信设备100包括第一芯片110和第二芯片120。第一芯片110作为主时间设备,而第二芯片120作为从时间设备。第一芯片110包括第一锁相环130、第一计时器150以及时间编码器160,第二芯片120包括第二锁相环140、第二计时器180以及时间解码器170。将参考时钟提供到第一芯片110的第一锁相环130,该第一锁相环130将该参考时钟作为第一芯片110的第一参考时钟Clk1_125m,并将该第一芯片110的第一参考时钟Clk1_125m提供到第二锁相环140。第一锁相环130还将该第一芯片110的第一参考时钟Clk1_125m发送到第一计时器150和时间编码器160。第二锁相环140接收来自第一锁相环的第一芯片110的第一参考时钟Clk1_125m并且为第二芯片120的时间解码器170和第二计时器180提供第二芯片120的时钟Clk2_125m。应当理解,第一计时器和第二计时器具有相同的参考时钟。
如图2所示,Clk1_125m表示第一芯片110的时钟。tx_1pps表示第一芯片110的第一计时器150的秒脉冲1PPS(pulse per second)。time_counter1为第一芯片110的第一计时器150的当前时间(TOD,Time Of Day)信息的序列。参考图2,第一芯片110在第一计时器150的1PPS到来时,也就是在图2中的rx_1pps的上升沿205处,捕获相应的第一计时器150的TOD信息。例如在图2中,rx_1pps的上升沿205所对应的time_counter1序列上的TOD信息为0x10。第一计时器150将该捕获到的1PPS+TOD信息发送到时间编码器160,以对该1PPS+TOD信息进行串行化。在串行化之后,时间编码器160将经过串行化的1PPS+TOD信息serial_1pps_tod利用125MHz的低频稳压差分信号(LVDS)发送给处在第一芯片110的第一参考时钟Clk1_125m区域中的背板190。例如,第一位“0”指示1PPS,而后8位为8比特宽度的TOD信息。例如在图2示出的实例中,十六进制的TOD信息0x10可以换算为8位二进制数“00010000”。
经过背板190将第一芯片110的串行化的1PPS+TOD信息serial_1pps_tod从时间编码器160发送至第二芯片120的时间解码器170。由时间解码器170接收到的第一芯片110的串行化的1PPS+TOD信息serial_1pps_tod在图2中表示为serial_1pps_tod@rx。需要说明的是,从第一芯片110到第二芯片120的数据传输存在预定的延迟时间,在本实例中,假设该预定的数据传输延迟为13ns。
在接收到来自第一芯片110串行化的1PPS+TOD信息serial_1pps_tod之后,第二芯片120对该信号进行采样,以用于将该信号转换到第二芯片120的时钟区域Clk2_125m上。在图2中以clk2_125m表示第二芯片120的时钟。转换到第二芯片120的时钟区域Clk2_125m上该信号以rx_tod_serial_clk2_125m来表示。第二芯片120的时间解码器170对串行化的1PPS+TOD信息serial_1pps_tod进行解码得到接收的1PPS以及TOD信息。接收的1PPS的时序由rx_1pps表示。解码得到的1PPS在rx_1pps以上升沿210表示。在第二芯片120出的时间解码器生成在第二芯片120处接收的1PPS的固定延迟信号rx_tod_valid,从而生成用于设定第二计时器180的在第二芯片120处接收的TOD信息rx_tod。如图2所示,固定延迟信号rx_tod_valid例如可以是9个Clk2_125m,也就是72ns。因此得到用于设定第二计时器180的TOD信息0x10。经过设定的第二计时器180在图2中以time_counter2来表示。以上述方式完成了第一芯片110和第二芯片120之间的粗略的时间同步。
接下来,通过使用电子示波器,测量由第一芯片110的第一计时器150输出的用于校准的1PPS以及从第二芯片120的第二计时器180输出的用于校准的1PPS之间的相位差。该相位差的数值表示从第一芯片110至第二芯片120的整体路径的延迟。例如在图2示出的实例中,该相位差的数值可以是103ns。该相位差在图2中以fixed_comp_val来表示。将该相位差的数值补偿到time_counter2中,以对齐分别来自第一芯片110和第二芯片120的用于校准的1PPS输出。如图2所示,经补偿的第二芯片120的第二计数器的序列由time_counter2_comp表示。从图2中可以看出,time_counter2_comp中的0x77基本对应time_counter1中的0x78。这说明第二芯片120的第二计数器的补偿基本正确。至此完成了一次在第一芯片110和第二芯片120之间的高精度的时间同步。
以上述的时间同步的方法执行的时间同步会造成一些在技术上不可接受的误差和抖动。首先,在经过电子示波器的测量并且得到用于高精度的校准的固定补偿值之后,当第一芯片110和第二芯片120经过系统断电和再上电的情况下,在第一芯片110的第一参考时钟Clk1_125m和第二芯片120的时钟Clk2_125m之间的相位可能出现一些变化。该变化例如能够处在+/-4ns的变化范围内。上述相位变化例如能够在基于之前测定的补偿值fixed_comp_val对第二计时器进行补偿时导致time_counter2相对于time_counter1出现+/-8ns的误差。因此,需要电子示波器重新测量由第一芯片110的第一计时器150输出的用于校准的1PPS以及从第二芯片120的第二计时器180输出的用于校准的1PPS之间的相位差以进行重新校准。这是在技术上难以接受的。
其二在于,在第一芯片110与第二芯片120的周期运行期间,周围的环境条件可能改变,例如温度的变化。这种变化也能够引起路径延迟的些许变化。在特定的场景下,这种变化能够恶化从而使得时间同步的精度被降低,甚至使得例如能够在基于之前测定的补偿值fixed_comp_val对第二计时器进行补偿时导致time_counter2相对于time_counter1出现+/-8ns的误差。
上述由于第一芯片110的第一参考时钟Clk1_125m和第二芯片120的时钟Clk2_125m之间的相位变化,从而导致基于之前测定的补偿值fixed_comp_val进行时间同步的精度被降低的情况被示出在图3中。第一芯片110的第一参考时钟Clk1_125m和第二芯片120的时钟Clk2_125m之间的相位变化能够通过-3ns@clk1_125m来表示。可以看出,在重新上电之后,对于第二芯片120,第二芯片120的时钟clk2_125m向左出现了3ns的相移。这时再以之前测定的补偿值fixed_comp_val对第二计时器的相位进行补偿,可以看出在补偿之后,time_counter2_comp中的0x77的相位与time_counter1中的0x78的相位偏差较大,例如该偏差可以达到5ns。尽管在图中未示出,可以预见到,如果从第一芯片110的时间编码器160到第二芯片120的时间解码器170的数据传输的预定的延迟13ns发生些许变化,也会导致类似于图3中示出的时间同步误差。这在技术上是不可接受的。
因此,需要一种行之有效的方法,使得在确定了对第二芯片的第二计时器的补偿值之后,即便由于第一芯片的时钟和第二芯片的时钟之间的相位关系出现相移和/或由于环境条件变化造成芯片间的数据传输的固定延迟时间出现变化,第二芯片的第二计时器也能够通过之前确定的补偿值被正确地补偿,而无需进行重新校准以及确定补偿值的过程。
为了解决至少部分地这些和其他可能的潜在问题,根据本公开的某些实施例,可以使用高频信号替代在时钟单元之间的低速时钟信号,例如在某些实施例中,现有技术中的经过背板的125Mhz的LVDS能够由1GHz的LVDS代替。此外,可以在第一时钟单元的时钟信号的每一帧的开始加入固定的格式。通过调节在第二时钟单元中的锁相环的相位来寻找该格式并进行解码,通过检查该解码的值来获得补偿值。
以此方式,通过将这种相位自动检测算法用于动态地补偿,以消除由于第一芯片的时钟和第二芯片的时钟之间的相位关系出现相移和/或由于环境条件变化造成芯片间的数据传输的固定延迟时间出现变化在成的时间同步误差和时间同步抖动。
下面将结合图4至图9对本公开的原理和具体实施例进行详细说明。图4示出了根据本发明的某些实施例的通信设备400的示意图。如图4所示,通信设备400包括第一芯片410和第二芯片420。第二芯片420被耦合到第一芯片410。根据某些实施例,第一芯片410和第二芯片420可以被设置在共同的背板430上,以将第一芯片410和第二芯片420彼此耦合。应当理解,尽管在图4中的通信设备400仅包括两个芯片,也就是第一芯片410和第二芯片420。然而,这仅仅是出于示例性的目的而非作为对本发明的限定,通信设备400可以包括多于两个的芯片。
在某些实施例中,第一芯片410作为主时间设备,而第二芯片420作为从时间设备。第一芯片410和第二芯片420与同样的参考时钟源相关联。根据某些实施例,参考时钟源为第一芯片410提供第一参考信号,参考时钟源为第二芯片420提供第二参考信号。第一芯片410,包括第一计时器415以及第二芯片420包括第二计时器425。
通信设备400还包括控制器。尽管在图中未示出,应当理解,该控制器能够与第一芯片410和第二芯片420共同集成在背板430上,以分别与第一芯片410和第二芯片420耦合。然而,根据某些实施例,控制器也可以被设置在背板430之外。该位于外部的控制器通过连接线等介质与第一芯片410和第二芯片420耦合。
应当理解,控制器可以是适用于本地技术环境的任何合适的类型,并且可以包括但不限于通用计算机、专用计算机、微控制器、数字信号控制器(DSP)以及基于控制器的多核控制器架构中的一个或多个。
图5示出了根据本发明的某些实施例的在通信设备400处实施的方法500的流程图。可以理解,方法500可以例如在如图4所示的设备400处实施。为描述方便,下面结合图4对方法500进行描述。此外,图6示出了根据本发明的某些实施例的通信设备600的示例性的示意图。应当理解,图6示出的通信设备600为图4示出的通信设备400的一个示例性的实施例,其仅仅出于方便描述的目的,而并非作为对通信设备400的组成部分的限定。在不违背本公开的原理和目的的情况下,在图6中示出的部件和/或模块能够被添加、替换或删除。在图6中,与图4相同的部件使用同样的附图标记。图7示出了根据本公开的某些实施例的在通信设备处实施时间同步的时序图。
为描述方便,下面结合图4、图6和图7对方法500进行描述。除了在图4中所示出的部件,如图6所示,第一芯片410还包括第一锁相环630和串行解串器(SerDes)发送端635。第二芯片420还包括第二锁相环640以及SerDes接收端645。参考时钟源将第一参考时钟提供到第一芯片410的第一锁相环130,该第一锁相环630将该参考时钟作为第一芯片410的第一参考时钟Clk1_125m,并将该第一芯片410的第一参考时钟Clk1_125m提供到第二锁相环640。第一锁相环630还将该第一芯片410的第一参考时钟Clk1_125m发送到第一计时器415和SerDes发送端635。第二锁相环640接收来自第一锁相环的第一芯片410的第一参考时钟Clk1_125m并且为第二芯片420的SerDes接收端645和第二计时器180提供第二芯片420的第二参考时钟Clk2_125m。应当理解,第一计时器和第二计时器具有相同的参考时钟。
如图7所示,Clk1_125m表示第一芯片410的第一参考时钟。tx_1pps表示第一芯片410所接收的秒脉冲1PPS(pulse per second)。time_counter1为第一芯片410的第一计时器415的当前时间(TOD,Time Of Day)信息的序列。为了方便描述,在下文中将第一计时器415的TOD信息称作第一TOD信息。参考图6,第一芯片410在1PPS到来时,也就是在图7中的rx_1pps的上升沿705处,捕获相应的第一TOD信息。例如在图7中,rx_1pps的上升沿705所对应的time_counter1序列上的第一TOD信息为0x12345678。第一计时器415将该捕获到的1PPS+第一TOD信息发送到SerDes发送端635。
在510,第一芯片410以预定格式串行化该1PPS和第一TOD信息。在某些实施例中,第一芯片410的SerDes发送端635用于以预定格式串行化该1PPS和第一TOD信息。第一计时器415的第一TOD信息由第一芯片410的第一计时器415基于第一参考时钟Clk1_125m生成的。
如图7所示,1PPS和对应于该1PPS的time_counter1序列上的第一TOD信息0x12345678通过嵌入预定格式的SerDes信息来串行化。预定格式的SerDes信息序列在图6中以serdes_tx_p来表示。如图6所示,1pps对应serdes_tx_p上的0x00,第一TOD信息0x12345678对应serdes_tx_p上的0x12至0x78,在1PPS和第一TOD信息之间间隔3个0xFF序列。因此得到串行化的1PPS+第一TOD信息的时序serdes_tx_s。也就是,1PPS被编码为具有8ns的低电平“0”的帧头,第一TOD信息0x12345678被编码为从最高有效位至最低有效位的序列00010010001101000101011001111000。帧头和第一TOD信息序列之前间隔24ns的高电平“1”。在图6中以1GHz_Clock_Grid示出了1GHz时钟的参考栅格。
将该经过串行化的1PPS和第一TOD信息发送至背板430,以通过1GHz的LVDS向第二芯片420递送。在第二芯片420中的接收到串行化的1PPS和第一TOD信息以serdes_tx_s@rx来表示。在第一芯片410与第二芯片420通过背板传输数据存在预定的延迟时间。因此,在420,基于从第一芯片410到第二芯片420的数据传输存在预定的延迟时间,在第二芯片处对齐经过串行化的1PPS和第一TOD信息的相位。在这里假设该延迟为13ns。
在530,基于第二参考时钟clk2_125m,通过对经过串行化的1PPS和第一TOD信息进行解串行化来获取第二TOD信息。首先,能够通过调节第二锁相环640的参数,使得第二参考时钟clk2_125m与接收到的串行化的1PPS和第一TOD信息serdes_tx_s@rx对齐。由此确定在所接收的并行序列serdes_rx_p上分别对应于1PPS和TOD信息的值0x00和0x12至0x78。
例如在图7中,基于第二参考时钟clk2_125m,通过解串行确定在接收的1PPS的时序rx_1pps的1PPS的相位。当帧头的值小于0xF0时,能够确定1PPS的相位,在rx_1pps处以上升沿710来表示。这里默认第一参考时钟Clk1_125m和第二参考时钟clk2_125m之间没有发生相移,也就是phase_diff_v=0。之后根据第二芯片420处接收的1PPS的固定延迟信号rx_tod_valid,确定用于设定第二计时器180的在第二芯片420处接收的TOD信息0x12345678。
在540,利用第二TOD信息设定第二芯片420的第二计时器,以同步所述第一芯片和所述第二芯片。经过设定的第二计时器180在图7中以time_counter2来表示。以此方式,完成了第一芯片410和第二芯片420之间的粗略的时间同步。
接下来,通过使用电子示波器,测量由第一芯片410的第一计时器415输出的用于校准的1PPS以及从第二芯片420的第二计时器425输出的用于校准的1PPS之间的相位差。该相位差的数值表示从第一芯片410至第二芯片420的整体路径的延迟。例如在图7示出的实例中,该相位差的数值可以是94ns。该相位差在图7中以fixed_comp_val来表示。将该相位差的数值补偿到time_counter2中,以对齐分别来自第一芯片410和第二芯片420的用于校准的1PPS输出。如图7所示,经补偿的第二芯片420的第二计数器的序列由time_counter2_comp表示。从图7中可以看出,time_counter2_comp中的0x123456D6基本对应time_counter1中的0x123456D8。这说明第二芯片420的第二计数器的补偿基本正确。至此完成了一次在第一芯片410和第二芯片420之间的高精度的时间同步。
图8示出了根据本公开的某些实施例的时钟相位改变下的时间同步的时序图。如图8所示,第一芯片410的第一参考时钟Clk1_125m和第二芯片420的时钟Clk2_125m之间的相位变化能够通过-3ns@clk1_125m来表示。可以看出,在重新上电之后,对于第二芯片420,第二芯片420的时钟clk2_125m向左出现了3ns的相移。由于在第二芯片上的第二锁相环的参数设定已经被固定,因此这时解串行得到的serdes_tx_s@rx上的1PPS对应于并行序列serdes_rx_p的0xE0和0x1F之间。根据0xE0的值,能够确定第二芯片420的时钟clk2_125m出现-3ns的相移,也就是说phase_diff_v=-3ns。当帧头的值小于0xF0时,能够确定1PPS的相位,在图8中在rx_1pps以上升沿710示出。这里的1PPS的相位是基于phase_diff_v=-3ns得到的。之后根据第二芯片420处接收的1PPS的固定延迟信号rx_tod_valid,将解码的第二TOD信息0x12345678设定到第二计时器425。最终对第二计时器的时间补偿time_counter2_comp是基于图8中的time_counter2、phase_diff_v的值以及fixed_comp_val得到的,其具有更高的精度。
图9示出了根据本公开的某些实施例的时钟相位改变下的时间同步的时序图。如图9所示,第一芯片410的第一参考时钟Clk1_125m和第二芯片420的时钟Clk2_125m之间的相位变化能够通过+3ns@clk1_125m来表示。可以看出,在重新上电之后,对于第二芯片420,第二芯片420的时钟clk2_125m向右出现了3ns的相移。在这种情况下的同步方法与图8所描述的方案一致,故在此不再赘述。
一般而言,本公开的各种示例实施例可以在硬件或专用电路、软件、逻辑,或其任何组合中实施。某些方面可以在硬件中实施,而其他方面可以在可以由控制器、微处理器或其他计算设备执行的固件或软件中实施。当本公开的实施例的各方面被图示或描述为框图、流程图或使用某些其他图形表示时,将理解此处描述的方框、装置、系统、技术或方法可以作为非限制性的示例在硬件、软件、固件、专用电路或逻辑、通用硬件或控制器或其他计算设备,或其某些组合中实施。
作为示例,本公开的实施例可以在机器可执行指令的上下文中被描述,机器可执行指令诸如包括在目标的真实或者虚拟处理器上的器件中执行的程序模块中。一般而言,程序模块包括例程、程序、库、对象、类、组件、数据结构等,其执行特定的任务或者实现特定的抽象数据结构。在各实施例中,程序模块的功能可以在所描述的程序模块之间合并或者分割。用于程序模块的机器可执行指令可以在本地或者分布式设备内执行。在分布式设备中,程序模块可以位于本地和远程存储介质二者中。
用于实现本公开的方法的计算机程序代码可以用一种或多种编程语言编写。这些计算机程序代码可以提供给通用计算机、专用计算机或其他可编程的数据处理装置的处理器,使得程序代码在被计算机或其他可编程的数据处理装置执行的时候,引起在流程图和/或框图中规定的功能/操作被实施。程序代码可以完全在计算机上、部分在计算机上、作为独立的软件包、部分在计算机上且部分在远程计算机上或完全在远程计算机或服务器上执行。
在本公开的上下文中,机器可读介质可以是包含或存储用于或有关于指令执行系统、装置或设备的程序的任何有形介质。机器可读介质可以是机器可读信号介质或机器可读存储介质。机器可读介质可以包括但不限于电子的、磁的、光学的、电磁的、红外的或半导体系统、装置或设备,或其任意合适的组合。机器可读存储介质的更详细示例包括带有一根或多根导线的电气连接、便携式计算机磁盘、硬盘、随机存储存取器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、光存储设备、磁存储设备,或其任意合适的组合。
另外,尽管操作以特定顺序被描绘,但这并不应该理解为要求此类操作以示出的特定顺序或以相继顺序完成,或者执行所有图示的操作以获取期望结果。在某些情况下,多任务或并行处理会是有益的。同样地,尽管上述讨论包含了某些特定的实施细节,但这并不应解释为限制任何发明或权利要求的范围,而应解释为对可以针对特定发明的特定实施例的描述。本说明书中在分开的实施例的上下文中描述的某些特征也可以整合实施在单个实施例中。反之,在单个实施例的上下文中描述的各种特征也可以分离地在多个实施例或在任意合适的子组合中实施。
尽管已经以特定于结构特征和/或方法动作的语言描述了主题,但是应当理解,所附权利要求中限定的主题并不限于上文描述的特定特征或动作。相反,上文描述的特定特征和动作是作为实现权利要求的示例形式而被公开的。
Claims (12)
1.一种在通信设备处实施的时间同步方法,所述通信设备包括第一芯片和第二芯片,所述方法包括:
以预定格式串行化由所述第一芯片接收到的秒脉冲(1PPS)和与所述1PPS相对应的第一当前时间(TOD)信息,所述第一TOD信息由所述第一芯片的第一计时器基于第一参考时钟生成,经过串行化的所述1PPS和所述第一TOD信息将向所述第二芯片递送;
基于所述第一芯片与所述第二芯片之间的数据传播延迟,在所述第二芯片处对齐经过串行化的所述1PPS和所述第一TOD信息的相位;
基于第二参考时钟,通过对经过串行化的所述1PPS和所述第一TOD信息进行解串行化来获取第二TOD信息,所述第一参考时钟和所述第二参考时钟与相同的时钟源相关联;以及
利用所述第二TOD信息设定所述第二芯片的第二计时器,以同步所述第一芯片和所述第二芯片。
2.根据权利要求1所述的方法,其中所述串行化包括:
将所述1PPS编码为具有第一预定宽度的低电平的帧头;以及
将所述第一TOD信息编码为从最高有效位至最低有效位的序列,所述第一TOD信息与所述1PPS间隔第二预定宽度的高电平。
3.根据权利要求1所述的方法,其中获取第二TOD信息包括:
基于第二参考时钟,通过解串行化经过串行化的所述1PPS和所述第一TOD信息,获取在所述第二芯片上的1PPS的相位;以及
基于所述第二芯片上的1PPS的相位,确定所述第二TOD信息的相位。
4.根据权利要求1所述的方法,还包括:
确定所述第一芯片上的1PPS和所述第二芯片上的1PPS的相位差;以及
基于所述相位差对所述第二计时器的相位进行补偿。
5.一种通信设备,所述设备包括:
第一芯片,被配置为:
接收秒脉冲(1PPS)和第一参考时钟;
利用第一计时器基于所述第一参考时钟生成第一当前时间(TOD)信息;以及
以预定格式串行化接收到的1PPS以及与所述1PPS相对应的第一当前时间TOD信息;
第二芯片,所述第二芯片与所述第一芯片耦合并且被配置为:
接收第二参考时钟,所述第一参考时钟和所述第二参考时钟与相同的时钟源相关联;
从所述第一芯片接收经串行化的所述1PPS和所述第一TOD信息;
基于所述第二参考时钟,通过对经过串行化的所述1PPS和所述第一TOD信息进行解串行化来获取第二TOD信息;以及
利用所述第二TOD信息设定第二计时器,以与同步所述第一芯片同步;以及
控制器,耦合至所述第一芯片和所述第二芯片,并且被配置为基于所述第一芯片与所述第二芯片之间的数据传播延迟,在所述第二芯片处对齐经过串行化的所述1PPS和所述第一TOD信息的相位。
6.根据权利要求5所述的设备,其中所述第一芯片被配置为:
将所述1PPS编码为具有第一预定宽度的低电平的帧头;以及
将所述第一TOD信息编码为从最高有效位至最低有效位的序列,所述第一TOD信息与所述1PPS间隔第二预定宽度的高电平。
7.根据权利要求5所述的设备,其中所述第二芯片被配置为:
基于第二参考时钟,通过解串行化经过串行化的所述1PPS和所述第一TOD信息,获取在所述第二芯片上的1PPS的相位;以及
基于所述第二芯片上的1PPS的相位,确定所述第二TOD信息的相位。
8.根据权利要求5所述的设备,其中所述控制器还被配置为:
确定所述第一芯片上的1PPS和所述第二芯片上的1PPS的相位差;以及
基于所述相位差对所述第二计时器的相位进行补偿。
9.一种计算机可读介质,所述计算机可读介质上存储有指令,当所述指令在被至少一个处理单元执行时,使得至少一个处理单元被配置为执行一种方法,所述方法包括:
以预定格式串行化第一芯片的第一计时器的秒脉冲(1PPS)和与所述1PPS相对应的第一当前时间(TOD)信息,所述第一TOD信息由所述第一芯片的第一计时器基于第一参考时钟生成,经过串行化的所述1PPS和所述第一TOD信息将向第二芯片递送;
基于所述第一芯片与所述第二芯片之间的数据传播延迟,在所述第二芯片处对齐经过串行化的所述1PPS和所述第一TOD信息的相位;以及
基于第二参考时钟,通过对经过串行化的所述1PPS和所述第一TOD信息进行解串行化来获取第二TOD信息,所述第一参考时钟和所述第二参考时钟与相同的时钟源相关联;以及
利用所述第二TOD信息设定所述第二芯片的第二计时器,以同步所述第一芯片和所述第二芯片。
10.根据权利要求9所述的介质,其中所述串行化包括:
将所述1PPS编码为具有第一预定宽度的低电平的帧头;以及
将所述第一TOD信息编码为从最高有效位至最低有效位的序列,所述第一TOD信息与所述1PPS间隔第二预定宽度的高电平。
11.根据权利要求9所述的介质,其中获取第二TOD信息包括:
基于第二参考时钟,通过解串行化经过串行化的所述1PPS和所述第一TOD信息,以获取在所述第二芯片上的1PPS的相位;以及
基于所述第二芯片上的1PPS的相位,确定所述第二TOD信息的相位。
12.根据权利要求9所述的介质,所述方法还包括:
确定所述第一芯片上的1PPS和所述第二芯片上的1PPS的相位差;以及
基于所述相位差对所述第二计时器的相位进行补偿。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710272184.0A CN108737000B (zh) | 2017-04-24 | 2017-04-24 | 用于时钟同步的方法和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710272184.0A CN108737000B (zh) | 2017-04-24 | 2017-04-24 | 用于时钟同步的方法和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108737000A CN108737000A (zh) | 2018-11-02 |
CN108737000B true CN108737000B (zh) | 2020-01-21 |
Family
ID=63934384
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710272184.0A Active CN108737000B (zh) | 2017-04-24 | 2017-04-24 | 用于时钟同步的方法和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108737000B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109981205B (zh) * | 2019-02-22 | 2020-07-28 | 烽火通信科技股份有限公司 | 1pps+tod信号的传输方法及系统 |
WO2020237690A1 (zh) * | 2019-05-31 | 2020-12-03 | 华为技术有限公司 | 一种相位同步装置、相位同步系统及收发装置 |
CN112584402A (zh) * | 2019-09-30 | 2021-03-30 | 中兴通讯股份有限公司 | 一种网元主备倒换时钟对齐方法、主板、备板及网元设备 |
WO2021097769A1 (zh) * | 2019-11-21 | 2021-05-27 | 华为技术有限公司 | 一种时钟同步方法及装置 |
CN111679714B (zh) * | 2019-12-31 | 2022-03-11 | 泰斗微电子科技有限公司 | 跨芯片信号同步的方法、装置及芯片 |
CN111478745A (zh) * | 2020-04-09 | 2020-07-31 | 浙江赛思电子科技有限公司 | 时钟时间传递协议装置及其协议方法 |
CN112946702B (zh) * | 2021-01-27 | 2022-10-11 | 自然资源部第一海洋研究所 | 一种海洋哺乳动物水下发声分布式在线监测系统 |
CN115549834A (zh) * | 2021-06-29 | 2022-12-30 | 中兴通讯股份有限公司 | 时钟同步方法、装置、系统、电子设备及可读介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6104729A (en) * | 1996-09-16 | 2000-08-15 | Telefonaktiebolaget Lm Ericsson | Method and apparatus for synchronization of time stamping |
CN102123046A (zh) * | 2011-01-21 | 2011-07-13 | 烽火通信科技股份有限公司 | Ptn设备及其主备交叉盘实现时间同步保护倒换的方法 |
CN102394715A (zh) * | 2011-06-30 | 2012-03-28 | 中兴通讯股份有限公司 | 时钟同步方法和装置 |
CN103346873A (zh) * | 2013-06-27 | 2013-10-09 | 华为技术有限公司 | 一种时间同步的方法和设备 |
CN105450491A (zh) * | 2016-01-04 | 2016-03-30 | 北京北方烽火科技有限公司 | 一种基于1588协议的时间同步硬件架构与时间同步方法 |
-
2017
- 2017-04-24 CN CN201710272184.0A patent/CN108737000B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6104729A (en) * | 1996-09-16 | 2000-08-15 | Telefonaktiebolaget Lm Ericsson | Method and apparatus for synchronization of time stamping |
CN102123046A (zh) * | 2011-01-21 | 2011-07-13 | 烽火通信科技股份有限公司 | Ptn设备及其主备交叉盘实现时间同步保护倒换的方法 |
CN102394715A (zh) * | 2011-06-30 | 2012-03-28 | 中兴通讯股份有限公司 | 时钟同步方法和装置 |
CN103346873A (zh) * | 2013-06-27 | 2013-10-09 | 华为技术有限公司 | 一种时间同步的方法和设备 |
CN105450491A (zh) * | 2016-01-04 | 2016-03-30 | 北京北方烽火科技有限公司 | 一种基于1588协议的时间同步硬件架构与时间同步方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108737000A (zh) | 2018-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108737000B (zh) | 用于时钟同步的方法和设备 | |
US10313101B2 (en) | High-speed interface apparatus and deskew method thereof | |
US9219540B2 (en) | Method and system for phase compensation in multi-path communication device | |
US8644085B2 (en) | Duty cycle distortion correction | |
US9838196B2 (en) | Synchronization apparatus, synchronization system, radio communication apparatus and synchronization method | |
KR101297683B1 (ko) | 동기 클록 신호의 조정을 위한 장치 및 방법 | |
US8339895B2 (en) | Signal calibration methods and apparatuses | |
WO2012160105A1 (en) | Apparatus for synchronizing a data handover between a first clock domain and a second clock domain | |
US8787512B1 (en) | Synchronization of time accurate strobe (TAS) messages | |
US8879610B2 (en) | Apparatus and method for changing a clock rate for transmission data | |
CN113711158A (zh) | 时刻同步系统、主控装置、从属装置及程序 | |
US11388315B2 (en) | Apparatus of synchronizing a video synchronizing signal with another signal and method of controlling the apparatus | |
US8504865B2 (en) | Dynamic phase alignment | |
CN108988832B (zh) | 用于检测与电子装置相关联的延迟的方法和相应的电子装置 | |
KR100776736B1 (ko) | 클럭 동기 장치 | |
US11089169B2 (en) | Image transfer system, imaging terminal, display terminal, and adjustment method | |
TW200303676A (en) | System for providing a calibrated clock and methods thereof | |
US8411810B2 (en) | Receiving circuit with adaptive synchronization and method thereof | |
JPH1098763A (ja) | パイロット信号の基地局間同期方法及び回路 | |
JP2011155360A (ja) | 同期信号生成装置、同期信号生成方法 | |
CN101778315B (zh) | 误差添加装置 | |
CN107104749A (zh) | 时钟同步方法及装置 | |
CN118265126A (zh) | 时延电路同步方法及装置 | |
CN118828920A (zh) | 时钟恢复方法、装置、电子装置及存储介质 | |
KR101092850B1 (ko) | 기지국과 단말기 통신 시스템의 클럭 주파수 옵셋 보상방법 및 장치 |
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 |