CN105379220B - 用于修正多路通信链路中的时间戳的方法和相关集成电路 - Google Patents

用于修正多路通信链路中的时间戳的方法和相关集成电路 Download PDF

Info

Publication number
CN105379220B
CN105379220B CN201480016642.9A CN201480016642A CN105379220B CN 105379220 B CN105379220 B CN 105379220B CN 201480016642 A CN201480016642 A CN 201480016642A CN 105379220 B CN105379220 B CN 105379220B
Authority
CN
China
Prior art keywords
timestamp
fill level
path
packet
fill
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
CN201480016642.9A
Other languages
English (en)
Other versions
CN105379220A (zh
Inventor
保罗·格雷沙姆
杰森·科庞
莱恩·西蒙
罗弗·米尔
柏纳德·柏希
大卫·邝
马克·A·格斯特林
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.)
Xilinx Inc
Original Assignee
Xilinx Inc
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 Xilinx Inc filed Critical Xilinx Inc
Publication of CN105379220A publication Critical patent/CN105379220A/zh
Application granted granted Critical
Publication of CN105379220B publication Critical patent/CN105379220B/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/0685Clock or time synchronisation in a node; Intranode synchronisation
    • H04J3/0697Synchronisation in a packet node
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/28Timers or timing mechanisms used in protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/30Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/34Flow control; Congestion control ensuring sequence integrity, e.g. using sequence numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/41Flow control; Congestion control by acting on aggregated flows or links

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Abstract

本发明公开了一种用于修正具有偏斜的多路通信链路中的时间戳的方法、非暂时性计算机可读媒体(404)和设备(118、400)。举例来说,所述方法接收数据包、用于所述数据包的时间戳和用于承载所述数据包的所述多路通信链路的通路(99)的填充水平;计算用于所述数据包的经修正时间戳以及用所述经修正时间戳替换用于所述数据包的所述时间戳。

Description

