System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于FPGA的CML接口协议编码系统及方法技术方案_技高网

一种基于FPGA的CML接口协议编码系统及方法技术方案

技术编号:41326594 阅读:5 留言:0更新日期:2024-05-13 15:04
本公开实施例是关于一种基于FPGA的CML接口协议编码系统及方法。该系统包括:FPGA协议编码器模块和FPGA高速收发器接口本公开数据缓存子模块用于数据存储和速率匹配,协议预处理子模块对控制信号进行初步的分类,协议控制子模块按照接口协议控制规则将控制信号编码成控制字符,8B/10B编码子模块完成控制字符和数据字符的8B/10编码,RD极性计算子模块实时计算编码后数据帧的RD极性,供8B/10B编码子模块及协议控制子模块使用满足编码中对极性的要求。FPGA高速收发器接口采用电流型逻辑电路模式,使用差分信号对数据进行传输。

【技术实现步骤摘要】

本公开实施例涉及高速串行数据传输接口协议编码,尤其涉及一种基于fpga的cml接口协议编码系统及方法。


技术介绍

1、接口协议编码是高速串行数据传输中至关重要的一部分,在高速串行数据传输中,由于采用了bit流方式进行数据传输,为了避免出现连续的0或者1,来保证dc平衡,并拥有足够的位转换密度来保证时钟恢复,需要对接口协议进行编码,包括控制信息编码以及字符编码。

2、当前cml接口协议编码主要是采用cml接口芯片实现,cml接口芯片能将并行数据以及控制信号编码之后转换为串行数据,以满足高速串行数据传输的要求。但是传统的cml接口芯片通常采用固定的接口协议编码方式,这种刚性的协议编码方式可能会降低通信系统的灵活性,此外,在高密度电子系统中,cml接口芯片通常会占据大量电路板的空间,限制了其他电路元件的布局和整体系统的设计,导致电路板复杂性的增加。

3、相关技术中,有使用fpga的高速收发器实现cml接口的方法,但均依赖于fpga高速收发器内置的8b/10编码器,且无协议适配模块。


技术实现思路

1、为了避免现有技术的不足之处,本专利技术提供一种基于fpga的cml接口协议编码系统及方法,用以解决现有技术中存在现有的fpga的高速收发器实现cml接口的方法,依赖于fpga高速收发器内置的8b/10编码器,且无协议适配模块,致使适应性太差的问题。

2、根据本公开实施例的第一方面,提供一种基于fpga的cml接口协议编码系统,该系统包括:

3、fpga协议编码器模块和fpga高速收发器接口;

4、其中,所述fpga协议编码器模块包括数据缓存子模块、协议预处理子模块、协议控制子模块、rd极性计算子模块和8b/10b编码子模块,所述数据缓存子模块的发送端分别与所述协议预处理子模块的接收端和所述8b/10b编码子模块的接收端连接,所述协议预处理子模块的发送端与所述协议控制子模块的接收端连接,所述协议控制子模块的发送端与所述8b/10b编码子模块的接收端连接,所述rd极性计算子模块和所述8b/10b编码子模块交互连接,所述rd极性计算子模块的发送端与所述协议控制子模块的接收端连接,所述8b/10b编码子模块的发送端与所述fpga高速收发器接口的接收端连接。

5、进一步的,所述fpga协议编码器模块采用verilog硬件描述语言实现。

6、进一步的,所述fpga高速收发器接口采用电流型逻辑电路模式,使用差分信号对数据进行传输。

7、进一步的,所述数据缓存子模块用于数据存储和速率匹配,所述协议预处理子模块用于对控制信号进行初步的分类,所述协议控制子模块用于按照接口协议控制规则将所述控制信号编码成控制字符,所述8b/10b编码子模块用于完成所述控制字符和数据字符的8b/10编码,所述rd极性计算子模块用于计算编码后数据帧的rd极性,供所述8b/10b编码子模块以及所述协议控制子模块使用满足编码中对极性的要求。

8、根据本公开实施例的第二方面,提供一种基于fpga的cml接口协议编码方法,该方法包括:

9、定义用户接口和协议编码规则;其中,所述用户接口包括时钟信号、复位信号、控制信号、数据信号和状态信号,所述协议编码规则包括控制信号进行编码的规则;

10、将用户数据和控制信号共同送入数据缓存子模块中,由所述数据缓存子模块进行缓存和速率匹配;其中,所述数据缓存子模块采用异步fifo实现,在复位信号结束;fifo数据不满时,所述用户数据和所述控制信号被写入所述fifo,在协议预处理子模块初始化完成后;所述fifo数据不空时,所述用户数据和所述控制信号将按顺序被读出,所述fifo实时监测所述fifo数据的空满状态,并输出给所述用户接口;

