【JESD204系列】七、8B10B编码

 8B10B编码旨在使传输链路保持直流平衡,从而精简了时钟恢复电路(CDR)的设计,使集成电路设计成本降低。该编码方式还规定了一些特殊控制符,可提供误码监测功能。8b/10b 编解码模块一般和串化器/解串器连接,组成SerDes 接口。

【JESD204系列】七、8B10B编码

为什么要8B10B编码

简单的说是为了实现直流均衡。在高速串行通信中,8B/10B编码是一种经常用到的编码方式。而高速串行总线中,通常采用交流耦合方式,即在发送端(TX)串接电容,根据电容“隔直流,通交流”的特性,或者理想电容的阻抗公式:Zc=1/2πfc
信号频率越高,电容阻抗越低。当数据位流中出现多个连续的1或0时,可以认为该时间段信号是直流的,电容的损耗变大,导致信号的幅度降低,直流信号被滤除,到最后无法识别是1还是0。而且接收端收到连续的1或0时,没有充分的定时信息,对接收端的解码带来了困难。其原理如下图所示:

在这里插入图片描述

8B10B编码

根据JESD204B 协议规定,在数据被传输之前要先经过8B/10B 编码,属于mB/nB 编码中的一种。由于数据序列传输过程中,如果出现较长的连续“0”或者连续“1”序列,将对时钟信息的提取恢复产生不利影响。因此为了时间信息提取较为容易,应该避免较长的连续“0”和“1”,并且尽量提高电平跳变的密度。同时,对于直流分量来说,“1”和“0”随机变化,导致直流分量也做随机变化,这对数字信号的判决和恢复带来了一定的困难。

因此,在JESD204B 协议中使用8B/10B 编码,将输入的8 位数据根据特定的规则,转换成10 位的数据,并通过此种方式实现直流平衡,同时保证足够的电平转换密度。该编码方式主要具有以下特点:
1.足够的电平转换密度,在十位的字符中有3到8次电平转换,确保接收端对时钟信号的恢复。
2.可以使用控制字符对传输过程进行控制,如对齐,标识帧起始和结束等。
3.保证直流平衡。
4.可以对单比特错位进行检错。

具体的编码方式是,将待编码的8bit 数据按照顺序从最高有效位MSB 到最低有效位LSB 依次排列,分别记为HGFEDCBA,并且高三位HGF分为一组,记为y 组,低五位EDCBA 分为一组,记为x 组。分别对y 组进行3B/4B 编码,得到的数据记为jhgf。对x 组进行5B/6B 编码,得到的数据记为iedcba。然后将以上两组数据组合起来进行传输,其中传输从LSB 开始。如下图所示。
在这里插入图片描述

其中8 位数据可以根据对应x 组和y 组的数值,记为𝐷𝑥.𝑦或者𝐾𝑥.𝑦,其中D 代表数据,K 代表控制字符。进行对应的3B/4B、5B/6B 编码时,具体的编码映射表如下表所示。
3B/4B 编码映射表

表中的RD 为运行不一致性(Running Disparity),用以表示编码中“1”和“0”的数量差,即RD=数据中0的数量减去1的数量。如前文所说,使用8B/10B 编码的一大原因就是因为这种编码方式可以保持直流平衡,因此要使用RD 这一参数对编码过程进行控制,一般RD 的初始值设为-1。在不同的当前RD值时,编码方式也会对应的有所不同。具体来说,在进行编码时,3B/4B 编码和5B/6B 编码的编码结果位数都是偶数。因此,其中所能包含的“0”和“1”的个数差,只有三种可能出现的结果:“0”和“1”的个数一样多,即差值为“0”;“0”比“1”的个数多两个,即差值为“+2”;“0”比“1”的个数少两个,即差值为“-2”。
从表中可以发现,对于y=7 时,存在Dx.P7、Dx.A7 两种编码方式,这是因为在不同的RD 取值时,对应一些特定的x 值,编码之后可能会出现五个0 或者五个1 相连的情况,而这种特殊情况是用来在串行数据流中定位开始位置的,也就是说只允许规定的特殊字符如/K/、/F/在编码后出现连续五个0 或者五个1,以实现对数据流的定位。因此为了避免发生混淆,普通字符在编码后不能出现这种连续的五个0 或1,此时就要选用Dx.A7 的编码方式。具体来说,当RD=-1 且x=17,18,20 时,以及RD=+1 且x=11,13,14 时,编码后会出现上述情况,因此此时要对y=7 采用Dx.A7 的编码方式,其余情况正常使用Dx.P7 进行编码。总的来说,如果当前RD 值为-1,则使用“+2”对应的编码方式,则编码后的数据RD 值即为+1。同理,当前RD 值为+1 时使用“-2”对应的编码方式,当前RD值为0 时使用“0”对应的编码方式,从而确保编码结果中RD 值只有-1、0、1 三种取值,也就是“0”和“1”的个数相差不超过2个,从而保证直流平衡。编码过程中的RD 取值变化如下图所示:
在这里插入图片描述

5B/6B 编码表如下表所示:
在这里插入图片描述

如前文所说,8B/10B 编码中包含了多个控制字符,JESD204B 使用其中的五个控制字符对传输过程进行控制,如下表所示:

字符简写字符编码前数值RD=-1时编码结果RD=+1时编码结果功能说明
/R//K28.0/000_11100001111_0100110000_1011多帧开始
/A//K28.3/011_11100001111_0011110000_1100通道对齐
/Q//K28.4/100_11100001111_0010110000_1101链路配置数据开始
/K//K28.5/101_11100001111_1010110000_0101组同步
/F//K28.7/111_11100001111_1000110000_0111帧同步
  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值