用于为利用fec编码器的系统实现按ieee1588的精确时间戳的方法

文档序号:7798884阅读:288来源:国知局
用于为利用fec编码器的系统实现按ieee 1588的精确时间戳的方法
【专利摘要】本发明公开了系统和方法,用于允许在例如精确时间协议(PTP)协议由通信系统使用时,在集成电路或设备内的通信系统中的媒体访问控制(MAC)层准确地确定时间戳点和时间戳值。准确的时间戳点和时间戳值的这种确定可以由通信系统使用以考虑和补偿来自由MAC层传输的数据帧中的前向纠错(FEC)子层变化的(多个)时移。从FEC向MAC提供反馈,以允许MAC准确地确定时间戳点和时间戳值,将数据帧的前导码对准由FEC子层输出的FEC比特块的开始。
【专利说明】用于为利用FEC编码器的系统实现按IEEE1588的精确时间戳的方法
[0001]
[0002]交叉引用
[0003]本专利文件要求2013年3月14号提交的待决美国临时申请第61/782,995号的权益和优先权,其公开内容通过引用而整体结合于此。

【技术领域】
[0004]本公开涉及用于为集成电路和/或针对可编程逻辑设备更准确地确定通信系统中的时间戳值的系统和方法。

【背景技术】
[0005]许多网络应用要求运行在网络中不同节点处的时钟同步。由电气电子工程师协会(IEEE)标准化的IEEE1588协议是定义了精密时间协议(PTP )的协议,其使得操作在网络中节点上的不同时钟能够精确同步。这样的时钟同步一般通过向正在被同步的时钟传输包括时间戳的数据分组来实现。
[0006]IEEE1588协议被设计为测量包括时间戳的数据分组行进通过通信介质(通常为有线介质,例如以太网)所花费的时间以及将这些数据分组传送通过网络中的中间节点所花费的可能具有可变缓冲延时的时间。在PTP中,时间戳消息(也称为PTP消息)通过媒体访问控制(MAC)层嵌入在以太网帧的数据部分。在每个这样的帧中,通常有8位起始帧定界符(SFD)被包括在前导码(通常为7个八位字节长)之后。SFD可以具有固定的10101011模式,而时间戳点被选择为SFD的第一个比特。时间戳值是在通信介质上传输时间戳点的时间。这一时间戳值被包括在以以太网帧发送的每个PTP消息中。
[0007]在由MAC层生成PTP消息时的时刻与在通信介质上传输SFD的第一个比特时的时刻之间,可能存在由物理编码子层(PCS)或其他可能的部件所引入的延迟。对一些以太网应用而言,时间戳需要考虑这一另外的时延,并且PCS的时延必须是固定的并且由MAC层知晓以在接收器处获得数据的高分辨度。然而,在IEEE10G-BASE KR网络中,PCS的时延可能不是固定的和/或不是已知的。此外,在具有前向纠错(FEC)的那种10G-BASE KR网络中,转码块在每个66个比特的PCS码字中移除一个同步位以创建用于奇偶校验位的空间。因为这一过程改变原始消息位的位置,PTP协议应该考虑这一变化以正确地确定要在PTP消息中传输的适当时间戳值。对于可能要求速率在1GE或以上的应用以及对于可能要求高精确度的应用,存在需要允许MAC层传输考虑到了 FEC变化和其他延迟的适当时间戳。


【发明内容】

[0008]为了解决本领域内的缺点,本公开内容提供用于允许MAC层正确地确定时间戳点以及时间戳值的方法和系统,所述时间戳值考虑了并且可以被用于补偿来自FEC变化的时移及可能的其他延迟。这种由MAC层的补偿允许网络系统在接收器处获得数据的高分辨度。
[0009]提供了方法和系统,用于使用针对集成电路或针对可编程逻辑设备的通信系统来确定时间戳值。在一些实施例中,该通信系统可以包括发射机电路系统,该发射机电路系统可以包括前向纠错(FEC)层和媒体访问控制(MAC)层。在一些实施例中,该发射机电路系统可以是IEEE10G-BASE KR发射机电路系统。在一些实施例中,该消息包括作为精确时间协议消息的一部分的时间戳值。在一些实施例中,FEC层可以通过反馈链路耦合至MAC层。在一些实施例中,FEC层可以通过反馈链路和数据链路两者耦合至MAC层。该消息使用MAC层可以被发送至FEC层(例如,在数据链路上)。当该消息到达FEC层时,使用FEC层,反馈信号可以在反馈链路上被确立(assert)。
[0010]在一些实施例中,该MAC层可以基于所确立的反馈信号来确定与消息相关联的时间戳值。在一些实施例中,该消息可以包括以太网帧的前导码。在一些实施例中,反馈信号可以由FEC层内的信号校验块生成。
[0011]在一些实施例中,该发射机电路系统可以包括物理编码子层(PCS),该PCS包括信号延迟块。该PCS可以耦合在MAC层和FEC层之间。该反馈信号可以基于信号延迟块的输出。在一些实施例中,该PCS可以包括脉冲生成块。该反馈信号可以基于该脉冲生成块的输出。

【专利附图】

【附图说明】
[0012]结合附图,根据以下详细描述的考虑,本公开内容的进一步特征、其性质及各种优点将是显而易见的,贯穿附图中相似的附图标记指代相似的部分,其中:
[0013]图1是根据说明性实施例的其中嵌入PTP消息的以太网帧的简化框图;
[0014]图2是根据说明性实施例的10G-BASE KR发射机电路系统的代表性部分的简化框图;
[0015]图3是根据说明性实施例的示出KR-FEC发送(Tx)信道的转码、级联和编码方面的简化框图;
[0016]图4是根据说明性实施例的KR-FEC Tx信道的输入和输出比特之间的关系的简化框图;
[0017]图5是Tx信道中的MAC层和PCS/FEC层以及层间链路的简化框图;
[0018]图6A是根据说明性实施例的图2的10G-BASE KR发射机电路系统的代表性部分的更详细、但仍为简化的框图;
[0019]图6B根据说明性实施例的示出具有利用开始控制字符的另外的MAC和KR-FEC Tx信道链路的10G-BASE KR发射机电路系统的代表性部分的框图;
[0020]图6C根据说明性实施例的示出具有利用专用指示信号的另外的MAC和KR-FEC Tx信道链路的10G-BASE KR发射机电路系统的代表性部分的框图;
[0021]图6D根据说明性实施例的示出具有利用训练前导码的另外的MAC和KR-FEC Tx信道链路的10G-BASE KR发射机电路系统的代表性部分的框图;
[0022]图7图示了包括在本文中被描述为在数据处理系统内的发射机电路系统的实施例的集成电路或其他设备。

