CN101937253B - 用于时钟同步的方法、装置和系统 - Google Patents

用于时钟同步的方法、装置和系统 Download PDF

Info

Publication number
CN101937253B
CN101937253B CN2010102207751A CN201010220775A CN101937253B CN 101937253 B CN101937253 B CN 101937253B CN 2010102207751 A CN2010102207751 A CN 2010102207751A CN 201010220775 A CN201010220775 A CN 201010220775A CN 101937253 B CN101937253 B CN 101937253B
Authority
CN
China
Prior art keywords
message
time
main equipment
target device
indicate
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
CN2010102207751A
Other languages
English (en)
Other versions
CN101937253A (zh
Inventor
K·斯坦顿
D·J·哈里曼
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of CN101937253A publication Critical patent/CN101937253A/zh
Application granted granted Critical
Publication of CN101937253B publication Critical patent/CN101937253B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/14Time supervision arrangements, e.g. real time clock

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Systems (AREA)

Abstract

一种用于在布置于网络上的主设备和目标设备之间同步时间的方法和装置,其中,所述目标设备通过PCIe互连与所述主设备进行通信,包括:在第一时间将第一消息从所述主设备发送到所述目标设备,所述第一消息包括消息指示器;以及,在一随后的时间从所述目标设备接收应答消息到所述主设备,所述应答消息包括所述消息指示器。

Description

用于时钟同步的方法、装置和系统
技术领域
本公开总体上涉及定时控制的领域,并且更具体地,涉及用于在连接到计算机网络上的计算机设备之间同步时钟信号的系统和方法。
背景技术
对于链接到网络上的设备,精确的时间同步是很难实现的。利用像2009年2月26日发布的、名为“Timing and Synchronization forTime-Sensitive Application in Bridged Local Area Networks”的IEEE 802.1AS/D5.0标准的机制,这样的系统的标准网络元件可以维持精确的时间同步。但是,在不同网络和其它互连技术之间的同步仅可以通过软件机制来完成。因为在大多数CPU架构上并不支持对软件操作进行精确的时间控制,并且因为快速外围组件互连(Peripheral Component Interconnect Express,PCIe)上的软件通信使用经受排队延迟和其它不确定性(至少从软件的角度来看)延迟的事务层分组(Transaction Layer Packet,TLP),所以无法控制组件通信的时延。这大大降低了精确性,使得一些应用到了无法再被维持在可接受的质量等级(例如,多信道音频)的程度,并且显然需要专用系统软件的支持,而这便不如硬件方案可取。
需要一种硬件机制,其允许通过PCIe或PCIe衍生的架构(例如,DMI(直接媒体接口))连接的设备被及时进行同步。
附图说明
图1是说明了根据本公开的各种方面的能够使用PCIe分组的系统的示意性框图。
图2示意性地说明了根据本公开的一方面的示例性实施例。
图3是说明了根据本公开的各种方面的PCIe分组的结构的示意性框图。
图4说明了根据本公开的各种方面的用于第一代和第二代编码(利用8b/10b编码,2.5GT/s和5GT/s)的经修改的帧同步机制。
图5说明了根据本公开的各种方面的用于第三代编码(利用128b/130b编码,8GT/s)的经修改的帧同步机制。
图6说明了根据本公开的各种方面的用于交换消息的协议,该协议使得能够将通信延迟分解为因子。
图7是根据本公开的各种方面的使用PCIe增强功能结构来实现的软件配置机制。
具体实施方式
在以下描述中,相同的组件给出相同的附图标记,而不考虑它们是否出现在不同实施例中。为了以清楚并简洁的方式说明本公开的实施例,附图可以不必按照比例绘出,并且一些特征可以以某种示意图的形式来示出。参照一个实施例描述和/或说明的特征可以以相同或类似的方式用在一个或多个其它实施例中,和/或与其它实施例的特征进行组合或者取代其它实施例的特征。
根据本公开的各种实施例,公开了一种方法,其包括:在第一时间,从主设备将第一消息发送到目标设备,以在布置于网络上的主设备和目标设备之间同步时间,其中,所述目标设备通过PCIe互连与所述主设备进行通信,所述第一消息包括消息指示器;以及,在一随后的时间,从所述目标设备接收应答消息到所述主设备,所述应答消息包括所述消息指示器。
根据本公开的各种实施例,公开了一种计算机程序产品,其包括其中包含有计算机可读程序代码的计算机可用介质,所述计算机可读程序代码适合被执行以实现以下方法,包括:在主设备处将报头附加到事务层协议布局分组上,以在布置于网络上的主设备和目标设备之间同步时间,其中,所述报头用于将所述分组标识为时间同步分组;以及,将具有附加的报头的所述分组从主设备发送到目标设备,以在主设备和目标设备之间同步时间。
根据本公开的各种实施例,公开了一种系统,其包括:控制器,其被配置以在主设备处将经修改的帧同步(framing)应用到事务层协议布局分组的报头,其中,所述报头用于将所述分组标识为时间同步分组;发射机,其被配置以将具有经修改的帧同步的所述分组从主设备发送到目标设备,以在主设备和目标设备之间同步时间;以及,接收机,其被配置以接收所发送的分组。
在参照附图考虑以下描述和所附权利要求的情况下,这些和其它的特征和特性、以及操作方法、结构的有关元件的功能、组件的组合以及制造上的节约措施将变得显而易见,其中,所有这些图将形成说明书的一部分,其中,相同的附图标记指定了在各种图中对应的部分。但是,应当清楚地理解,附图仅是为了说明和描述的目的,而并不旨在作为对权利要求的限定进行定义。如在说明书和权利要求中使用的,除非上下文清楚地指示,否则单数形式的“一”、“一个”以及“所述”包括复数个指代对象。
现在转到本公开的各种方面,大多数现代计算设备使用输入/输出(I/O)适配器和总线,其使用最初由英特尔在二十世纪九十年代创建的外围组件互连标准的某种版本或实现。外围组件互连(PCI)标准规定了用于将外围设备附接到计算机主板的计算机总线。PCI Express或PCIe是PCI计算机总线的一种实现,其使用现有的PCI编程概念,但是将计算机总线基于一种完全不同的、且快得多的串行物理层通信协议。物理层并不是由可以在多个设备之间共享的一条双向总线构成,而是由多条单个的单向链路(其连接恰好两个设备)所构成。
尽管为了说明性目的,本文讨论的部分涉及PCIe通信或设备,但是本发明的实施例可以用于其它类型的通信或设备,例如通过高速串行互连来传输分组化数据的通信或设备、使用基于流控制的链路管理的通信或设备、使用基于信用的流控制的通信或设备、使用全串行接口的通信或设备、使用利用属性化分组实现的拆分事务协议的通信或设备、为了改善的或优化的分组传输而对分组划分优先级的通信或设备、使用具有一个或多个通道(例如,点对点连接)的可扩展链路的通信或设备、使用高速串行互连的通信或设备、使用不同业务类型的差异的通信或设备、使用高可靠数据传输机制(例如,使用序列号和/或端到端循环冗余校验(ECRC))的通信或设备、使用链路层以实现传输数据的完整性的通信或设备、使用两个低电压差分驱动信号对(例如,发送对和接收对)的物理层的通信或设备、使用包括对通道宽度和工作频率进行协商的链路初始化的通信或设备、仅当知道在接收方处接收缓冲器可用于接收分组时才允许发送数据分组的通信或设备、使用请求分组和/或响应分组的通信或设备、使用消息空间和/或消息信号中断(Message Signaled Interrupt,MSI)和/或带内消息的通信或设备、使用软件层配置空间的通信或设备、使用最大有效载荷大小(MPS)参数的通信或设备等。
图1示意性地说明了根据本发明的一些说明性实施例的、能够使用具有经修改的帧同步机制的PCIe分组的系统100的框图。系统100可以是或者可以包括例如计算设备、计算机、个人计算机(PC)、服务器计算机、客户端/服务器系统、移动计算机、便携式计算机、膝上型计算机、笔记本计算机、平板计算机、多个互连设备的网络等。
系统100可以包括例如处理器111、输入单元112、输出单元113、存储器单元114、存储装置单元115、通信单元116和图形卡117。系统100可以可选地包括其它合适的硬件组件和/或软件组件。
处理器111可以包括例如中央处理单元(CPU)、数字信号处理器(DSP)、微处理器、主机处理器、控制器、多个处理器或控制器、芯片、微芯片、一个或多个电路、电路系统、逻辑单元、集成电路(IC)、专用集成IC(ASIC)或者任何其它合适的多用途或专用处理器或控制器。处理器111可以执行指令,例如系统100的操作系统(OS)171的指令或者一个或多个软件应用程序172的指令。
输入单元112可以包括例如键盘、小键盘、鼠标、触摸板、指示笔、麦克风或其它合适的指点设备或输入设备。输出单元113可以包括例如阴极射线管(CRT)监视器或显示单元、液晶显示器(LCD)监视器或显示单元、屏幕、监视器、扬声器或其它合适的显示单元或输出设备。图形卡117可以包括例如图形或视频处理器、适配器、控制器或加速器。
存储器单元114可以包括例如随机存取存储器(RAM)、只读存储器(ROM)、动态RAM(DRAM)、同步DRAM(SD-RAM)、闪速存储器、易失性存储器、非易失性存储器、高速缓存、缓冲器、短期存储器单元、长期存储器单元或其它合适的存储器单元或存储装置单元。存储装置单元115可以包括例如硬盘驱动器、软盘驱动器、光盘(CD)驱动器、CD-ROM驱动器、数字通用盘(DVD)驱动器或其它合适的可移动或不可移动存储装置单元。存储器单元114和/或存储装置单元115可以例如存储由系统100处理的数据。
通信单元116可以包括例如有线或无线网络接口卡(NIC)、有线或无线调制解调器、有线或无线接收机和/或发射机、有线或无线发射机-接收机和/或收发机、射频(RF)通信单元或收发机、或能够发送和/或接收信号、块、帧、传输流、分组、消息和/或数据的其它单元。通信单元116可以可选地包括或者可以可选地关联于例如一个或多个天线(例如,偶极天线、单极天线、全向天线、终端馈电天线、圆极化天线、微带天线、分集天线等)。
在一些实施例中,系统100的各组件可以被包含在例如公共的外壳、封装等中,并且可以使用一个或多个有线或无线链路来互连或在操作上相关联。在其它实施例中,例如,系统100的各组件可以被分布在多个或分离的设备中,可以使用客户端/服务器结构或系统来实现,可以使用远程访问方法来进行通信等等。
系统100还可以包括PCIe主桥(host bridge)120,其能够在系统100的多个组件间(例如,在多个PCIe设备或PCIe端点间)进行连接。PCIe主桥120可以包括存储器桥121或其它存储器控制器,其中,存储器单元114和/或图形卡117可以连接到所述存储器桥121或其它存储器控制器。PCIe主桥120还可以包括输入/输出(I/O)桥122,其中,输入单元112、输出单元113、存储装置单元115、通信单元116和一个或多个通用串行总线(USB)设备118可以连接到所述输入/输出(I/O)桥122。
系统100还可以包括PCIe交换机125,其能够在多个PCIe设备或PCIe端点间进行互连。在一些实施例中,PCIe交换机125可以被实现为分离或独立的单元或组件;在其它实施例中,PCIe交换机125可以被集成在PCIe主桥120或其它合适的组件中、与PCIe主桥120或其它合适的组件嵌入在一起、或者使用PCIe主桥120或其它合适的组件来实现。
为了说明性目的示出了图1的拓扑或架构,并且可以结合其它合适的拓扑或架构来使用本发明的实施例。例如,在一些实施例中,存储器桥121被实现为存储器控制器,并且被包括或嵌入在PCIe主桥120中。在一些实施例中,使用“北桥”或“南桥”,并且其可选地包括PCIe主桥120和/或类似的PCIe主控组件。在一些实施例中,使用单个或公用集成电路(IC)或者使用多个IC来实现存储器桥121和PCIe主桥120(以及可选地,处理器111)。可以使用其它合适的拓扑或架构。
PCIe主桥120和/或PCIe交换机125可以在多个PCIe设备或端点(例如,端点141-145)间进行互连。一些PCIe设备或端点(例如,PCIe端点141和142)通过PCIe主桥120直接地连接;而其它PCIe端点(例如,PCIe端点143-145)使用PCIe交换机125间接地连接。一些实施例允许或支持仅在通过PCIe主桥120直接连接的各PCIe设备或端点间(即,仅在端点141和142之间)使用具有经修改的帧同步机制的PCIe分组进行通信;而不允许或禁止在间接连接、或者没有通过PCIe主桥120直接连接、或者通过PCIe交换机125间接连接的PCIe设备或端点间(即,在端点143-145间、或在端点141和端点143-145之间、或在端点142和端点143-145之间)使用具有经修改的帧同步机制的PCIe分组进行通信。
PCIe主桥120和/或PCIe交换机125可以在多个PCIe端点或PCIe设备(例如,端点141-145)间进行互连。出于说明性的目的,PCIe端点141可以经由端口151、152向存储器桥121发送数据;因此,端点141在本文中被称为“发送端点”或“发送设备”,而存储器桥121在本文中被称为“接收端点”或“接收设备”。其它组件可以用作发送设备和/或接收设备。例如,处理器111可以是发送设备,并且存储器单元114可以是接收设备;USB设备118可以是发送设备,并且存储装置单元115可以是接收设备;存储器桥121可以用作接收设备(例如,相对于第一端点或组件)和/或可以用作发送设备(例如,相对于第二端点或组件);等等。在一些实施例中,接收设备可以发送反向数据或控制数据到发送设备,或者反之亦然;例如,在发送设备和接收设备之间的通信可以是单向或双向的。
图2示意性地说明了根据本公开的一方面的示例性实施例。本公开可以适用于很广范围的应用,从在200概括示出的音频视频系统中对多个音频信道进行同步,到工厂机器和测试仪表中的工业应用。包括多个组件(例如,CPU、芯片组、高清晰度音频(例如,英特尔的Azalia)、吉比特有线以太网)的笔记本计算机205连接到前置扬声器210和低音扬声器215。笔记本计算机205经由互连225(例如,PCIe、DMI)连接到无线接入点220(例如,WiFi、无线以太网)。后置扬声器230经由无线接入点220与笔记本计算机205进行通信。显而易见的是,该网络可以被替换为其它联网或互连技术/机制,例如USB(通用串行总线)、蓝牙、其它PAN(个域网)、HD(高清晰度)音频等。
在像图2的系统中,需要精确的时间同步(~微秒级的精度),从而为收听者保持在由前置扬声器210和后置扬声器230产生的声音之间的正确的相位关系。在传统系统中,这是不可能完成的,因为不存在精确的机制来控制前置扬声器210和后置扬声器230的“呈现时间(presentation time)”。因为通过WiFi连接的时延相对很长,需要缓冲并且延迟向前置扬声器210呈现的信号。但是,因为WiFi时延并不是被精确地控制的,所以在没有精确同步的本地时钟的情况下,传统上能采用的最佳方法是估计期望的时延并且相应地延迟前置扬声器信号。利用精确同步的本地时钟,音频数据可以指定扬声器遵守的“呈现时间”,从而允许数据本身被缓冲,同时仅需要松散的约束以防止缓冲不足/超出的情况。
图3示意性地说明了根据本公开的各种方面的PCIe分组310的结构,其包括一种结合经修改的帧同步机制来使用的、用于交换时间采样信息的消息传递机制。尽管本文讨论的部分涉及例如使用64比特编址的PCIe TLP结构,但是本公开的实施例并不限于此,而是可以结合其它PCIe TLP结构(例如,使用32比特编址的结构或其它合适的结构或大小)来使用。
分组310是一个四双字(Double Word)结构,并且包括报头部分320、数据部分330和摘要部分(没有示出)。本文使用的术语“双字”或“DWord”或“DW”可以包括例如具有四字节大小的数据单元。第一行311指示了字节偏移(例如,+0、+1、+2和+3);第二行312指示了比特数量(例如,8比特,编号从0到7)。报头320包括占据了8个字节的控制信息的字段(包括例如格式字段、类型字段、长度字段、ID字段、标记字段等),如在行313和314中所示的。行315是保留的64比特地址。行313-315对应于分组310的报头部分320。
TLP 310的数据部分330用于(在可用时)携带有效载荷数据。一些TLP可以包括数据有效载荷部分330,而其它TLP可能不包括数据有效载荷部分330。数据部分330可以包括报头330的一个或多个指定的比特或标志或字段,例如M比特或标志332和/或保留字段333,可以用于指示该消息是由给定链路上的时间主设备(Time Master)还是由时间目标设备(Time Target)发送的。TNumber字段334可以用于指示该测量的序列号,该序列号由接收机用来使各时间戳相互关联。TimeSampleNS字段335可以用于指示以纳秒为单位的采样时间值,例如,针对测量TNumber-1(mod256)。TimeDiffNS字段336可以用于指示以纳秒为单位的时间差值,例如,针对测量TNumber-1(mod 256)。
摘要部分(没有示出)包括可以附加到TLP上的可选的TLP摘要。在一些方面,分组310包括在对应于TLP摘要的空间中存储和/或携带的额外的实体数据或非ECEC数据。摘要中的额外空间不存储ECRC信息,而是存储其它替代信息,例如专用数据或非ECRC数据。
在一些方面,TLP 310的报头包括一个或多个指示比特或标志或字段,用以指示具有专用数据或非ECRC数据的TLP摘要的存在。例如,TLP摘要(TD)指示比特399可以指示摘要的存在。报头320的一个或多个指定比特或标志或字段(例如,保留比特397和/或保留字段398)可以用于指示摘要包括专用数据或非ECRC数据、指示摘要不包括ECRC信息、指示ECRC校验要被忽略、和/或指示应当从对应于TLP摘要的空间中或者从该空间的预定义部分中读取或收集(例如,通过接收设备)实体数据或非ECRC数据。
图4说明了根据本公开的各种方面的用于第一代和第二代编码(利用8b/10b编码,2.5GT/s和5GT/s)的经修改的帧同步机制。PCIe分组的结构包括用于交换时间采样信息的经修改的帧同步消息传递机制。在该图的上方示出了具有未修改的帧同步的TLP,并且在该图的下方示出了具有经修改的帧同步的时间同步TLP(Time Sync TLP)。在图3中示出了用于时间同步TLP的标有“TLP消息”的区域。Seq[11:0]和LCRC[31:0]字段是由数据链路层添加的序列号和链路CRC。不同之处在于使用STS开始符号而不是STP帧同步符号。
图5说明了根据本公开的各种方面的用于第三代编码(利用128b/130b编码,8GT/s)的经修改的帧同步机制。除了图5中示出的是第三代编码而不同于在图4中所示的第一代和第二代编码之外,图5类似于图4。时间同步传输层协议分组500包括报头501,其用于将分组500标识为包含时间同步信息的分组。字段502包括Len[10:0],其是指整个分组的长度。例如,该长度可以表现为4字节双字(DW)。字段504包括Seq[11:0],其是TLP的序列号。字段503包括Check[4:0],其提供了针对Len、Check和Seq字段的数据完整性。取代图4中所示的帧同步符号STS的是,在开始处的4比特字段501标识出了分组的类型,以使得在物理层上可以将常规TLP与时间同步消息(Time Sync Message)相区分。此外,标有“TLP消息”的字段505是图3中所示的分组。注意,图4和图5没有按照比例绘出。
图6是根据本公开的各种方面的用于交换经修改的消息的协议,该协议使得能够将通信延迟分解为因子(factored out)。在时间t1n,主设备向目标设备发送TimeSync消息。在时间t2n,目标设备接收该消息。TimeSync消息包括被设置为等于1的M比特或者标志332、被设置为等于n的Tnumber字段134、被设置为等于t1n-1的TimeSampleNS字段135、以及被设置为等于t4n-1-t1n-1的TimeDiffNS字段136。例如,该TimeSync消息格式将是TimeSync(M:=1,TNumber:=n,TimeSampleNS:=t1n-1,TimeDiffNS:=(t4n-1-t1n-1))。主设备维持TNumber计数器并且将TNumber++置入每个TimeSync消息中。主设备还设置M:=1并且记住t1和t4。作为响应,目标设备在时间t3n发送TimeSync消息,并且主设备在时间t4n接收该TimeSync消息。由目标设备在时间t3n发送的TimeSync消息包括TimeSync (M:=0,TNumber:=n,TimeSampleNS:=<Undefined>,TimeDiffNS:=<Undefined>)。目标设备响应所接收的每个TimeSync消息,记住所接收的TNumber并且进行回送(echo)来作为响应,并且设置M:=0。时间值反映了成功的TLP传输的实际传输/接收时间。与重发的TLP相关联的时间值必须被抛弃。
在时间t1n+1,主设备向目标设备发送TimeSync消息。在时间t2n+1,目标设备接收该消息。例如,该TimeSync消息格式将是TimeSync(M:=1,TNumber:=n+1mod 256,TimeSampleNS:=t1n,TimeDiffNS:=(t4n-t1n))。作为响应,目标设备在时间t3n+1发送TimeSync消息,并且主设备在时间t4n+1接收该TimeSync消息。由目标设备在时间t3n+1发送的TimeSync消息包括TimeSync(M:=0,TNumber:=n+1mod 256,TimeSampleNS:=<Undefined>,TimeDiffNS:=<Undefined>)。
在表1中示出了在PCIe 2.5GT/s和5GT/s工作模式中使用的专用符号,其被称为K码。如在该表中所示,在PCIe的2.5GT/s和5GT/s的版本中,使用一种新的K码-K28.6,用于Time Sync消息TLP的开始。
表1
Figure GSB00000826124100101
图7是根据本公开的各种方面的使用PCIe增强功能结构(EnhancedCapability Structure)来实现的软件配置机制。在700概括示出的机制包括PCIe Express功能报头605。TS[1:0]710字段是只读字段,并且提供了设备的时间同步功能。如果该设备能够是顶级主设备(grand master),那么TS 710设置为11。如果该设备能够是主设备,那么TS 710设置为1x。如果该设备仅能够是目标设备,那么TS 710设置为00。顶级主设备是这样一个设备,其被选择成为所有其它相关联的主设备能够从中得出它们的时间值的源。
MT[1:0]715字段是可读写字段,并且可以取决于设备的指定功能来设置。如果该设备是顶级主设备,那么MT设置为11。可以通过根联合体(RootComplex)的默认值而将MT 715设置为顶级主设备。将MT 715设置为10被保留以供将来使用和设计。如果该设备是主设备,那么MT 715设置为01,其是下行端口的默认值。如果该设备是目标设备,那么MT 715设置为00,其是上行端口的默认值。
时间[47:0]720字段是设备的时间时钟的采样。该字段对于除了顶级主设备以外的所有设备来说是只读的。如果该设备是顶级主设备,那么该字段对软件来说是可读写的,并且还可以由硬件使用特定于实现的机制来设置。仅当禁用(Disabled)时,字节被允许(以任何顺序)写入,并且当启用(Enabled)时,顶级主设备时钟从写入的时间开始计数。
Frq[7:0]725字段是发送消息的频率并且是可读写字段。仅针对顶级主设备和主设备来实现该字段,并且对于仅为目标设备的设备来说,该字段是保留的。字段725被编码以包括从十秒一次到100KHz的范围。
En 730字段是启用/禁用比特。比特730使得主设备和顶级主设备能够发送时间同步消息,并且使得目标设备能够响应接收到的消息。对于顶级主设备,可以用硬件实现一种进一步提高精度的机制,该机制是通过在由软件设置了启用比特之后将顶级主设备的启动与某一特定于实现的参考进行同步来实现的。
尽管上述公开讨论了目前考虑的各种有用的实施例,但是应当理解,这种细节仅是为了该目的,并且所附权利要求并不限于所公开的实施例,而是相反,其旨在涵盖落入所附权利要求的精神和范围之内的各种变型和等价配置。

Claims (34)

1.一种用于同步时间的方法,包括:
在第一时间,从主设备将第一消息发送到目标设备,以在布置于网络上的所述主设备和所述目标设备之间同步时间,其中,所述目标设备通过PCIe互连与所述主设备进行通信,所述第一消息包括消息指示器;以及
在一随后的时间,从所述目标设备接收应答消息到所述主设备,该应答消息响应于所述第一消息并且包括所述消息指示器。
2.根据权利要求1所述的方法,包括:
在第二时间,从所述主设备将第二消息发送到所述目标设备,所述第二消息包括一随后的消息指示器;以及
在一随后的时间,从所述目标设备接收另一应答消息到所述主设备,该另一应答消息包括所述随后的消息指示器。
3.根据权利要求1所述的方法,包括:基于序列号将时间戳相互关联。
4.根据权利要求1所述的方法,其中,当发送设备是所述主设备时,所述消息指示器被设置为1,而当发送设备是所述目标设备时,所述消息指示器被设置为0。
5.根据权利要求1所述的方法,其中,以纳秒为单位对采样时间值和时间差值进行测量。
6.根据权利要求1所述的方法,其中,所述第一消息和所述应答消息跟在时间同步标记符之后。
7.根据权利要求6所述的方法,其中,所述标记符包括比特、一连串比特、标志或K码。
8.根据权利要求1所述的方法,其中,所述主设备被配置以维持时间测量的序列号。
9.根据权利要求1所述的方法,其中,所述主设备被配置以存储所述第一时间和所述随后的时间。
10.根据权利要求1所述的方法,其中,所述目标设备被配置以对从所述主设备接收的每一个消息作出响应。
11.根据权利要求1所述的方法,其中,所述目标设备被配置以存储所接收到的序列号并且在所述应答消息中回送所接收到的序列号。
12.根据权利要求1所述的方法,其中,所述消息指示器用于指示:在所述主设备处发起的消息、时间测量的序列号、采样时间值和时间差值。
13.根据权利要求1所述的方法,其中,所述应答消息所包括的所述消息指示器用于指示:在所述目标设备处发起的消息、序列号、用于指示未定义时间值的采样时间值、以及用于指示未定义时间差值的时间差值。
14.根据权利要求2所述的方法,其中,所述随后的消息指示器用于指示:在所述主设备处发起的消息、第二时间测量的另一序列号、第二采样时间值以及时间差值。
15.根据权利要求2所述的方法,其中,所述另一应答消息所包括的所述随后的消息指示器用于指示:在所述目标设备处发起的消息、另一序列号、用于指示未定义时间值的采样时间值、以及用于指示未定义时间差值的时间差值。
16.一种用于同步时间的装置,包括:
用于在第一时间,从主设备将第一消息发送到目标设备,以在布置于网络上的所述主设备和所述目标设备之间同步时间的模块,其中,所述目标设备通过PCIe互连与所述主设备进行通信,所述第一消息包括消息指示器;以及
用于在一随后的时间,从所述目标设备接收应答消息到所述主设备的模块,该应答消息响应于所述第一消息并且包括所述消息指示器。
17.根据权利要求16所述的装置,包括:
用于在第二时间,从所述主设备将第二消息发送到所述目标设备的模块,所述第二消息包括一随后的消息指示器;以及
用于在一随后的时间,从所述目标设备接收另一应答消息到所述主设备的模块,该另一应答消息包括所述随后的消息指示器。
18.根据权利要求16所述的装置,包括:用于基于序列号将时间戳相互关联的模块。
19.根据权利要求16所述的装置,其中,当发送设备是所述主设备时,所述消息指示器被设置为1,而当发送设备是所述目标设备时,所述消息指示器被设置为0。
20.根据权利要求16所述的装置,其中,以纳秒为单位对采样时间值和时间差值进行测量。
21.根据权利要求16所述的装置,其中,所述第一消息和所述应答消息跟在时间同步标记符之后。
22.根据权利要求21所述的装置,其中,所述标记符包括比特、一连串比特、标志或K码。
23.根据权利要求16所述的装置,其中,所述主设备被配置以维持时间测量的序列号。
24.根据权利要求16所述的装置,其中,所述主设备被配置以存储所述第一时间和所述随后的时间。
25.根据权利要求16所述的装置,其中,所述目标设备被配置以对从所述主设备接收的每一个消息作出响应。
26.根据权利要求16所述的装置,其中,所述目标设备被配置以存储所接收到的序列号并且在所述应答消息中回送所接收到的序列号。
27.根据权利要求16所述的装置,其中,所述消息指示器用于指示:在所述主设备处发起的消息、时间测量的序列号、采样时间值和时间差值。
28.根据权利要求16所述的装置,其中,所述应答消息所包括的所述消息指示器用于指示:在所述目标设备处发起的消息、序列号、用于指示未定义时间值的采样时间值、以及用于指示未定义时间差值的时间差值。
29.根据权利要求17所述的装置,其中,所述随后的消息指示器用于指示:在所述主设备处发起的消息、第二时间测量的另一序列号、第二采样时间值以及时间差值。
30.根据权利要求17所述的装置,其中,所述另一应答消息所包括的所述随后的消息指示器用于指示:在所述目标设备处发起的消息、另一序列号、用于指示未定义时间值的采样时间值、以及用于指示未定义时间差值的时间差值。
31.一种用于同步时间的系统,包括:
控制器,其被配置以在主设备处将经修改的帧同步应用到事务层协议布局分组的报头,其中,所述报头用于将所述分组标识为时间同步分组;
发射机,其被配置以将具有所述经修改的帧同步的所述分组从所述主设备发送到目标设备,以在所述主设备和所述目标设备之间同步时间;以及
接收机,其被配置以从所述目标设备接收应答消息到所述主设备,所述应答消息响应于所发送的分组。
32.根据权利要求31所述的系统,其中,所述报头包括时间同步标记符。
33.根据权利要求31所述的系统,其中,所述目标设备通过PCIe互连与所述主设备进行通信。
34.根据权利要求31所述的系统,其中,所述分组包括消息指示器。
CN2010102207751A 2009-06-30 2010-06-29 用于时钟同步的方法、装置和系统 Active CN101937253B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/495,500 US8385333B2 (en) 2009-06-30 2009-06-30 Mechanism for clock synchronization
US12/495,500 2009-06-30

Publications (2)

Publication Number Publication Date
CN101937253A CN101937253A (zh) 2011-01-05
CN101937253B true CN101937253B (zh) 2013-03-13

Family

ID=43380681

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010102207751A Active CN101937253B (zh) 2009-06-30 2010-06-29 用于时钟同步的方法、装置和系统

Country Status (4)

Country Link
US (2) US8385333B2 (zh)
CN (1) CN101937253B (zh)
DE (1) DE112010002783T5 (zh)
WO (1) WO2011008327A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9946683B2 (en) 2014-12-24 2018-04-17 Intel Corporation Reducing precision timing measurement uncertainty

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8139575B2 (en) * 2007-06-29 2012-03-20 International Business Machines Corporation Device, system and method of modification of PCI express packet digest
US9065736B2 (en) * 2009-06-08 2015-06-23 Broadcom Corporation Method and system for compensated time stamping for time-sensitive network communications
CN102201983A (zh) * 2011-05-03 2011-09-28 中兴通讯股份有限公司 测量传输链路不对称延时的方法、终端及系统
WO2012119385A1 (zh) 2011-08-11 2012-09-13 华为技术有限公司 对pcie设备进行时间同步的方法、装置和系统
KR102154642B1 (ko) * 2012-04-05 2020-09-10 한국전자통신연구원 PCIe 스위치 장치 및 그의 접속제어 방법
US9571215B2 (en) * 2012-07-18 2017-02-14 Intel Corporation Measuring time offsets between devices with independent silicon clocks
US9317465B2 (en) * 2013-03-15 2016-04-19 Janus Technologies, Inc. System and method of sending PCI express data over ethernet connection
US11481781B2 (en) 2013-12-18 2022-10-25 PayRange Inc. Processing interrupted transaction over non-persistent network connections
US11966926B2 (en) 2013-12-18 2024-04-23 PayRange Inc. Method and system for asynchronous mobile payments for multiple in-person transactions conducted in parallel
US11475454B2 (en) 2013-12-18 2022-10-18 PayRange Inc. Intermediary communications over non-persistent network connections
US11481780B2 (en) 2013-12-18 2022-10-25 PayRange Inc. Method and system for asynchronous mobile payments for multiple in-person transactions conducted in parallel
US10019724B2 (en) 2015-01-30 2018-07-10 PayRange Inc. Method and system for providing offers for automated retail machines via mobile devices
US11966895B2 (en) 2013-12-18 2024-04-23 PayRange Inc. Refund centers for processing and dispensing vending machine refunds via an MDB router
US8856045B1 (en) 2013-12-18 2014-10-07 PayRange Inc. Mobile-device-to-machine payment systems
US11074580B2 (en) 2013-12-18 2021-07-27 PayRange Inc. Device and method for providing external access to multi-drop bus peripheral devices
US9659296B2 (en) 2013-12-18 2017-05-23 PayRange Inc. Method and system for presenting representations of payment accepting unit events
US11205163B2 (en) 2013-12-18 2021-12-21 PayRange Inc. Systems and methods for determining electric pulses to provide to an unattended machine based on remotely-configured options
US10146722B1 (en) * 2014-10-15 2018-12-04 Integrated Device Technology, Inc. Method and apparatus for operating of a PCIe retimer over optical cable
CN104317354B (zh) * 2014-11-03 2018-03-30 武汉数字派特科技有限公司 一种系统间全局时钟的确定方法和结构
US9690738B2 (en) * 2015-01-16 2017-06-27 Qualcomm Incorporated Peripheral component interconnect express (PCIe) hosts adapted to support remote PCIe endpoints
CN104901844B (zh) * 2015-05-13 2019-01-22 国家计算机网络与信息安全管理中心 基于pcie的高精度时间戳获取方法、装置及网卡
EP3139547B1 (en) * 2015-09-07 2018-10-17 TTTech Computertechnik AG An online incremental scheduling method for deterministic networks
WO2017049433A1 (zh) 2015-09-21 2017-03-30 华为技术有限公司 计算机系统和计算机系统中端点设备访问的方法
US10768795B2 (en) 2016-02-16 2020-09-08 Bank Of America Corporation Integrated resource transfer application
US10162792B2 (en) * 2016-10-13 2018-12-25 Baidu Usa Llc Method and system for high precision time synchronization
US10374994B1 (en) * 2018-02-21 2019-08-06 King.Com Ltd. Messaging system
US10795400B2 (en) 2018-04-30 2020-10-06 Qualcomm Incorporated Time synchronization for clocks separated by a communication link
US11258696B1 (en) 2019-06-04 2022-02-22 Asiera Labs, Inc. Low-latency signaling-link retimer
US11349626B1 (en) 2019-07-08 2022-05-31 Astera Labs, Inc. Retimer with path-coordinated flow-rate compensation
US11150687B1 (en) 2019-07-10 2021-10-19 Astera Labs, Inc. Low-latency retimer with seamless clock switchover
US11327913B1 (en) 2019-09-20 2022-05-10 Astera Labs, Inc. Configurable-aggregation retimer with media-dedicated controllers
US11424905B1 (en) 2019-09-20 2022-08-23 Astera Labs, Inc. Retimer with mesochronous intra-lane path controllers
US11683149B2 (en) 2020-09-11 2023-06-20 Apple Inc. Precise time management using local time base
US11687115B2 (en) 2021-09-22 2023-06-27 Apple Inc. Precise time management for peripheral device using local time base

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1340254A (zh) * 1999-01-15 2002-03-13 爱尔比奎特公司 在话音通信网络内实现同步的带内信令
CN1764192A (zh) * 2004-10-19 2006-04-26 三星电子株式会社 在同步以太网设备中的初始接入信令方法
CN1863207A (zh) * 2005-12-27 2006-11-15 华为技术有限公司 一种用于通信网络的时钟同步方法和系统
US20080080562A1 (en) * 2006-09-29 2008-04-03 Burch Jefferson B Enhancement of IEEE 1588 synchronization using out-of-band communication path
CN101425891A (zh) * 2008-12-09 2009-05-06 中兴通讯股份有限公司 时间同步方法、系统和客户端

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5566180A (en) * 1994-12-21 1996-10-15 Hewlett-Packard Company Method for recognizing events and synchronizing clocks
US6199169B1 (en) * 1998-03-31 2001-03-06 Compaq Computer Corporation System and method for synchronizing time across a computer cluster
GB2342018B (en) * 1998-09-24 2003-11-05 Nokia Mobile Phones Ltd Communication network
US7130958B2 (en) * 2003-12-02 2006-10-31 Super Talent Electronics, Inc. Serial interface to flash-memory chip using PCI-express-like packets and packed data for partial-page writes
US7254116B2 (en) * 2000-04-07 2007-08-07 Broadcom Corporation Method and apparatus for transceiver noise reduction in a frame-based communications network
JP4407007B2 (ja) * 2000-05-02 2010-02-03 ソニー株式会社 データ送信装置及び方法
US7315911B2 (en) * 2005-01-20 2008-01-01 Dot Hill Systems Corporation Method for efficient inter-processor communication in an active-active RAID system using PCI-express links
US8037224B2 (en) * 2002-10-08 2011-10-11 Netlogic Microsystems, Inc. Delegating network processor operations to star topology serial bus interfaces
US8108559B2 (en) * 2003-07-11 2012-01-31 Computer Associates Think, Inc. Standardizing clocks in a networked computing environment
DE10333932A1 (de) * 2003-07-25 2005-02-24 Robert Bosch Gmbh Synchronisation von datenverarbeitenden Einheiten
CN100345139C (zh) * 2003-08-12 2007-10-24 索尼株式会社 通讯处理设备、通讯控制方法
US7475174B2 (en) * 2004-03-17 2009-01-06 Super Talent Electronics, Inc. Flash / phase-change memory in multi-ring topology using serial-link packet interface
JP2008544592A (ja) * 2005-03-18 2008-12-04 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ネットワークノードの同期方法
JP4186940B2 (ja) * 2005-03-23 2008-11-26 セイコーエプソン株式会社 データ転送制御装置及び電子機器
JP4075898B2 (ja) * 2005-03-23 2008-04-16 セイコーエプソン株式会社 データ転送制御装置及び電子機器
JP4366661B2 (ja) * 2006-03-17 2009-11-18 ソニー株式会社 情報処理システムおよび方法、情報処理装置および方法、並びにプログラム
GB2443867A (en) * 2006-03-21 2008-05-21 Zarlink Semiconductor Ltd Timing source with packet size controller providing a distribution of packet sizes
US20070237082A1 (en) * 2006-03-31 2007-10-11 Woojong Han Techniques for sharing connection queues and performing congestion management
US8234424B2 (en) * 2006-06-08 2012-07-31 Integrated Device Technology, Inc. Efficient strip-down and re-alignment of ingressing physical layer/data layer packets in an aggregated PCI-express port having eight lanes
JP5108261B2 (ja) * 2006-07-11 2012-12-26 株式会社リコー 情報処理装置およびデータ通信装置
WO2008105713A1 (en) * 2007-03-01 2008-09-04 Imsys Technologies Ab Electronic timer system, time control and generation of timing signals
US8150800B2 (en) * 2007-03-28 2012-04-03 Netapp, Inc. Advanced clock synchronization technique
EP2026485A1 (en) * 2007-08-17 2009-02-18 Nokia Siemens Networks Oy Method and device for a packet based clock recovery
ATE536681T1 (de) * 2007-10-04 2011-12-15 Harman Becker Automotive Sys Datennetzwerk mit zeitsynchronisationsmechanismus
US8416803B1 (en) * 2008-02-14 2013-04-09 Wilocity, Ltd. Low latency interconnect bus protocol
US8175085B2 (en) * 2008-03-25 2012-05-08 Fusion-Io, Inc. Bus scaling device
KR100987389B1 (ko) * 2008-08-14 2010-10-12 한국전자통신연구원 고정 지연 시간을 갖는 타임 동기화 방법 및 그 방법이 적용된 브릿지
KR100994128B1 (ko) * 2008-09-23 2010-11-15 한국전자통신연구원 고정밀 네트워크 동기를 위한 타임 스탬핑 방법 및 장치
CN101729180A (zh) * 2008-10-21 2010-06-09 华为技术有限公司 精准时钟同步方法及系统、精准时钟频率/时间同步装置
US8300749B2 (en) * 2008-12-19 2012-10-30 Alcatel Lucent Method, apparatus and system for frequency synchronization between devices communicating over a packet network
US8018972B2 (en) * 2009-06-30 2011-09-13 Alcatel Lucent Timing over packet performance
JP2011081769A (ja) * 2009-09-14 2011-04-21 Ricoh Co Ltd データ転送装置、データ転送デバイスおよびデータ転送方法
US20130003757A1 (en) * 2011-06-30 2013-01-03 Harman International Industries, Incorporated Syntonized communication system
US8856573B2 (en) * 2012-06-27 2014-10-07 Intel Corporation Setting a number (N) of fast training sequences (FTS) automatically to an optimal value

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1340254A (zh) * 1999-01-15 2002-03-13 爱尔比奎特公司 在话音通信网络内实现同步的带内信令
CN1764192A (zh) * 2004-10-19 2006-04-26 三星电子株式会社 在同步以太网设备中的初始接入信令方法
CN1863207A (zh) * 2005-12-27 2006-11-15 华为技术有限公司 一种用于通信网络的时钟同步方法和系统
US20080080562A1 (en) * 2006-09-29 2008-04-03 Burch Jefferson B Enhancement of IEEE 1588 synchronization using out-of-band communication path
CN101425891A (zh) * 2008-12-09 2009-05-06 中兴通讯股份有限公司 时间同步方法、系统和客户端

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9946683B2 (en) 2014-12-24 2018-04-17 Intel Corporation Reducing precision timing measurement uncertainty

Also Published As

Publication number Publication date
CN101937253A (zh) 2011-01-05
WO2011008327A1 (en) 2011-01-20
US20100329285A1 (en) 2010-12-30
DE112010002783T5 (de) 2012-08-16
US20130145049A1 (en) 2013-06-06
US9432456B2 (en) 2016-08-30
US8385333B2 (en) 2013-02-26

Similar Documents

Publication Publication Date Title
CN101937253B (zh) 用于时钟同步的方法、装置和系统
EP2695327B1 (en) Systems and methods for implementing multicasting using personal area network (pan) wireless technology
TW550905B (en) Method of clock synchronization and medium access controller applied in wireless local network
KR101576344B1 (ko) 네트워크 터널을 통해 데이터를 전송하기 위한 방법 및 장치
US9830298B2 (en) Media time based USB frame counter synchronization for Wi-Fi serial bus
US6779069B1 (en) Computer system with source-synchronous digital link
US20120060045A1 (en) Method and apparatus for synchronising the local time of a plurality of instruments
US8688874B2 (en) Method and system for reducing triggering latency in universal serial bus data acquisition
US8006008B2 (en) Apparatus and method for data processing having an on-chip or off-chip interconnect between two or more devices
CN110290187A (zh) 数据信息的传输方法及装置、存储介质、电子装置
US8041841B1 (en) Protocol and interface for source-synchronous digital link
WO2020001213A1 (zh) 一种报文传输方法、交换装置、无线通讯设备及存储介质
EP3106995A1 (en) Techniques for providing data rate changes
US10511397B2 (en) Virtual general purpose input/output (GPIO) (VGI) over a time division multiplex (TDM) bus
WO2022262587A1 (zh) 数据传输方法、装置、系统、电子设备及可读介质
US7209989B2 (en) Transfer acknowledgement mechanism for an MSL architecture
US20210157759A1 (en) Data Transmission System Capable of Transmitting a Great Amount of Data
CN101561791A (zh) 一种帧宽度可扩展的同步串行接口装置
CN105718401A (zh) 一种多路smii信号到一路mii信号的复用方法及系统
CN101576867B (zh) 一种扩展通用异步串行接口方法、装置和系统
AU2021102694A4 (en) System and method for ip’s for ethernet and hdmi using xilinx vivado for iot applications
CN202818351U (zh) 信号中继系统及终端设备
US8914554B2 (en) Communication network device that compares first and second identification number of packet to determine if they are in conformance or non-conformance with self-ID packet
JP2010081104A (ja) 通信装置及び通信システム
JP2004207966A (ja) Atmセル送受信制御方式及びその方法並びに移動通信基地局装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant