当前位置:首页 > EDA > 电子设计自动化
[导读]摘要:为提高8B/10B编解码的工作速度和简化逻辑方法,提出一种基于FPGA的8B/10B编解码系统设计方案。与现有的8B/10B编解码方案相比,该方案是一种利用FPGA实现8B/lOB编解码的模块方法,接收模块在收到外部发送的

摘要:为提高8B/10B编解码的工作速度和简化逻辑方法,提出一种基于FPGA的8B/10B编解码系统设计方案。与现有的8B/10B编解码方案相比,该方案是一种利用FPGA实现8B/lOB编解码的模块方法,接收模块在收到外部发送的并行数据时,通过直接查找映射的方法转换成利于传输的串行信号。串行信号经串并行转换模块,将数据经10B/8B解码模块解码还原成原始数据。为了更好实现数据的传输,系统加入了极性偏差RD控制。结果表明,该8B/10B编解码系统设计方案传输数据稳定,满足设计要求。
关键词:串行数据传输;8B/lOB编解码;极性偏差(RD);VHDL

    随着通信技术的发展,在复杂的电磁环境下正确传输数据受到人们的关注,因此性能优异的光纤通讯越来越受到青睐,而误码率要满足设计需求,关键在于串行传输数据所选用的编码方法。
    8B/10B编解码技术是主流传输标准的编解码技术之一,广泛应用于高速串行标准中,例如光纤通道1、PCI-Express、串行ATA、1394b等。8B/10B编解码技术设定传输数据流拥有连续“l”或连续“0”不能超过5个,保证传输的直流成分接近0,基线漂移减至最小,避免因接收端时钟漂移或同步丢失而引起数据丢失。8B/10B编码方法具有DC补偿功能,能够保证链路中不随着时间推移而出现DC偏移。这使得信号的转换不会因电压位阶的关系造成信号错误。8B/10B编码采用冗余方式,将8位的数据和一些特殊字符按照特定的规则编码成10位的数据,根据这些规则,能检测出传输过程中发生错误的信息。通过以上各种措施,8B/10B编码方式能够确保数据在高速传输过程中正确传送和识别。
因此这里提出一种利用FPGA实现8B/lOB编解码系统设计方案。

1 系统设计总体设计
1.1 系统设计结构
    该系统是基于FPGA设计的8B/10B编解码器,首先系统接收外部发送的8B并行数据,在8B/10B编码模块中完成编码后,再通过10B数据并串转换模块生成利于传输的10B串行信号。这样8B/10B编码模块和10B并串转换模块构成8B/lOB编码器。编码端发送的10B串行信号经过传输线路传输后被lOB数据串并行转换模块所接收,转换完成的10B并行数据再通过1OB/8B解码模块解码完成后即是还原后的原始数据。这样lOB串行数据到10B并行数据转换模块和1OB/8B解码模块就构成了1OB/8B解码器。图1为系统设计框图。


1.2 设计方案
    8B/10B编解码器通常有两种设计方法:一种是用查找表直接将8位信号映射成lO位信号,该方法是采用存储器存储所有可能出现的码组,再将输入码组转换为存储地址,找出对应的编解码。这种方法逻辑简单,开发时间很短;另一种是通过逻辑运算直接实现编解码功能,其优点是明显减小内部使用面积,但逻辑关系复杂。从系统优化考虑把1节8 bit字节拆分成3 bit和5 bit,然后在极性偏差RD(running dis-
parity)控制器的控制下以并列方式编解码。这种方法的组合逻辑实现可以简化码表,减小电路板的面积,有效提高编码工作速度,同时由于电路板的面积减小,功耗显著降低。这里采用第1种方法,同时结合第2种方法的设计思路。

