CN102035616A - 以太网前向纠错层接收的数据流的帧边界检测和同步系统 - Google Patents
以太网前向纠错层接收的数据流的帧边界检测和同步系统 Download PDFInfo
- Publication number
- CN102035616A CN102035616A CN200910177335XA CN200910177335A CN102035616A CN 102035616 A CN102035616 A CN 102035616A CN 200910177335X A CN200910177335X A CN 200910177335XA CN 200910177335 A CN200910177335 A CN 200910177335A CN 102035616 A CN102035616 A CN 102035616A
- Authority
- CN
- China
- Prior art keywords
- frame
- data
- bit
- syndrome
- fec
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
- H04L1/0047—Decoding adapted to other signal detection operation
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/159—Remainder calculation, e.g. for encoding and syndrome calculation
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/33—Synchronisation based on error coding or decoding
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/33—Synchronisation based on error coding or decoding
- H03M13/333—Synchronisation on a multi-bit block basis, e.g. frame synchronisation
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/65—Purpose and implementation aspects
- H03M13/6561—Parallelized implementations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/04—Speed or phase control by synchronisation signals
- H04L7/048—Speed or phase control by synchronisation signals using the properties of error detecting or error correcting codes, e.g. parity as synchronisation signal
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Algebra (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
本发明公开了用于以太网前向纠错层接收的数据流的帧边界检测系统和同步系统,该帧边界检测系统包括了移位器、2个解扰器、校正子产生器以及错误诊断器,该错误诊断器包括大小端模式控制器,用于控制错误诊断器的大小端转换,如果该错误诊断器工作在大端模式下,所述错误诊断器实现校正子产生器的功能,与所述校正子产生器同时工作,进行第二FEC校验,其中在移位器截取一帧又A个比特长度的数据进行FEC校验时,可以验证两个帧起始位置,其中A为小于一帧的长度的正整数。本发明能够提高帧边界检测速度和帧同步速度,并且只增加少量的硬件的开销。
Description
技术领域
本发明一般涉及数据处理系统,具体涉及一种用于以太网向纠错层接收的数据流的帧边界检测系统和同步系统。
背景技术
IEEE 802.3ap-2007第74章(最新版本为IEEE802.3-2008)以及IEEEP802.3D1.2定义了应用于10G以太网的BASE-R物理层的前向纠错(Forward Error Correction,简称FEC)子层。该FEC子层标准将系统的误码率(BER rate)从10-7减少到10-12。而且此标准也适用于40G/100G以太网的应用。
为了兼容不同的以太网应用层,协议规定FEC层压缩原始帧头以留出空间加载FEC校验位,从而保证该层与其他应用层保持一致的帧长度(IEEE802.3ap-2007第74章定义的帧长度为2112比特位)。但是这样的处理方法导致接收端很难识别各帧之间的帧边界,需要耗费大量时间和发送端帧同步,才能找出正确的帧边界位置。
图1示出了IEEE 802.3ap-2007第74章定义的FEC解码系统的结构图,该FEC解码系统接收来自PMA(PHYSICAL MEDIUM ATTACHMENT物理介质接入子层)层的输入,并且将处理结果输出到PCS(PHYSICAL CODING SUBLAYER物理编码子层)层。FEC解码系统包括五个模块:移位器对从PMA层接收的数据进行移位;PN-2112发生器用于产生PN2112序列,该序列将会用于与移位器移位后的数据进行异或,实现对接收数据的解扰操作;移位器移位后的数据与PN-2112发生器产生的数据进行异或操作后输入到FEC解码器;FEC解码器将输入的数据进行前向纠错,并将纠错后的数据输出。输出后的数据经过重建65/66数据块,该模块能够对经FEC解码后的数据进行帧头恢复,将每个FEC帧数据中2080比特的有效载荷恢复成32帧66比特长度的PCS帧,然后该模块的输出进入PCS层。FEC解码器还将产生的校正子输出给同步控制器,用于FEC帧同步的控制,同步控制器的输出给移位器,可以控制移位器的移位。
FEC解码器本身又包含校正子产生器、错误诊断器和错误纠正器。其本身是用于前向纠错的,但是由于本发明相关协议的特殊性,其也被用于与发送端的帧同步。
图1的电路结构使用的同步过程包括以下步骤:
a)测试一个假设的帧边界位置;
a1)通过移位器假设一个帧边界位置,以该假设的帧边界位置为起始,用PN-2112发生器对接收数据进行解扰码运算;
a2)校验子产生器对以假设帧边界为起始位置的一帧数据进行FEC校验;
i)如果校验不匹配(接收到的校验位和运算得到的校验位不相等),则同步控制器会控制移位器将假设的帧边界位置跳过一比特位置,然后重试步骤a);
b)对于一个假设帧边界,同步控制器会根据校验子产生器的输出结果确认n个连续帧的FEC校验都正确;
b1)如果n个连续帧中任何一个帧的FEC校验出错,则同步控制器会控制移位器将假设的帧边界位置跳过一比特位置,重新开始整个帧同步过程;
b2)如果同步控制器检测到接收到的n个连续帧的FEC校验都正确,进入步骤c);
c)帧同步建立;
d)如果同步控制器检测到连续m个接收到的数据帧的FEC校验都错误,则认为帧同步失步,重新开始整个帧同步过程。
对于2112比特位的帧长度,上述步骤最多重复2111次来遍历所有可能的2112个位置以找到正确的帧边界位置。在以上描述中,典型数据取:m=8,n=4。
图2示意性地示出了通用方法如何进行帧同步。根据图2,开始时,帧同步逻辑不知道正确的起始位置,它需要在帧里面假设一个帧起始位置来检验此帧。但当第一帧的最后一位数据进入帧同步逻辑的时候,帧同步逻辑不能马上产生此帧的校验结果。这是因为硬件实现上会有基于流水线结构设计所造成的延迟,此延迟是因为一些功能逻辑,比如解扰码等逻辑,所引起的,而且是不可避免的。这段流水线延迟过后,如果帧同步逻辑检测到第一帧边界的位置是错误的,帧同步逻辑需要在后续假设的帧边界位置跳过一比特作为下一个假设的帧边界。此时,由于如图2所示的流水线延迟,从第二帧的帧边界的起始位置跳过一比特,并开始检测第二帧数据已经来不及了。所以帧同步逻辑不得不丢弃整个第二帧数据直到第三帧数据来了,帧同步逻辑才会基于第三帧的帧边界跳过一比特位,然后对第三帧重复第一帧中的校验操作。
这样在最坏情况下,帧同步逻辑需要检测2112帧,丢弃2111帧并且进行2111次跳过一比特位的操作。这需要用时(2112+2111)*2112+2111=8,921,087BT(比特时间)才能得到正确帧边界(即帧的正确起始位)。这样的帧同步时间和其他相近速率的高速接口相比(SATA2.0大概600,000BT,PCIE2.0大约500,000BT)要长很多。
发明内容
同步控制器需要在帧里面定位到正确的帧起始位置,这样帧同步才能完成。通用方法的缺陷在于,在寻找正确帧起始位置的过程中,一次检测过程只能检测一个帧边界。
与IEEE标准802.3ap-2007标准描述的上述方法不同,本发明优化了以太网前向纠错层接收的数据流的帧边界检测系统,以及该前向纠错层的数据流的帧同步系统。通过一次检测两个帧边界,达到提高帧边界检测速度,实现快速帧同步。并且本发明在提高帧边界检测速度以及增快帧同步速度将近一倍的同时,只增加少量的硬件开销。
根据本发明的一个方面,公开了一种用于以太网前向纠错层接收的数据流的帧边界检测系统,该系统包括:
移位器,用于从数据流截取一帧又A个比特的数据,其中A个比特小于一帧的长度,且A为正整数;
两个解扰器,第一解扰器对所述一帧又A个比特数据的从第一比特位开始的一帧数据进行解扰操作,第二解扰器对所述一帧又A个比特数据的从第A+1个比特位开始的一帧数据进行解扰操作;
校正子产生器,用于对该第一解扰器解扰后的数据进行第一FEC校验;
错误诊断器,该错误诊断器包括大小端模式控制器,用于控制错误诊断器的大小端转换,如果该错误诊断器工作在大端模式下,所述错误诊断器用于对该第二解扰器解扰后的数据进行第二FEC校验;
其中如果所述第一FEC校验正确,则所述一帧又A个比特数据的第一比特为帧起始位置;如果所述第二FEC校验正确,则所述一帧又A个比特数据的第A+1比特为帧起始位置。
根据本发明的另一个方面,公开了一种用于以太网前向纠错层接收的数据流的同步系统,该系统包括:
移位器,用于从数据流截取一帧又A个比特的数据,其中A个比特小于一帧的长度,且A为正整数;
两个解扰器,第一解扰器对所述一帧又A个比特数据的从第一比特位开始的一帧数据进行解扰操作,第二解扰器对所述一帧又A个比特数据的从第A+1个比特位开始的一帧数据进行解扰操作;
校正子产生器,用于对该第一解扰器解扰后的数据进行第一FEC校验;
错误诊断器,该错误诊断器包括大小端模式控制器,用于控制错误诊断器的大小端转换,如果该错误诊断器工作在大端模式下,所述错误诊断器用于对该第二解扰器解扰后的数据进行第二FEC校验;
其中如果所述第一FEC校验正确,则所述一帧又A个比特数据的第一比特为帧起始位置;如果所述第二FEC校验正确,则所述一帧又A个比特数据的第A+1比特为帧起始位置;以及
同步控制器,用于控制帧同步;
其中当帧边界检测系统检测到帧起始位置后,所述同步控制器对后续n个连续一帧长度的数据的FEC校验进行判断;如果同步控制器判断后续n个连续一帧长度的数据的FEC校验都正确,则同步控制器确定数据为帧同步。
本发明的方法不仅适用于标准中规定的10G/40G/100G以太网,而且适用于任何带宽的以太网;同时,本发明的方法不仅适用于标准中采用的BASE-R传输介质,同时,还适用于采用任何传输介质的以太网。
附图说明
通过对附图中本发明示例实施例方式的更详细描述,本发明的上述、以及其它目的、特征和优势将变得更加明显,其中,相同的参考标号通常代表本发明示例实施例方式中的相同部件。
图1示出了IEEE 802.3ap-2007第74章定义的一种实现帧同步的通用电路结构;
图2示意性地示出了通用方法如何进行帧同步;
图3示出了图1中FEC解码器的详细电路结构;
图4示出了根据本发明的一种实施方式的改进的错误诊断器的硬件结构;
图5示出了图4的双模系数发生器一种实施方式的电路结构;
图6示出了错误诊断器工作在大端模式的等价电路;
图7a和图7b示出了图4的双模系数发生器另一种实施方式的电路结构;
图8示出了一个电路按每个时钟周期2比特并行输入展开的结构图;以及
图9a和图9b示出了将改进的错误诊断器集成入FEC解码系统后不同模式下的输入的FEC接收层结构。
具体实施方式
将参照附图更加详细地描述本发明的优选实施方式,在附图中显示了本发明的优选实施例。然而,本发明可以以各种形式实现而不应该理解为被这里阐述的实施例所限制。相反,提供这些实施例是为了使本发明更加透彻和完整,并且,完全将本发明的范围传达给本领域的技术人员。
在现有技术的方案中,由于硬件中流水线结构的存在,当采用每次跳过一比特位置的方法,只能检测一个帧边界,并且接近一半的帧要被丢弃,造成帧边界检测时间延长,帧同步速度慢。
本发明优化了接收端的FEC解码器结构,从而加速了帧同步过程。具体来说,本发明改进了错误诊断器,该改进的错误诊断器不仅能工作在其正常工作模式下,也就是本发明所述的小端模式,还能工作在校正子产生模式,也就是本发明所述的大端模式,大端模式实现校正子产生的功能。这样在执行帧同步操作时,改进的错误诊断器与原来系统固有的校正子产生器能同时执行校正子产生操作,进行帧边界检测,并行地执行帧同步操作。这样FEC的同步速度被大大加快,而同时系统硬件资源增加的很少。具体实现中,改进的错误诊断器是通过改变其数据大小端模式来实现不同功能模式的。
以下为方便描述,假设每个时钟周期只有1比特数据串行输入。在实际电路的实施,通过对电路结构的展开,可以支持任意比特数据的并行输入和处理。
图3示出了图1中FEC解码器的详细电路结构。这里只示出了和本发明具体相关的电路,还有其它的电路和本发明不直接相关,所以没有示出。根据图3,FEC解码器采用流水线结构,包含三个模块:校正子产生器(syndrome generator)、错误诊断器(error trapper)和错误纠正器(error pattern correction)。图3电路用于前向纠错解码,该电路首先要对接收的数据与发送的数据进行帧同步,当帧同步后,才进行纠错和解码等操作。其基本原理是:接收数据输入后,由校正子产生器对该输入数据帧进行对g(x)的取模运算,其中,g(x)为FEC的生成多项式,得到的余数即为校正子(syndrome)。对应FEC解码器结构图中的校正子产生器部分,D31为高位,D0为低位。g1-g31为FEC生成多项式g(x)的系数。由于FEC的运算在伽罗华域内操作,在该域内加/减运算都对应于异或操作。因此校正子产生器的电路等价于一个移位相减的除法电路,只是除得的商被丢弃而保留余数作为校正子。若校正子为0,则表示该帧数据接收正确,并且FEC校验正确。当连续若干帧数据校验正确,可以确定该接收数据与发送端帧同步。在确定帧同步前,如果校正子不为0,则表示该帧数据FEC校验错误,则需要重新接收输入数据,重新确定帧边界位置。
确定帧同步后,再进行纠错过程。因此,在实现帧同步之前,在FEC解码器中只有校正子产生器在工作;错误诊断器和错误纠正器只有在完成帧同步之后才会被启动。
这样,从数据帧同步的角度看,只有校正子产生器,PN-2112发生器,解扰器以及同步控制器会应用于帧边界检测帧和同步。这里PN-2112发生器用于产生PN2112序列,该序列将会用于与移位器移位后的数据通过解扰器进行解扰操作,解扰器可以使用一个或者多个异或门来实现,或者使用组合逻辑实现。移位器移位后的数据与PN-2112发生器产生的数据进行解扰操作后输入到FEC解码器的校正子产生器,产生校正子输出给用于FEC帧同步的控制同步控制器,同步控制器的输出还控制移位器,可以控制移位器的移位。
如图3所示,校正子产生器包含32个寄存器,32个异或门,31个与门。每个与门的输入分别为寄存器的最高位D31和对应位置的生成多项式g(x)的系数gx,而与门的输出又与低位寄存器的输出相异或后,送入高位寄存器。整体来说,校正子产生器在图3中示出的电路就是一个32阶的线性反馈移位寄存器(linear feedback shift register,LFSR)。每帧数据全部输入校正子产生器后,所有寄存器的输出组成校正子,输入到错误诊断器。同时,校正子产生器还包含一些其它电路,例如FEC校验电路等,图3未示出。
而现有的错误诊断器则由32比特寄存器,31个异或门(因为其没有串行数据输入端),31个与门以及32个选择器组成。每个与门的输入分别为寄存器的最低位D0和对应位置的生成多项式g(x)的系数gx,与门的输出又与高位寄存器的输出相异或后送入低位寄存器,整体来说,错误诊断器在图3中示出的电路排除选择器就是一个32阶的线性反馈移位寄存器。选择器由校正子输出控制信号控制;选择将校正子,或者是异或门的运算结果送入寄存器。
现有的错误诊断器中,校正子输入控制端对于每帧数据会置高一个周期用于载入校正子,其余周期,电路进行((.)/x)modg(x)操作,以产生错误图样用于错误诊断器的比对。
通过仔细分析校正子产生器和错误诊断器的内部结构,可以知道这两个模块都包含基于相同生成多项式的线性反馈移位寄存器。最大的差别是码字的移位方向:校正子产生器向右移,而错误诊断器向左移。
本发明提出的改进的错误诊断器在现有错误诊断器的结构下,通过改变模块的大小端模式,可使错误诊断器工作在大端模式(校正子产生器模式)或者小端模式(错误诊断器模式)。这里简要介绍本领域技术人员都知道的大小端定义:对于32比特位宽的数据若最高位(MSB)在D0,最低位(LSB)在D31上定义为大端,反之定义为小端。
图4示出了根据本发明的一种实施方式的改进的错误诊断器的硬件结构,该错误诊断器包含32阶的线性反馈移位寄存器,32个选择器以及大小端模式控制器,其中,32阶的线性反馈移位寄存器由32个寄存器、31个异或门、以及31个与门组成,每个与门的输入分别为寄存器的最低位D0和对应位置x的生成多项式g(x)的系数gx,所述每个与门的输出又与高位寄存器的输出进行异或操作后送入低位寄存器;32个选择器可以用于所述错误诊断器在大端模式下,屏蔽所述校正子产生器产生的校正子;大小端模式控制器包括31个双模系数发生器和一个选择器和一个异或门,其中31个双模系数发生器,用于选择在不同工作模式下与门输入系数的值;一个选择器和一个异或门位于最高位寄存器D31的输入前,用于选择将D0的值或者是D0与所述接收的一帧加A个比特数据的从第A+1个数据开始的一帧数据R(x)进行异或操作后的值送入D31,这里A为小于一帧的长度的正整数。所述选择器的控制端由“模式控制”信号控制。如果“模式控制”信号为大端模式,选择D0与所述接收的一帧加A个比特数据的从第A+1个数据开始的一帧数据R(x)进行异或操作后的值输出到所述选择器,如果“模式控制”信号为小端模式,选择D0的值输出到所述选择器。这样,就可以一次输入一帧又A个比特数据,其中A为小于一帧的长度的正整数,由校正子产生器对该一帧又A个比特数据的从第一个数据开始的一帧数据进行FEC校验,而工作在大端模式下的错误诊断器对该一帧又A个比特数据的从第A+1个数据开始的一帧数据R(x)进行FEC校验。
图5示出了图4的双模系数发生器一种实施方式的电路结构,其中,双模系数发生器为选择器,所述选择器的控制端由“模式控制”信号控制。如果“模式控制”信号指示为大端模式,选择g32-x输入到所述每个与门,其中,g32-x为对应位置32-x的生成多项式g(x)的系数g32-x,如果“模式控制”信号指示为小端模式,选择gx信号输入到所述每个与门。
根据图5,当工作在其正常模式下时“模式控制”信号线被置为0,错误诊断器在小端模式(little endian mode)下运行。整个电路功能等价于现有的错误诊断器。它以最高位在D31,低位在D0的顺序接收校正子产生器所产生的校正子。它输出的错误图样(error pattern)顺序也是最高位在D31,最低位在D0。
当“模式控制”信号线被置为1,并且校正子输入控制屏蔽所述校正子产生器产生的校正子,此时错误诊断器工作在大端模式(big endian mode)实现在校正子产生的功能。错误诊断器工作在大端模式的等价电路如图6所示。
根据图6,其每个与门节点的参数与正常模式相比顺序颠倒了。码字位从LFSR右端输入此电路。在完成FEC校验后,在D0:D31上并行输出校正子。此时校正子的输出顺序最高位在D0上,最低位在D31上。
本领域技术人员应该知道,上述图5和图6中“模式控制”信号线被置为0或者1与大端模式和小端模式对应关系是根据上述电路而描述的,显然,如果加入一个反相器,则对应关系就正好相反。因此,“模式控制”信号线可以用于控制大小端模式,但是控制方式不是唯一的。
在FEC达到同步之前,只关心校正子是否为0,校正子输出的大小端顺序可以完全忽略。因此没必要在错误诊断后面加任何字大小端转换逻辑以实现校正子从大端(big endian)到小端(little endian)的转换。
图7a和图7b示出了图4的双模系数发生器另一种实施方式的电路结构,由于生成多项式的系数是确定的,因此该电路结构中预先人为比较每组[gx,g32-x],若两个系数相等,则可不做选择,直接将gx送至与门的输入;若两者相异可将gx与模式控制异或之后送入与门。因此双模系数发生器可以根据前向纠错生成多项式g(x)的系数选择,如果对应位置x的生成多项式g(x)的系数gx和对应位置32-x的生成多项式g(x)的系数g32-x相等,gx输入到所述每个与门,对应图7a,否则,gx与“模式控制”信号进行异或操作后输入到所述每个与门,对应图7b。
此外对于任意比特并行输入的情况,图8示出了一个电路按每个时钟周期2比特并行输入展开的结构图,如图8所示,工作在错误诊断模式下时,“模式控制”信号线被置为小端模式或者说错误诊断器模式,每个时钟周期电路能产生D0’~D31’和D0”~D31”两组错误图样。工作在校正子产生模式下时,模式控制线被置为1,电路每个时钟周期能对并行输入的2比特数据R(x+0)和R(x+1)进行处理,并在1056周期,整帧数据被输入后产生该帧数据的校正子。实际的应用可以支持按任意比特并行输入展开该错误诊断器。
图9a和图9b示出了将改进的错误诊断器集成入FEC解码系统后不同模式下的输入的FEC接收层结构,这种FEC接收层结构包含了一种用于以太网前向纠错层接收的数据流的帧边界检测系统和同步系统。图9a和图9b既适用于一比特的串行输入数据,也适用于多比特的并行输入数据。根据图9a,改进的错误诊断器工作在校正子产生模式下,该帧边界检测系统工作流程为:当一帧又A个比特数据(2112+A比特,其中A为小于一帧的长度的正整数,优选A=1)通过移位器输入FEC接收层之后,比特(0,2111)将直接与PN2112发生器产生的PN2112序列通过一个解扰器(图9a以异或门表示)解扰后,采用校正子产生器进行第一FEC校验;同时,比特(A,2112+A)比比特(0,2111)晚到A个比特时间(BT),因此它将与被通过A级D触发器延迟后的PN2112发生器产生的PN2112序列通过另一个解扰器(图9a以异或门表示)解扰后,然后送入工作与校正子产生模式下的错误诊断器进行第二FEC校验。如果第一或者第二FEC校验成功,则检测到帧边界。
否则,如果A不等于1,并且如果所述第一和所述第二FEC校验都不正确,移位器以所述一帧又A个比特数据的第一个数据开始,后移二帧又一比特,重新截取一帧又A个比特长度的数据,继续进行上述检测过程。或者,如果A等于1,并且如果所述第一和所述第二FEC校验都不正确,移位器以所述一帧又A个比特数据的第一个数据开始,后移二帧又两比特,重新截取一帧又A个比特长度的数据,继续进行上述检测过程。在同步过程中,要利用上述的帧边界检测过程,当帧边界被检测到时,同步控制器对后续n个连续一帧长度的数据的FEC校验进行判断;如果所述同步控制器判断后续n个连续一帧长度的数据中任何一个一帧长度的数据的FEC校验不正确,则确定帧失步,重新开始帧边界检测过程。如果同步控制器判断后续n个连续一帧长度的数据的FEC校验都正确,则同步控制器确定数据为帧同步。帧同步将以校验正确帧的起始位置为帧起始位置,建立帧同步;同时将错误诊断器切换至错误诊断模式(同步控制器产生该信号),而校正子产生器可以继续追踪接收数据的帧校验结果,如果同步控制器检测到连续m个接收到的数据帧的FEC校验都错误,则认为帧同步失步,错误诊断器重新切换回校正子发生模式,重新开始整个帧同步过程。帧同步后,根据图9b,错误诊断器回到其正常工作模式,即错误诊断器模式,与现有FEC解码系统相同。
因此,该帧边界检测系统包括:一种用于以太网前向纠错层接收的数据流的帧边界检测系统,该系统包括:移位器,用于从数据流截取一帧又A个比特的数据,其中A个比特小于一帧的长度;两个解扰器,第一解扰器对所述一帧又A个比特数据的从第一比特位开始的一帧数据进行解扰操作;第二解扰器对所述一帧又A个比特数据的从第A+1个比特位开始的一帧数据进行解扰操作;校正子产生器,用于对该第一解扰器解扰后的数据进行第一FEC校验;错误诊断器,该错误诊断器包括大小端模式控制器,用于控制错误诊断器的大小端转换,如果该错误诊断器工作在大端模式下,所述错误诊断器实现校正子产生器的功能,对该第二解扰器解扰后的数据进行第二FEC校验;其中如果所述第一FEC校验正确,则所述一帧又A个比特数据的第一比特为帧起始位置;如果所述第二FEC校验正确,则所述一帧又A个比特数据的第A+1比特为帧起始位置。
系统中,如果A不等于1,并且如果所述第一和所述第二FEC校验都不正确,移位器以所述一帧又A个比特数据的第一个数据开始,后移二帧又一比特,重新截取一帧又A个比特长度的数据,进行解扰和FEC校验。
系统中,如果A等于1,并且如果所述第一和所述第二FEC校验都不正确,移位器以所述一帧又A个比特数据的第一个数据开始,后移二帧又两比特,重新截取一帧又A个比特长度的数据,进行解扰和FEC校验。
优选地,该系统还包括PN-2112发生器,用于产生PN2112序列,所述两个解扰器都是利用PN-2112发生器生成的PN2112序列进行解扰操作。
而同步系统中,除了包括上述的帧边界检测系统的所有部件,还包括同步控制器,用于控制帧同步;同步系统中,移位器重复变换截取数据的起始位置、截取一帧又A比特数据的操作,直到第一FEC校验或者第二FEC校验正确,然后所述同步控制器对后续n个连续一帧长度的数据的FEC校验进行判断;如果同步控制器判断后续n个连续一帧长度的数据的FEC校验都正确,则同步控制器确定数据为帧同步。
同步系统中,如果A不等于1,并且如果所述同步控制器判断后续n个连续一帧长度的数据中任何一个一帧长度的数据的FEC校验不正确,则移位器以所述一帧又A个比特数据的第一个数据开始,后移二帧又一比特,重新截取一帧又A个比特长度的数据,重新进行帧边界检测。
同步系统中,如果A等于1,并且如果所述同步控制器判断后续n个连续一帧长度的数据中任何一个一帧长度的数据的FEC校验不正确,则移位器以所述一帧又A个比特数据的第一个数据开始,后移二帧又两比特,重新截取一帧又A个比特长度的数据,重新进行帧边界检测。
同步系统中,同步控制器对后续n个连续一帧长度的数据的FEC校验进行判断中,一般可以由所述校正子产生器对后续n个连续一帧长度的数据进行FEC校验。
模式控制”信号一般来说可以由图9a中的同步控制器产生,该信号在帧边界未检测到时,甚至在未确定帧同步前,都为大端模式,这样,在未确定帧同步前,错误诊断器就一直工作在大端模式下,也就是校正子产生器模式,这样,就有两个校正子产生器同时检测帧边界,以及确定帧同步过程,加速帧边界检测和同步过程。图9a中,校正子产生器输出校正子,处于大端模式下的错误诊断器也输出校正子,同步控制器接收所述校正子产生器产生的校正子和处于大端模式下的错误诊断器产生的校正子,如果上述两个校正子都不为0,说明没有检测到帧边界,数据还没有帧同步,则该同步控制器控制所述移位器继续接收数据。
本发明只增加很少的硬件就可以让2个校正子产生器并行工作,一个是系统现有的校正子产生器,另一个是改进的错误诊断器工作在校正子产生模式。帧同步后,错误诊断器器能回到其正常工作模式。另外,在现有技术中因为流水线延迟而丢掉的一帧数据在本发明中可能仍然被丢掉,但是,只要A选择合适,仍然可以大大减少同步时间。或者,未来技术进步,流水线延迟会大大减小,仍然不影响本发明的技术效果。
采用本发明的结构后,如果A=1,最多只需要移位1055次,就能检测到正确的帧边界。最坏情况下,需要检测1056帧(一次检测两个假设帧边界,要用到1056帧的数据),丢弃1055帧,1055次移一位的操作;这样总共花费时间是2112*(1056+1055)+1055=4,459,487BT(比特时间),同步时间和通用方法相比减少一半。
虽然这里参照附图描述了本发明的示例性实施例,但是应该理解本发明不限于这些精确的实施例,并且在不背离本发明的范围和宗旨的情况下,本领域普通技术人员能对实施例进行各种变化的修改。所有这些变化和修改意欲包含在所附权利要求中限定的本发明的范围中。
Claims (16)
1.一种用于以太网前向纠错层接收的数据流的帧边界检测系统,该系统包括:
移位器,用于从数据流截取一帧又A个比特的数据,其中A个比特小于一帧的长度,且A为正整数;
两个解扰器,第一解扰器对所述一帧又A个比特数据的从第一比特位开始的一帧数据进行解扰操作,第二解扰器对所述一帧又A个比特数据的从第A+1个比特位开始的一帧数据进行解扰操作;
校正子产生器,用于对该第一解扰器解扰后的数据进行第一FEC校验;
错误诊断器,该错误诊断器包括大小端模式控制器,用于控制错误诊断器的大小端转换,如果该错误诊断器工作在大端模式下,所述错误诊断器用于对该第二解扰器解扰后的数据进行第二FEC校验;
其中如果所述第一FEC校验正确,则所述一帧又A个比特数据的第一比特为帧起始位置;如果所述第二FEC校验正确,则所述一帧又A个比特数据的第A+1比特为帧起始位置。
2.根据权利要求1所述的帧边界检测系统,其中,A不等于1,并且如果所述第一和所述第二FEC校验都不正确,移位器以所述一帧又A个比特数据的第一个数据开始,后移二帧又一比特,重新截取一帧又A个比特长度的数据,进行解扰和FEC校验。
3.根据权利要求1所述的帧边界检测系统,其中,A等于1,并且如果所述第一和所述第二FEC校验都不正确,移位器以所述一帧又A个比特数据的第一个数据开始,后移二帧又两比特,重新截取一帧又A个比特长度的数据,进行解扰和FEC校验。
4.根据权利要求2或3所述的帧边界检测系统,其中还包括PN-2112发生器,用于产生PN2112序列,所述两个解扰器都是利用PN-2112发生器生成的PN2112序列进行解扰操作。
5.根据权利要求2或3所述的帧边界检测系统,其中所述第一和第二FEC校验为对g(x)的取模运算,其中,g(x)为前向纠错的生成多项式,得到的余数即为校正子,如果校正子为0,则FEC校验正确。
6.根据权利要求5所述的帧边界检测系统,其中所述错误诊断器还包括:
32阶的线性反馈移位寄存器,由32个寄存器、31个异或门、以及31个与门组成,每个与门的输入分别为寄存器的最低位D0和对应位置x的生成多项式g(x)的系数gx,所述每个与门的输出又与高位寄存器的输出进行异或操作后送入低位寄存器,所述寄存器的最高位为D31;
32个选择器,用于所述错误诊断器在大端模式下,屏蔽所述校正子产生器产生的校正子;
其中,所述大小端模式控制器包括:
31个双模系数发生器,用于选择在不同工作模式下与门输入系数的值;
一个选择器和一个异或门,位于最高位寄存器D31的输入前,用于选择将D0的值或者是D0与所述接收的一帧加A个比特数据的从第A+1个比特位开始的一帧数据进行异或操作后的值送入D31,所述选择器的控制端由“模式控制”信号控制,如果“模式控制”信号为大端模式,选择D0与所述接收的一帧加A个比特数据的从第A+1个比特位开始的一帧数据进行异或操作后的值输出到所述选择器,如果“模式控制”信号为小端模式,选择D0的值输出到所述选择器。
7.根据权利要求6所述的帧边界检测系统,其中所述双模系数发生器为选择器,所述选择器的控制端由“模式控制”信号控制,如果“模式控制”信号指示为大端模式,选择g32-x输入到所述每个与门,其中,g32-x为对应位置32-x的生成多项式g(x)的系数g32-x,如果“模式控制”信号指示为小端模式,选择gx输入到所述每个与门。
8.根据权利要求6所述的帧边界检测系统,其中所述双模系数发生器根据前向纠错生成多项式g(x)的系数选择,如果对应位置x的生成多项式g(x)的系数gx和对应位置32-x的生成多项式g(x)的系数g32-x相等,gx输入到所述每个与门,否则,gx与“模式控制”信号进行异或操作后输入到所述每个与门。
9.根据权利要求7或8所述的帧边界检测系统,其中还包括同步控制器,用于产生“模式控制”信号,该信号在帧边界未检测到之前,指示为大端模式。
10.根据权利要求9所述的帧边界检测系统,其中所述校正子产生器输出校正子,所述处于大端模式下的错误诊断器输出校正子,该同步控制器接收所述校正子产生器产生的校正子和处于大端模式下的错误诊断器产生的校正子,如果上述两个校正子都不为0,则该同步控制器控制所述移位器继续接收数据。
11.一种用于以太网前向纠错层接收的数据流的同步系统,该系统包括:
如权利要求1-10之一所述的帧边界检测系统;以及
同步控制器,用于控制帧同步;
其中当帧边界检测系统检测到帧起始位置后,所述同步控制器对后续n个连续一帧长度的数据的FEC校验进行判断;如果同步控制器判断后续n个连续一帧长度的数据的FEC校验都正确,则同步控制器确定数据为帧同步。
12.根据权利要求11所述的同步系统,其中如果A不等于1,并且如果所述同步控制器判断后续n个连续一帧长度的数据中任何一个一帧长度的数据的FEC校验不正确,则移位器以所述一帧又A个比特数据的第一个数据开始,后移二帧又一比特,重新截取一帧又A个比特长度的数据,重新进行帧边界检测。
13.根据权利要求11所述的同步系统,其中如果A等于1,并且如果所述同步控制器判断后续n个连续一帧长度的数据中任何一个一帧长度的数据的FEC校验不正确,则移位器以所述一帧又A个比特数据的第一个数据开始,后移二帧又两比特,重新截取一帧又A个比特长度的数据,重新进行帧边界检测。
14.根据权利要求12或13所述的同步系统,其中所述同步控制器产生的“模式控制”信号在判别为帧同步前,指示为大端模式。
15.根据权利要求14所述的同步系统,其中所述同步控制器对后续n个连续一帧长度的数据的FEC校验进行判断中,由所述校正子产生器对后续n个连续一帧长度的数据进行FEC校验。
16.根据权利要求15所述的同步系统,其中所述校正子产生器输出校正子,所述处于大端模式下的错误诊断器输出校正子,该同步控制器接收所述校正子产生器产生的校正子和处于大端模式下的错误诊断器产生的校正子,如果上述两个校正子都不为0,则该同步控制器控制所述移位器继续接收数据。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910177335XA CN102035616B (zh) | 2009-09-30 | 2009-09-30 | 以太网前向纠错层接收的数据流的帧边界检测和同步系统 |
US12/894,274 US8667373B2 (en) | 2009-09-30 | 2010-09-30 | Frame boundary detection and synchronization system for data stream received by ethernet forward error correction layer |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910177335XA CN102035616B (zh) | 2009-09-30 | 2009-09-30 | 以太网前向纠错层接收的数据流的帧边界检测和同步系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102035616A true CN102035616A (zh) | 2011-04-27 |
CN102035616B CN102035616B (zh) | 2013-12-04 |
Family
ID=43781667
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910177335XA Expired - Fee Related CN102035616B (zh) | 2009-09-30 | 2009-09-30 | 以太网前向纠错层接收的数据流的帧边界检测和同步系统 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8667373B2 (zh) |
CN (1) | CN102035616B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012163033A1 (zh) * | 2011-10-31 | 2012-12-06 | 华为技术有限公司 | 数据发送器、数据接收器和帧同步方法 |
CN106664154A (zh) * | 2014-07-22 | 2017-05-10 | 华为技术有限公司 | 确定前向纠错帧边界的方法、装置和解码系统 |
CN108234074A (zh) * | 2016-12-22 | 2018-06-29 | Macom连接解决有限公司 | 通过有选择地禁止帧定位处理的成帧器的功率优化机制 |
CN109213625A (zh) * | 2017-06-30 | 2019-01-15 | 慧荣科技股份有限公司 | 降低快闪储存介面中传收数据错误方法及装置 |
CN109428674A (zh) * | 2017-08-30 | 2019-03-05 | 深圳市中兴微电子技术有限公司 | 数据传输方法、装置和系统、发送端、接收端及存储介质 |
CN109600196A (zh) * | 2017-09-30 | 2019-04-09 | 深圳市海思半导体有限公司 | 检测帧边界的方法、装置及系统 |
CN111478756A (zh) * | 2019-01-23 | 2020-07-31 | 安立股份有限公司 | 突发错误附加装置和附加方法,及其试验信号产生装置 |
CN114614949A (zh) * | 2022-03-17 | 2022-06-10 | 苏州盛科通信股份有限公司 | 状态机状态指示功能验证方法、装置和电子设备 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8902925B2 (en) * | 2012-05-01 | 2014-12-02 | Texas Instruments Incorporated | Forward error correction decoder |
US8826103B2 (en) * | 2013-01-18 | 2014-09-02 | Intel Corporation | Time protocol latency correction based on forward error correction status |
US9768950B2 (en) | 2015-06-25 | 2017-09-19 | International Business Machines Corporation | Codeword synchronization for fiber channel protocol |
WO2018197011A1 (en) * | 2017-04-28 | 2018-11-01 | Telefonaktiebolaget Lm Ericsson (Publ) | Frame synchronization |
GB2593837B (en) * | 2018-11-14 | 2023-09-13 | Skywave Networks Llc | Low-latency, low-overhead data framing method for capacity-limited delay-sensitive long distance communication |
US11176386B2 (en) * | 2019-07-08 | 2021-11-16 | Nxp Usa, Inc. | System and method for continuous operation of vision/radar systems in presence of bit errors |
CN111146533B (zh) * | 2020-01-09 | 2021-12-14 | 中国人民解放军63660部队 | 一种高功率t型矩形波导微波移相器的设计方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5128945A (en) * | 1989-12-21 | 1992-07-07 | Stratacom, Inc. | Packet framing using cyclic redundancy checking |
CN1630281A (zh) * | 2003-06-13 | 2005-06-22 | 直视集团公司 | 用于数字广播和交互式业务的成帧结构 |
EP1983677A2 (en) * | 2007-04-19 | 2008-10-22 | LG Electronics Inc. | Method and apparatus for transmitting and receiving an encoded signal |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5923680A (en) * | 1997-06-05 | 1999-07-13 | Northern Telecom Limited | Error correction in a digital transmission system |
US7676733B2 (en) * | 2006-01-04 | 2010-03-09 | Intel Corporation | Techniques to perform forward error correction for an electrical backplane |
US8458560B2 (en) * | 2008-01-22 | 2013-06-04 | Ciena Corporation | Systems and methods for efficient parallel implementation of burst error correction codes |
CN101997628B (zh) * | 2009-08-28 | 2013-08-14 | 国际商业机器公司 | 以太网前向纠错层接收的数据流的帧边界检测方法和系统 |
-
2009
- 2009-09-30 CN CN200910177335XA patent/CN102035616B/zh not_active Expired - Fee Related
-
2010
- 2010-09-30 US US12/894,274 patent/US8667373B2/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5128945A (en) * | 1989-12-21 | 1992-07-07 | Stratacom, Inc. | Packet framing using cyclic redundancy checking |
CN1630281A (zh) * | 2003-06-13 | 2005-06-22 | 直视集团公司 | 用于数字广播和交互式业务的成帧结构 |
EP1983677A2 (en) * | 2007-04-19 | 2008-10-22 | LG Electronics Inc. | Method and apparatus for transmitting and receiving an encoded signal |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012163033A1 (zh) * | 2011-10-31 | 2012-12-06 | 华为技术有限公司 | 数据发送器、数据接收器和帧同步方法 |
CN103190107A (zh) * | 2011-10-31 | 2013-07-03 | 华为技术有限公司 | 数据发送器、数据接收器和帧同步方法 |
CN103190107B (zh) * | 2011-10-31 | 2015-09-23 | 华为技术有限公司 | 数据发送器、数据接收器和帧同步方法 |
CN110784283B (zh) * | 2014-07-22 | 2022-01-14 | 华为技术有限公司 | 确定前向纠错帧边界的方法、装置和解码系统 |
CN106664154B (zh) * | 2014-07-22 | 2019-10-22 | 华为技术有限公司 | 确定前向纠错帧边界的方法、装置和解码系统 |
CN110784283A (zh) * | 2014-07-22 | 2020-02-11 | 华为技术有限公司 | 确定前向纠错帧边界的方法、装置和解码系统 |
CN106664154A (zh) * | 2014-07-22 | 2017-05-10 | 华为技术有限公司 | 确定前向纠错帧边界的方法、装置和解码系统 |
CN108234074A (zh) * | 2016-12-22 | 2018-06-29 | Macom连接解决有限公司 | 通过有选择地禁止帧定位处理的成帧器的功率优化机制 |
CN109213625A (zh) * | 2017-06-30 | 2019-01-15 | 慧荣科技股份有限公司 | 降低快闪储存介面中传收数据错误方法及装置 |
CN109428674A (zh) * | 2017-08-30 | 2019-03-05 | 深圳市中兴微电子技术有限公司 | 数据传输方法、装置和系统、发送端、接收端及存储介质 |
CN109600196A (zh) * | 2017-09-30 | 2019-04-09 | 深圳市海思半导体有限公司 | 检测帧边界的方法、装置及系统 |
CN109600196B (zh) * | 2017-09-30 | 2021-12-21 | 深圳市海思半导体有限公司 | 检测帧边界的方法、装置及系统 |
CN111478756A (zh) * | 2019-01-23 | 2020-07-31 | 安立股份有限公司 | 突发错误附加装置和附加方法,及其试验信号产生装置 |
CN111478756B (zh) * | 2019-01-23 | 2022-11-04 | 安立股份有限公司 | 突发错误附加装置和附加方法,及其试验信号产生装置 |
CN114614949A (zh) * | 2022-03-17 | 2022-06-10 | 苏州盛科通信股份有限公司 | 状态机状态指示功能验证方法、装置和电子设备 |
CN114614949B (zh) * | 2022-03-17 | 2023-12-19 | 苏州盛科通信股份有限公司 | 状态机状态指示功能验证方法、装置和电子设备 |
Also Published As
Publication number | Publication date |
---|---|
US20110078545A1 (en) | 2011-03-31 |
CN102035616B (zh) | 2013-12-04 |
US8667373B2 (en) | 2014-03-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102035616B (zh) | 以太网前向纠错层接收的数据流的帧边界检测和同步系统 | |
JP4355030B2 (ja) | 一般的なターボコードトレリスの終端方法およびシステム | |
EP0631396B1 (en) | Real-time convolutional decoder with block synchronising function | |
CN107154836B (zh) | 一种基于fpga的并行循环冗余crc校验方法 | |
CN101958720B (zh) | 缩短Turbo乘积码的编译码方法 | |
JPH08237144A (ja) | ビタビアルゴリズムを実施するための信号処理回路 | |
US9444494B2 (en) | Systems and methods for network coding using convolutional codes | |
CN102651229B (zh) | 半导体装置和数据处理方法 | |
Zhang et al. | The Novel Frame Boundary Detection and Fast Frame Synchronous Structure for 10 Gb/s Ethernet Phy FEC Sub-Layer VLSI Implementation | |
CN102263609B (zh) | 帧边界检测方法和设备及解码方法和系统 | |
US20110154159A1 (en) | Cyclic redundancy check code generating circuit and cyclic redundancy check code generating method | |
JP4260688B2 (ja) | データ送信装置、データ送受信システム、データ送信装置の制御方法およびデータ送受信システムの制御方法 | |
US7065696B1 (en) | Method and system for providing high-speed forward error correction for multi-stream data | |
US20120151295A1 (en) | Device and method for turbo-encoding a block of data | |
JP2002506599A (ja) | 高ビットレートデジタルデータ伝送のためのエラー訂正符号化方法および装置と、対応する復号化方法および装置 | |
CN108134612A (zh) | 纠正同步与替代错误的级联码的迭代译码方法 | |
KR960006313A (ko) | 전송 방식과 전송 장치 | |
US20070283207A1 (en) | Systems, methods, and computer program products for providing a two-bit symbol bus error correcting code with bus timing improvements | |
EP2605410B1 (en) | Channel decoding method and tail biting convolutional decoder | |
CN106664154B (zh) | 确定前向纠错帧边界的方法、装置和解码系统 | |
GB2383242A (en) | Minimizing delay in an interleaver | |
CN108650047B (zh) | 一种串行数据接收实时同步监测电路及监测方法 | |
CN104168215B (zh) | 用于通讯装置的处理电路及其处理方法 | |
CN108011640B (zh) | 一种用于(2,1,n)卷积编码的通用方法 | |
CN102868411B (zh) | Crc逆序串行解码算法、扩展的并行逆序解码方法及装置 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20131204 Termination date: 20200930 |
|
CF01 | Termination of patent right due to non-payment of annual fee |