用于修正多路通信链路中的时间戳的方法和相关集成电路
技术领域
本发明大体上涉及具有偏斜的多路通信链路(例如,以太网电路),并且更确切地说涉及用于具有偏斜的多路通信链路中的时间戳修正的方法和设备。
背景技术
随着数字通信链路变得越来越快,出现了许多技术困难。限制通信通路的速度的因素中的一个是物理电气链路的特性,其通常受到最新的电气和集成电路技术的限制以显著地小于所需的聚集通信速度。因此,惯例是采用多个平行物理通信通路以获得更大的聚集逻辑链路速度。这已知为多路分配(MLD)。
当在从发射器传播到接收器期间的个体高速通路已经由于各种方法而受损时随后产生的关于物理通信通路的数目如何可以重新组合的问题。需要对各种个体通路的到达时间差进行修正,使得个体位可以在发射之前正确地重新组装成对应于聚集链路的规定的顺序。举例来说,由于导线或印刷电路板(PCB)迹线的不同长度,到达个体通路的位可以具有偏斜的到达时间。略微地不同的时间戳可以潜在地造成从时钟的变化。
当逻辑通路在各种不同类型的物理通路(例如,电气通路或光学通路)上是多路复用的时,出现了额外的问题。
随着逻辑通路从一个物理通路移动到另一个物理通路(电气或光学),由于逻辑通路受限于逻辑通路刚好承载在其上的物理通路的延迟,所以逻辑通路的延迟发生改变。
发明内容
公开了一种用于修正多路通信链路中的时间戳的方法。所述方法的一个实施例包含:接收数据包、用于数据包的时间戳和用于承载数据包的多路通信链路的通路的填充水平;计算用于数据包的经修正时间戳以及用经修正时间戳替换用于数据包的时间戳。
在方法的各种实施例中,针对具有多路通信链路中的对应的数据包的多个通路的每个通路重复所述接收、所述计算和所述替换;时间戳对应于数据包的起始的时间戳;时间戳在用于串行化/去串行化时钟域中的每个时钟循环的变速箱模块之后被捕获;填充水平包括一个或多个位的测量;填充水平基于第一时钟域中的读取指针和第二时钟域中的写入指针的时间平均经由用于多路通信链路中的多个通路的每个通路的先进先出缓冲器计算;所述计算是时间戳、通路的填充水平一个参考填充水平的函数;所述参考填充水平包括最小填充水平;所述参考填充水平包括最大填充水平;所述参考填充水平包括平均填充水平;时间戳、通路的填充水平和参考填充水平各自转换成时钟循环的单位;并且时间戳、通路的填充水平和参考填充水平各自转换成纳秒的单位。
根据另一实施例,集成电路包括:多路分用器和变速箱模块,以用于将输入信号划分到多个通路中,其中每个通路承载至少一个数据包;时间戳捕获模块,以用于针对至少一个数据包中的每一个捕获时间戳;通路对齐缓冲器,以用于生成用于所述多个通路中的每一个的填充水平;以及修正逻辑模块,以用于接收至少一个数据包、用于所述至少一个数据包的时间戳以及用于承载至少一个数据包的多个通路中的每个通路的填充水平,用于计算用于至少一个数据包的经修正时间戳,并且用于用所述经修正时间戳替换用于至少一个数据包的时间戳。
在集成电路的各种实施例中,修正逻辑根据时间戳、承载至少一个数据包的多个通路中的一个通路的填充水平和参考填充水平计算经修正时间戳;参考填充水平包括最小填充水平;参考水平包括最大填充水平;参考填充水平包括平均填充水平;修正逻辑模块将时间戳、通路的填充水平和参考填充水平转换成时钟循环的单位以执行计算;修正逻辑模块将时间戳、通路的填充水平和参考填充水平转换成纳秒的单位以执行计算。
根据另一实施例,提供了一种存储多个指令的非暂时性计算机可读媒体,在由处理器执行所述指令时,使得处理器执行用于修正多路通信链路中的时间戳的操作。非暂时性计算机可读媒体的操作包含:接收数据包、用于数据包的时间戳和用于承载数据包的多路通信链路的通路的填充水平;计算用于数据包的经修正时间戳;以及用经修正时间戳替换用于数据包的时间戳。
附图说明
附图示出根据本发明的一个或多个方面的示例性实施例;然而,附图不应被视作限制所示出的实施例的揭示内容,而是仅用于说明和理解。
图1说明用于修正具有偏斜的多路通信链路中的时间戳的电路框图的一个实例;
图2说明计算针对多路通信链路的每个通路的填充水平的对齐逻辑平的一个实例;
图3说明用于修正具有偏斜的多路通信链路中的时间戳的方法的一个实施例的实例流程图;以及
图4说明适合用于执行本文中描述的功能的通用计算机的高阶框图。
为了促进理解,已经使用相同的参考标号在可能的情况下表示附图中共有的相同元件。
具体实施方式
本发明大体上披露了用于修正具有偏斜的多路通信链路中的时间戳的方法、非暂时性计算机可读媒体和设备。如上文所论述,在多路通信信道中,特定包的开始可以发生在任何通路上。由于每个通路可以具有不同的延迟,也被称作偏斜,所以每个通路将呈现略微不同的时间戳,其可以潜在地造成从时钟的变化。
本发明的一个实施例借助于经大小设定以均衡预期的相关延迟的小型缓冲器解释了每个通路中的相关的延迟。随后存储在每个每通路缓冲器中的相对量的数据用于推断应用于时间戳的修正。因此,从时钟的精确度得到了改进。
图1说明用于修正具有偏斜的多路通信链路中的时间戳的电路框图100的一个实例的框图。在一个实施例中,电路框图100说明多路通信链路的接收器部分。换句话说,电路框图100可以是具有发射部分和接收器部分的较大网络的一部分。在一个实施例中,虽然偏斜由整个系统引起(例如,在发射器部分和接收器部分中),但是偏斜仅在接收器部分中得到解决。因此,出于描述本发明的实施例的目的说明了接收器部分。
在一个实施例中,多路通信链路可以是以太网专线接口。举例来说,以太网专线接口可以是40千兆以太网(GBE)或100GBE。本发明在本文中参考100GBE描述,但是应注意本发明可以应用于任何多路通信链路。
在一个实施例中,输入120可以通过物理编码子层(PCS)通路多路分用器(DEMUX)102和变速箱模块104接收。对于100GBE,输入120可以包括条纹跨越4x25GBE通路的10个通路。多路分用器和变速箱可以随后生成每个5GBE的20个虚拟通路。虽然多路分用器和变速箱示意性地示出为单独的模块,但是通过这两个模块执行的功能或操作可以实施为单个模块。
在一个实施例中,用于每个通路中的每个数据包的时间戳可以在时间戳捕获模块106中的变速箱104之后被捕获。
时间戳可以根据时间戳捕获模块106的“时间输入”信号来确定。“时间输入”可以是表示真实时间的时钟。在一个实施例中,“时间输入”信号可以是由预定义字段中的秒和纳秒组成的80位值并且是预定义格式、编码和出现时间的。在一个实施例中,“时间输入”连续地变化。
在一个实施例中,时间戳可以在用于通过虚线152划界的串行化/去串行化(SerDes)时钟的每个时钟循环的多路分用器和变速箱之后被捕获。在一个实施例中,这是用于计算经修正时间戳的时间戳,如下文进一步详细论述。应注意任何任意多路分用器和变速箱可用于捕获时间戳,前提是只要始终使用相同的一个即可。
在一个实施例中,时间Y表示捕获点和任意参考平面150之间的时间。在一个实施例中,由于从SerDes到变速箱的数据的传输时间是已知的,所以可以从时间戳中减去时间Y以便通过参考平面150参考时间戳。在一个实施例中,用于通路中的每一者的时间戳可以经由线路130经由通信总线160发送到核心逻辑110。
在一个实施例中,20个通路中的每一者中的数据包被传递到通路对齐缓冲器108。在一个实施例中,通路对齐缓冲器可以是先进先出(FIFO)存储缓冲器。在一个实施例中,通路对齐缓冲器108包含用于多路通信链路的每个通路的FIFO存储缓冲器。
在一个实施例中,每个FIFO存储缓冲器可以具有计算的或预定的填充水平。所述填充水平可以包括用于补偿多路通信链路内的相对于其它通路的任何偏斜(例如,时间延迟)的一个或多个位。在一个实施例中,对于每个通路的填充水平,参考填充水平和时间戳可用于计算用于数据包的修正的时间戳。
图2说明对齐逻辑以及针对多路通信链路的每个通路如何可以计算填充水平的一个实例。在高水平处,用于每个通路的填充水平可以通过生成Read_En221的读取指针和生成Write_En220的写入指针的时间平均确定,这可以在不同时钟域Clock_R208和Clock_C222上。
更详细地参考图2,四个通路99中的每一个在其自身的接收SerDes200中终止,其中的每一个包含:已知的电路,以恢复Clock_R208和数据207;以及已知的去多路复用电路,其将每个串行通路转换成n个并行线路。虽然所述实例说明了四个通路,但是应理解本发明未受到通路数目的限制。现在将描述的对齐检测器201和存储器202,对于每个通路是重复的,然而将理解它们可以在软件中作为常见系统的一部分实施。在一个实施例中,存储器202类似于图1中说明的通路对齐缓冲器108。
数据207被传送到对齐检测器电路201,所述对齐检测器电路执行以下功能中的至少一个:确定字边界;视需要使位反转;解扰;32位循环冗余检查(CRC32);识别用于同步的位模式且产生该位模式的存在的指示。在一些实施例中,在对齐检测器中不需要例如解扰和CRC32等功能,例如,在802.3ba以太网的情况下。在一些实施例中,同步位模式的识别需要模式的检测大于一次,例如,在因特拉肯协议的实例中的四次。当已经可靠地检测到同步模式时,向“同步字检测”信号210分配真实(TRUE)值。在一些实施例中需要同步字的可靠的检测至少发生一次,例如,在因特拉肯协议的情况下四次。在并未可靠地检测到同步模式的情况下,向“同步字检测”信号210分配错误(FALSE)值。在一些实施例中,同步位模式的不可靠检测发生在一次以上错误的检测之后,例如,在因特拉肯协议的实例中的四次。
由于Write_En信号220被确证,所以具有真实值的信号210的条件将使得Clock_R将数据209写入到FIFO存储器202中。在一些实施例中,同步字可以通过各种其它名称已知,举例来说,例如,对齐模式或未命名的但是执行相同功能,即以提供修正在各种通路上的数据的偏斜的到达时间的方法。
数据被依次写入到FIFO202中,从第一存储器位置240处的同步字之后的第一有效数据字开始,其通过字母“D”表示。随后接收到的数据接着随着被接收而依次写入到FIFO中,并且可以含有各种信息,例如,数据(D)或控制信息(C)。
用于每个通路的接收器包含:对齐检测器电路201的复本,每个具有对应于示出为所收集的信号230的同步字信号210的检测的输出;以及FIFO存储器202的复本。当已发生所有检测信号的条件为真实时,电路205产生真实输出信号221(例如,Read_En信号),这同时在它们的相应输出逻辑处呈现给所有四个FIFO电路。当Read_En信号221是真实时,接着Clock_C222是激活的以按照与数据存储于FIFO202中相同顺序的读取数据224。
在此过程之后,确保了用于四个通路中的每一个的数据224是及时对齐的使得偏斜已经被消除。因为Read_En221分布到每个FIFO的输出端口,输出电路203在正确的时间从所有通路中并行接收数据250。在一些实施例中,电路203从小于总数的通路中接收数据250,例如,在一个或多个通路上故障的情况下。电路203还可以经编程以读取小于总数的通路,前提是总流量可以由较少通路支持,在此情况下未使用的通路可以关闭以便节省电力。
在通过电路203的额外处理之后,去偏斜的数据随后可用于其它电路以用于随后的处理或在数据链路225上传输,所述数据链路包括j条物理线路,其中j至少是1。应注意Clock_C并不需要与Clock_R是相同频率的,其条件是可以在使得FIFO并不溢出的速率下从FIFO中读取数据。因此将观察到的是此方法可以执行时钟域适配的功能而不具有额外的电路。在FIFO202在被读出之前离开存储器位置的情况下,溢出信号226被设定为真实的值。在正常操作条件下,由于需要f(Clock_C)>=f(Clock_R),所以溢出=真实的情况将不会发生。然而,在突波或其它外部误差使得FIFO溢出的情况下,此信号是可用于采取纠正性行动的,例如,使得逻辑重置或提升警报。
返回参看图1,一旦计算出或确定针对通路中的每一个的填充水平,那么用于每个通路的填充水平可以经由线路132经由通信总线160发送到核心逻辑模块110。另外,数据包可以经由线路134经由通信总线160发送到核心逻辑模块110。
在一个实施例中,核心逻辑模块110可以包含物理编码子层(PCS)解码器112、媒体接入控制器(MAC)114和1588逻辑模块116。在一个实施例中,数据包可以馈送到PCS解码器112以用于解码。在一个实施例中,PCS解码器112可以识别包的开始(SOP)和与每个SOP相关联的通路。
在一个实施例中,1588逻辑模块116可以接收SOP,与来自PCS解码器112的每个SOP和来自时间戳捕获106的时间戳相关联的通路。在一个实施例中,1588逻辑模块116可以包括寻找如通过IEEE1588定义的特定时间戳的逻辑模块。具体而言,1588逻辑模块116可以寻找与SOP相关联的时间戳。
在一个实施例中,1588逻辑模块116可以通过SOP识别时间戳。SOP的时间戳是用于计算经修正时间戳的时间戳。通过1588逻辑模块116接收到的任何其它时间戳被丢弃。
在一个实施例中,用于通路对齐缓冲器132的每个通路的填充水平通过核心逻辑模块110而无需处理。在一个实施例中,逻辑总线(LBUS)接收包数据作为输出(例如,512位)。LBUS随后将此信息传送到修正逻辑模块118,所述模块可以针对多路通信链路中的通路中的每一者的数据包计算经修正时间戳。修正逻辑模块118还接收用于来自1588逻辑模块的SOP的到达时间的时间戳以及与来自通路对齐缓冲器108的通路中的每一者相关联的填充水平。
在一个实施例中,修正逻辑模块118可以根据数据包的时间戳(例如,SOP)、用于承载数据包的通路的填充水平以及参考填充水平计算经修正时间戳。
在一个实施例中,参考填充水平可以是最小填充水平(例如,所有通路的最低填充水平)、最大填充水平(例如,所有通路的最高填充水平)或平均填充水平(例如,填充水平之和除以通路的总数)。
在一个实施例中,通路的填充水平和参考填充水平可以是正数或负数。举例来说,填充水平和/或参考填充水平是否是正数还是负数可以取决于通路的填充水平相对于参考填充水平是正的还是负的。
在一个实施例中,修正逻辑模块118通过用通路的填充水平和参考填充水平调节时间戳来计算经修正时间戳。在一个实施例中,可以使用以下等式:
等式(1)经修正时间戳=时间戳+/-通路的填充水平+/-参考填充水平
在一个实施例中,修正逻辑模块118可以将所有的值转换成常用单位使得计算可以是一致的。举例来说,通路的填充水平和参考填充水平可以是多个位。修正逻辑模块118可以基于每时钟循环的已知位数目和时钟循环的频率将填充水平的位数目和参考水平转换成时钟循环的单位或纳秒。举例来说,如果电路100读取66位/时钟循环并且电路100具有2.1个时钟循环每纳秒,那么可以就时钟循环或纳秒而言计算经修正时间戳。
在一个实施例中,一旦计算出经修正时间戳,那么用于通路中的每一者中的数据包中的每一者的时间戳可以由经修正的时间戳替换。因此,多路通信链路中的每一个中的时间戳将相对于偏斜得到修正。因此,通过本发明可以解决上文所述的由于偏斜的从时钟中的变化的问题。
图3说明用于修正具有偏斜的多路通信链路中的时间戳的方法300的流程图。在一个实施例中,方法300可以通过如图4中所说明的且在下文所论述的通用计算机(或任何其它硬件等效装置)执行,或者通过实施为逻辑电路的修正逻辑118或如上文所论述的可编程集成电路执行。
方法300开始于步骤302。在步骤304处,方法300接收数据包、用于数据包的时间戳和用于承载数据包的多路通信链路的通路的填充水平。举例来说,修正逻辑模块可以接收数据包、用于数据包的时间戳和用于承载数据包的多路通信链路的通路的填充水平。
在一个实施例中,时间戳可以经由1588逻辑模块滤波,例如,时间戳与包的起始(SOP)相关联。所有其它时间戳可以被丢弃。
在一个实施例中,修正逻辑模块可以接收填充水平用于承载数据包的多路通信链路中的所有的通路。用于所有通路的填充水平可用于选择或计算参考填充水平。在一个实施例中,参考填充水平可以是所有填充水平中的最小填充水平、所有填充水平中的最大填充水平或所有填充水平的平均填充水平。
在步骤306处,方法300计算用于数据包的经修正时间戳。在一个实施例中,修正逻辑模块可以通过由通路的填充水平和参考填充水平调节时间戳来计算经修正时间戳。在一个实施例中,通路的填充水平和参考填充水平可以是正数或负数。举例来说,填充水平和/或参考填充水平是否是正数还是负数可以取决于通路的填充水平相对于参考填充水平是正的还是负的。在一个实施例中,等式(1)可用于计算经修正时间戳。
在一个实施例中,修正逻辑模块可以将所有的值转换成常用单位使得计算可以是一致的。举例来说,通路的填充水平和参考填充水平可以是多个位。修正逻辑模块可以基于每时钟循环的已知位数目和时钟循环的频率将填充水平的位数目和参考水平转换成时钟循环的单位或纳秒。举例来说,如果电路100读取66位/时钟循环并且电路100具有2.1个时钟循环每纳秒,那么可以就时钟循环或纳秒而言计算经修正时间戳。
在步骤308处,方法300用经修正时间戳替换用于数据包的时间戳。举例来说,用于SOP的时间戳可以由经修正时间戳替换。
在步骤310处,方法300确定是否存在需要具有经修正时间戳的数据包的任何额外通路。如果对步骤310的回答是肯定的,那么所述方法返回到步骤304并且重复步骤304、306和308。换句话说,方法300可以针对具有多路通信链路中对应的数据包的多个通路中的每个通路重复。
例如在方法300针对多链路通信包的每个通路重复之后,用于多路通信链路的每个通路中的每个SOP可以由经修正时间戳替换。因此,从时钟的精确度得到了改进。
如果对步骤310的回答是否定的,那么用于通路中的每一者中的数据包中的每一者的时间戳已经得到修正。所述方法前进到步骤312,此处方法300结束。
应注意虽然没有明确规定,但是上文所述的方法300的一个或多个步骤、块或功能可以包含视特定应用的需要存储、显示和/或输出步骤。换句话说,在所述方法中讨论的任何数据、记录、字段和/或中间结果可以视特定应用的需要存储、显示和/或输出到另一装置。此外,引证确定操作或涉及决策的图3中的步骤、块或功能不一定需要对确定操作的两个分支都进行实践。换句话说,确定操作的分支中的一者可以被认为是可选步骤。
图4描述适合用于执行本文中描述的功能的通用计算机的高阶框图。如图4中所描绘,系统400包括:硬件处理器元件402(例如,CPU);存储器404,例如,随机存取存储器(RAM)和/或只读存储器(ROM);模块405,其用于修正具有集成电路(IC)的偏斜的多路通信链路中的时间戳,所述集成电路例如,可编程集成电路等等;以及各种输入/输出装置406,例如,存储装置,包括(但不限于),磁带驱动器、软盘驱动器、硬盘驱动器或光盘驱动器、接收器、发射器、扬声器、显示器、语音合成器、输出端口,以及用户输入装置(例如,键盘、小键盘、鼠标等等)。
应注意本发明可以在软件和/或软件和硬件的组合中实施,例如,使用专用集成电路(ASIC)、可编程集成电路(IC),例如,FPGA、通用计算机或任何其它硬件等效物,例如,关于上文所论述的方法的计算机可读指令可用于配置硬件处理器以执行上文所公开的方法的步骤或功能。在一个实施例中,用于修正具有偏斜的多路通信链路中的时间戳本发明模块或过程405,例如,可编程集成电路可以加载到存储器404中并且通过硬件处理器402执行以实施上文所论述的功能。因此,用于修正用于IC的具有偏斜的多路通信链路中的时间戳的本发明过程405,例如,如上文在本发明的方法300中所论述的可编程集成电路(包含相关联的数据结构)可以存储在非暂时性(例如,有形或物理)计算机可读存储媒体上,例如,RAM存储器、磁性或光盘驱动器或磁盘等等。
本发明的实施例还可以通过可调节的IC整体或部分实施,例如,可编程集成电路。更确切地说,可编程集成电路是可以由用户编程以实施各种所选择的功能的通用装置。可编程集成电路可以包含可配置逻辑块的阵列(CLB)和多个输入/输出块(IOB)。CLB是个别地可编程的并且可经配置以在若干输入信号上执行各种逻辑功能。IOB可经配置以从CLB到可编程集成电路的外部引脚驱动输出信号和/或从外部可编程集成电路引脚接收输入信号。可编程集成电路还包含可编程互连结构,所述可编程互连结构可以经编程以在各种CLB和IOB当中选择性地路由信号以产生许多输入信号的更复杂的功能。CLB、IOB和可编程互连结构通过将配置数据加载到相关联的存储器单元中而编程,所述存储器单元控制CLB、IOB和互连结构内的各种开关和多路复用器以实施通过配置数据规定的逻辑和路由功能以在可编程集成电路中实施用户设计。可编程集成电路还可以包含其它可编程和非可编程资源。因此,上文中结合图1到2所示的电路可以在执行图1到2的电路的任何一个或多个的任何一个或多个组件的等效逻辑操作的多个CLB中实施。因此,在一个实施例中,系统400可经配置以生成必要的配置数据/指令以配置可编程集成电路以执行上文所公开的各种功能。
虽然上文根据本发明的一个或多个方面描述了示例性实施例,但是根据本发明的一个或多个方面的其它和进一步实施例可以不脱离其范围设计,所述范围通过所附权利要求书及其等效物确定。权利要求书列出的步骤并不暗示步骤的任何顺序。商标是它们的对应拥有者的财产。