2 系统软件程序设计
2.1 8B/10B编码模块


    8B/10B编码模块是整个系统主体部分之一,该模块在逻辑上又分成3B/4B编码模块、5B/6B编码模块、RD控制模块等3部分,如图2所示。编码器首先将接收到的8B数据分成3 bit和5 bil两部分,然后分别编码成4 bit和6 bit,编码完成的4 bit和6 bit再按顺序组合成lOB码。整个系统首先将3 bit编码成4 bit,RD控制器读出4 bit数据的RD值,然后反馈控制5B/6B编码模块选择合适的编码。最终RD控制器判断10B数据的RD值,若满足要求则输出,否则将报错。系统采用的编码列表主要包括以下4种编码:
    1)“1”和“0”相邻的完美平衡代码 例如,通过查找3B到4B(简称3B/4B表)与5B到6B编码表(简称5B/6B表)可知,如编码“1001”与编码“010101”,该类编码的RD值为0而且与其他任何形式的代码组合都不会出现RD值超过±2或者连续的“0”“1”超过3个的情况,所以该类代码采用一对一的关系。
    2)“l”和“O”有间隔的完美平衡代码 例如,3B/4B表的编码-3“1100”和“0011”与5B/6B表编码-7“111000”和“000111”,该类编码的RD值为O,与其他代码组合不会出现RD值超过±2的情况,但是会出现过多的连续“0”“l”的情况。所以该类代码采用一对二的关系。例如5B/6B表的编码-7,如果采用“111000”和4B码末位为“1”的代码组合就会出现连续的“1”超过3的情况,此时就应该采用“000-111”来避免该情况的发生。
    3)“l”和“0”有间隔的不平衡代码 例如3B/4B表的编码4-“0100”和“1011”、“0010”和“110l”,5B到6B编码表的编码4-“110-101”和“001010”,该类编码的RD值是+2或者-2,与其他代码组合有可能出现RD值为±4的情况,所以该类代码也采用一对二的关系。例如5B/6B表的编码4,如果与RD值为+2的4B代码组合时就采用RD值为-2的“001010”代码,反之与RD值为-2的4B代码组合时就采用RD值为+2的“110101”代码。如果与RD值为0的代码组合时就随意采用一个代码即可。
    4)3个连续“1”或“O”的不平衡代码 例如3B/4B表的编码7-“0001”“lll0”“1000”“0111”,该类代码与其他代码组合时的RD值问题同于第三类代码的处理方法,为了防止更多连续“l”或“0”出现,提供了4种代码选择,结合具体情况特殊考虑。
    通过上述对编码代码列表的讨论,不难看出在实际的程序设计中需要避免如下3种情况出现:RD值为+2的4B代码和RD值为+2的6B代码组合;RD值为-2的4B代码和RD值为-2的6B代码组合;连续4个或4个以上的“0”“l”的代码。前两种情况可通过代码分组4B和6B代码,轮流选择6B和4B代码的方法,该方法可以通过状态机实现。程序流程如图3所示。


2.2 10B并串转换模块
    该模块主要完成10B并行数据到lOB串行数据的转换功能,lOB串行数据的数据格式为:l bit低电平起始位、10 bit数据位、l bit高电平停止位、2 bit高电平数据空码。生成一个完整的10B串行数据包含4个状态,生成起始位、转换10 bit数据位、生成停止位、生成数据空码。
2.3 10B串并行转换模块
    该模块主要完成10B串行信号到10B并行信号的转换,10B信号的串并转换模块主要是要从14 bit的串行信号中挑出10 bit的有效数据位,过程中首先要判断起始位(而不是任意一个低电平),然后采集10 bit的有效数据位,完成后等待下一个起始位。程序同样是通过状态机来实现整个过程的流通。
2.4 10B/8B解码模块
    解码模块根据系统要求可分为6B/5B解码模块、4B/3B解码模块和误码检测模块。解码模块相对编码模块而言逻辑过程要简单的多,该模块首先将10 bit信号分割成4 bit和6bit两部分(高低位必须和编码端对应),然后4 bit和6 bit数据根据编码列表分别解码成3 bit和5 bit,在解码过程中判断是否有误码产生有则报错,无则并行输出。图4给出了1OB/8B解码模块的逻辑框图和程序设计流程如图4所示。

3 系统仿真结果分析
    待完成整套的8B/10B编解码器模块连接后,对整体程序进行仿真验证,其结果如图5所示,其中clkl为编码和解码模块的时钟引脚,elk2为1OB串并转换和10B并串转换模块的时钟引脚,rst为整个系统的异步复位引脚,datin[7..0]为待传输的8 bit并行数据,datout[7..0]为传输完成的8 bit并行数据,error为解码端误码检测报警引脚,wrong为编码端出错报警引脚。还有3个引脚是系统不必要的但是为方便调试而引出的,outl[9..0]为10B串并转换完成的10B并行信号,out3为10B并串转换完成的10B串行信号,out2[9..0]为8B/10B编码完成的10B并行信号。


    由图5可看出:输入数据datin为“10101110”,经过8B/10B编码完成的数据out2为“0111001010”,8B/10B编码模块出错报警引脚为“0”,10B并串转换输出的串行数据out3为“00111001010111”,10B串并转换输出的并行数据outl为“0111001010”,1OB/8B解码完成的输出数据datout为“10101llO”,结合整个系统的工作过程和编码列表不难看出系统正确的完成了编码和解码的功能,能满足设计任务的需要。

4 结束语
    本文提出一种利用FPGA实现8B/10B编码和10B/8B解码设计的方法,介绍了8B/10B编解码技术,实现了8B/10B的正常编解码和接口串并、并串转换的设计,在FPGA的控制下能实现数据的传输,满足了实际设备中所提出的要求。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