System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种8B10B编码器及基于8B10B编码的JESD204B协议数据传输方法技术_技高网

一种8B10B编码器及基于8B10B编码的JESD204B协议数据传输方法技术

技术编号:40830040 阅读:5 留言:0更新日期:2024-04-01 14:52
本发明专利技术公开一种8B10B编码器及基于8B10B编码的JESD204B协议数据传输方法,该8B10B编码器主要采用了两个由K字节编码、D字节编码和特殊编码处理模块组成的字节编码模组,来实现两个字节输入数据的并行8B10B编码,并通过一个极性寄存器缓存运行极性码Run_D的值,用以控制编码结果是否进行取反输出节;并且,在编码表模组中,采用了带有均衡极性码的K字节编码表、3B编码表和5B编码表,结合运行极性码Run_D一起参与的输出编码结果的均衡调节。这样的设计,就避免了使用过多的查询码表,不仅节约了编码表的面积,也使得JESD204B协议中双字节编码结构的极性控制变得更加简单,减少了编码过程的资源消耗和电路复杂度,并大幅提升了编码处理效率。

【技术实现步骤摘要】

本专利技术涉及通信系统,尤其设计一种8b10b编码器及基于8b10b编码的jesd204b协议数据传输方法。


技术介绍

1、随着通信速率的不断提高,并行通信系统由于其线对之间存在较大的耦合、串扰严重、数据同步越来越困难等问题而逐渐被串行通信系统所取代。在串行通信系统中,发送端的发送数据有存在连续多个“0”或连续多个“1”的情况。高速串行总线通常采用在发送端串接电容的方式实现交流耦合,信号的频率越高,电容的阻抗越低。出现连续多个“0”或连续多个“1”的时候可以认为该时段的信号是直流信号,此时电容的阻抗值变大,直流信号被电容滤除,最终会导致接收端无法准确识别发送的是“0”还是“1”。连续多个“0”或连续多个“1”的数据带来了两个问题:1)发送端电流持续偏低或者偏高而导致信号被滤除;2)连续的“0”或者“1”由于缺乏边缘信息给接收端时钟恢复带来了困难。

2、为了维持直流平衡,即使得数据流中的“0”和“1”的数量基本保持平衡,以及方便接收端进行同步时钟的提取,ibm公司提出了8b10b编解码方案。该方案不仅保证了直流平衡和数据流中连续的“0”或“1”不超过5个,丰富了边沿信息,同时冗余的编码方式还带来了一定的检错能力。由于其编解码特性,8b10b编解码方案为ieee 1394b、sata、pci express、infini band、fiber channel、rapidio、usb3.0等串行系统所广泛采用。

3、jesd204b接口协议标准目前正逐步取代传统接口标准,其高速的传输速率以及较少的引脚越来越受到青睐。jesd204b协议的链路层采用了8b10b编解码方案来满足高速传输的要求,保证数据的直流平衡,是jesd204b的重要组成部分。8b10b编码器的速率是实现jesd204b协议对速率要求的重要保证。

4、与传统的8b10b编码不同,jesd204b协议中的8b10b编码具有以下特点:1)数据字符编码中包括d11.7、d13.7、d14.7、d17.7、d18.7、d20.7等一些特殊数据字节;2)8b10b编码只用了5种控制字符,分别为k28.0、k28.3、k28.4、k28.5、k28.7。

5、传统的编码结构实现8b10b编码的方法,在应用场景下并不能达到编码的速率。一方面,传统的8b10b编码实现方法包括直接查表法和纯逻辑实现法;直接查表法虽然实现方便,但资源消耗大,编解码电路的工作速度受到fpga内部存储器读取时间的限制,同时增加了芯片的面积和功耗;而纯逻辑实现法电路复杂,难度大,同时由于冒险、竞争和延时的存在,使输出数据抖动严重,限制了芯片的最高工作速度。另一方面,传统的8b10b编码方法属于单字节编码的方法,一次只能处理一个字节,限制了编码的速度。而且传统的编码方式对先进行5b/6b编码,再进行3b/4b编码,这样的串行编码结构也限制了编码的速度。


技术实现思路

1、针对现有技术存在的上述不足,本专利技术的目的在于提供一种基于8b10b编码的jesd204b协议数据传输方法,在兼顾编码功耗和电路复杂度的同时,提升了8b10b编码器的编码处理速度,用以解决现有的8b10b编码处理速度较慢、编码功耗大和电路复杂问题难以兼顾解决的技术问题。

2、为实现上述目的,本专利技术采用如下技术方案来实现:

3、一种适用于jesd204b协议的8b10b编码器,包括一个极性寄存器、一个编码表模组和两个字节编码模组;所述极性寄存器用于对运行极性码run_d的值进行缓存;所述编码表模组中存储由预先设置的k字节编码表、3b编码表和5b编码表,且所述k字节编码表、3b编码表和5b编码表中均携带有各自编码对应的均衡极性码;所述均衡极性码用于指示相应编码序列中的0、1数量是否均衡;每个所述字节编码模组包括k字节编码模块、d字节编码模块和特殊编码处理模块;所述k字节编码模块用于通过查询k字节编码表对输入的控制字节进行k字节编码;所述d字节编码模块用于通过并行查询3b编码表和5b编码表对输入的非特殊数据字节进行数据编码;所述特殊编码处理模块用于通过并行查询3b编码表和5b编码表对输入的特殊数据字节进行数据编码;并且,所述k字节编码模块、d字节编码模块和特殊编码处理模块均根据当前的运行极性码run_d和均衡极性码决策是否对编码结果进行取反输出,并对运行极性码run_d的值进行更新;所述特殊数据字节是指jesd204b协议中高三位为011或111、或者低五位为00111的数据字节;所述非特殊数据字节是指jesd204b协议中除了所述特殊数据字节以外的数据字节。