Claims (13)

1.一种用于修正具有多个通路的多路通信链路中的时间戳的方法,其特征在于包括:
接收数据包、用于所述数据包的时间戳和用于承载所述数据包的所述多个通路的通路的填充水平,其中所述填充水平包括用以补偿所述通路相对于所述多个通路的其他通路的偏斜的多个位;
计算用于所述数据包的经修正时间戳,所述经修正时间戳至少是所述时间戳、所述填充水平和源自用于所有的所述多个通路的各自填充水平的参考填充水平的函数;以及
用所述经修正时间戳替换用于所述数据包的所述时间戳。
2.根据权利要求1所述的方法,其特征在于针对具有各自的数据包的所述多个通路的每个通路重复所述接收、所述计算和所述替换。
3.根据权利要求1或2所述的方法,其特征在于所述时间戳对应于所述数据包的起始的时间戳。
4.根据权利要求1或2所述的方法,其特征在于所述时间戳在将包含所述数据包的输入信号划分到所述多个通路中的变速箱之后,针对串行化/去串行化时钟域中的每个时钟循环被捕获。
5.根据权利要求1或2所述的方法,其特征在于所述填充水平包括一个或多个位的测量。
6.根据权利要求1或2所述的方法,其特征在于所述填充水平经由用于所述多个通路的每个通路的先进先出缓冲器计算,所述计算包括下列步骤:
检测Write_En信号,其指出同步模式已被检测到在所述数据包的内容中;
响应所述Write_En信号,将所述数据包的所述内容写入所述先进先出缓冲器,其中所述内容以所述内容被接收的顺序被写入,并且以发生在所述同步模式后的所述内容中的第一有效数据字开始;
检测Read_En信号,其指出所述同步模式已被检测到在藉由所有的所述多个通路所接收的数据包中;以及
当所述Read_En信号是真实时,读取来自所述先进先出缓冲器的所述数据包的所述内容,其中所述内容以其被存储于所述先进先出缓冲器的顺序被读取,
其中所述Write_En信号被产生于第一时钟域中并且所述Read_En信号被产生于第二时钟域中。
7.根据权利要求1所述的方法,其特征在于所述参考填充水平包括所有的所述各自填充水平的最低填充水平。
8.根据权利要求1所述的方法,其特征在于所述参考填充水平包括所有的所述各自填充水平的最高填充水平。
9.根据权利要求1所述的方法,其特征在于所述参考填充水平包括自所有的所述各自填充水平所计算的平均填充水平。
10.根据权利要求7到9中任一权利要求所述的方法,其特征在于所述时间戳、所述通路的所述填充水平和所述参考填充水平各自被转换成时钟循环的单位。
11.根据权利要求7到9中任一权利要求所述的方法,其特征在于所述时间戳、所述通路的所述填充水平和所述参考填充水平各自被转换成纳秒的单位。
12.一种集成电路,其特征在于包括:
多路分用器和变速箱模块,以用于将输入信号划分到多个通路中,其中每个通路承载至少一个数据包;
时间戳捕获模块,以用于针对所述至少一个数据包中的每一个捕获时间戳;
通路对齐缓冲器,以用于生成用于所述多个通路中的每一个的填充水平,其中所述填充水平包括用以补偿所述多个通路的所述每一个相对于所述多个通路的其他通路的偏斜的多个位;以及
修正逻辑模块,以用于接收所述至少一个数据包、用于所述至少一个数据包的所述时间戳以及用于承载所述至少一个数据包的所述多个通路中的每个通路的所述填充水平,用于计算用于所述至少一个数据包的经修正时间戳,所述经修正时间戳至少是所述时间戳、承载至少一个数据包的所述多个通路中的通路的所述填充水平和源自用于所有的所述多个通路的各自填充水平的参考填充水平的函数,并且用于用所述经修正时间戳替换用于所述至少一个数据包的所述时间戳。
13.根据权利要求12所述的集成电路,其特征在于所述参考填充水平包括下列的一者:所有的所述各自填充水平的最低填充水平、所有的所述各自填充水平的最高填充水平或计算自所有的所述各自填充水平的平均填充水平。
CN201480016642.9A 2013-03-18 2014-03-17 用于修正多路通信链路中的时间戳的方法和相关集成电路 Active CN105379220B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/846,683 US9167058B2 (en) 2013-03-18 2013-03-18 Timestamp correction in a multi-lane communication link with skew
US13/846,683 2013-03-18
PCT/US2014/030774 WO2014153298A2 (en) 2013-03-18 2014-03-17 Timestamp correction in a multi-lane communication link with skew

