一种9b/10b码的编码方法

文档序号:7536041阅读:943来源:国知局
专利名称:一种9b/10b码的编码方法
技术领域
本发明涉及通信技术领域,具体地涉及一种9B/10B码的编码方法,其具有直流均衡特性。

背景技术
随着通信技术的迅猛发展,数据传输的速率和数据量都得到了极大的提高,因此对数据传输的可靠性也提出了更高的要求。由于传输距离的增加和传输速率的提高,信号衰减变得十分严重,波形也容易发生明显畸变,从而导致数据可靠性明显下降。为了增加数据传输的可靠性和稳定性,需要对数字信号进行编码调制,使信号频谱与传输媒质相匹配,以实现对传输媒质的充分利用。
光纤数字传输系统相对于普通有线通信系统具有损耗低、带宽比较宽、电磁干扰小和安全性高等优点,越来越多地被应用到通信系统中。mB/nB调制码是光纤数字传输系统中最常用的一种编码,其本质是一种分组码,可以根据传输特性的要求预先设定一种编码速度和效率都比较高的映射规则,适于硬件实现。mB/nB调制码具有信号频谱特性较好、基线漂移小、误码率低等优点。
mB/nB编码的主要原理是把输入的二进制原始码流进行分组,每组有m个二进制码,记为mB,称为一个码字,然后把一个码字变换为n个二进制码,记为nB,并在同一个时隙内输出。m和n都是正整数,n>m,一般选取n=m+1,其中,1B/2B、2B/3B、3B/4B等主要应用于低速率光纤数字传输,5B/6B、5B/7B、6B/8B、7B/8B等主要应用于高速率光纤数字传输,但是最高也只能达到上百兆bits/s,依然无法满足实际传输的需要。
目前1000BASE-X标准的千兆以太网主要采用的是传输带宽小、转换密度高以及码字游程长度受限和具有直流平衡特性的8B/10B调制码。但是,8B/10B调制码的编码效率只有80%,在高速数据传输系统中仍然存在进一步提高编码效率的需求。而编码效率比较高的9B/10B调制码由于编码过程复杂,计算量大,难以硬件实现,目前在光纤传输领域的应用受到一定限制。


发明内容
针对现有技术的不足,本发明的目的是要提供一种编码效率更高且编码过程简单的9B/10B码的编码方法。
为了实现上述目的,本发明提供了一种9B/10B码的编码方法,包括以下步骤将9bit码字划分为三个码段,并进行映射得到负极性10bit码字;计算负极性10bit码字的不平衡度,并根据不平衡度计算正极性10bit码字;计算当前信道码流极性,并根据极性选择负极性10bit码字或正极性10bit码字输出,以实现直流均衡。
本发明的有益效果是,该方法采用9B/10B码的编码方法,其理论编码效率可以高达90%,具有编码效率高的优点。编码过程中将码字划分为三个码段分别进行分类和映射,可以极大地简化9B/10B码表生成过程,有效提高了编码速度,同时易于9B/10B编解码器的硬件实现。此外,该方法还利用正负极性偏差的跳转,实现编码的直流控制,并在码表设计过程中尽量选择游程长度短的码字,具有编码效率高、直流特性好、游程长度短的优点。



本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中 图1是根据本发明实施例的9B/10B码的编码方法的流程图; 图2是根据本发明实施例的9B/10B码的编码方法中码字映射的过程示意图;以及 图3是根据本发明实施例的9B/10B码的编码方法中信道码流极性更新的过程示意图。

