CN112041829B - 用于被通信链路分开的时钟的时间同步 - Google Patents
用于被通信链路分开的时钟的时间同步 Download PDFInfo
- Publication number
- CN112041829B CN112041829B CN201980028957.8A CN201980028957A CN112041829B CN 112041829 B CN112041829 B CN 112041829B CN 201980028957 A CN201980028957 A CN 201980028957A CN 112041829 B CN112041829 B CN 112041829B
- Authority
- CN
- China
- Prior art keywords
- command
- packet
- prefix
- delay
- slave
- 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
- 238000004891 communication Methods 0.000 title claims abstract description 30
- 238000000034 method Methods 0.000 claims abstract description 32
- 238000012937 correction Methods 0.000 claims description 22
- 230000002093 peripheral effect Effects 0.000 claims description 9
- 238000004364 calculation method Methods 0.000 abstract description 8
- 230000011664 signaling Effects 0.000 abstract description 7
- 238000011144 upstream manufacturing Methods 0.000 abstract description 6
- 238000010586 diagram Methods 0.000 description 12
- 230000001360 synchronised effect Effects 0.000 description 12
- 230000003111 delayed effect Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 239000002245 particle Substances 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
- G06F13/4295—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using an embedded synchronisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0026—PCI express
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)
- Information Transfer Systems (AREA)
Abstract
用于被通信链路分开的时钟的时间同步的系统和方法允许将主时钟放置在面向下游的端口或面向上游的端口处并且向从时钟发送具有嵌入在传输层协议(TLP)前缀中的相关联的时间戳的同步命令。从时钟可以基于所接收的时间戳来更新其时间值。此外,从设备可以计算主时钟与从时钟之间的往返延迟,并且使用该延迟计算来校正从时钟。延迟计算同样可以使用TLP前缀来进行。通过以这种方式使用TLP前缀,时间同步可以搭载在现有消息业务上,这减少了信令开销。同样,通过使用TLP前缀,可以从面向上游的端口或面向下游的端口发起时间同步。
Description
要求优先权
本专利申请要求享受于2018年4月30日递交的、标题为“TIME SYNCHRONIZATIONFOR CLOCKS SEPARATED BY A COMMUNICATION LINK”的美国非临时申请No.15/966,077的优先权,上述申请被转让给本申请的受让人并且据此将上述申请通过引用的方式明确地并入本文。
技术领域
概括而言,本公开内容的技术涉及通过通信链路互连的集成电路(IC)之间的定时同步,并且更具体地,本公开内容的技术涉及通过外围组件互连(PCI)快速(PCIE)协议互连的IC。
背景技术
计算设备已经从其早期的大型且具有有限用途的形式演进成紧凑的多功能多媒体设备。部分地随着使用在越来越小的封装中具有越来越多的晶体管的集成电路(IC),已经出现功能的增加。许多计算设备包括具有不同专用功能的多个IC。
为了改进功能,各种内部总线可以用于在计算设备的IC之间交换指令和数据。示例性通信总线包括但不限于集成电路间(I2C)、串行AT附件(SATA)、串行外围设备接口(SPI)或其它串行接口。一种普及的总线(但是认为其是链路可能更恰当,因为其是点对点连接(与总线所意指的点对多点或多点对多点相反))是基于外围组件互连(PCI)特别兴趣小组(PCI-SIG)发布的PCI快速(PCIE)标准。PCIE是高速点对点串行链路。PCIE版本4于2017年6月8日正式宣布,并且版本5至少早在2017年6月已经被初步提议,预计于2019年发布。
PCIE在可能跨越PCIE链路的数据类型方面具有很大的灵活性。一种普及的数据类型是音频流。为了确保音频质量满足期望的门限,应当对上游侧和下游侧两者的时钟进行同步。其它功能或数据流也可能需要经同步的时钟。PCIE的当前特点使用精确时间测量(PTM)技术来帮助确保时钟是同步的。然而,PTM技术要求将主时钟放置在链路的面向下游(即,远离根联合体)的端口之后。存在如下的拓扑:在这些拓扑中,主时钟位于链路(例如,应用处理器到调制解调器链路,其中主时钟在调制解调器中,但是调制解调器是端点,而不是根联合体)的面向上游(即,朝向根联合体)的端口之后,这使得PTM是不期望的。另外,PTM可能施加信令开销,其对性能产生负面影响。因此,需要替代的时间同步技术。
发明内容
在具体实施方式中公开的各方面包括用于提供用于被通信链路分开的时钟的时间同步的系统和方法。在一个示例性方面中,通信链路是外围组件互连(PCI)快速(PCIE)链路。主时钟可以位于面向下游的端口或面向上游的端口处,并且可以向从时钟发送具有嵌入在传输层协议(TLP)前缀中的相关联的时间戳的同步命令。从时钟可以基于所接收的时间戳来更新其时间值。此外,从设备可以计算主时钟与从时钟之间的往返延迟,并且使用该延迟计算来校正从时钟。延迟计算同样可以使用TLP前缀来进行。通过以这种方式使用TLP前缀,时间同步可以搭载在现有消息业务上,这减少了信令开销。同样,通过使用TLP前缀,可以从面向上游的端口或面向下游的端口发起时间同步。
就这点而言,在一个方面中,公开了一种跨通信链路来对时钟进行同步的方法。所述方法包括:通过基于有线的通信链路从主设备向从设备发送同步命令。所述同步命令包括分组前缀,并且所述分组前缀包含主时钟时间戳。
在另一方面中,公开了一种主设备。所述主设备包括被配置为耦合到基于有线的通信链路的链路接口。所述主设备还包括主时钟。所述主设备还包括操作地耦合到所述链路接口和所述主时钟的控制系统。所述控制系统被配置为通过所述基于有线的通信链路向从设备发送同步命令。所述同步命令包括分组前缀,并且所述分组前缀包含主时钟时间戳。
在另一方面中,公开了一种从设备。所述从设备包括被配置为耦合到基于有线的通信链路的链路接口。所述从设备还包括从时钟。所述从设备还包括操作地耦合到所述链路接口和所述从时钟的控制系统。所述控制系统被配置为通过所述基于有线的通信链路从主设备接收同步命令。所述同步命令包括分组前缀,并且所述分组前缀包含主时钟时间戳。
在另一方面中,公开了一种跨通信链路来对时钟进行同步的方法。所述方法包括:通过基于有线的通信链路从主设备接收同步命令。所述同步命令包括分组前缀,并且所述分组前缀包含主时钟时间戳。
附图说明
图1是具有通过外围组件互连(PCI)快速(PCIE)链路耦合的设备的示例性计算系统的框图;
图2示出了示例性PCIE端点设备的框图,该PCIE端点设备也可以被称为面向上游的设备;
图3示出了具有PCIE根联合体的示例性主机的框图,该主机也可以被称为面向下游的设备;
图4示出了示例性传输层协议(TLP)PCIE帧,其具有附加到其前面的TLP报头;
图5是示出用于使用本公开内容的示例性方面来跨PCIE链路对时钟进行同步的示例性过程的流程图;
图6是示出跨第一PCIE链路的延迟的计算的第一信号流程图;
图7是示出跨包括桥的PCIE链路的延迟的计算的第二信号流程图;
图8示出了示例性分组,其具有附加到其前面的校正命令;以及
图9是示例性的基于处理器的系统的框图,该基于处理器的系统可以包括图1的PCIE链路并且使用图5的过程。
具体实施方式
现在参照附图,描述了本公开内容的若干示例性方面。词语“示例性”在本文中用来意指“用作示例、实例或说明”。本文中被描述为“示例性”的任何方面不一定被解释为比其它方面优选或有优势。
在具体实施方式中公开的各方面包括用于提供用于被通信链路分开的时钟的时间同步的系统和方法。在一个示例性方面中,通信链路是外围组件互连(PCI)快速(PCIE)链路。主时钟可以位于面向下游的端口或面向上游的端口处,并且可以向从时钟发送具有嵌入在传输层协议(TLP)前缀中的相关联的时间戳的同步命令。从时钟可以基于所接收的时间戳来更新其时间值。此外,从设备可以计算主时钟与从时钟之间的往返延迟,并且使用该延迟计算来校正从时钟。延迟计算同样可以使用TLP前缀来进行。通过以这种方式使用TLP前缀,时间同步可以搭载在现有消息业务上,这减少了信令开销。同样,通过使用TLP前缀,可以从面向上游的端口或面向下游的端口发起时间同步。
为了帮助理解本公开内容的各方面,参照图1-3提供了PCIE环境的概述。在图4中示出了具有附加到其前面的TLP前缀的示例性帧,该TLP前缀可以包括时间同步命令和时间戳信息。参照下面的图5以及参照图6和7提供的信号流程图讨论了根据本公开内容的示例性过程,该过程示出了使用TLP前缀来发送时间同步命令和时间戳。
就这点而言,图1示出了具有主机102的计算环境100,该主机102直接耦合到多个设备104(1)-104(N)并且通过开关108耦合到第二多个设备106(1)-106(M)。在一些文献中,诸如开关108之类的开关可以被称为桥。主机102可以包括PCIE根联合体110(在图1中被标记为RC),该PCIE根联合体110包括被配置为耦合到多个PCIE链路112(1)-112(N+1)的链路接口(未直接示出)。链路接口有时可以被称为端口,而背离根联合体的端口被称为面向下游的端口(以下简称为下游端口)。开关108通过PCIE链路114(1)-114(M)向设备106(1)-106(M)进行传送。设备104(1)-104(N)和106(1)-106(M)可以是或可以包括PCIE端点。在第一示例性方面中,计算环境100可以是单个计算设备(诸如计算机),其中主机102是中央处理单元(CPU)并且设备104(1)-104(N)和106(1)-106(M)是内部组件(诸如硬盘驱动器、磁盘驱动器等)。在第二示例性方面中,计算环境100可以是计算设备,其中主机102是集成电路(IC)(诸如电路板上的应用处理器),并且设备104(1)-104(N)和106(1)-106(M)是计算设备内的其它IC(诸如存储器元件、调制解调器等)。在第三示例性方面中,计算环境100可以是具有内部主机102的计算设备,该内部主机102耦合到外部设备104(1)-104(N)和106(1)-106(M)(诸如耦合到一个或多个外部存储器驱动器的服务器)。注意的是,这些方面不一定是互斥的,因为这些设备中的不同设备可以是相对于单个主机102的内部或外部的IC。
图2提供了可以是设备104(1)-104(N)或设备106(1)-106(M)之一的设备200的框图。具体地,设备200充当PCIE系统中的端点,并且可以是例如包括收发机202和控制系统204(在图2中被标记为CS)的调制解调器。此外,设备200包括PCIE硬件元件206,该PCIE硬件元件206包括被配置为耦合到PCIE链路的链路接口。设备200的链路接口也可以被认为是端口,并且具体地,被认为是面向上游的端口(以下简称为上游端口)。PCIE硬件元件206可以包括物理层(PHY)208,其是链路接口或与链路接口一起工作以在PCIE链路上进行通信。控制系统204通过系统链路210与PCIE硬件元件206进行通信。PCIE硬件元件206还可以包括多个寄存器212。寄存器212可以在概念上被分为配置寄存器214和能力寄存器216。配置寄存器214和能力寄存器216由原始PCI标准定义,并且包括寄存器214和216的最新设备是与传统设备向后兼容的。配置寄存器214包括十六(16)个双字(DW)。能力寄存器216包括四十八(48)个DW。PCIE标准还定义了在PCIE扩展配置寄存器空间218中构建的另外的寄存器。这些寄存器在原始PCI标准中不存在,并且因此,PCI传统设备通常不对这些额外寄存器寻址。扩展配置寄存器空间218可以是另外960个DW。设备200还可以包括时钟220,其根据需要或期望与收发机202或设备200内的其它元件互操作。本公开内容的示例性方面可以在扩展配置寄存器空间218内的寄存器中存储关于设备200能够执行本公开内容的过程的指示。
类似地,图3示出了可以是图1的主机102的主机300。主机300可以包括应用处理器302或其它处理器核,其与具有与其一起操作的操作系统306的存储器元件304进行通信。系统总线308将应用处理器302与存储器元件304和PCIE硬件电路310互连。PCIE硬件电路310可以是PCIE根联合体并且可以包括PHY 312,该PHY 312与被配置为耦合到PCIE链路的链路接口一起工作或者是被配置为耦合到PCIE链路的链路接口。PCIE硬件电路310还包括多个配置和能力寄存器314,其存储与端点的能力和任何配置细节有关的数据。主机300还可以包括时钟316,该时钟316根据需要或期望来与应用处理器302或主机300内的其它元件互操作。
如上所述,PCIE标准依赖于TLP帧来跨PCIE链路(诸如图1的PCIE链路112(1)-112(N+1))进行通信。本公开内容的示例性方面允许独立于主时钟所在的位置来交换时间同步信息。即,与将主时钟限制在下游端口之后的精确时间测量(PTM)技术不同,本公开内容的示例性方面允许将主时钟放置在根联合体或端点中。将主时钟放置在根联合体或端点处的能力为设计人员提供了更大的灵活性,并且继而允许实现不同且潜在地更高效的电路拓扑。例如,用于音频流的主时钟可以位于调制解调器中。本公开内容的示例性方面使用附加到TLP帧前面的TLP前缀来交换时间同步命令和时间戳信息。相对于在PCIE标准中阐述的PTM技术而言,通过以这种方式使用TLP前缀,可以减少根联合体与端点之间的信令开销。为了提供时间同步信息的这种交换,本公开内容的示例性方面定义了三种新的前缀类型:同步、延迟和校正,下面将更详细地解释。
PCIE帧和通用TLP前缀由于其包括PCIE标准而众所周知。然而,为了说明起见,在图4中示出了示例性PCIE帧400。PCIE帧400包括地址字段402、请求者标识符字段404以及其它众所周知的信息。PCIE帧400可以包括用于与读命令相关联的数据的地址,或者提供与写命令等相关联的要被写入的数据,等等。TLP前缀406包括前缀类型字段408,其可以使用预留代码来将TLP前缀406指定为由本公开内容定义的新的前缀类型之一。TLP前缀406还可以包括时间戳字段410,其可以是例如根据本公开内容的示例性方面的表示正在设备之间发送的时间戳的四十八(48)比特的信息。TLP前缀406被限制为三个字节的数据,因此,如果需要另外的数据来传送时间戳信息,则可以使用另外的TLP前缀。PCIE标准预期使用多个TLP前缀来传送大于三个字节的单个数据块。
针对图1-4的背景,参照图5提供了用于对时钟进行同步的示例性过程500。具体地,过程500以如下操作开始:根联合体(诸如PCIE硬件电路310)读取诸如设备200之类的端点的能力寄存器214、216和218(框502)。根联合体基于能力寄存器中的信息来确定给定端点能够使用本公开内容的时间同步技术(框504)。可以在根联合体或端点中的主时钟(即,时钟220或316)是可操作的。相关联的从时钟可能需要与主时钟同步,或者主时钟可以确定应当同步任何从时钟。注意的是,该确定可以是与从设备是否实际上失去同步无关地发生的周期性同步、基于来自从设备的某种中断、在启动时或根据需要或期望的其它触发事件。与主时钟相关联的PCIE硬件发出具有来自主时钟的时间戳的同步命令(框506)。从时钟基于同步命令中的时间戳来更新本地时间(框508)。
应当明白的是,在主设备发送同步命令的时间与从时钟接收到同步命令之间存在延迟。因此,计算系统可以使得从时钟应用延迟校正。然后,与从时钟相关联的PCIE硬件可以发出具有(或不具有)本地时间戳的延迟命令(框510)。主时钟(或更恰当地,与主时钟相关联的PCIE硬件)利用具有第二主时钟时间戳的第二延迟命令来对该延迟命令进行响应(框512)。基于相对于发送第一延迟命令的时间(t1)而言接收到第二延迟命令的时间(t3),与从时钟相关联的PCIE硬件计算延迟偏移(框514)。在一个示例性方面中,延迟偏移等于:
可以立即或者在接收到下一同步命令之后,通过所计算的延迟偏移来更新从时钟(框516)。还要注意的是,虽然被示为在第一延迟命令和第二延迟命令两者中都包括时间戳,但是可以省略时间戳,这可以帮助减少信令开销。然而,通过包括时间戳信息或其它标识信息,有可能将特定的第二延迟命令链接到特定的第一延迟命令。如果多个延迟命令在给定时间可以挂起,则这样的链接可能是适当的。
在图6中提供了过程500的信号流程图600。具体地,具有主时钟的主设备602在时间t0处向具有从时钟的从设备606发送分组604。分组604具有TLP部分604A和前缀部分604B,该前缀部分604B在前缀部分604B中的同步命令内包含时间戳604C。如上所解释的,从设备606利用分组604中的时间戳信息来更新从时钟。在时间t1处,从设备606在分组608中发送附加到TLP部分608B的延迟命令608A。注意的是,延迟命令608A在其中可以具有(或可以不具有)时间戳信息。在时间t2处,在主设备602处接收延迟命令,主设备602通过发送第二延迟命令610来进行响应。如上所解释的,第二延迟命令610是附加到TLP分组前面的TLP前缀。第二延迟命令610在其中可以具有(或可以不具有)时间戳信息。在时间t3处,在从设备606处接收第二延迟命令610。然后,如上所述,从设备606可以基于t3与t1之间的差来计算延迟偏移(即,延迟偏移等于:)。在某个另外的时间点处,主设备602可以发送后续的同步命令612,并且从设备可以基于同步命令中的时间戳和所计算的延迟偏移来调整从时钟。注意的是,同步命令的定时可以是周期性地、基于温度变化或其它触发事件来完成的。在一个示例性方面中,可以基于经验得出的漂移来发送同步命令。即,可以计算时钟之间的漂移率,并且当漂移超过预定义门限时发送同步命令。
虽然同步和延迟命令足以用于主设备与从设备之间的直接链路,但是应当明白的是,存在其中在主设备与从设备之间插入桥或开关的拓扑。在这样的情况下,通过与开关或桥所引起的延迟相关联的不确定性值来调整时间同步可能是必要的。在图7中提供了示例性信号流程图700,其示出了针对计算环境702使用校正命令来解决这种情况。就这点而言,计算环境702包括主设备704、开关706和从设备708。主设备704可以向从设备708发送同步命令710。同步命令710经过开关706。在接收到同步命令710时,开关706确定在其入口端口处接收到同步命令710与在其出口端口处发送同步命令710之间经过了多长时间,并且将校正命令712附加到同步命令710。校正命令712包括值τ0,其对应于由开关706确定的时间量。校正命令712可以是TLP前缀。从设备708可以根据同步命令来将从时钟设置为时间t0,或者可以将从时钟设置为时间t0+τ0。与之前一样,在某个稍后的时间t1处,从设备708可以发起延迟命令714以计算往返延迟。延迟命令714到达开关706处并且在添加了校正命令716的情况下经过开关706。校正命令716可以包括校正值τ1。主设备704可以利用添加了校正命令716的延迟命令718来进行响应。延迟命令718由开关706接收并且在添加了另外的校正命令720的情况下被传递到从设备708。另外的校正命令720可以包括第二校正值τ2。作为延迟的一部分,从设备708可以减去τ1和τ2。因此,延迟偏移可以表达为:
在图8中示出了示例性分组800,该分组800具有附加到其前面的校正命令。分组800包括图4的PCIE帧400、以及同步命令前缀406以及校正命令前缀802,该校正命令前缀802具有命令部分804以及保存τ的时间戳部分806。
应当明白的是,本公开内容的命令,无论它们是同步、延迟还是校正,都可以应用于任何出站分组。在没有及时可用的出站分组的情况下,可以生成零长度写命令和前面附加的前缀。这种灵活性允许相对于PTM技术减少信令。
根据本文公开的各方面的时间同步技术可以在任何基于处理器的设备中提供或集成到任何基于处理器的设备中。示例包括但不限于机顶盒、娱乐单元、导航设备、通信设备、固定位置数据单元、移动位置数据单元、全球定位系统(GPS)设备、移动电话、蜂窝电话、智能电话、会话发起协议(SIP)电话、平板设备、手机平板、服务器、计算机、便携式计算机、移动计算设备、可穿戴计算设备(例如,智能手表、健康或健身追踪器、眼镜等)、台式计算机、个人数字助理(PDA)、监视器、计算机显示器、电视机、调谐器、无线电单元、卫星无线电单元、音乐播放器、数字音乐播放器、便携式音乐播放器、数字视频播放器、视频播放器、数字视频光盘(DVD)播放器、便携式数字视频播放器、汽车、车辆组件、航空电子系统、无人机和多旋翼直升机。
就这点而言,图9示出了基于处理器的系统900的示例,该基于处理器的系统900可以采用在图1中所示的PCIE系统,该PCIE系统采用图5-8的时间同步技术。就这点而言,图9是示例性移动终端902(诸如智能电话、移动计算设备、平板设备等)的系统级框图。
继续参照图9,移动终端902包括应用处理器904(有时被称为主机),应用处理器904通过通用闪存(UFS)总线908与大容量存储元件906进行通信。应用处理器904还可以通过显示器串行接口(DSI)总线912连接到显示器910,并且通过相机串行接口(CSI)总线916连接到相机914。各种音频元件(诸如麦克风918、扬声器920和音频编解码器922)可以通过串行低功率芯片间多媒体总线(SLIMbus)924耦合到应用处理器904。另外,音频元件可以通过SOUNDWIRE总线926相互通信。调制解调器928也可以耦合到SLIMbus 924和/或SOUNDWIRE总线926。调制解调器928还可以通过PCI或PCIE链路930和/或系统功率管理接口(SPMI)总线932连接到应用处理器904。
继续参照图9,SPMI总线932也可以耦合到局域网(WLAN)IC(WLAN IC)934、功率管理集成电路(PMIC)936、伴随IC(有时被称为桥芯片)938和射频IC(RFIC)940。应当明白的是,单独的PCI链路942和944也可以将应用处理器904耦合到伴随IC 938和WLAN IC 934。应用处理器904还可以通过传感器总线948连接到传感器946。调制解调器928和RFIC940可以使用总线950进行通信。
继续参照图9,RFIC 940可以通过射频前端(RFFE)总线958耦合到一个或多个RFFE元件,诸如天线调谐器952、开关954和功率放大器956。此外,RFIC 940可以通过总线962耦合到包络跟踪电源(ETPS)960,并且ETPS 960可以与功率放大器956进行通信。包括RFIC940的RFFE元件可以被共同认为是RFFE系统964。应当明白的是,RFFE总线958可以由时钟线和数据线(未示出)形成。
PCIE链路930、942和/或944中的任何一者都可以并入本公开内容的各方面。
本领域技术人员将进一步明白的是,结合本文公开的各方面描述的各种说明性的逻辑框、模块、电路和算法可以实现为电子硬件、存储在存储器或另一计算机可读介质中并且由处理器或其它处理设备执行的指令、或两者的组合。作为示例,本文描述的设备可以在任何电路、硬件组件、IC或IC芯片中采用。本文公开的存储器可以是任何类型和大小的存储器,并且可以被配置为存储期望的任何类型的信息。为了清楚地说明这种可互换性,上文已经将各个说明性的组件、框、模块、电路和步骤按照它们的功能进行了总体描述。如何实现这种功能取决于特定应用、设计选择和/或施加在整体系统上的设计约束。技术人员可以针对每种特定应用以变化的方式来实现所描述的功能,但是这种实现决策不应当被解释为导致脱离了本公开内容的范围。
可以利用被设计为执行本文所描述的功能的处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑器件、分立门或者晶体管逻辑、分立硬件组件或者其任何组合来实现或执行结合本文公开的各方面所描述的各个说明性的逻辑框、模块和电路。处理器可以是微处理器,但是在替代方式中,处理器可以是任何常规的处理器、控制器、微控制器或者状态机。处理器也可以实现为计算设备的组合(例如,DSP和微处理器的组合、多个微处理器、一个或多个微处理器结合DSP核、或者任何其它此种配置)。
本文公开的各方面可以以硬件和存储在硬件中的指令来体现,并且可以驻留在例如随机存取存储器(RAM)、闪存、只读存储器(ROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、寄存器、硬盘、可移动磁盘、CD-ROM或本领域已知的任何其它形式的计算机可读介质中。示例性存储介质耦合到处理器,使得处理器可以从该存储介质读取信息,并且可以向该存储介质写入信息。在替代方式中,存储介质可以是处理器的组成部分。处理器和存储介质可以驻留在ASIC中。ASIC可以驻留在远程站中。在替代方式中,处理器和存储介质可以作为分立组件驻留在远程站、基站或服务器中。
还应注意的是,描述了在本文任何示例性方面中描述的操作步骤以提供示例和讨论。所描述的操作可以以除了所示顺序之外的许多不同的顺序来执行。此外,在单个操作步骤中描述的操作实际上可以在许多不同的步骤中执行。另外,可以组合在示例性方面中讨论的一个或多个操作步骤。应理解的是,在流程图中所示的操作步骤可以进行许多不同的修改,这对于本领域技术人员来说将是显而易见的。本领域技术人员还将理解的是,信息和信号可以使用多种不同的技术和方法中的任何一种来表示。例如,可能贯穿以上描述所提及的数据、指令、命令、信息、信号、比特、符号和码片可以由电压、电流、电磁波、磁场或粒子、光场或粒子、或其任何组合来表示。
提供对本公开内容的先前描述,以使本领域技术人员能够实现或使用本公开内容。对本公开内容的各种修改对于本领域技术人员将是显而易见的,并且在不脱离本公开内容的精神或范围的情况下,本文所定义的通用原理可以应用到其它变型中。因此,本公开内容并不旨在限于本文描述的示例和设计,而是被赋予与本文所公开的原理和新颖特征相一致的最宽范围。
Claims (20)
1.一种跨通信链路来对时钟进行同步的方法,包括:
通过基于有线的通信链路从主设备向从设备发送同步命令,其中,所述同步命令包括分组前缀,并且所述分组前缀包含主时钟时间戳;
从所述从设备接收延迟命令;以及
响应于接收到所述延迟命令,向所述从设备发送第二延迟命令,其中,向所述从设备发送所述第二延迟命令包括:将前缀附加到分组前面,其中,所述分组包括零写命令分组。
2.根据权利要求1所述的方法,其中,发送所述同步命令包括:通过外围组件互连(PCI)快速(PCIE)链路发送所述同步命令。
3.根据权利要求2所述的方法,其中,发送所述同步命令包括:将传输层协议(TLP)前缀附加到TLP帧前面。
4.根据权利要求1所述的方法,其中,将所述前缀附加到所述分组前面包括:将TLP前缀附加到TLP分组前面。
5.根据权利要求1所述的方法,其中,发送所述第二延迟命令包括:将第二主时钟时间戳与所述第二延迟命令一起发送给所述从设备。
6.一种主设备,包括:
被配置为耦合到基于有线的通信链路的链路接口;
主时钟;以及
操作地耦合到所述链路接口和所述主时钟的控制系统,所述控制系统被配置为:
通过所述基于有线的通信链路向从设备发送同步命令,其中,所述同步命令包括分组前缀,并且所述分组前缀包含主时钟时间戳;
从所述从设备接收延迟命令;以及
响应于接收到所述延迟命令,向所述从设备发送第二延迟命令,其中,所述控制系统还被配置为:将前缀附加到分组前面,其中,所述分组包括零写命令分组。
7.根据权利要求6所述的主设备,其中,所述链路接口包括外围组件互连(PCI)快速(PCIE)链路接口。
8.根据权利要求7所述的主设备,其中,所述同步命令包括附加到传输层协议(TLP)帧的TLP前缀。
9.根据权利要求6所述的主设备,其中,所述控制系统还被配置为:在所述基于有线的通信链路上从桥接收校正命令。
10.根据权利要求9所述的主设备,其中,所述控制系统被配置为:发送包括所述校正命令的响应。
11.一种从设备,包括:
被配置为耦合到基于有线的通信链路的链路接口;
从时钟;以及
操作地耦合到所述链路接口和所述从时钟的控制系统,所述控制系统被配置为:
通过所述基于有线的通信链路从主设备接收同步命令,其中,所述同步命令包括分组前缀,并且所述分组前缀包含主时钟时间戳;
向所述主设备发送延迟命令;以及
从所述主设备接收第二延迟命令,其中,所述第二延迟命令包括附加到分组前面的前缀,其中,所述分组包括零写命令分组。
12.根据权利要求11所述的从设备,其中,所述控制系统还被配置为:基于所述主时钟时间戳来更新所述从时钟。
13.根据权利要求11所述的从设备,其中,所述链路接口包括外围组件互连(PCI)快速(PCIE)链路接口。
14.根据权利要求11所述的从设备,其中,所述控制系统被配置为:基于发送所述延迟命令的时间与接收到所述第二延迟命令的时间来计算延迟校正。
15.根据权利要求14所述的从设备,其中,所述控制系统还被配置为:利用所述延迟校正来校正所述从时钟。
16.根据权利要求11所述的从设备,其被集成到从由以下各项组成的组中选择的设备中:机顶盒;移动电话;计算机;电视机;汽车;以及无人机。
17.根据权利要求11所述的从设备,其被集成到从由以下各项组成的组中选择的设备中:娱乐单元;通信设备;全球定位系统(GPS)设备;移动计算设备;车辆组件;以及航空电子系统。
18.一种跨通信链路来对时钟进行同步的方法,包括:
通过基于有线的通信链路从主设备接收同步命令,其中,所述同步命令包括分组前缀,并且所述分组前缀包含主时钟时间戳;
向所述主设备发送延迟命令;以及
从所述主设备接收第二延迟命令,其中,接收所述第二延迟命令包括接收附加到分组前面的前缀,其中,所述分组包括零写命令分组。
19.根据权利要求18所述的方法,还包括:基于所述主时钟时间戳来更新从时钟。
20.根据权利要求18所述的方法,还包括:基于在发送所述延迟命令与接收所述第二延迟命令之间经过的时间量来计算延迟校正。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/966,077 US10795400B2 (en) | 2018-04-30 | 2018-04-30 | Time synchronization for clocks separated by a communication link |
US15/966,077 | 2018-04-30 | ||
PCT/US2019/021127 WO2019212639A1 (en) | 2018-04-30 | 2019-03-07 | Time synchronization for clocks separated by a communication link |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112041829A CN112041829A (zh) | 2020-12-04 |
CN112041829B true CN112041829B (zh) | 2024-05-14 |
Family
ID=65904549
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980028957.8A Active CN112041829B (zh) | 2018-04-30 | 2019-03-07 | 用于被通信链路分开的时钟的时间同步 |
Country Status (4)
Country | Link |
---|---|
US (2) | US10795400B2 (zh) |
EP (1) | EP3788497B1 (zh) |
CN (1) | CN112041829B (zh) |
WO (1) | WO2019212639A1 (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10795400B2 (en) | 2018-04-30 | 2020-10-06 | Qualcomm Incorporated | Time synchronization for clocks separated by a communication link |
US10678297B2 (en) * | 2018-05-10 | 2020-06-09 | Ciena Corporation | Circuit communication systems with digital state devices |
US11693448B2 (en) * | 2019-03-05 | 2023-07-04 | Intel Corporation | Timestamp alignment across multiple computing nodes |
CN112188181B (zh) * | 2019-07-02 | 2023-07-04 | 中强光电股份有限公司 | 图像显示设备、立体图像处理电路及其同步信号校正方法 |
EP4080375A4 (en) * | 2020-01-22 | 2022-12-21 | Huawei Technologies Co., Ltd. | PCIE BASED DATA TRANSFER METHOD AND DEVICE |
US11683149B2 (en) * | 2020-09-11 | 2023-06-20 | Apple Inc. | Precise time management using local time base |
JP2023543974A (ja) * | 2020-10-12 | 2023-10-19 | バイエリシエ・モトーレンウエルケ・アクチエンゲゼルシヤフト | 時刻同期の検証 |
US11737038B2 (en) | 2020-11-30 | 2023-08-22 | Silicon Laboratories Inc. | Correction of frequency offset between initiator and reflector |
US11743852B2 (en) | 2020-11-30 | 2023-08-29 | Silicon Laboratories Inc. | Phase measurements for high accuracy distance measurements |
US11438200B2 (en) * | 2020-11-30 | 2022-09-06 | Silicon Laboratories Inc. | Frequency offset compensation at reflector during frequency compensation interval |
US11431359B2 (en) | 2020-11-30 | 2022-08-30 | Silicon Laboratories Inc. | DC offset compensation in zero-intermediate frequency mode of a receiver |
US11638116B2 (en) | 2020-12-01 | 2023-04-25 | Silicon Laboratories Inc. | Adjusting DFT coefficients to compensate for frequency offset during a sounding sequence used for fractional time determination |
TWI748892B (zh) * | 2021-03-08 | 2021-12-01 | 瑞昱半導體股份有限公司 | 時脈同步系統及操作時脈同步系統的方法 |
US11632733B2 (en) | 2021-09-13 | 2023-04-18 | Silicon Laboratories Inc. | System, apparatus and method for acquisition of signals in wireless systems with adverse oscillator variations |
US11687115B2 (en) | 2021-09-22 | 2023-06-27 | Apple Inc. | Precise time management for peripheral device using local time base |
US11847090B1 (en) * | 2022-06-21 | 2023-12-19 | Winbond Electronics Corporation | SPI bus synchronization |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1853362A (zh) * | 2003-07-10 | 2006-10-25 | 高通股份有限公司 | 用于减小无线通信系统中的接入延迟的方法和设备 |
CN102870477A (zh) * | 2010-04-12 | 2013-01-09 | 摩托罗拉移动有限责任公司 | 通信系统中的上行链路时间同步 |
CN106471484A (zh) * | 2014-06-26 | 2017-03-01 | 高通股份有限公司 | 在共享总线系统中使用异步主设备参考时钟生成组合总线时钟信号以及相关方法、设备和计算机可读介质 |
US9760114B1 (en) * | 2014-01-03 | 2017-09-12 | Juniper Networks, Inc. | Systems and methods for improving clock synchronization between master and slave devices |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7849252B2 (en) * | 2008-05-30 | 2010-12-07 | Intel Corporation | Providing a prefix for a packet header |
CN101729180A (zh) * | 2008-10-21 | 2010-06-09 | 华为技术有限公司 | 精准时钟同步方法及系统、精准时钟频率/时间同步装置 |
US8385333B2 (en) | 2009-06-30 | 2013-02-26 | Intel Corporation | Mechanism for clock synchronization |
JP2011071579A (ja) | 2009-09-24 | 2011-04-07 | Toshiba Corp | PCIExpress通信システム |
US8504864B2 (en) * | 2010-12-01 | 2013-08-06 | GM Global Technology Operations LLC | Data sensor coordination using time synchronization in a multi-bus controller area network system |
CN103891223B (zh) | 2011-05-02 | 2016-10-12 | 苹果公司 | 通过网络隧道传输数据的方法和装置 |
US20130346655A1 (en) * | 2012-06-22 | 2013-12-26 | Advanced Micro Devices, Inc. | Bus agent capable of supporting extended atomic operations and method therefor |
US9160472B2 (en) | 2012-09-07 | 2015-10-13 | National Instruments Corporation | Clock synchronization over a switched fabric |
US20140237156A1 (en) * | 2012-10-25 | 2014-08-21 | Plx Technology, Inc. | Multi-path id routing in a pcie express fabric environment |
US9152591B2 (en) * | 2013-09-06 | 2015-10-06 | Cisco Technology | Universal PCI express port |
US9571572B2 (en) * | 2014-05-01 | 2017-02-14 | International Business Machines Corporation | Peer-to-peer networking through universal port connections |
US10191877B2 (en) | 2015-12-22 | 2019-01-29 | Intel Corporation | Architecture for software defined interconnect switch |
US10795400B2 (en) | 2018-04-30 | 2020-10-06 | Qualcomm Incorporated | Time synchronization for clocks separated by a communication link |
-
2018
- 2018-04-30 US US15/966,077 patent/US10795400B2/en active Active
-
2019
- 2019-03-07 CN CN201980028957.8A patent/CN112041829B/zh active Active
- 2019-03-07 WO PCT/US2019/021127 patent/WO2019212639A1/en unknown
- 2019-03-07 EP EP19713260.8A patent/EP3788497B1/en active Active
-
2020
- 2020-07-13 US US16/927,657 patent/US11287842B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1853362A (zh) * | 2003-07-10 | 2006-10-25 | 高通股份有限公司 | 用于减小无线通信系统中的接入延迟的方法和设备 |
CN102870477A (zh) * | 2010-04-12 | 2013-01-09 | 摩托罗拉移动有限责任公司 | 通信系统中的上行链路时间同步 |
US9760114B1 (en) * | 2014-01-03 | 2017-09-12 | Juniper Networks, Inc. | Systems and methods for improving clock synchronization between master and slave devices |
CN106471484A (zh) * | 2014-06-26 | 2017-03-01 | 高通股份有限公司 | 在共享总线系统中使用异步主设备参考时钟生成组合总线时钟信号以及相关方法、设备和计算机可读介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2019212639A1 (en) | 2019-11-07 |
EP3788497A1 (en) | 2021-03-10 |
US10795400B2 (en) | 2020-10-06 |
EP3788497B1 (en) | 2024-05-08 |
US20200341506A1 (en) | 2020-10-29 |
CN112041829A (zh) | 2020-12-04 |
US11287842B2 (en) | 2022-03-29 |
US20190332137A1 (en) | 2019-10-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112041829B (zh) | 用于被通信链路分开的时钟的时间同步 | |
US11068326B2 (en) | Methods and apparatus for transmitting time sensitive data over a tunneled bus interface | |
US11356388B2 (en) | Real-time multi-protocol heterogeneous packet-based transport | |
KR101749202B1 (ko) | 타임스탬프를 생성하는 방법, 장치, 그리고 시스템 | |
CN101937253B (zh) | 用于时钟同步的方法、装置和系统 | |
US8745431B2 (en) | Compound universal serial bus architecture providing precision synchronisation to an external timebase | |
US11039408B2 (en) | Methods and apparatus for synchronization among integrated circuits within a wireless network | |
US20210258136A1 (en) | Time synchronisation | |
CN112162591B (zh) | 具有多个处理器的电子装置及其同步方法 | |
CN113839731A (zh) | 具有用于分组的所需物理传输时间的分组调度系统 | |
KR20230073209A (ko) | 시스템 전력 관리 인터페이스 (spmi) 시스템에서의 확장된 기능 데이터그램 | |
CN114586297A (zh) | 一种同步方法及设备 | |
US10915490B2 (en) | Audio streams over peripheral component interconnect (PCI) express (PCIE) links | |
WO2020102037A1 (en) | Reducing latency on long distance point-to-point links | |
US10511397B2 (en) | Virtual general purpose input/output (GPIO) (VGI) over a time division multiplex (TDM) bus | |
US20180018296A1 (en) | Flow control protocol for an audio bus | |
US20190065431A1 (en) | Providing zero-overhead frame synchronization using synchronization strobe polarity for soundwire extension buses | |
CN116346270A (zh) | 支持Serdes超频的时间同步的方法及应用 |
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 |