【具体实施方式】
[0023]为了提供本发明的全面理解,现在将描述特定的说明性实施例。然而,本领域一个普通技术人员将理解本文中所描述的系统和方法可以被适配和修改为适应所解决的应用,并且本文中所描述的系统和方法可以被采用在其它合适的应用中,并且这种另外的增加和修改不会偏离其范围。
[0024]本文中所描述的附图示出说明性实施例;然而,这些附图可以不必要示出并且可以不旨在示出实施例中所包含的硬件部件的准确布局。提供这些附图仅是为了图示实施例的高层概念性布局。本文中所公开的实施例可以根据本领域已知的原理用任何合适数量的部件和任何合适的部件布局来实施。
[0025]图1是根据说明性实施例的其中嵌入PTP消息106的以太网帧100的简化框图。以太网帧100包括前导码101、起始帧定界符(SFD) 102、源地址103、目的地地址104、类型105,PTP消息106和循环冗余校验(CRC)107。前导码101可以用于指示以太网帧100的起始并且可以是7个八位字节长。SFD102可以用于指示以太网帧100中的前导码101的结束。SFD102可以包括8个比特,并且如上所讨论的,还可以包括时间戳点。源地址103可以指示以太网帧100已经从其传输的源。目的地地址104可以指示以太网帧100应当被传输到的目的地。类型105可以指示在以太网帧100中传输的数据的类型。PTP消息106可以是与以上所讨论的PTP消息类似的消息。PTP消息106可以包括时间戳值并且可以由媒体访问控制(MAC)层嵌入在以太网帧100的数据部分中。CRC107包括一个比特集合,其可以允许可能在以太网帧100通过通信介质传输时发生在以太网帧100内的错误的校验。
[0026]图2是根据说明性实施例的10G-BASE KR发射机电路系统的代表性部分的简化框图。10G-BASE KR发射机电路系统200包括MAC层202、1G PCS层204、FEC子层206 (如本文所用的,FEC子层也可以被称为FEC层)和物理介质附加(PMA)子层208。发射机电路系统200可以用于在许多应用中传输数据。
[0027]各种串行数据通信协议采用比实际表示正在传达的数据所需要的最小数量略多的比特。这些额外的比特可以用于控制时钟数据恢复(⑶R)系统中的最大运行长度。额外的比特也可以用于这样目的,如针对块同步指示字对准边界、奇偶校验、错误校正编码等等。例如,已经或正在开发若干行业标准码,其针对每64比特的“实际”、“真实”或“有效载荷”数据内容,传输66个比特。这样的信令或通信协议可以被称为64B66B编码等。在10G-BASER通信中,64B66B编码可以由发射机、诸如由10G-BASER KR发射机电路系统200所使用。
[0028]MAC层202可以允许与多址介质、诸如以太网进行通信,并且可以为在该多址介质上通信的多个通信节点的同步提供时间戳。10GPCS层204可以执行数据比特的串行处理。FEC子层206可以通过将另外的比特添加到数据比特来编码数据比特以,从而降低数据传输错误。PMA子层208可以向10G-BASE KR发射机电路系统200内的电路系统提供时钟信号,并且还可以用于与电路系统200外部的其它设备通信数据。
[0029]通常,1G-BASER PCS层针对每64个比特数据和输入到该PCS的8比特控制,输出66个比特。该66个比特包括64个数据位和2同步位(其为01或10)。然而,在10G-BASEKR-FEC中,FEC子层206可输出单个同步位(O或1),同时移除另一同步位(因此针对每64个比特数据输出65个比特)。另外,FEC子层206可以将32奇偶校验位级联到每个2080比特块(具有32个不同的带同步位的64位数据的块)。由FEC子层206输出到PMA子层208的所产生的2112个比特的块可以被称为FEC比特块。
[0030]图3是根据说明性实施例的示出KR-FEC发送(Tx)信道的转码、级联和编码方面的简化框图。KR-FEC子层300包括一个或多个转码块302、级联块304和编码器306。
[0031]KR-FEC子层300可以类似于FEC子层206。例如,可以有32个转码块302。每个转码块302可以具有66比特输入(64数据位和2同步位)并且可以有65比特输出。对于每个66比特输入,转码块302可移除两个输入同步位中的一个同步位。转码块302中的每一个转码块的65比特输出可以被输入到级联块304。级联块304可以接收32个独立的65比特输入,从每个转码块302接收一个65比特输入。级联块304可以将32个独立的65比特输入级联起来成为单个2080比特块。级联块304可以将该单个2080比特块输出到编码器306。编码器306可以从级联块304接收2080比特。编码器306可以通过将32个奇偶位添加到从级联块304接收的2080个比特的末端来编码该2080比特,并可输出2112个比特。该2112个输出比特可以由KR-FEC子层300输出到例如KR-PMA子层。
[0032]图4是根据说明性实施例的KR-FEC Tx信道的输入和输出比特之间关系的简化框图。图400示出到如KR-FEC子层、诸如KR-FEC子层300的输入402的比特与KR-FEC子层的输出420的比特之间的关系。
[0033]输入402和输出420两者均是各自具有2112个比特的块。输入402可以包括32个字(word) 406,每个字是66比特长。输入402的每个字中所包括的这些66比特可以包括64数据位408和2同步位410和412。输出420可以包括32个字426,每个字是65比特长,并且每个字映射于输入402中的字406中一个字。输出420的每个字中所包括的这些65比特可以包括64数据位428和I同步位430。另外,输出420可以包括32个奇偶位432。
[0034]如参照图3所讨论的,KR-FEC子层可以包括转码块,其从输入402中的每个字406中移除一个同步位(如图4所示的比特0),以生成输出420中的每个字426。如此,一旦移除了同步位,输入402中剩余的2080个比特的位置偏移,如图4的输出420所示。如参照图3所讨论的,KR-FEC子层可以通过在输入420的末端包括32个附加的奇偶位432,来编码输出420中所得的2080个比特的块。由于每个字中的一个同步位被从输入402移除,并且32个奇偶位被添加到输出420,输入402和输出420具有同样的大小。由于比特O(第I个同步位)被转码块从输入402中的每个字406中移除,字I的比特I具有I单元间隔(unitinterval, UI)时移,并且字31的比特65具有32Π时移。如果10G-BASE KR发射机中的MAC层在FEC子层处(例如图3的KR-FEC子层300)不具有与这一(多个)时移相关的信息,在最坏的情况下,当MAC层正在为PTP消息确定时间戳值时,会出现32Π时间偏移。
[0035]如以上所讨论的,关于图4,KR-FEC子层输出FEC比特块的每个比特可以具有一定量的Π时移。Π时移的量与输出FEC比特块中的每个比特的位置具有固定的关系。给定SFD中有时间戳点的以太网帧(例如图1的以太网帧100)作为到KR-FEC子层的输入而被传输,Π时移的量与在KR-FEC子层的输出中的时间戳点的位置具有固定的关系。为了让MAC层准确地确定时间戳值,MAC层在例如KR-FEC子层中的编码器处正确地确定时间戳点的比特位置是很重要的。通过准确地确定时间戳点的比特位置,MAC层可以针对PTP消息生成时间戳值,其准确地补偿了由KR-FEC子层所导致的UI时移。
[0036]图5是Tx信道中的MAC层和PCS/FEC层及层间链路的简化框图。发射机电路系统500包括MAC层502和PCS/FEC层504 (组合成一个概念块)、以及反馈链路506。
[0037]MAC层502可以类似于图2的MAC层202,并且PCS/FEC层504可以类似于与图2的FEC子层206组合的PCS层204。MAC层502可以将链路508上的比特流输出到PCS/FEC层504。反馈链路506可以从PCS/FEC层504将信号(flag_aligned)提供至MAC层502或提供至MAC层502内的或附接至MAC层502的监测块(未示出)。发射机电路系统500可以具有两个模式,其可以包括训练模式和正常模式。在训练模式期间,MAC层502可以在链路508上输出包括时间戳点的特殊比特流(类似于图1的以太网帧100),作为到PCS/FEC层504的输入。PCS/FEC层504可以能够检测该时间戳点是否与FEC比特块的起始对准。如果时间戳点与FEC比特块的起始对准,反馈链路506上的反馈信号flag_aligned可以由PCS/FEC层504内的元件来确立(例如,被设置为I)。
[0038]当MAC层502确定信号flag_aligned在反馈链路506上被确立(例如,被设置为I)时,MAC层502确定当前时间戳点与FEC比特块对准。在一些实施例中,监测块可以接收所确立的信号flag_aligned并且可以通知MAC层502当前时间戳点与FEC比特块对准。在信号flag_aligned被被确立(例如,被设置为I)之后,MAC层502可以将发射机电路系统500的操作切换到操作的正常模式。在发射机电路系统500的操作的正常模式期间,例如,具有或不具有监测块的使用的MAC层502只要能够追踪要被传输的比特的数量,就可以能够正确地追踪下一个时间戳点的比特位置。
[0039]图6A是根据说明性实施例的图2的10G-BASE KR发射机电路系统的代表性部分更为详细但仍为简化的框图。发射机电路系统600包括MAC层602、PCS层604、FEC子层606、以及物理PMA子层608。发射机电路系统600和其内的部件在形式和功能上可以与图2的发射机电路系统200的对应电路系统和部件相似。发射机电路系统600可以是10G-BASEKR发射机。
[0040]MAC层602可以允许与多址介质、诸如以太网进行通信,并且也可以为多址介质上进行通信的多通信节点的同步而提供时间戳。PCS层604可以包括64B/66B编码器622和扰码器624并且可以执行数据位的处理。FEC子层606可以包括66到65比特的压缩器626、编码器628、扰码器630以及65到64比特的变速器(gearbox)632。FEC子层606可以通过向数据位添加附加的比特来编码数据位,以降低数据传输错误。PMA子层608可以向发射机电路系统600内的电路系统提供时钟信号并且还可以用于与电路600外部的其他设备通信数据。
[0041 ] MAC层602可以在64位数据总线/链路上向64B/66B编码器622输出64比特的数据,以及在8位控制总线/链路上向64B/66B编码器622输出8比特的控制数据。在8位控制总线上的8比特控制数据可以指定64位数据总线上的64个比特是数据还是控制信息。如上所描述的,64B/66B编码器622可以对从MAC层602所接收的64个比特执行64B/66B编码。64B/66B编码器622可以将66比特的64B66B编码数据输出到扰码器624。扰码器624可以将从64B/66B编码器622所接收的66个比特进行扰码以便,例如,给这些比特某些有用的工程属性。扰码器624可以将所得的66个比特输出到66到65比特压缩器626。
[0042]压缩器626可以以类似于图3的转码块302中的一个转码块进行操作。压缩器626可以具有如66个比特输入(64个数据位加2个同步位)并且可以具有如65个比特输出。对于每个66比特输入,压缩器626可以移除输入的2个同步位中的一个同步位。压缩器626的输出可以被输入到编码器628。编码器627可以在每个时钟循环处将它接收的比特编码为2112个比特的块。编码器628编码输入比特的方式(例如,通过添加32个奇偶位)被示出在图4中以及关于图4中的更多细节和对应描述中进行讨论。编码器628可以将已编码的比特输出到扰码器630。扰码器630可以将从编码器628所接收的比特例如进行扰码,以给这些比特某些有用的工程属性。扰码器630可以在每个时钟周期处将所得的比特输出至65到64个比特的变速器632。65到64比特的变速器632从扰码器630取得输入比特并且将64个比特的数据(例如,并行数据)输出至PMA子层608。
[0043]PMA子层608可以从65到64比特变速器632接收64个比特的数据并且可以将该数据传达至发射机电路系统600外部的电路系统。PMA子层608可以经由时钟总线634以1/64的比特时钟速率将传输时钟提供至发射机电路系统600内的每个部件,从而同步发射机电路系统600内的部件。
[0044]图6B根据说明性实施例的示出具有利用起始控制符的另外的MAC和KR-FEC Tx信道链路的10G-BASE KR发射机电路系统的代表性部分的框图。发射机电路系统700在形式和功能上类似于图6的发射机电路系统600。发射机电路系统700包括MAC层702、PCS层704、FEC子层706和物理PMA子层608。发射机电路系统700还可以包括PCS层704中的脉冲生成块740和延迟块742,以及FEC子层706中的延迟块752和脉冲校验块744。脉冲生成块740、延迟块742、延迟块752和脉冲校验块744可以在例如发射机电路系统700的操作的训练模式期间使用。
[0045]MAC层702在功能上可以类似于图6A的MAC层602,但还可以接收来自于脉冲校验块744的另外的flag_aligned信号746 (类似于参照图5所描述的)。MAC层702可以在64位数据总线/链路上向64B/66B编码器622输出例如64个比特的数据,以及在8位控制总线/链路上向66B/66B编码器622输出例如8个比特的控制数据。
[0046]MAC层702与PCS层704之间的接口可以是10千兆比特介质独立接口(XGMII)。这一 XGMII接口可以将帧(类似于图1的以太网帧100)中的7个八位字节的前导码的第一个八位字节转换为被称为起始控制符的特殊控制符。例如,这可能发生在发射机电路系统700的操作的训练模式期间。起始控制符(其为8比特长)的比特O可以与在64位数据总线上由MAC层702输出的64个比特的比特O或比特32对准。由于在帧的前导码中的起始控制符的位置,该起始控制符与由MAC层输出的帧中的时间戳点具有固定的关系。
[0047]该起始控制符可以在PCS编码过程中(B卩,在64B/66B编码器622操作期间)可利用。64B/66B编码器622可以在数据总线上将从MAC层所接收的数据输出至脉冲生成块740的电路系统。脉冲生成块740可以用于指示当前比特[0:7](即,64B/66B编码器622的输入或输出的当前8比特)是否是XGMII起始控制符。如果比特[0:7]是起始控制符,脉冲生成块740可以生成脉冲信号并且将该信号输出到延迟块742。延迟块742可以将脉冲信号延迟一定量,该量基本上匹配数据穿过扰码器624时的数据时延。延迟块742可以确立并且输出也称为align_pulse信号的脉冲信号至延迟块752。延迟块752可以将align_pulse信号延迟一定量,该量基本上匹配FEC子层706内的66到65比特压缩器626、编码器628、扰码器630以及65到64比特变速器632的任意组合的时延。延迟块752可以将align_pulse信号输出至脉冲校验块744。如果比特[0:7]是PCS层704中的起始控制符,align_pulse可以被确立(例如,被设置为逻辑高信号)。如果align_pulse在FEC比特块的字O (也即第一个字)正在穿过FEC子层706的时间处被确立,脉冲校验块744可以在与flag_aligned信号746相关联的反馈链路上确立flag_aligned信号746(例如,设置flag_aligned为逻辑高信号或I)。
[0048]当flag_aligned信号746被脉冲校验块744确立时,MAC层702可以在传输前导码(其包括起始控制符)之后确定FEC比特块的起始(例如第一个字)何时穿过FEC子层706。因此MAC层702可以能够将帧前导码的开始处与FEC比特块的起始处(例如第一个字)对准。特别是,flag_aligned信号可以被提供至MAC层702或提供至MAC层702内的或者附接到MAC层702的监测块(未示出)。MAC层或监测块可以知道所传输的前导码与时间戳点的关系(基于其从MAC层接收的信息),并且知道FEC子层中的前向纠错过程。使用这一信息,MAC层可以针对所有将来的PTP消息精确地确定时间戳点的偏移。在一些实施例中,监测块可以通过追踪/计算所传输的比特的数量(例如,直至下一个时间戳点有望在下一传输帧中出现)来针对所有将来的PTP消息确定时间戳点的偏移。监测块可以基于这一确定来通知MAC层或对其作出改变。在一些实施例中,MAC层可以通过追踪/计算所传输的比特的数量(例如,直至下一个时间戳点有望在下一传输帧中)来针对所有将来的PTP消息确定时间戳点的偏移。
[0049]图6C根据说明性实施例的示出具有利用专用指示信号的另外的MAC和KR-FEC Tx信道链路的10G-BASE KR发射机电路系统的代表性部分的框图。发射机电路系统800在形式和功能上类似于图6A的发射机电路系统600。发射机电路系统800包括MAC层802、PCS层804、FEC子层806和物理PMA子层608。发射机电路系统800还可以包括PCS层804中的延迟块842以及FEC子层806中的延迟块852和指示校验块844。PCS层804内的延迟块842以及FEC子层806中具有指示校验块844的延迟块852可以在例如发射机电路系统800的操作的训练模式期间使用。
[0050]MAC层802在功能上可以类似于图6B的MAC层702,但除了将例如64位数据总线/链路上的64个比特的数据输出至64B/66B编码器622、并且将例如8位控制总线/链路上的8个比特的控制数据输出到64B/66B编码器622之外,还可以将信号ts_p输出至延迟块842。信号ts_p可以被称为专用指示信号。当MAC层传输帧(类似于图1的以太网帧100)的前导码时,MAC层802可以确立这一专用指示信号(例如,设置等于逻辑高信号或I)。延迟块842可以将由MAC层802输入的指示信号延迟一个量,该量基本上匹配数据穿过64B/66B编码器622和扰码器624时的时延。延迟块842可以将专用指示信号ts_p的延迟版本ts_m输出到延迟块852。延迟块852可以将ts_m信号延迟一个量,该量基本上匹配FEC子层806内的66到65比特压缩器626、编码器628、扰码器630和65到64比特变速器632的任意组合的时延。延迟块852可以将ts_m信号输出到指示校验块844。如果ts_p信号在FEC比特块的字O (即,第一个字)正在穿过FEC子层806时被确立,指示校验块844可以在与flag_aligned信号846相关联的反馈链路上确立flag_aligned信号846(例如,将flag_aligned被设置为逻辑高信号或I)。
[0051]当flag_aligned信号846被指示校验块844确立时,MAC层802可以在传输该中贞的前导码之后确定FEC比特块的起始(例如第一个字)何时穿过FEC子层806。因此,MAC层802可以能够将巾贞的前导码的开始处与FEC比特块的起始处对准。具体地,flag_aligned信号可以被提供至MAC层802或提供至在MAC层802内的或附接到MAC层802的监测块(未示出)。MAC层或监测块可以知道所传输前导码与时间戳点的关系(基于其从MAC层接收的信息),并且知道FEC子层中的前向纠错过程。使用这一信息,MAC层可以针对所有将来的PTP消息精确地确定时间戳点的偏移。在一些实施例中,MAC层可以通过追踪/计算所传输的比特的数量(例如,直至下一个时间戳点有望在下一传输帧中出现)来针对所有将来的PTP消息精确地决定时间戳点的偏移。监测块可以基于这一确定来通知MAC层或对MAC层做出改变。在一些实施例中,MAC层可以通过追踪/计算所传输的比特的数量(例如,直至下一个时间戳点有望在下一传输帧中出现)来为所有将来的PTP消息确定时间戳点的偏移。图6C中所描述的方案,即利用专用指示信号,可以例如不依赖于MAC层与PCS层之间的接口是否是XGMII类型的接口而使用。
[0052]图6D根据说明性实施例的示出具有利用训练前导码的另外的MAC和KR-FEC Tx信道链路的10G-BASE KR发射机电路系统的代表性部分的框图。发射机电路系统900在形式和功能上类似于图6A的发射机电路系统600。发射机电路系统900包括MAC层902、PCS层904、FEC子层906和物理PMA子层608。发射机电路系统900还可以包括在FEC子层906中的前导码校验块944。前导码校验块944可以在例如发射机电路系统900的操作的训练模式期间使用。
[0053]MAC层902在功能上可以类似于图6B的MAC层702,并且可以例如在64位数据总线/链路上向64B/66B编码器622输出64个比特的数据,以及例如在8位控制总线/链路上向64B/66B编码器622输出8位控制数据。在训练模式期间,MAC层902可以在将帧传输到64B/66B编码器622之前用特殊训练模式的比特来取代该帧(类似于图1的以太网帧100)的一般前导码。另外,在训练模式期间,可以绕开扰码器624。
[0054]在编码之后,64B/66B编码器622可以将它从MAC层902作为输入而接收到的数据输出至FEC子层906内的66到65比特压缩器626。FEC子层906中的前导码校验块944可以接收66到65比特压缩器626的输出作为输入。当FEC比特块穿过FEC子层906时,前导校验块944可以确定FEC比特块的字O (即第一个字)是否是特殊训练模式。如果FEC比特块的字O是特殊训练模式,前导校验块944就可以在与flag_aligned信号946相关联的反馈链路上确立flag_aligned信号946 (例如,将flag_aligned设置为逻辑高信号或I)。
[0055]当flag_aligned信号946被前导校验块944确立时,MAC层902在传输前导码(其包括特殊训练模式)之后可以确定FEC比特块的起始处(例如第一个字)何时穿过FEC子层906。因此,MAC层902可以能够将帧的前导码的开始处与FEC比特块的起始处(例如第一个字)对准。具体地,flag_aligned信号可以被提供至MAC层802或被提供至在MAC层902内的或附接到MAC层902的监测块(未示出)。MAC层或监测块可以知道所传输前导码与时间戳点的关系(基于其从MAC层接收的信息),并且知道FEC子层中的前向纠错过程。使用这一信息,MAC层可以针对所有将来的PTP消息精确地确定时间戳点的偏移。在一些实施例中,监测块可以通过追踪/计算所传输的比特的数量(例如,直至下一个时间戳点有望在下一传输帧中出现)来针对所有将来的PTP消息确定时间戳点的偏移。监测块可以基于这一确定来通知MAC层或对MAC层做出改变。在一些实施例中,MAC层可以通过追踪/计算所传输的比特的数量(例如,直至下一个时间戳点有望在下一传输帧中出现)来针对所有将来的PTP消息确定时间戳点的偏移。图6D中所描述的方案可以例如在不使用由MAC层902生成的另外的信号的情况下使用。图6D中所描述的方案,即利用特殊训练模式,可以例如不依赖于MAC层与PCS层之间的接口是否是XGMII类型的接口而使用。
[0056]图7图示了包括在本文中被描述为在数据处理系统1000内的发射机电路系统的实施例的集成电路或其他设备。在一个实施例中,该电路或设备可以是集成电路、处理块、专用标准产品(ASSP)、专用集成电路(ASIC)、可编程逻辑设备(PLD)、全定制芯片或专用芯片。数据处理系统1000可以包括以下部件中的一个或多个:处理器1070、存储器1080、I/O电路系统1050、集成电路1060和外围设备1040。这些部件通过系统总线或其它互连1030连接在一起并且被安装在电路板1020上,该电路板1020被包含在终端用户系统1010内。
[0057]系统1000可以被用在各种应用中,诸如数据通信、计算机联网、数据联网、仪器、视频处理、数字信号处理或希望使用可编程或可再编程逻辑的优势的任何其他应用。电路1060可以用于执行各种不同的逻辑功能。例如,电路1060能够被配置为与处理器1070协作的处理器或控制器。在一个实施例中,电路1060可以基本上类似于电路系统200、电路系统500、电路系统600、电路系统700、电路系统800或电路系统900中的任意一个。在一个实施例中,电路1060可以是集成电路、处理块、专用标准产品(ASSP)、专用集成电路(ASIC)、可编程逻辑设备(PLD)、全定制芯片或专用芯片。电路1060也可用作仲裁器(arbiter),用于对系统1000中共享资源的仲裁访问。在另一实施例中,电路1060可以被配置为在处理器1070与系统1000中其他部件之一之间的接口。应当注意,系统1000仅为示范性的,并且本发明的实际范围及精神应由下列权利要求所指出。
[0058]尽管上述公开内容中的部件被描述为彼此连接,它们也可能经由它们之间的其它部件连接而不是彼此连接。应当理解,以上所述仅是本发明原理的示意,并且在不偏离本发明的范围和精神的情况下本领域技术人员可以做出各种修改。例如,上述层或子层中的一个或多个可以以在集成电路或其它设备(如图7所述)上操作的独立的电路来实施。另外,尽管本公开内容对于字中的比特数量、比特块或各种总线/链路的比特宽度包括了具体的数量,但是任何数量的比特或比特宽度是可能的。本领域技术人员会理解本发明可以通过所述实施例以外的方式来实践,所述实施例处于说明性而非限制性的目的而给出的,并且本发明仅由以下权利要求所限定。
【权利要求】
1.一种针对集成电路的通信系统,所述系统包括: 发射机电路系统,包括: 媒体访问控制(MAC)层;以及 通过数据链路和反馈链路耦合至所述MAC层的前向纠错(FEC)层,其中所述MAC层可操作以在所述数据链路上将消息发送至所述FEC层,并且其中所述FEC层在所述消息到达所述FEC层时在所述反馈链路上确立反馈信号。
2.根据权利要求1所述的系统,其中所述MAC层基于所确立的反馈信号来确定与所述消息相关联的时间戳值。
3.根据权利要求1所述的系统,其中所述消息包括以太网帧的前导码。
4.根据权利要求1所述的系统,其中所述反馈信号由所述FEC层内的信号校验块生成。
5.根据权利要求1所述的系统,其中所述发射机电路系统包括物理编码子层(PCS),所述PCS包括信号延迟块,其中所述PCS耦合在所述MAC层和所述FEC层之间,并且其中所述反馈信号基于所述信号延迟块的输出。
6.根据权利要求5所述的系统,其中所述PCS包括脉冲生成块,并且其中所述反馈信号基于所述脉冲生成块的输出。
7.根据权利要求5所述 的系统,其中所述发射机电路系统是IEEE10G-BASEKR发射机电路系统,并且其中所述消息包括作为精确时间协议消息的一部分的时间戳值。
8.一种用于使用针对集成电路的通信系统来确定时间戳值的方法,所述方法包括: 使用媒体访问控制(MAC)层在数据链路上将消息发送至前向纠错(FEC)层;以及 当所述消息到达所述FEC层时使用所述FEC层在反馈链路上确立反馈信号,其中所述FEC层通过所述数据链路和所述反馈链路耦合至所述MAC层,并且其中所述FEC层和所述MAC层被包括在所述通信系统内的发射机电路系统中。
9.根据权利要求8所述的方法,进一步包括使用所述MAC层基于所述确立来确定与所述消息相关联的时间戳值。
10.根据权利要求8所述的方法,其中所述消息包括以太网帧的前导码。
11.根据权利要求8所述的方法,进一步包括使用所述FEC层内的信号校验块来生成所述反馈信号。
12.根据权利要求8所述的方法,其中被包括在所述发射机电路系统内的物理编码子层(PCS)耦合在所述MAC层和所述FEC层之间,并且其中所述反馈信号基于所述PCS内的信号延迟块的输出。
13.根据权利要求12所述的方法,其中所述反馈信号基于所述PCS内的脉冲生成块的输出。
14.根据权利要求12所述的方法,其中所述发射机电路系统是IEEE10G-BASEKR发射机电路系统,并且其中所述消息包括作为精确时间协议消息的一部分的时间戳值。
15.一种针对可编程逻辑设备的通信系统,所述系统包括: 媒体访问控制(MAC)层;以及 通过反馈链路耦合至所述MAC层的前向纠错(FEC)层,其中所述MAC层可操作以将消息发送至所述FEC层,并且其中所述FEC层在所述消息到达所述FEC层时在所述反馈链路上确立反馈信号。
16.根据权利要求15所述的系统,其中所述MAC层基于所确立的反馈信号来确定与所述消息相关联的时间戳值。
17.根据权利要求15所述的系统,其中所述消息包括以太网帧的前导码。
18.根据权利要求15所述的系统,其中所述反馈信号由所述FEC层内的信号校验块生成。
19.根据权利要求15所述的系统,进一步包括物理编码子层(PCS),所述PCS包括信号延迟块,其中所述PCS耦合在所述MAC层与所述FEC层之间,并且其中所述反馈信号基于所述信号延迟块的输出。
20.根据权利要求19所述的系统,其中所述PCS包括脉冲生成块,并且其中所述反馈信号基于所述脉冲生成块 的输出。
【文档编号】H04L1/00GK104052588SQ201410093683
【公开日】2014年9月17日 申请日期:2014年3月13日 优先权日:2013年3月14日
【发明者】H·杨, D·W·孟德尔, K·杜韦尔, H·恩古, H·H·施密特 申请人:阿尔特拉公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1