新闻中心

EEPW首页>EDA/PCB>设计应用> 基于FPGA的8B/10B编解码设计

基于FPGA的8B/10B编解码设计

作者: 时间:2010-08-06 来源:网络 收藏

2.2并串转换模块
该模块主要完成并行数据到lOB串行数据的转换功能,lOB串行数据的数据格式为:l bit低电平起始位、10 bit数据位、l bit高电平停止位、2 bit高电平数据空码。生成一个完整的串行数据包含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所示。

本文引用地址://m.amcfsurvey.com/article/191634.htm

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


上一页 1 2 3 下一页

关键词:FPGA10B编解码

评论


相关推荐

技术专区

关闭