Publications (2)

Publication Number Publication Date
CN105379220A CN105379220A (zh) 2016-03-02
CN105379220B true CN105379220B (zh) 2017-12-01

Family

ID=50694016

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480016642.9A Active CN105379220B (zh) 2013-03-18 2014-03-17 用于修正多路通信链路中的时间戳的方法和相关集成电路

Country Status (6)

Country Link
US (1) US9167058B2 (zh)
EP (1) EP2976866B1 (zh)
JP (1) JP6149150B2 (zh)
KR (1) KR102091302B1 (zh)
CN (1) CN105379220B (zh)
WO (1) WO2014153298A2 (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9619478B1 (en) * 2013-12-18 2017-04-11 EMC IP Holding Company LLC Method and system for compressing logs
CN106126466B (zh) * 2016-06-27 2019-10-11 哈尔滨明快机电科技有限公司 一种并行数据变串行数据的传输方法
CN108880723B (zh) * 2017-05-16 2020-12-11 深圳市中兴软件有限责任公司 一种时钟同步的方法和装置
AU2017437863B2 (en) 2017-10-30 2023-04-06 Huawei Technologies Co., Ltd. Clock synchronization method and apparatus
US11153191B2 (en) 2018-01-19 2021-10-19 Intel Corporation Technologies for timestamping with error correction
US10686581B2 (en) * 2018-02-20 2020-06-16 Keysight Technologies, Inc. Methods, systems, and computer readable media for transmit timestamp autocalibration
US10291247B1 (en) 2018-03-07 2019-05-14 Xilinx, Inc. Chopping switch time-skew calibration in time-interleaved analog-to-digital converters
CN111355549B (zh) * 2018-12-21 2023-05-02 深圳市中兴微电子技术有限公司 一种数据保护方法及装置
US10956124B2 (en) 2019-03-18 2021-03-23 Viavi Solutions Inc. Slip detection on multi-lane serial datalinks
US11265096B2 (en) * 2019-05-13 2022-03-01 Intel Corporation High accuracy time stamping for multi-lane ports
US11140097B2 (en) * 2019-10-09 2021-10-05 Arista Networks, Inc. Cross point switch of network device for reordering lanes of network interfaces
US11637645B1 (en) 2020-09-18 2023-04-25 Xilinx, Inc. Method for time stamping with increased accuracy
US20220006607A1 (en) * 2020-12-26 2022-01-06 Intel Corporation Timestamp alignment for multiple nodes

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101888292A (zh) * 2009-05-13 2010-11-17 中兴通讯股份有限公司 基于包交换的时钟同步方法及装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040213155A1 (en) * 2001-03-29 2004-10-28 Mitel Semiconductor V.N. Inc. Multi-processor data traffic shaping and forwarding
US7668243B2 (en) 2004-05-18 2010-02-23 Texas Instruments Incorporated Audio and video clock synchronization in a wireless network
US8194662B2 (en) * 2006-06-08 2012-06-05 Ilnickl Slawomir K Inspection of data
JP5230367B2 (ja) * 2008-06-03 2013-07-10 日本電信電話株式会社 パラレル光伝送装置及び方法
US8135105B2 (en) * 2008-06-17 2012-03-13 Integraded Device Technologies, Inc. Circuit for correcting an output clock frequency in a receiving device
JP5203153B2 (ja) * 2008-11-28 2013-06-05 日本電信電話株式会社 パラレル伝送方法及びパラレル伝送装置
US9065736B2 (en) * 2009-06-08 2015-06-23 Broadcom Corporation Method and system for compensated time stamping for time-sensitive network communications
JP5544896B2 (ja) * 2010-01-22 2014-07-09 富士通株式会社 受信回路、情報処理装置、およびバッファ制御方法
JP5525942B2 (ja) * 2010-07-06 2014-06-18 アンリツ株式会社 先頭レーン検出回路及び方法並びにデスキュー回路及び方法
US20120030438A1 (en) * 2010-07-29 2012-02-02 Sarance Technologies Inc. Method and Apparatus for Performing Skew Removal in the Receiver of a Multi-Lane Communication Link
US9356721B2 (en) * 2012-06-26 2016-05-31 Marvell World Trade Ltd. Methods and apparatus for precision time stamping
US8971352B2 (en) * 2012-09-28 2015-03-03 Thomas Jost High accuracy 1588 timestamping over high speed multi lane distribution physical code sublayers

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101888292A (zh) * 2009-05-13 2010-11-17 中兴通讯股份有限公司 基于包交换的时钟同步方法及装置

Also Published As

Publication number Publication date
JP2016517680A (ja) 2016-06-16
CN105379220A (zh) 2016-03-02
EP2976866A2 (en) 2016-01-27
KR102091302B1 (ko) 2020-03-19
US9167058B2 (en) 2015-10-20
WO2014153298A3 (en) 2014-12-04
KR20150133220A (ko) 2015-11-27
US20140269769A1 (en) 2014-09-18
JP6149150B2 (ja) 2017-06-14
EP2976866B1 (en) 2017-05-03
WO2014153298A2 (en) 2014-09-25

Similar Documents

Publication Publication Date Title
CN105379220B (zh) 用于修正多路通信链路中的时间戳的方法和相关集成电路
CN111934802A (zh) 用于多通道端口的高精度时间戳记
US8934493B2 (en) Aggregating communication channels
CN109699199B (zh) 一种报文处理的方法和网络设备
US20030118042A1 (en) Packet communications method and apparatus
CN111727589A (zh) 用于配置Flex以太网节点的方法和设备
CN103825841B (zh) 一种以太网报文排序方法及装置
EP3076572A1 (en) Clock synchronization method for multiple clock domains, line card, and ethernet device
CN103259733A (zh) 一种子卡单元动态适配方法和线卡板
CN106250335B (zh) 用于提供数据速率改变的技术
CN110798633A (zh) 基于以太网交换技术的大规模视频显控矩阵设备
US7734848B2 (en) System and method for frequency offset testing
US8817826B2 (en) Aggregating lower bandwidth asynchronously clocked communication links into a higher bandwidth link
US8995596B1 (en) Techniques for calibrating a clock signal
US9219561B2 (en) Method and apparatus for multiplexing and demultiplexing multi-channel signals and system for transmitting multi-channel signals
US7251304B2 (en) Bit synchronizing circuit configured to obviate errors from meta-stability
CN103516631A (zh) 通信装置
US9442511B2 (en) Method and a device for maintaining a synchronized local timer using a periodic signal
CN114884605A (zh) 基于fpga实现网络节点时间同步的方法
CN114844804A (zh) 网络测量方法、系统、电子设备及计算机可读存储介质
US10873391B2 (en) MFAS-aligned pseudorandom binary sequence (PRBS) patterns for optical transport network (OTN) testing
JP2011259128A (ja) デジタルデータ伝送システム、送信装置、受信装置、及び伝送方式
CN107689897B (zh) 一种e1信号采集设备
CN116599621B (zh) 基于跨板传递并再生恢复时钟方法、设备及装置
CN114726761A (zh) 一种测量高精度aos链路网络数据处理延时的方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant