8B/10B编码解析或者说是理解

 

8B10B编码表可以查看链接:https://blog.csdn.net/weixin_36590806/article/details/109822204

8b10b解码verilog代码:ttps://blog.csdn.net/weixin_36590806/article/details/111059629

8b10b编码verilog代码:https://blog.csdn.net/weixin_36590806/article/details/111059582

转载:https://blog.csdn.net/weixin_36590806/article/details/109518493

本文就说下我自己对8B/10B的理解;

 

8b/10b最常见的是应用于光纤通讯和LVDS信号的。由于光模块光模块只能发送亮或者不亮,也就是0或者1这两种状态这种单极性码,那么这会存在一个问题,如果传输中出现较长的连0或者连1(例如111111100000000),那么接收端将没有办法正确的采样识别信号,另外还会由于单极性码含有直流分量,这种直流成分会随数据中1和0的随机变化也呈现随机性,这会引起接收端的基线漂移导致接收端误判。LVDS信号一样会存在这个问题,随着线路上的信号频率越来越高,如果线路上的0和1数量不均衡(直流不平衡)那么线路上的基电压会出现偏移,一样会导致解码错误。

总之一句话,8b/10b是为了解决直流平衡而推出的。

8B/10B编码是加扰二进制码的一种,在此之前这种技术已得到应用,只是没有像8B10B那么普遍。目前采用8b/10b编码的串行高速接口总线有IEEE 1394b、SATA、PCI Express、Infini-band、Fiber Channel、RapidIO、USB3.0、MIPI M-phy 等。

 

8b/10b编码方式详解

8b/10b编码的位域映射关系

编码前的原始数据以字节为单位,每字节数据从高到低位用HGFEDCBA表示,首先将8b拆为高3位HGF,低5位EDCBA,然后将HGF从3bit编码成4bit,编码后的4bit用jhgf表示,将EDCBA从5bit编码为6bit, 编码后后的6bit为iedcba, 将编码的4bit和6bit拼在一起即为10bit jhgfiedcba,发送时由于是小端模式,因为表示为abcdeifghj,如图下:


通常人们会将编码前低位的5bit EDCBA按其十进字数值计为X,高位的3bit HGF按其十进制数值为计Y,把这8bit数据计为D.x.y。在进行传输时我们除了传输数据本身,我们还需要嵌入一些控制信号,控制信号则依上面的规则计为K.x.y(称之为“comma”)。这里会有一个疑问,D.x.y中的x最多到D.31.y,y最多到D.x.7,xy都被数据占完了,还用什么表示控制码的K.x,y,下面一一道来。

3b/4b和5b/6b码表

8bit原始数据有256个码,而编码后的10b数据有1024码,这里面肯定有很多是用不着的,那么具体到一个8bit的数据编码到什么样的10bit数据能够尽可能的做到直流平衡?这个可以自己去推导,也可以直接查表。

symbol列表示可读命名, EDCBA是原始5b,abcdei是编码后的6b, HGF是原始3b, fghj是编码后4b。这个表中Symbol列以D开头的行是数据的编码,以k开头的是控制符号的编码。看到这里应该就明白了用什么表示k.x.y,因为5b6b码表中除了K28.y外其它几个码值的K和D的x码值是共用的,如D.K/23,这种情况下用以区分数据和控制符的其实是在3b4b码表的D.x.7,D.x.7有两个编码一个是主编码D.x.P7,另一个是D.x.A7。关于控制码也有一个专门的码表,如下:

从控制符码表可以看到k.28.y本身的K.28跟D.28是不同的码值。K27.y, K29.y,K30.y的编码由于y=7存在两种编码,也不冲突。

但上面的码表有个疑问表上的RD表示什么呢?从码表上可以看到在4bit的子分组中,16种编码中只有6 种是完美平衡(0,1个数相等)的,这对于3bit的8种编码值是不够的。 同时,在6bit的子分组中也只有20种编码是完美平衡的,对于5bit的32种编码值也是不够的。RD( running disparity)极性偏差就是用来表示0,1的不平衡性的,

编码时,数据不断地进入8b10b编码器生成10b数据,前面所有已编码的10b数据不一致性累积产生的状态就是运行不一致性(Runing Disparity)就是RD。RD仅会出现+1与-1两种状态,分别代表位”1”比位”0”多或位”0”比位”1”多,其初始值是-1。根据Current RD的值来决定5B/4B和 3B/4B编码映射。

这样,经过8B/10B编码以后,连续的“1”和“0”基本上不会超过5bit,只有在使用comma时,才会出现连续的5个0或1。

  • 7
    点赞
  • 80
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
8B10B编解码器在PCI_Express总线中的实现_林锦棠.pdf 8B_10B编码器新型算法结构的设计与实现_王方.pdf 8B_10B编码器的设计及实现.pdf 8B_10B编码器的设计及实现_李宥谋.pdf 8B_10B编码对高速传输的影响分析_李玉伟.pdf 8b_10b编解码器设计及其在测井系统中的应用_许磊.pdf A Novel Stochastic Model-Based Eye-Diagram Estimation Method for 8B10B and TMDS-Encoded High-Speed Channel.pdf An 8b10b Encoding SerializerDeserializer (SerDes) Circuit for High Speed Communication Applications Using a DC Balanced, PartitionedBlock, 8b10b Transmission Code .pdf Bienfang-2004-Quantum-key-distribution-with--gbps.pdf DC-balanced line encoding for optical labeling scheme using orthogonal modulation.pdf Design of Physical Coding Sublayer using 8B10B Algorithm .pdf Eye-Diagram Estimation with Stochastic Model for 8B10B Encoded High-Speed Channel.pdf JESD204B中的8B_10B编码器设计_何基.pdf JESD204B接口中8B10B解码电路quad_byte设计_霍兴华.pdf JESD204B接口协议中的8B10B编码器设计_霍兴华.pdf PCI_Express中8b_10b编码解码器的设计与实现_许军.pdf Power Optimization of High Speed Pipelined 8B10B Encode.pdf SATA高速串行总线8B_10B编解码模块设计新方法_申慧军.pdf The Implementation of High-speed Data Transmission for 8B10B Protocol on FPGA.pdf www.cn-ki.net_一种新的8B_10B编解码方案设计与实现.pdf 一种使用纠错技术的8B_10B编码器设计_王方.pdf 一种具有查错功能的10B_8B解码器设计_邹陈.pdf 一种基于FPGA的8B_10B编解码电路的设计与实现_武小强.pdf 一种新的8B_10B编码器的设计方法_洪波.pdf 一种新的8B_10B编码器设计_舒志兴.pdf 一种新的8B_10B编码电路设计_刘智.pdf 一种新的8B_10B编解码方案设计与实现_孙科达.pdf 一种新的8B_10B编解码设计_刘文杰.pdf 一种新的光纤通信8B_10B编解码实现方法研究_戴居丰.pdf 万兆以太网中64B_66B编解码的硬件实现方法_周晴伦.pdf 光纤通道8B_10B编码的ASIC研究与设计_唐兴.pdf 光纤通道8B_10B编解码模块设计_陈孟杰.pdf 千兆以太网中的8B_10B编解码的CPLD实现技术_敬伟.pdf 基于FPGA的64B_66B编解码设计与实现_王向阳.pdf 基于FPGA的8B_10B编码器的设计与实现_靳鹏.pdf 基于FPGA的8B_10B编解码设计_陈锋.pdf 基于FPGA的万兆以太网接口的设计与实现_李伟.pdf 基于FPGA的串行64B_66B编解码IP核设计与研究_庞志锋.pdf 基于PRBS检测的8B_10B编码器设计_吴光珩.pdf 基于PRBS检测的8B10B编码器设计.pdf 基于逻辑设计的光纤通信8B_10B编解码方法研究_赵文虎.pdf 快速建立时间的自适应锁相环_黄水龙.pdf 新型8B_10B编码方案的设计与实现_常红.pdf 星载电子标准化总线接口底层模块设计_3_3_2编码模块设计_31_34_张磊_3.pdf 星载电子标准化总线接口底层模块设计_3_3_3发送子模块设计_34_38_张磊_.pdf 解码.pdf 采用并行8b_10b编码的JESD204B接口发送端电路设计_李长庆.pdf 面向2.5G+SerDes的8b10b编解码电路设计与测试.pdf
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值