11、所述fifo中读出的所述fifo数据进入所述协议预处理子模块中,所述协议预处理子模块通过协议控制状态机实现控制信号的分类;其中,所述协议控制状态机初始工作在空闲状态,输出空闲码类型,随后根据用户控制信息决定下一个跳转状态,同时输出码类型给协议控制子模块;

12、所述协议控制子模块接收到码类型符号后合极,在所述协议控制状态机中结合rd值,生成待编码字符给8b/10b编码子模块进行字符编码;

13、所述8b/10b编码子模块收到所述待编码符号后先识别所述待编码符号为特殊字符或普通字符;若为所述特殊字符结合rd值,根据8b/10b编码表,直接输出编码值;若为普通字符,则先根据极性值以及数据的低5位进行5b/6b编码,再计算6b极性对高3位进行3b/4b编码,最后对所述5b/6b编码和所述3b/4b编码数据拼接形成最后的编码值,在对所述5b/6b编码后,标记此时的数据极性,输出至rd极性计算子模块;

14、所述rd极性计算子模块接收到所述8b/10b编码子模块输出的所述5b/6b编码后的极性,再计算所述3b/4b编码数据的极性,给出最终的编码极性,供所述协议控制子模块和所述8b/10b编码子模块使用。

15、进一步的,该方法还包括:

16、对fpga高速收发器接口ip核进行配置;

17、其中,所述配置中旁路掉内置的8b/10编码器,保留并串转换电路,以完成数据的传输功能。

18、本公开的实施例提供的技术方案可以包括以下有益效果:

19、本公开的实施例中,通过上述基于fpga的cml接口协议编码系统及方法,数据缓存子模块用于数据存储和速率匹配,协议预处理子模块对控制信号进行初步的分类,协议控制子模块则会按照接口协议控制规则将控制信号编码成控制字符,8b/10b编码子模块完成控制字符和数据字符的8b/10编码的功能,rd极性计算子模块可实时计算编码后数据帧的rd极性,供8b/10b编码子模块以及协议控制子模块使用满足编码中对极性的要求。fpga高速收发器接口采用电流型逻辑电路模式,使用差分信号对数据进行传输。fpga协议编码器模块采用verilog硬件描述语言实现,电路设计时可以省略掉接口芯片,减少电路板面积;另外,利用fpga逻辑实现,比较灵活,且根据协议适当修改就可以使用,适用性强。

本文档来自技高网...

【技术保护点】

1.一种基于FPGA的CML接口协议编码系统,其特征在于,该系统包括:

2.根据权利要求1所述基于FPGA的CML接口协议编码系统,其特征在于,所述FPGA协议编码器模块采用Verilog硬件描述语言实现。

3.根据权利要求2所述基于FPGA的CML接口协议编码系统,其特征在于,所述FPGA高速收发器接口采用电流型逻辑电路模式,使用差分信号对数据进行传输。

4.根据权利要求3所述基于FPGA的CML接口协议编码系统,其特征在于,所述数据缓存子模块用于数据存储和速率匹配,所述协议预处理子模块用于对控制信号进行初步的分类,所述协议控制子模块用于按照接口协议控制规则将所述控制信号编码成控制字符,所述8B/10B编码子模块用于完成所述控制字符和数据字符的8B/10编码,所述RD极性计算子模块用于计算编码后数据帧的RD极性,供所述8B/10B编码子模块以及所述协议控制子模块使用满足编码中对极性的要求。

5.一种基于FPGA的CML接口协议编码方法,其特征在于,该方法包括:

6.根据权利要求5所述基于FPGA的CML接口协议编码方法,其特征在于,该方法还包括:

...

【技术特征摘要】

1.一种基于fpga的cml接口协议编码系统,其特征在于,该系统包括:

2.根据权利要求1所述基于fpga的cml接口协议编码系统,其特征在于,所述fpga协议编码器模块采用verilog硬件描述语言实现。

3.根据权利要求2所述基于fpga的cml接口协议编码系统,其特征在于,所述fpga高速收发器接口采用电流型逻辑电路模式,使用差分信号对数据进行传输。

4.根据权利要求3所述基于fpga的cml接口协议编码系统,其特征在于,所述数据缓存子模块用于数据存储和速率匹配,所...

【专利技术属性】
技术研发人员:史俊锋汪平平郭华昌党群
申请(专利权)人:西安爱生技术集团有限公司
类型:发明
国别省市:

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

1