4、上述的8b10b编码器中,作为优选方案,所述运行极性码run_d的值为0或1,用于对输出编码结果中的0、1数量进行均衡调节;

5、所述均衡极性码的值为0时用以指示相应编码序列中的0、1数量均衡,均衡极性码的值为1时用以指示相应编码序列中的0、1数量不均衡。

6、上述的8b10b编码器中,作为优选方案,所述k字节编码模块的编码方式为:

7、对于输入的控制字节,采用直接查表法查询k字节编码表得到对应的编码结果,然后获取当前极性寄存器中缓存的运行极性码run_d的值;若运行极性码run_d的值为0,则对查询到的编码结果进行直接输出;若运行极性码run_d的值为1,则对查询到的编码结果进行取反输出;且并行的,利用查询到的编码结果对应的均衡极性码对运行极性码run_d的值进行计算更新。

8、上述的8b10b编码器中,作为优选方案,所述k字节编码模块中,对运行极性码run_d的值进行计算更新的具体方式为:

9、将当前的运行极性码run_d的值与查询到的编码结果对应的均衡极性码进行异或运算,将该异或运算结果值作为更新的运行极性码run_d的值。

10、上述的8b10b编码器中,作为优选方案,所述d字节编码模块包括能够并行运行的3b4b编码单元和5b6b编码单元,以及一个10b编码单元;d字节编码模块的编码方式为:

11、对于输入的数据字节的低五位,由所述5b6b编码单采用直接查表法查询5b编码表;若当前运行极性码run_d的值为0,则以查询到的编码序列直接作为低位编码序列;若当前运行极性码run_d的值为1,则将该编码序列取反作为低位编码序列;

12、同时并行地,对于输入的数据字节的高三位,由所述3b4b编码单元采用直接查表法查询3b编码表;若当前运行极性码run_d的值、所述低位编码序列所对应均衡极性码、以及针对所述高三位查询3b编码表得到的编码序列所对应均衡极性码三者按顺序排列的码值为011或者101,则将该查询3b编码表得到的编码序列取反作为高位编码序列;若为其他情况,则均以该查询3b编码表得到的编码序列直接作为高位编码序列;

13、然后由所述10b编码单元将所述高位编码序列作为编码结果的低位,将所述低位编码序列作为编码结果的高位,拼接形成10b的编码结果进行输出;且并行的,利用查询到的高位编码本文档来自技高网...

【技术保护点】

1.一种适用于JESD204B协议的8B10B编码器,其特征在于,包括一个极性寄存器、一个编码表模组和两个字节编码模组;

2.根据权利要求1所述的8B10B编码器,其特征在于,所述运行极性码Run_D的值为0或1,用于对输出编码结果中的0、1数量进行均衡调节;

3.根据权利要求2所述的8B10B编码器,其特征在于,所述K字节编码模块的编码方式为:

4.根据权利要求3所述的8B10B编码器,其特征在于,所述K字节编码模块中,对运行极性码Run_D的值进行计算更新的具体方式为:

5.根据权利要求2所述的8B10B编码器,其特征在于,所述D字节编码模块包括能够并行运行的3B4B编码单元和5B6B编码单元,以及一个10B编码单元;D字节编码模块的编码方式为:

6.根据权利要求5所述的8B10B编码器,其特征在于,所述D字节编码模块中,对运行极性码Run_D的值进行计算更新的具体方式为:

7.根据权利要求2所述的8B10B编码器,其特征在于,所述特殊编码处理模块包括能够并行运行的3B4B特殊编码单元和5B6B特殊编码单元,以及一个校正编码单元;特殊编码处理模块的编码方式为:

8.根据权利要求7所述的8B10B编码器,其特征在于,所述特殊编码处理模块中,对运行极性码Run_D的值进行计算更新的具体方式为:

9.根据权利要求1所述的8B10B编码器,其特征在于,所述两个字节编码模组分别为第一字节编码模组和第二字节编码模组,两个字节编码模组对运行极性码Run_D的值进行更新的方式为:

10.一种基于8B10B编码的JESD204B协议数据传输方法,其特征在于,采用如权利要求1~9任一项所述的8B10B编码器对输入数据进行8B10B编码打包后,进行数据传输。

...

【技术特征摘要】

1.一种适用于jesd204b协议的8b10b编码器,其特征在于,包括一个极性寄存器、一个编码表模组和两个字节编码模组;

2.根据权利要求1所述的8b10b编码器,其特征在于,所述运行极性码run_d的值为0或1,用于对输出编码结果中的0、1数量进行均衡调节;

3.根据权利要求2所述的8b10b编码器,其特征在于,所述k字节编码模块的编码方式为:

4.根据权利要求3所述的8b10b编码器,其特征在于,所述k字节编码模块中,对运行极性码run_d的值进行计算更新的具体方式为:

5.根据权利要求2所述的8b10b编码器,其特征在于,所述d字节编码模块包括能够并行运行的3b4b编码单元和5b6b编码单元,以及一个10b编码单元;d字节编码模块的编码方式为:

6.根据权利要求5所述的8b10b编码器,其特征在于,所述d字节编...

【专利技术属性】
技术研发人员:李铁虎张明春王爱娟晏恺郭超东张伟黄锦涛曾军
申请(专利权)人:重庆理工大学
类型:发明
国别省市:

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

1