CN101854222B - 一种数据处理的方法、通信装置和系统 - Google Patents

一种数据处理的方法、通信装置和系统 Download PDF

Info

Publication number
CN101854222B
CN101854222B CN200910081052.5A CN200910081052A CN101854222B CN 101854222 B CN101854222 B CN 101854222B CN 200910081052 A CN200910081052 A CN 200910081052A CN 101854222 B CN101854222 B CN 101854222B
Authority
CN
China
Prior art keywords
centerdot
inter
group
area traffic
traffic interarea
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
CN200910081052.5A
Other languages
English (en)
Other versions
CN101854222A (zh
Inventor
张晋
陈武茂
张恒
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN200910081052.5A priority Critical patent/CN101854222B/zh
Publication of CN101854222A publication Critical patent/CN101854222A/zh
Application granted granted Critical
Publication of CN101854222B publication Critical patent/CN101854222B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

一种数据处理的方法,具体包括:将接收到的m位信息数据流平均分为n组;将每组信息数据流并行输入对应的n组组合逻辑电路,利用所述组合逻辑电路对每组信息数据流根据对应的转换系数进行转换;对获得的n组转换结果进行异或处理;将获得的异或处理结果与反馈数据进行异或,获得所述m位信息数据流的CRC校验码;将获得的CRC校验码附加在所述m位信息数据流后,发送出去。本发明实施例还提供了一种通信装置和系统,用于进行数据处理。由于将较大输入数据均分为若干组数据,且仅在最后一级运算过程中进行反馈运算,因此大幅降低了CRC校验码生成过程中的组合逻辑级数,提高了生成CRC校验码的速度,使得电路可以在高速情形下实现。

Description

一种数据处理的方法、通信装置和系统
技术领域
本发明涉及通信技术领域,尤其涉及一种数据处理的方法、装置及系统。
背景技术
CRC(Cyclic Redundancy Codes,循环冗余编码)是一种常用的冗余编码,通常在二进制通信系统中被用作差错检测。用称为生成多项式的常数去除待检测的数据流的二进制数,商数被放弃,余数即为CRC校验码。现详细说明生成r位CRC校验码的算法:
首先,将待传输信息数据流的包/帧看作一个多项式,例如将比特串k=bk-1bk-2bk-3…b3b2b1解释成多项式P(x):P(x)=bk-1xk-1+bk-2xk-2+bk-3xk-3+…+b3x3+b2x2+b1x1+b0x0
用xn-k*P(x)=xr·P(x)得到的积来除以预先约定的生成多项式G(x),得到一个r位的余式r(x),其最高项的次数为r-1。这个佘式所代表的比特串就是k位信息码的CRC校验码。其中,n-k=r。在二进制计算中,除法即进行模2运算(又称异或运算)。
在通过同步电路实现CRC校验码计算过程中,将一个时钟周期称作一拍,当前时钟周期称作当拍。现有技术在生成CRC校验码的过程中,当拍CRC运算与前一拍反馈的CRC余数进行异或运算,得到新的CRC余数。
发明人在实现本发明的过程中,发现现有技术中至少存在如下问题:
当输入数据流较大时,无法满足高速电路的CRC要求。
发明内容
本发明的实施例提供了一种数据处理方法及通信装置,从而可以降低组合逻辑级数,能够实现在高速电路中获得CRC校验码。
本发明的目的是通过以下技术方案实现的:
一种数据处理的方法,包括:
将接收到的m位信息数据流平均分为n组;
将每组信息数据流并行输入对应的n组组合逻辑电路,利用所述组合逻辑电路对每组信息数据流根据对应的转换系数进行转换;
对获得的n组转换结果进行异或处理;
将获得的异或处理结果与反馈数据进行异或,获得所述m位信息数据流的循环冗余编码CRC校验码;
将获得的CRC校验码附加在所述m位信息数据流后,发送出去。
一种通信装置,用于进行数据处理,包括:
数据分组模块,用于将接收到的m位信息数据流平均分为n组;
第一数据处理模块,用于将所述数据分组模块输出的每组信息数据流并行输入,对每组信息数据流根据对应的转换系数进行转换,并对获得的n组转换结果进行异或处理;
第二数据处理模块,用于将第一数据处理模块获得的异或处理结果与反馈数据进行异或,获得所述m位信息数据流的循环冗佘编码CRC校验码;
数据发送模块,用于将获得的CRC校验码附加在所述m位信息数据流后,发送出去。
一种通信系统,用于进行数据处理,包括:
至少两个相互连接的路由器,所述路由器为如权利要求6~10所述的通信装置。
一种通信系统,用于进行数据处理,包括:
光线路终端OLT,光分配网络ODN,和光线路单元ONU/光线路终端ONT,其中,所述OLT通过ODN与至少两个ONU/ONT相连;所述OLT、ONU/ONT为如权利要求6~10所述的通信装置。
由上述本发明的实施例提供的技术方案可以看出,本发明实施例中,由于将较大的输入的待传输信息数据流的数据均分为若干组数据,且仅在最后一级运算处理过程中进行反馈运算,因此大幅降低了CRC校验码生成过程中的组合逻辑级数,降低了电路复杂度以及对硬件的要求,提高了CRC校验码生成的速度,使得电路可以在高速情形下实现。
附图说明
图1为本发明实施例提供的一种处理过程示意图;
图2为本发明应用实施例一提供的处理过程示意图;
图3为本发明应用实施例二提供的处理过程示意图;
图4为本发明实施例提供的装置结构示意图;
图5为本发明实施例提供的装置结构示意图;
图6为本发明实施例提供的一种系统结构示意图;
图7为本发明实施例提供的另一种系统结构示意图。
具体实施方式
为便于对本发明实施例的理解,申请人首先对本发明实施例中需要用到的公式,及其推导过程进行详细说明。
假设待传输的信息数据流的前k位的数据为b0,b1,b2,......,bk-2,bk-1,第k+1位数据为bk。其中,信息数据流可以是二进制通信系统中需要利用CRC校验码进行差错检验的任何信息数据流。例如,在无源光网络中的需要传输的光信号数据;在承载网中路由器接收到的需要传送的POS或以太网数据,等等。
则前k个bit(比特)对应的多项式为:Dk(x)=b0xk-1+b1·xk-2+......+bk-2·x1+bk-1·x0
前k+1个bit对应的多项式为:Dk+1(x)=b0xk+b1·xk-1+......+bk-2·x2+bk-1·x1+bk·x0
显然,Dk+1(x)=x·Dk(x)+bk·x0
r阶的标准CRC生成多项式为:P(x)=xr+pr-1·xr-1+pr-2·xr-2+......+p1·x1+p0·x0
假设前k位数据CRC校验码的计算结果为:C(x)=cr-1·xr-1+cr-2·xr-2+......+c1·x1+c0·x0
根据计算CRC的定义,xr·Dk(x)-C(x)除以P(x)的余数为0。假设商为Q(x),则有:
xr·Dk(x)=P(x)·Q(x)+C(x)
因此,前k+1位数据计算r位CRC校验码的过程为:
xr·Dk+1(x)=xr·[x·Dk(x)+bk·x0]=x·xr·Dk(x)+xr·bk=x·P(x)·Q(x)+x·C(x)+xr·bk=x·P(x)·Q(x)+[(cr-1+bk)·xr+cr-2·xr-1+......+c0·x]
对于模2运算而言,加法和减法是一样的,因此,其中的
(cr-1+bk)·xr+cr-2·xr-1+......+c0·x=(cr-1+bk)·P(x)+[cr-2+(cr-1+bk)·pr-1]·xr-1+[cr-3+(cr-1+bk)·pr-2]·xr-2+......+(cr-1+bk)·p0·x0
因此,前k+1位数据CRC校验位的计算结果为:
F(x)=[cr-2+(cr-1+bk)·pr-1]·xr-1+[cr-3+(cr-1+bk)·pr-2]·xr-2+......+(cr-1+bk)·p0·x0
即:
Figure G2009100810525D00041
或者写成:
f0=0·c0+0·c1+......+0·cr-3+0·cr-2+p0·cr-1+p0·bk
f1=1·c0+0·c1+......+0·cr-3+0·cr-2+p1·cr-1+p1·bk
f2=0·c0+1·c1+......+0·cr-3+0·cr-2+p2·cr-1+p2·bk
fi=0·c0+0·c1+...+1·ci-1...+0·cr-3+0·cr-2+pi-1·cr-1+pi-1·bk
fr-1=0·c0+1·c1+......+0·cr-3+1·cr-2+pr-1·cr-1+pr-1·bk
将上述f0~fr-1的等式写成行列式:F=H*C+P*bk
当bk=0时,F=H*C,则
H = 0 r - 2 0 r - 3 · · · 0 1 0 0 p r - 1 1 p r - 2 1 · · · · · · p 2 1 p 1 1 p 0
写成矩阵形式为:
H = 0 0 · · · · · · · · · 0 p 0 1 0 · · · · · · · · · 0 p 1 0 1 · · · · · · · · · 0 p 2 · · · · · · · · · · · · · · · · · · · · · 0 0 · · · 1 · · · 0 p i · · · · · · · · · · · · · · · · · · · · · 0 0 · · · · · · · · · 1 p r - 1 ,
设当拍输入数据的CRC校验码为NewCRC,前一拍输入数据的CRC校验码为OldCRC,则根据上述推导可知,输入数据位宽为1的CRC校验码计算公式的矩阵形式为:
NewCRC1=(H*OldCRC)+(P*data0),data0为数据流的第一位数据;
输入数据位宽为2的CRC计算公式的矩阵形式为:
NewCRC2=(H*NewCRC1)+(P*data1)=(H2*OldCRC)+(H*P*data0)+(P*data1)
同理推算,输入数据位宽为m的CRC校验码计算公式的矩阵形式为:
NewCRCl=(Hm*OldCRC)+(Hm-1*P*data0)+(Hm-2*P*data1)+…+(H*P*data(m-2))+(P*data(m-1))=(Hm*OldCRC)+[Hm-1*P,Hm-2*P,…,H*P,P]*Dm
其中,列向量Dm=[data0,data1,…,data(m-2),data(m-1)]
令Xm=[Hm-1*P,Hm-2*P,…,H*P,P]
则NewCRCm=(Hm*OldCRC)+(Xm*Dm)
其中,P向量为预先规定的CRC算子向量,在实际应用过程中,通常使用生成多项式进行生成CRC校验码的运算,根据上述推导可知,P向量为生成多项式去除最高位的取值。例如,标准CRC24的生成多项式为(0 1 5 6 8 9 11 1517 20 21 24),则向量P=(110001101101000101001100)。
根据上述公式推导可知,Xm与OldCRC无关,且H矩阵为常数矩阵,因此(Xm*Dm)不需要前级反馈。当输入数据位宽较大时,则可以将输入的m位数据均分为n组,以256位数据位宽为例,如将256位数据分为4组,每64位数据一组,则:
NewCRC64=(H64*OldCRC)+(X64*D64)
NewCRC256=(H256*OldCRC)+(H192*X64*D64_0)+(H128*X64*D64_1)+(H64*X64*D64_2)+(X64*D64_3)其中,D64_0、D64_1、D64_2和D64_3为拆分后得到的4组数据。
上述推导得出的NewCRC256计算结果与根据CRC校验码原理推导出的NewCRC256计算结果相同。因此,在输入数据位宽较大时,可将数据进行拆分,通过组合逻辑电路实现(Xm*Dm)的计算,仅在最后一级进行反馈计算(Hm*OldCRC)。在获得当拍CRC校验码后,将该CRC校验码附在待传输的信息数据流之后,传送给下一个路由器,或者对应的OLT,ONU等。
下面将依据上述推导得出的公式描述本发明实施例提供的数据处理方法,该方法包括:将接收到的m位信息数据流平均分为n组;将每组信息数据流并行输入对应的n组组合逻辑电路,利用所述组合逻辑电路对每组信息数据流根据对应的转换系数进行转换;对获得的n组转换结果进行异或处理;将获得的异或处理结果与反馈数据进行异或,获得所述m位信息数据流的循环冗余编码CRC校验码;将获得的CRC校验码附加在所述m位信息数据流后,发送出去。
所述每组信息数据流对应的转换系数是根据CRC算子向量和分组的数据位宽m/n确定转换系数确定的,每组信息数据流分别对应一个转换系数。且所述转换系数为: H ( i - 1 ) · m n · [ H m n - 1 · P , H m n - 2 · P , · · · , H · P , P ] .
上述本发明实施例中获得m位信息数据流的r位CRC校验码的实现过程如图1所示,具体包括如下操作:
1、将输入的m位信息数据流平均分为n组,其中n为整数,典型取值可以为4、8、16等,所述m的典型取值可以是128位、256位、512位输入数据等等;
2、将每组信息数据流并行输入n组组合逻辑电路,分别与相应的转换系数 H ( i - 1 ) · m n · [ H m n - 1 · P , H m n - 2 · P , · · · , H · P , P ] 进行相乘,并将得到的n个计算结果进行异或运算,即步骤2计算(H192*X64*D64_0)+(H128*X64*D64_1)+(H64*X64*D64_2)+(X64*D64_3)。其中,i表示第i组信息数据流,且i=(1,2,3,...n),即第1组信息数据流对应的计算公式为 [ H m n - 1 · P , H m n - 2 · P , · · · , H · P , P ] , 第i组信息数据流对应的计算公式为 H ( i - 1 ) · m n · [ H m n - 1 · P , H m n - 2 · P , · · · , H · P , P ] ;
3、将得到的异或运算结果与反馈数据进行异或运算,生成所述输入的m位数据的CRC校验码,即计算(H256*OldCRC)。该反馈数据是上一个时钟周期的m位信息数据流的CRC校验码与Hm的乘积。将所述生成的本次输入的m位信息数据流的CRC校验码与Hm相乘后得到计算下一个时钟周期的m位信息数据流的校验码的反馈数据。
由于每一拍,即每个时钟周期,均输入m位信息数据流,因此所述的上一个时钟周期的m位信息数据流即为前一拍输入的m位信息数据流;所述本次输入的m位信息数据流即为当拍输入的m位数据;所述下一个时钟周期的m位信息数据流即为下一拍输入的m位信息数据流。
本发明实施例中,n组信息数据流在分组与转换系数运算过程中,不需当拍反馈中间结果,各组计算过程独立,组合逻辑级数减少降低了局部复杂度。另外,可以在每组组合逻辑电路中的相同位置一组或多组插入寄存器,以实现流水设计,其能够保证每组组合逻辑电路的时钟同步,保证电路时序的对齐,并且提高组合逻辑电路的工作时钟频率,以保证在规定的时间完成CRC校验码运算。寄存器的插入位置具体可以在组合逻辑电路中的各个运算环节实现。通过插入寄存器,减少两级寄存器之间的组合逻辑级数,提高电路的工作时钟频率,以提高性能。本实施例中提及的组合逻辑模块或组合逻辑电路可以利用现场可编程门阵列FPGA(Field-Programmable Gate Array)或专用集成电路ASIC(Application Specific Integrated Circuit)等硬件电路实现。
通过上述矩阵变换以及CRC计算原理的推导可知,在计算超位宽数据的CRC校验码时,可将连续数据分割为较小的数据单位,并行计算处理后,与反馈矩阵运算生成CRC校验码,有效降低了电路实现复杂度,且可实现高速电路运行。
下面将对本发明实施例在实际应用过程中的具体实现方式进行详细的说明。
应用实施例一
以输入数据位宽为256位的CRC校验码的计算,将当拍输入的256位数据平均分为4组为例,本发明应用实施例一的具体实施方式如图2所示,包括:
11、将输入的256位数据平均分为4组,每64位数据一组;
12、将所述4组数据分别输入4个组合逻辑模块,每个组合逻辑模块对应一个运算公式 H ( i - 1 ) · m n · [ H m n - 1 · P , H m n - 2 · P , · · · , H · P , P ] , 其中,i=1、2、3、4;
13、组合逻辑模块将输入的数据与对应的运算公式进行乘法运算,得到4个运算结果,这四个运算结果分别对应上述推导公式中的(H192*X64*D64_0)、(H128*X64*D64_1)、(H64*X64*D64_2)和(X64*D64_3);
图2中示出的X64算子表示每组数据分别对应的算子:(X64*D64_0)、(X64*D64_1)、(X64*D64_2)和(D64_3);
14、将4个运算模块得到的运算结果进行异或运算,得到的异或运算结果即上述推导公式中的(X256*D256);
15、将异或运算结果与输入的反馈数据进行异或运算,最终得到输入的256位数据的CRC校验码,所述的反馈数据是前一拍输入的256位数据的CRC校验码与H256的乘积;
16、将所述生成的当拍输入的256位数据的CRC校验码发送到反馈通道,以便与Hm相乘后得到计算下一拍输入的256位数据的CRC校验码的反馈数据。
上述处理过程中,在步骤13中各个运算过程中可以插入寄存器,用来提高组合逻辑模块的工作时钟频率。通过在各组组合逻辑模块相同的位置中插入寄存器,使得各组组合逻辑模块的时序对齐,保证电路的同步运行,而且减少两级寄存器之间的组合逻辑级数,以提高性能。
本发明应用实施例一在硬件上具体可通过不同计算功能的现场可编程门阵列FPGA或专用集成电路ASIC等硬件电路实现。
上述本发明应用实施例一中,由于在进行CRC运算过程中,并行输入、处理分组数据,输入的数据位宽减小,因此进一步加快了CRC校验码的运算速度,进而提高了电路运行速度。
应用实施例二
以输入数据位宽m为256位的CRC24校验码的计算,将当拍输入的256位数据平均分为n=4组为例,本发明实施例的具体实施方式如图3所示,包括:
21、将输入的256位数据平均分为4组,每64位数据一组;
22、将每组64位数据并行分别与X64算子相乘,得到4组24位数据;
其中,X64算子与实施例一、附图2中的X64算子相同,为每组数据分别对应的算子:(X64*D64_0)、(X64*D64_1)、(X64*D64_2)和(D64_3);
33、将得到的4组24位数据分别与H192、H128、H64、H0相乘,得到4组新的24位数据;
24、将步骤23中得到的4组数据进行异或运算,得到一组24位数据;
25、将步骤24中得到的24位数据(H192*X64*D64_0)+(H128*X64*D64_1)+(H64*X64*D64_2)+(X64*D64_3)与反馈数据进行异或运算,最终生成输入的256位数据的CRC24校验码,其中,所述的反馈数据是前一拍输入的256位数据的CRC24校验码与H256的乘积(H256*OldCRC),初始的反馈数据为全零项;
26、将所述生成的当拍输入的256位数据的CRC24校验码发送到反馈通道,以便与Hm相乘后得到计算下一拍输入的256位数据的CRC24校验码的反馈数据。
上述处理过程中,在步骤22、23 24之间可以插入寄存器,用来提高组合逻辑模块的工作时钟频率。通过在各组组合逻辑模块相同的位置中插入寄存器,可以保证各组组合逻辑模块的时序对齐,保证电路的同步运行,而且减少两级寄存器之间的组合逻辑级数,提高组合逻辑模块的工作时钟频率,以提高性能。
本发明应用实施例二在硬件上具体可通过不同计算功能的现场可编程门阵列FPGA或专用集成电路ASIC等硬件电路实现。
本发明应用实施例二提供的技术方案中,由于将超位宽数据拆分成若干组较小位宽的数据,因此电路实现过程中组合逻辑级数较之现有技术的实现过程大幅降低;分组进行与特定转换系统的运算,降低了硬件实现难度,提高了处理速度;另外,由于分组进行CRC校验码运算过程中,仅在最后一级进行反馈运算,因此可实现高速电路。经验证,在XC5V220T-C2器件上实现,整体设计可达到200MHz同步时钟频率,并实现40Gbps POS帧的线速CRC24运算,使得资源占用更加合理。
实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
本发明实施例还提供一种通信装置,用于进行数据处理,其结构如图4所示,具体实现结构可以包括:数据分组模块401,用于将接收的m位信息数据流平均分为n组,例如128位、256位、512位输入数据等等;n为大于1的正整数;
第一数据处理模块402,用于将所述数据分组模块401输出的每组信息数据流并行输入,对每组信息数据流根据对应的转换系数进行转换,并对获得的n组转换结果进行异或处理;
第二数据处理模块403,用于将第一数据处理模块402获得的异或处理结果与反馈数据进行异或,获得所述m位信息数据流的循环冗余编码CRC校验码;
数据发送模块404,用于将获得的CRC校验码附加在所述m位信息数据流后,发送出去。
所述每组信息数据流对应的转换系数是根据CRC算子向量和分组的数据位宽m/n确定转换系数确定的,该转换系数为: H ( i - 1 ) · m n · [ H m n - 1 · P , H m n - 2 · P , · · · , H · P , P ] , 其中,H为矩阵,且 H = 0 0 · · · · · · · · · 0 p 0 1 0 · · · · · · · · · 0 p 1 0 1 · · · · · · · · · 0 p 2 · · · · · · · · · · · · · · · · · · · · · 0 0 · · · 1 · · · 0 p i · · · · · · · · · · · · · · · · · · · · · 0 0 · · · · · · · · · 1 p r - 1 , P为预先规定的r维CRC算子向量,i表示第i组数据,且i=(1,2,3,...n)。
所述反馈数据是前一个时钟周期的m位信息数据流的CRC校验码与Hm的乘积。
本发明实施例提供的装置还包括反馈数据输出模块405,用于获取第二数据处理模块403生成的m位信息数据流的CRC校验码,将所述CRC校验码与Hm相乘得到的数据输出作为下一个时钟周期的CRC校验码的反馈数据。
上述本发明实施例提供的装置中,所述的第一数据处理模块402和第二数据处理模块403具体可以通过组合逻辑电路实现,例如,所述第一数据处理模块402可以由若干个不同计算功能的组合逻辑组成,以便对输入数据进行相应的计算。本发明实施例中,所述第一数据处理模块402还包括寄存器模块,用来提高组合逻辑模块的工作时钟频率。该寄存器模块具体设置在第一数据处理模块402中各个计算功能的组合逻辑之间。通过插入寄存器,保证电路时序的对齐,实现电路同步,减少两级寄存器之间的组合逻辑级数,提高电路的工作时钟频率,以提高性能。
上述本发明实施例提供的装置中,所述第一数据处理模块402包括n个数据处理子模块,所述n个数据处理子模块分别对输入的n组m/n位数据进行计算,即每个数据处理子模块对应一个运算公式 H ( i - 1 ) · m n · [ H m n - 1 · P , H m n - 2 · P , · · · , H · P , P ] , 分别将n组数据输入对应的n个运算模块进行计算,得到n个运算结果。图5所示的是所述第一数据处理模块402的一个具体实现结构,其中包括n个数据处理子模块,在所述n个数据处理子模块中相同的位置处通过插入寄存器保证电路时序的对齐,实现电路同步,减少两级寄存器之间的组合逻辑级数,提高电路的工作时钟频率,以提高性能。
本发明实施例提供的装置典型的可以是路由器,路由器高速接口上的数据处理卡;也可以是光网络中的光线路终端OLT或光线路单元ONU/光线路终端ONT;还可以是进行高速数据传送的其他网络设备。
本发明实施例提供的生成CRC校验码的装置中,由于将超位宽数据拆分成若干组较小位宽的数据,因此该装置较之现有技术生成CRC校验码的速度更快;另外,由于分组进行CRC校验码运算过程中,仅在最后一级进行反馈运算,因此可实现高速电路中生成CRC校验码。经验证,在XC5V220T-C2器件上实现,整体设计可达到200MHz同步时钟频率,并实现40Gbps POS帧的线速CRC24运算,使得资源占用更加合理。因此本实施例揭示的装置能够节约装置内部的硬件资源,实现数据高速率传送,降低成本。
本发明实施例还提供一种通信系统,用于进行数据处理,该系统包含以上装置实施例中揭示的装置,在该通信系统中实现10G以上,如40G/100G的数据处理速率。
附图6所示为一个路由器组成的通信系统实施例:该通信系统包括至少两个相互通信的路由器(图6所示的601~606),路由器之间进行高速数据传送,数据速率为10Gbit/s以上,如40G/100G。该路由器具体参考以上装置实施例的说明。
如图7所示为一个无源光网络的系统实施例,该通信系统为典型无源光网络PON连接,光线路终端OLT通过光分配网络ODN与至少两个光线路单元ONU/光线路终端ONT相连。其中,所述的OLT、ONU/ONT为以上装置实施例所揭示的装置。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

Claims (11)

1.一种数据处理的方法,其特征在于,包括:
将接收到的m位信息数据流平均分为n组;
将每组信息数据流并行输入对应的n组组合逻辑电路,利用所述组合逻辑电路将每组信息数据流分别与对应的转换系数相乘进行转换,所述每组信息数据流对应的转换系数是根据CRC算子向量和分组后信息数据流的位宽m/n确定的;
对获得的n组转换结果进行异或处理;
将获得的异或处理结果与反馈数据进行异或,获得所述m位信息数据流的循环冗余编码CRC校验码,所述反馈数据是上一个时钟周期的m位信息数据流的CRC校验码与Hm的乘积,其中,H为矩阵,且 H = 0 0 . . . . . . . . . 0 p 0 1 0 . . . . . . . . . 0 p 1 0 1 . . . . . . . . . 0 p 2 . . . . . . . . . . . . . . . . . . . . . 0 0 . . . 1 . . . 0 p i . . . . . . . . . . . . . . . . . . . . . 0 0 . . . . . . . . . 1 p r - 1 , P为预先规定的r维CRC算子向量,i表示第i组信息数据流,且i=1,2,3,…n;
将获得的CRC校验码附加在所述m位信息数据流后,发送出去。
2.根据权利要求1所述的方法,其特征在于,所述每组信息数据流对应的转换系数为: H ( i - 1 ) · m n · [ H m n - 1 · P , H m n - 2 · P , · · · , H · P , P ] .
3.根据权利要求1~2任意一项所述的方法,其特征在于,还包括在每组组合逻辑电路中的相同位置插入一组或多组寄存器,以提高组合逻辑电路的工作时钟频率。
4.一种通信装置,用于进行数据处理,其特征在于,包括:
数据分组模块,用于将接收到的m位信息数据流平均分为n组;
第一数据处理模块,用于将所述数据分组模块输出的每组信息数据流并行输入,将每组信息数据流分别与对应的转换系数相乘进行转换,并对获得的n组转换结果进行异或处理,所述每组信息数据流对应的转换系数是根据CRC算子向量和分组的数据位宽m/n确定的;
第二数据处理模块,用于将第一数据处理模块获得的异或处理结果与反馈数据进行异或,获得所述m位信息数据流的循环冗余编码CRC校验码,所述反馈数据是上一个时钟周期的m位信息数据流的CRC校验码与Hm的乘积,其中,H为矩阵,且 H = 0 0 . . . . . . . . . 0 p 0 1 0 . . . . . . . . . 0 p 1 0 1 . . . . . . . . . 0 p 2 . . . . . . . . . . . . . . . . . . . . . 0 0 . . . 1 . . . 0 p i . . . . . . . . . . . . . . . . . . . . . 0 0 . . . . . . . . . 1 p r - 1 , P为预先规定的r维CRC算子向量,i表示第i组信息数据流,且i=1,2,3,…n;
数据发送模块,用于将获得的CRC校验码附加在所述m位信息数据流后,发送出去。
5.根据权利要求4所述的通信装置,其特征在于,所述每组信息数据流对应的转换系数为: H ( i - 1 ) · m n · [ H m n - 1 · P , H m n - 2 · P , · · · , H · P , P ] .
6.根据权利要求4所述的通信装置,其特征在于,该装置还包括反馈数据输出模块,用于获取第二数据处理模块生成的m位信息数据流的CRC校验码,将所述CRC校验码与Hm相乘得到的数据作为下一个时钟周期的CRC校验码的反馈数据。
7.根据权利要求4~6任意一项所述的通信装置,其特征在于,所述第一数据处理模块中还包括寄存器,用于实现流水线设计,以提高第一数据处理模块的工作时钟频率。
8.根据权利要求7所述的通信装置,其特征在于,所述装置为路由器。
9.根据权利要求7所述的通信装置,其特征在于,所述装置为光线路终端OLT,或光网络单元ONU,或光网络终端ONT。
10.一种通信系统,用于进行数据处理,其特征在于,包括:
至少两个相互连接的路由器,所述路由器为如权利要求4~7任一项所述的通信装置。
11.一种通信系统,用于进行数据处理,其特征在于,包括:
光线路终端OLT,光分配网络ODN,和光网络单元ONU/光网络终端ONT,其中,所述OLT通过ODN与至少两个ONU/ONT相连;所述OLT、ONU/ONT为如权利要求4~7任一项所述的通信装置。
CN200910081052.5A 2009-03-31 2009-03-31 一种数据处理的方法、通信装置和系统 Active CN101854222B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200910081052.5A CN101854222B (zh) 2009-03-31 2009-03-31 一种数据处理的方法、通信装置和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200910081052.5A CN101854222B (zh) 2009-03-31 2009-03-31 一种数据处理的方法、通信装置和系统

Publications (2)

Publication Number Publication Date
CN101854222A CN101854222A (zh) 2010-10-06
CN101854222B true CN101854222B (zh) 2014-04-02

Family

ID=42805510

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200910081052.5A Active CN101854222B (zh) 2009-03-31 2009-03-31 一种数据处理的方法、通信装置和系统

Country Status (1)

Country Link
CN (1) CN101854222B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011144179A2 (zh) * 2011-06-08 2011-11-24 华为技术有限公司 对数据包进行循环冗余校验的方法及装置
WO2014015516A1 (en) * 2012-07-27 2014-01-30 Alcatel-Lucent Shanghai Bell Co., Ltd Method and apparatus for performing pipelined operations on parallel input data with feedback
CN103795502B (zh) * 2014-02-28 2017-04-12 杭州华三通信技术有限公司 一种数据帧校验码生成方法和装置
CN105210333B (zh) * 2014-05-21 2018-05-18 华为技术有限公司 数据处理方法及装置
CN105830368B (zh) * 2014-10-23 2018-04-20 华为技术有限公司 光互联系统、节点、光网络控制器和传输数据的方法
CN114448695B (zh) * 2022-01-25 2024-01-09 中国工商银行股份有限公司 消息认证码的生成方法、装置、计算机设备和存储介质
CN116566399B (zh) * 2023-05-19 2023-11-07 合芯科技有限公司 基于向量多项式乘和指令的crc32c数据检错方法、系统、终端及介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1679267A (zh) * 2002-08-23 2005-10-05 因芬尼昂技术股份公司 接收移动无线信号时的译码及循环冗余校验的并行处理
CN101252421A (zh) * 2007-08-14 2008-08-27 华为技术有限公司 一种短应答/否定应答的编解码方法及装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1679267A (zh) * 2002-08-23 2005-10-05 因芬尼昂技术股份公司 接收移动无线信号时的译码及循环冗余校验的并行处理
CN101252421A (zh) * 2007-08-14 2008-08-27 华为技术有限公司 一种短应答/否定应答的编解码方法及装置

Also Published As

Publication number Publication date
CN101854222A (zh) 2010-10-06

Similar Documents

Publication Publication Date Title
CN101854222B (zh) 一种数据处理的方法、通信装置和系统
CN100388630C (zh) 具有矩阵转换技术的循环冗余码计算方法及系统
KR101354288B1 (ko) 통신 시스템에서 에러 검출 방법 및 장치
CN101902228B (zh) 快速循环冗余校验编码方法及装置
CN101527615A (zh) 一种循环冗余校验crc码的实现方法和装置
CN101227194B (zh) 用于并行bch编码的电路、编码器及方法
CN112468161B (zh) 一种rs高速编码电路
CN101273532A (zh) 解码装置及接收装置
CN102170327B (zh) 超强前向纠错的硬件译码方法及装置
CN105322973B (zh) 一种rs码编码器及编码方法
CN103795502A (zh) 一种数据帧校验码生成方法和装置
CN102891685A (zh) 基于fpga的并行循环冗余校验运算电路
CN102710282B (zh) 基于码重分布的自同步扰码盲识别方法
CN103199873A (zh) 两级分块crc运算的快速配置方法
CN101795175A (zh) 数据的校验处理方法及装置
CN101296053A (zh) 计算循环冗余校验码之方法及系统
US5905664A (en) Circuit for determining, in parallel, the terms of a remainder that results from dividing two binary polynomials
CN101783688A (zh) 一种64位并行多模式crc码生成电路的设计方法
US6928601B2 (en) Decoding circuit, and decoder, decoding method and semiconductor device that use the decoding circuit
CN112468160A (zh) 一种基于钱搜索算法和福尼算法的并行电路
CN101834616A (zh) 里德-索罗蒙解码器实现方法
Hasan et al. Efficient architectures for computations over variable dimensional Galois fields
CN100461662C (zh) 用于同步数字系列/同步光纤网系统的带内前向纠错解码器
CN202906879U (zh) 基于fpga的并行循环冗余校验运算电路
Nóbrega et al. On multiplicative matrix channels over finite chain rings

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