基于SerDes技术串行通信系统的编解码方法及装置制造方法及图纸

技术编号:14641340 阅读:30 留言:0更新日期:2017-02-15 15:43
本发明专利技术提供一种基于SerDes技术串行通信系统中的编解码方法及装置,该方法包括编码步骤:将18位的普通数据分为两个9位的两个原始数据;将两个原始数据分别作为两个编码查找表的初始地址N并转化为2*N+0和2*N+1作为编码查找表的输入地址;根据输入地址输出包含不平衡度信息的第一码字与第二码字;第一码字中“1”的个数大于或等于“0”的个数,第二码字中“0”的个数大于或等于“1”的个数;根据当前码流的运行极性差异值输出选择指示信号;根据选择指示信号在每个查找表输出的第一码字与第二码字中选择一个码字组成下一输出码字。该方案的译码过程是编码的逆过程,实现方法与编码过程类似。本发明专利技术在达到输出码流的直流平衡的目标的同时提高传输性能。

【技术实现步骤摘要】

本专利技术涉及通信
,尤其涉及一种基于SerDes技术串行通信系统的编解码方法及装置
技术介绍
随着通信技术的不断发展,通信系统对传输带宽要求不断增加,由于高速SerDes(串行器/解串器)的串行通信技术具有信道容量高、系统成本低以及传输速度快等特点,这使得基于SerDes的串行通信技术逐渐成为主流的高速数据通信技术。基于SerDes的串行通信系统结构如附图1所示:在发送端,并行数据经过主编码器1进行编码;并串转换器2接收编码后的并行数据,根据时钟管理器4提供的时钟信号将并行数据转换为串行数据,并经由发送器3发出该串行数据。接收端,接收器7接收串行输入数据,并将其发送至串并转换器6,串并转换器6将所述串行输入数据变为并行数据,并发送至主译码器5,主译码器5将其译码后输出;时钟管理器4通过串并转换器从数据中恢复时钟信号。基于SerDes的串行通信系统中的关键技术之一是接收端的时钟和数据恢复,而影响接收端时钟和数据恢复性能的主要因素是串行数据流的电平变换和直流平衡。电平变换是指数据从“0”到“1”或者从“1”到“0”的变换,直流平衡是指串行数据流中“0”和“1”的个数基本相同。为了保证串行数据流具有很好的电平变换和直流平衡特性,基于SerDes技术的串行通信系统在发送端对输入的并行数据进行编码处理。在进行编码处理时,主要考量的因素包括:(1)、码字不平衡度D(Disparity),表示一个码字中1的数目与0的数目的差值。用正极性(PositiveDisparity)表示码字中1的个数比0的个数多,正N极性中的“N”,表示数据中的1的个数比0的个数多N;用负极性(NegativeDisparity)表示码字中1的个数比0的个数少,负N极性中的“N”,表示数据中的1的个数比0的个数少N。例如:对于0100,D=-2;对于0111,D=+2。(2)运行极性差异值RD(RunningDisparity)。表示当前连续的所有码字中1和0的个数之差,即当前码流的不平衡特性。用运行极性差异值和RDS(RunningDisparitySum)值表示输出码流的总不平衡度。在编码时要考虑输出码流的RDS的“±”极性,而不要考虑具体的数值。“+”表示当前的码流中“1”的数目多于“0”的数目;“-”表示当前的码流中“0”的数目多于“1”的数目。对于一个好的线路码,RDS应该是一个绝对值接近0的有限值。(3)编码游程长度(RunLength)表示连续的串行码流中,连续的1或者0的个数。现有技术中,最常见的线路编码技术是8B/10B编码,8B/10B编码将8Bit(8位)数据编码成10Bit(10位)数据,其良好的直流平衡特性和游程短(最大游程长度仅为5)等优点使接收端进行数据和时钟恢复变得非常容易。然而8B/10B编码也存在明显的缺点,即编码效率不高。假如传输速率为1Gb/s的有用数据流,其编码后实际线路传输速率为1.25Gb/s,这将近有25%的冗余。这么大的冗余开销在更高速率的光线通信系统(传输速率达到6Gb/s甚至10Gb/s)中将变得无法承受;另外随着光纤通信设备性能的提高,使得光线通信系统对线路码的要求降低了很多,如最大编码游程只要小于20就能很容易被接收机检测。
技术实现思路
本专利技术的特征和优点在下文的描述中部分地陈述,或者可从该描述显而易见,或者可通过实践本专利技术而学习。为克服现有技术的问题,本专利技术提供一种基于SerDes技术串行通信系统的编解码方法及装置,采用9B/10B编码,通过查找表方法在FPGA(Field-ProgrammableGateArray,现场可编程门阵列)内实现,从而提高有效传输效率。本专利技术解决上述技术问题所采用的技术方案如下:根据本专利技术的一个方面,提供一种基于SerDes技术串行通信系统中的编解码方法,包括编码步骤:将18位的普通数据分为两个9位的两个原始数据;将两个所述原始数据分别作为两个编码查找表的初始地址N;将所述初始地址转化为2*N+0和2*N+1作为所述编码查找表的输入地址;所述编码查找表根据所述输入地址输出包含不平衡度信息的第一码字与第二码字;其中,所述第一码字中“1”的个数大于或等于“0”的个数,其不平衡度为正;所述第二码字中“0”的个数大于或等于“1”的个数,其不平衡度为负;根据当前码流的运行极性差异值输出选择指示信号;根据所述选择指示信号在每个所述查找表输出的第一码字与第二码字中选择一个码字组成下一输出码字。可选地,所述第一码字与第二码字为10位的码字信息与3位的不平衡度D的编码信息相加得到的;其中,所述10位的码字信息为9位的所述原始数据到10位的映射;所述不平衡度D=n-(10-n),其中n为码字中“1”的个数。可选地,还包括K码编码步骤:定义6个K码,每两个K码为一组,且每组K码中的码字互为补码;接收输入的K码指示信号和极性选择信号;通过K码查找表输出由两个10比特组成的K码编码。可选地,在根据所述当前码流的运行极性差异值输出所述选择指示信号时:若所述当前码流的运行极性差异值为负,则输出的所述选择指示信号为高电平;若所述当前码流的运行极性差异值为正,则输出的所述选择指示信号为低电平;在根据所述选择指示信号在每个所述查找表输出的第一码字与第二码字中选择一个码字组成输出码字时:若输出的所述选择指示信号为高电平,则所述下一输出码字中在所述第一码字与第二码字中选择所述第一码字;若输出的所述选择指示信号为低电平,则所述下一输出码字中在所述第一码字与第二码字中选择所述第二码字。可选地,所述当前码流的运行极性差异值的计算具体包括步骤:将所述运行极性差异值与所述输出码字的不平衡度的代数和作为编码后的极性差异总和值;当所述输出码字完美平衡时,所述当前码流的运行极性差异值保持不变;当所述输出码字的不平衡时:若所述编码后的极性差异总和值小于0,则所述当前码流的运行极性差异值为负;若所述编码后的极性差异总和值大于0,则所述当前码流的运行极性差异值为正;若所述编码后的极性差异总和值等于0,且原码流的运行极性差异值为正,则所述当前码流的运行极性差异值为负;若所述编码后的极性差异总和值等于0,且原码流的运行极性差异值为负,则所述当前码流的运行极性差异值为正。可选地,还包括译码步骤:对译码查找表中对应普通数据位置上的译码输出数据做处理;对所述译码查找表中对应K码位置上的译码输出数据做处理;在上述生成的译码查找表中根据查找表的地址分别选择一个译码输出数据;将两个所述译码输出数据的低9比特整合后输出。根据本专利技术的另一个方面,提供一种基于SerDes技术的串行通信系统中编解码装置,其特征在于,包括主编码器、与所述主编码器相连的线路极性计算器、与所述主编码器相连的编码选择器;所述主编码器包括:拆分单元,用于将18位的普通数据分为高9位以及低9位的两个原始数据;初始地址定义单元,用于将两个所述原始数据分别作为两个编码查找表的初始地址N;输入地址计算单元,用于将所述初始地址转化为2*N+0和2*N+1作为所述编码查找表的输入地址;输出单元,用于根据所述输入地址输出包含不平衡度信息的第一码字与第二码字;其中,所述第一码字中“1”的个数大于或等于“0”的个数,其不平衡度为正;所述第二码本文档来自技高网
...
基于SerDes技术串行通信系统的编解码方法及装置