具体实施例方式 下面将结合附图和具体实施例对本发明作进一步详细说明。
图1示出的是根据本发明实施例的9B/10B码的编码方法的大致流程。该9B/10B码的编码方法的主要步骤为首先将9bit码字划分为三个码段,并进行映射得到负极性10bit码字;然后计算负极性10bit码字的不平衡度,并根据不平衡度计算正极性10bit码字;最后计算当前信道码流极性,并根据极性选择负极性10bit码字或正极性10bit码字输出,以实现直流均衡。各步骤的具体操作如下 S1将9bit码字划分为三个码段,并进行映射得到负极性10bit码字。
图2示出的是根据本发明实施例的9B/10B码的编码方法中码字映射的大致过程。结合图1和图2可以看出,在步骤S1中,首先将输入数据进行分组得到的9bit码字划分成长度为4bit、1bit和4bit三个码段并分别进行分类,以对每一个9bit码字进行分类;然后将分类后的9bit码字的三个码段分别映射成长度为4bit、2bit和4bit三个码段,以组成所述负极性10bit码字。将码字划分为三个码段,可以极大地简化9B/10B码的码表生成和编码过程,同时也易于9B/10B编解码器的硬件实现。
S101将9bit码字划分成长度为4bit、1bit和4bit三个码段并分别进行分类,以对9bit码字进行分类。
在步骤S101中,首先将9bit码字X划分成4bit的第一码段X1、1bit的第二码段X2和4bit的第三码段X3,具体形式为 X=X1-X2-X3=[x8x7x6x5x4x3x2x1x0] 其中 X1=[x8x7x6x5],X2=[x4],X3=[x3x2x1x0] 然后将9bit码字的第一码段X1和第三码段X3中的4bit信息分别按照比特位中“1”的个数划分为5类,对应于“1”的个数分别为0、1、2、3、4,第二码段X2中的1bit信息按照比特位中“1”和“0”的状态划分为2类,对应的状态分别为1、0,从而将9bit码字划分为5×2×5=50类。例如对于9bit码字1110-1-0101,其所属分类为3-1-2。
S102将分类后的所述9bit码字的三个码段分别映射成长度为4bit、2bit和4bit三个码段,以组成所述负极性10bit码字。
为了便于更清楚地描述编码映射规则,在步骤S102中也可以采用类似步骤S101的方法对10bit码字的各个比特位进行分段并分类。将10bit码字Y划分成4bit的第一码段Y1、2bit的第二码段Y2和4bit的第三码段Y3,具体形式为 Y=Y1-Y2-Y3=[y9y8y7y6y5y4y3y2y1y0] 其中 Y1=[y9y8y7y6],Y2=[y5y4],Y3=[y3y2y1y0] 然后将10bit码字的第一码段Y1和第三码段Y3中的4bit信息分别按照比特位中“1”的个数划分为5类,对应于“1”的个数分别为0、1、2、3、4,第二码段Y2中的2bit信息按照比特位中“1”和“0”的组合状态划分为4类,对应于“1”和“0”的组合状态分别为00、01、10、11,从而将10bit码字划分为5×4×5=100类。例如对于10bit码字1111-01-0010,其所属分类为4-01-1。
对9bit码字分类完成之后,利用9bit码字的分类从预设的普通码字映射规则修正表、普通码字映射规则表和特殊码字映射规则表中选择相应的映射规则对9bit码字进行映射。表1为普通码字映射规则修正表,表2为普通码字映射规则表,表3为特殊码字映射规则表。表1、表2和表3中所示的映射规则是以降低9B/10B编解码器设计复杂度为原则而设计的,易于硬件实现。
表1 表2 表3 由于信道中传输的码流包括了普通码字和具有帧同步等特殊功能的特殊码字,为了避免在映射过程中将普通码字误匹配为特殊码字,特别制定了表1所示的普通码字映射规则修正表。若9bit码字为普通码字,首先查询表1,若9bit码字能够在表1中找到能够相应的映射规则,则按照表1中的映射规则直接进行映射,否则按照表2中相应的映射规则进行映射。表2中映射规则R的具体含义如下 映射规则A1Y1=X1,Y3=X3,共316个映射; 映射规则A2Y1=X1,Y3=-X3(-X3表示X3的反码,下同),共64个映射; 映射规则A3Y1=-X1,Y3=X3,共24个映射; 映射规则A4Y1=-X1,Y3=-X3,共16个映射; 映射规则B1Y1=X1,Y3=
,共4个映射; 映射规则B2Y1=X1,Y3=
,共4个映射; 映射规则C1Y1=
,Y3=X3,共10个映射; 映射规则C2Y1=
,Y3=X3,共10个映射; 映射规则C3Y1=
,Y3=X3,共10个映射; 映射规则C4Y1=[1001],Y3=X3,共10个映射; 映射规则D1Y1=[1010],Y3=X1,共10个映射; 映射规则D2Y1=[1100],Y3=X1,共10个映射; 映射规则E1Y1=X3,Y3=
,共4个映射; 映射规则E2Y1=X3,Y3=
,共4个映射; 映射规则E3Y1=X3,Y3=
,共4个映射; 映射规则E4Y1=X3,Y3=[1000],共4个映射; 映射规则N1Y1=
,Y3=
,共1个映射; 映射规则N2Y1=[1011],Y3=
,共1个映射; 映射规则N3Y1=[1101],Y3=
,共1个映射; 映射规则N4Y1=[1110],Y3=
,共1个映射; 映射规则N5Y1=
,Y3=[1001],共1个映射; 映射规则N6Y1=[1011],Y3=[1001],共1个映射; 映射规则N7Y1=[1101],Y3=[1001],共1个映射; 映射规则N8Y1=[1110],Y3=[1001],共1个映射。
在信号传输过程中需要添加一些用于建立同步、诊断线路故障、控制传输状态等的特殊码字以提高信号传输的可靠性。当9bit码字为特殊码字时,则按照表3中的映射规则进行映射。
经过上述步骤完成映射后,可以得到输入的9bit码字所对应的负极性10bit码字。例如,对于信源为9bit的码字0110-1-0000,其分类后的取值为2-1-0,根据表2可得,其所对应的10bit码字取值为2-11-2,映射规则为D2,即Y1=[1100],Y3=X1,故有Y1=[1100],Y2=[11],Y3=X1=
,即9bit码字0110-1-0000所对应的负极性10bit码字为1100-11-0110。
S2计算负极性10bit码字的不平衡度,并根据不平衡度计算正极性10bit码字。
10bit码字的不平衡度定义为该10bit码字中“0”的个数与“1”的个数的差值,即“0”的个数小于“1”的个数时为负,相等时为零,大于时为正。
计算出不平衡度之后,若不平衡度为零,正极性10bit码字为负极性10bit码字的原码;若不平衡度不为零,正极性10bit码字为负极性10bit码字的反码,从而可以得到所有负极性10bit码字对应的正极性10bit码字。
例如,对于信源为9bit的码字K.0FCH,K.表示该码字为特殊字符,H为十六进制表示符号,该码字可用于帧同步,属于特殊字符,其二进制表示为0111-1-1100,查表3可知其所对应的负极性10bit码字为0111-11-1100,该10bit码字的不平衡度为-4,故K.0FCH所对应的正负极性10bit码字互为反码,即正极性10bit码字为1000-00-0011,由此可得作为信源的9bit码字K.0FCH所对应的正负极性码字分别为0111-11-1100(负)与1000-00-0011(正)。
又如,对于信源为9bit的码字D.038H,D.表示该码字为普通字符,其二进制表示为0001-1-1000,属于表1中所列的源字,即D.038H为需要修正的码字,查表1可知其所对应的负极性10bit码字为1110-11-1010,该10bit码字的不平衡度为-4,故D.038H所对应的正负极性10bit码字互为反码,即正极性10bit码字为0001-00-0101,由此可得9bit源字D.038H所对应的正负极性码字分别为1110-11-1010(负)与0001-00-0101(正)。
再如,对于信源为9bit的码字D.086H,该码字为普通字符,其二进制表示为0100-0-0110,不属于表1中所列的源字,查表2可知其所对应的负极性10bit码字为1011-00-0110,该10bit码字的不平衡度为0,故D.086H所对应的正负极性10bit码字相同,即正极性10bit码字也为1011-00-0110,由此可得9bit源字D.086H所对应的正负极性码字分别为1011-00-0110(负)与1011-00-0110(正)。
S3计算当前信道码流极性,并根据极性选择所述负极性10bit码字或正极性10bit码字输出,以实现直流均衡。
图3示出的是根据本发明实施例的9B/10B码的编码方法中信道码流极性更新的大致过程,其中,RD10表示输出的10bit码字的不平衡度,RDS表示信道码流的总不平衡度,具体步骤如下 S301设定初始时刻的信道码流极性为负; S302判断当前信道码流的极性,若极性为负,则下一时刻输出正极性10bit码字,若极性为正,则下一时刻输出负极性10bit码字; S303输出10bit码字后计算信道码流的总不平衡度RDS,并根据总不平衡度RDS更新信道码流的极性,再次进行步骤S302。
信道码流的总不平衡度RDS定义为从初始时刻到当前时刻之间所有输出的10bit码字的不平衡度RD10的总和。计算出当前时刻信道码流的总不平衡度RDS之后,若总不平衡度RDS为正,则信道码流的极性更新为正;若总不平衡度RDS为负,则信道码流的极性更新为负;若总不平衡度RDS为零,且当前输出的10bit码字的不平衡度RD10为零,则信道码流的极性不改变;若总不平衡度RDS为零,且当前输出的10bit码字的不平衡度RD10不为零,则信道码流的极性反转。然后再根据信道码流的极性来选择下一时刻可以输出的10bit码字的极性。
根据所述9B/10B码字映射方法,每个9bit源字均对应有正负极性的两种10bit码字。通过选择不同极性的码字输出,可实现编码过程的直流均衡的特性。
例如,待编码的信源码字序列如下 其中K.0FCH为特殊字符,用于帧同步,其余为普通字符。根据上述码字映射规则得到每个9bit源字所对应的正负极性10bit码字,再根据图3所示过程对作为信源的码字序列进行直流均衡以得到9B/10B编码,其编码过程如下 经过9B/10B编码后得到的码字序列输出如下 10000000110111101100111011101010110001101100000110110000011110101011100010000101 按照本发明的实施例的9B/10B码的编码方法,可以采用Altera公司的EP2C35F484I8芯片设计9B/10B硬件编码器与解码器。整个设计采用了Verilog HDL编程语言实现,仿真实验中总共使用了242个逻辑单元,其中编码器占用120个逻辑单元,解码器占用122个逻辑单元,系统的最高时钟频率可达338MHz。在9B/10B码的编码过程中,通过对10bit码字的挑选,剔除可能造成长连“0”或连“1”的码字,并以短游程长度优先的原则设计信源码字与目标码字之间的映射规则,最终实现信道码流的游程长度的控制。该编码方法理论上的编码效率可以达到90%,与现行高速串行数据传输中常用的8B/10B编码相比,编码效率提高了12.5%,即在相同的工作频率下,其有效传输速率提高了12.5%。该方法利用正负极性偏差的跳转,实现编码的直流控制,具有编码效率高、直流特性好的优点。相对于现有的9B/10B编码技术而言,本发明的9B/10B编码方法具有编码过程简单、编码速度快的优点,非常易于硬件实现,适合应用到高速通信系统中。
以上所披露的仅为本发明的优选实施例,当然不能以此来限定本发明的权利保护范围。可以理解,依据本发明所附权利要求中限定的实质和范围所作的等同变化,仍属于本发明所涵盖的范围。
权利要求
1.一种9B/10B码的编码方法,其特征在于,包括以下步骤
S1将9bit码字划分为三个码段,并进行映射得到负极性10bit码字;
S2计算所述负极性10bit码字的不平衡度,并根据所述不平衡度计算正极性10bit码字;
S3计算当前信道码流极性,并根据所述极性选择所述负极性10bit码字或正极性10bit码字输出,以实现直流均衡。
2.根据权利要求1所述的9B/10B码的编码方法,其特征在于,所述步骤S1包括
S101将所述9bit码字划分成长度为4bit、1bit和4bit三个码段并分别进行分类,以对所述9bit码字进行分类;
S102将分类后的所述9bit码字的三个码段分别映射成长度为4bit、2bit和4bit三个码段,以组成所述负极性10bit码字。
3.根据权利要求2所述的9B/10B码的编码方法,其特征在于,所述步骤S101包括将9bit码字的第一码段和第三码段中的4bit信息分别按照比特位中“1”的个数划分为5类,第二码段中的1bit信息按照比特位中“1”和“0”的状态划分为2类,从而将所述9bit码字划分为50类。
4.根据权利要求2或3所述的9B/10B码的编码方法,其特征在于,所述步骤S102包括将10bit码字的第一码段和第三码段中的4bit信息分别按照比特位中“1”的个数划分为5类,第二码段中的2bit信息按照比特位中“1”和“0”的组合状态划分为4类,从而将所述10bit码字划分为100类。
5.根据权利要求4所述的9B/10B码的编码方法,其特征在于,所述步骤S102包括利用所述9bit码字的分类从预设的普通码字映射规则修正表、普通码字映射规则表和特殊码字映射规则表中选择相应的映射规则对所述9bit码字进行映射。
6.根据权利要求5所述的9B/10B码的编码方法,其特征在于,所述步骤S102包括若所述9bit码字为普通码字,查询所述普通码字映射规则修正表,若所述9bit码字在所述普通码字映射规则修正表中能够找到相应的映射规则,则按照所述映射规则直接进行映射,否则按照所述普通码字映射规则表中相应的映射规则进行映射。
7.根据权利要求5所述的9B/10B码的编码方法,其特征在于,所述步骤S102包括若所述9bit码字为特殊码字,则按照所述特殊码字映射规则表中的映射规则进行映射。
8.根据权利要求1所述的9B/10B码的编码方法,其特征在于,所述步骤S2包括
若所述不平衡度为零,正极性10bit码字为所述负极性10bit码字的原码;若所述不平衡度不为零,正极性10bit码字为所述负极性10bit码字的反码。
9.根据权利要求1所述的9B/10B码的编码方法,其特征在于,所述步骤S3包括
S301设定初始时刻的信道码流极性为负;
S302判断当前信道码流的极性,若所述极性为负,则下一时刻输出所述正极性10bit码字,若所述极性为正,则下一时刻输出所述负极性10bit码字;
S303输出10bit码字后计算信道码流的总不平衡度,并根据所述总不平衡度更新信道码流的极性,再次进行步骤S302。
10.根据权利要求9所述的9B/10B码的编码方法,其特征在于,所述步骤S303包括
若所述总不平衡度为正,则信道码流的极性更新为正;
若所述总不平衡度为负,则信道码流的极性更新为负;
若所述总不平衡度为零,且当前输出的10bit码字的不平衡度为零,则信道码流的极性不改变;
若所述总不平衡度为零,且当前输出的10bit码字的不平衡度不为零,则信道码流的极性反转。
全文摘要
本发明公开了一种9B/10B码的编码方法,包括以下步骤将9bit码字划分为三个码段,并进行映射得到负极性10bit码字;计算负极性10bit码字的不平衡度,并根据不平衡度计算正极性10bit码字;计算当前信道码流极性,并根据极性选择负极性10bit码字或正极性10bit码字输出,以实现直流均衡。该方法利用正负极性偏差的跳转,实现编码的直流控制,具有编码效率高、直流特性好的优点。
文档编号H03M5/00GK101764617SQ200910243680
公开日2010年6月30日 申请日期2009年12月22日 优先权日2009年12月22日
发明者贾惠波, 周少飞, 马骋, 熊剑平 申请人:清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1