64B/66B编码

一、前言

8B/10B编码主要作用的优化直流平衡,从8bit中插2个bit进去,这样的话最终效果能够使长0或者长1的位数不超过5位,达到很好的效果。但是由于8B/10B编码的带宽利用率非常低,10G的带宽只有8G在传输有效数据,2G的带宽全部浪费掉了。所以需要一种带宽利用率高的编码。

64B/66B的带宽利用率为64/66=96.9%,所以64B/66B能避免过高的带宽浪费。

以下引自:64B/66B编码技术-CSDN博客

64B/66B编码技术是IEEE802.3工作组为10G以太网提出的,目的是减少编码开销,降低硬件的复杂性,并作为8B/10B编码的另一种选择,以支持新的程序和数据。它并不是真正的编码,而是一种基于扰码机制编解码方式,这种编码方式,是IEEE推荐的10G通信的标准编码方式。

当前,64B/66B编码主要应用于FiberChannel 10GFC和16GFC、10G以太网、100G以太网、10G EPON、InfiniBand、Thunderbolt和Xilinx的Aurora协议。

二、64B/66B编码原理

64b/66b编码主要是将64b的数据或者控制数据编码成66b数据,编码过程是在64b的数据或控制信息前面加入2bit数据,这2bit所代表的含义如下:

00:编码错误 

01:64bit为纯数据 

10: 64bit为控制数据或者数据与控制数据的混合

00:编码错误

在编码过程中,如果传输正常只会出现01 和 10

编码过程如下:

①  对于纯数据Pure data

 同步头:01,后面的信息:8*8=64bit数据

 ②  对于纯控制Pure Control (Type = 0x1E

同步头:10,后面的信息:8bit类型表示+7*8控制信息

 ③  对于数据和控制信息的混合

 同步头:10,后面的信息:数据信息和控制信息的混合.主要用来对不是8 Byte的帧进行帧对齐。一共有8种对齐方式。其中,D表示数据编码,每个数据码8bit;Z表示控制码,每个控制码7bit;S表示包的开始,T表示包的结束。S只会出现在8字节中的第0和第4字节,T能够出现在任意的字节。

64B/66B全部编码格式图如下图所示:

一个18 bytes的数据块的传输过程如下图所示

从图中我们可以直观的看到,在数据的传输过程中,我们需要用到两个控制帧,一个是开始部分的控制帧,用来告诉接收方这是某一个数据块的开始,还要有的是一个用来表示结束的控制帧,告诉接收方该数据块到此结束。

三、扰码

64b/66b编码中对于开始帧和结束帧之间的纯数据帧,有可能会出现会出现长连“0”或者长连“1”的情况,所以64b/66b直流平衡的性能很差。但是64b/66b编码采用加扰的方式减小这一影响。

加扰就是一种将数据重新排列或者进行编码以使其最优化的方法,他的作用是对数字信号的比特级进行随机处理,减少连0和连1的出现,从而减少码间干扰和抖动,方便接收端的时钟提取;同时又扩展了基带信号频谱,起到加密的效果在统计结果上,会使得“0”和“1”出现的概率相同。

扰乱虽然改变了原始传送码流,但这种扰乱是有规律的,因而也是可以解除的,在接收端解除这种扰乱的过程称为解扰。完成扰码和解扰的电路相应称为扰码器和解扰器。

64B/66B自同步扰码实现随机化,编码所使用的扰码器为: X58+X39+1

扰码的数学原理使用了多项式,多项式的选择通常是基于扰码的特性,包括生成数据的随机度,以及打乱连0和连1的能力。一个简单的扰码器包含一组排列好的触发器,用于移位数据流。大部分的触发器只需要简单地输出下一个比特流即可,但是在复杂的扰码电路中,触发器需要与数据流中的历史比特进行逻辑运算(与和或运算)。基本的扰码电路如下所示。。

在GT Transceiver 中,Gearbox提供64b/66b、64b/67b编码的功能。

四、对比 

从上图可以看出,8B/10B长连0的最大个数为5,拥有出色的直流平衡和位同步时钟恢复能力,64B/66B主要取决于加扰的方式。对于字同步,8B/10B用K码来进行字同步,而64B/66B使用两位同步头进行同步,控制字符,8B/10B用K码来进行,而64B/66B采用同步头为10控制帧进行控制。

五、总结

64B/66B编码使用扰码的方式,在统计分布上,使得“0”和“1”出现的概率相同,减小连续出现的情况。但是这种方式在微观上并不像8B/10编码对于所有的码型都合适,具体还要看扰码器接收器的能力。但是64B/66B毫无疑问提高的带宽的利用率,这方面在更高速的传输环境下更具有优势。

  • 28
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值