【技术保护点】
一种基于SerDes技术串行通信系统中的编解码方法,包括编码步骤:将18位的普通数据分为高9位和低9位两个原始数据;将两个所述原始数据分别作为两个编码查找表的初始地址N;将所述初始地址转化为2*N+0和2*N+1作为所述编码查找表的输入地址;所述编码查找表根据所述输入地址输出包含不平衡度信息的第一码字与第二码字;其中,所述第一码字中“1”的个数大于或等于“0”的个数,其不平衡度为正;所述第二码字中“0”的个数大于或等于“1”的个数,其不平衡度为负;根据当前码流的运行极性差异值输出选择指示信号;根据所述选择指示信号在每个所述查找表输出的第一码字与第二码字中选择一个码字组成下一输出码字。

【技术特征摘要】
1.一种基于SerDes技术串行通信系统中的编解码方法,包括编码步骤:将18位的普通数据分为高9位和低9位两个原始数据;将两个所述原始数据分别作为两个编码查找表的初始地址N;将所述初始地址转化为2*N+0和2*N+1作为所述编码查找表的输入地址;所述编码查找表根据所述输入地址输出包含不平衡度信息的第一码字与第二码字;其中,所述第一码字中“1”的个数大于或等于“0”的个数,其不平衡度为正;所述第二码字中“0”的个数大于或等于“1”的个数,其不平衡度为负;根据当前码流的运行极性差异值输出选择指示信号;根据所述选择指示信号在每个所述查找表输出的第一码字与第二码字中选择一个码字组成下一输出码字。2.根据权利要求1所述基于SerDes技术串行通信系统中的编解码方法,其特征在于,所述第一码字与第二码字为10位的码字信息与3位的不平衡度D的编码信息相加得到的;其中,所述10位的码字信息为9位的所述原始数据到10位的映射;所述不平衡度D=n-(10-n),其中n为码字中“1”的个数。3.根据权利要求1所述基于SerDes技术串行通信系统中的编解码方法,其特征在于,还包括K码编码步骤:定义6个K码,每两个K码为一组,且每组K码中的码字互为补码;接收输入的K码指示信号和极性选择信号;通过K码查找表输出由两个10比特组成的K码编码。4.根据权利要求1所述基于SerDes技术串行通信系统中的编解码方法,其特征在于,在根据所述当前码流的运行极性差异值输出所述选择指示信号时:若所述当前码流的运行极性差异值为负,则输出的所述选择指示信号为高电平;若所述当前码流的运行极性差异值为正,则输出的所述选择指示信号为低电平;在根据所述选择指示信号在每个所述查找表输出的第一码字与第二码字中选择一个码字组成输出码字时:若输出的所述选择指示信号为高电平,则所述下一输出码字中在所述第一码字与第二码字中选择所述第一码字;若输出的所述选择指示信号为低电平,则所述下一输出码字中在所述第一码字与第二码字中选择所述第二码字。5.根据权利要求1或4所述基于SerDes技术串行通信系统中的编解码方法,其特征在于,所述当前码流的运行极性差异值的计算具体包括步骤:将所述运行极性差异值与所述输出码字的不平衡度的代数和作为编码后的极性差异总和值;当所述输出码字完美平衡时,所述当前码流的运行极性差异值保持不变;当所述输出码字的不平衡时:若所述编码后的极性差异总和值小于0,则所述当前码流的运行极性差异值为负;若所述编码后的极性差异总和值大于0,则所述当前码流的运行极性差异值为正;若所述编码后的极性差异总和值等于0,且原码流的运行极性差异值为正,则所述当前码流的运行极性差异值为负;若所述编码后的极性差异总和值等于0,且原码流的运行极性差异值为负,则所述当前码流的运行极性差异值为正。6.根据权利要求1所述基于SerDes技术串行通信系统中的编解码方法,其特征在于,还包括译码步骤:对译码查找表中对应普通...

【专利技术属性】
技术研发人员:徐小明康婕赵羽项圣文
申请(专利权)人:深圳国人通信股份有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1