首页专栏详情
打赏
8B/10B、64B/66B编解码(二)
易百纳技术社区 david 2021-12-24 09:00:25

8b/10b编码的特性之一是保证DC平衡,可使得发送的0、1数量保持基本一致(具体原理上文8B/10B、64B/66B编解码(一)已经分析),但原本8位的字节用10位来表示,会使8B/10B编码的开销太大,带宽利用率并不高,因此64B/66B应运而生。

64B/66B编码将64bit“数据或控制信息”编码成66bit块来进行传输,这66bit中,前两位表示同步头(2bit Sync Header),主要用于接收端的数据对齐和接收数据位流的同步,同步头有“01”和“10”两种,“01“表示后面的64bit都是数据,“10”表示后面的64bit是数据和控制信息的混合,其中紧挨着同步头的8bit是类型域,而后面的56bit是数据、控制信息与数据的混合。

  • 对于纯数据Pure data
  • 对于纯控制Pure Control (Type = 0x1E)

  • 对于数据和控制信息的混合
64B/66B编码格式图如下图所示,其中D表示数据编码,每个数据码8bit;Z表示控制码,每个控制码7bit;S表示包的开始,T表示包的结束。

S只会出现在8字节中的第0和第4字节,T能够出现在任意的字节。
除同步码外,64bit的数据必须经过扰码以后才能进行传输。64B/66B编码所使用的扰码器为X58+X39+1。

       一个18 bytes的数据块的传输过程如下图所示:
64B/66B并不是真正的编码,而是一种基于扰码机制编解码方式,这种编码方式是IEEE推荐的10G通信的标准编码方式。除同步码外,64bit的原始数据的0、1码元是不能达到8B/10B那个平衡的,所以数据必须经过扰码处理后才能传输。
用一个伪随机序列对输入的码流进行扰乱处理即可,将二进制数字做“随机化”处理,变为伪随机序列,也能限制连“0”码或连“1”码的长度,这种“随机化”处理通常称为“扰码”。
这种扰乱是有规律的,因而也是可以解除的,在接收端解除这种扰乱的过程称为解扰。
关于编码过程,如下图例子:

若从物理编码子层XGMII传来两个32bit,加在一起64bit,经过encoder进行编码,得到编码后的数据D0-D7,生成同步头01。

然后,不含同步头的D0-D7,经过扰码器,得到表达式X58+X39+1扰码后的数据S0-S7。之后,将同步头和扰码后的数据S0-S7合并,生成一个传输块,将这个传输块经过GearBox处理后,完成编码。
最后,回顾一下,8B/10B编码的连续0或者连续1的最大长度是5;8B/10B编码他有良好的DC平衡能力和位同步恢复能力,而64B/66B的这些能力都和扰码器有关,或者说都决定于扰码所用的表达式。
对于字同步,8B/10B编码有自己的K码,而64B/66B编码用的是两位表示的同步头。对于控制码,8B/10B编码也是使用K码,而64B/66B编码用的是同步头为10 的控制码。
64B/66B编码的这种扰码方式目标是使数据的“0”和“1”最大程度的随机分布,减小连续出现的情况,因此它可能并不能适用于所有的码型,不像8B/10B编码一样对所有的bit组合都有出色的表现,具体还要看扰码器接收器的能力。但是无可否认,它最大的好处是效率比较高,传输冗余的bit只有2位,开销大约只有3%,不像8B/10B编码需要20%的开销,这方面在更高速的传输环境下更具有优势。

转载:全栈芯片工程师

969
收藏
点赞
打赏
给作者打赏,鼓励他抓紧创作吧~
一个爱徒步的~IT民工
评论
0个
内容存在敏感词
相关专栏
打赏作者
易百纳技术社区
david
您的支持将鼓励我继续创作!
打赏金额:
¥1 易百纳技术社区
¥5 易百纳技术社区
¥10 易百纳技术社区
¥50 易百纳技术社区
¥100 易百纳技术社区
支付方式:
微信支付
支付宝支付
易百纳技术社区 微信支付
易百纳技术社区
打赏成功!

感谢您的打赏,如若您也想被打赏,可前往 发表专栏 哦~

审核成功

发布时间设置
发布时间:

审核失败

失败原因
备注
Loading...
易百纳技术社区
确定要删除此文章、专栏、评论吗?
确定
取消
易百纳技术社区
易百纳技术社区
在专栏模块发布专栏,可获得其他E友的打赏
易百纳技术社区
回答悬赏问答,被题主采纳后即可获得悬赏金
易百纳技术社区
在上传资料时,有价值的资料可设置为付费资源
易百纳技术社区
达到一定金额,收益即可提现~
收益也可用来充值ebc,下载资料、兑换礼品更容易
易百纳技术社区
活动规则
  • 1.周任务为周期性任务,每周周一00:00刷新,上周完成的任务不会累计到本周,本周需要从头开始任务,当前任务完成后才可以完成下一个任务
  • 2.发布的专栏与资料需要与平台的板块有相关性,禁止注水,专栏/资料任务以审核通过的篇数为准
  • 3.任务完成后,现金奖励直接打款到微信账户;EBC/收益将自动发放到个人账户,可前往“我的钱包”查看;其他奖励请联系客服兑换
  • 4.每周最后三个任务将会有以下奖品掉落:社区热卖开发板、小米音响、视频年度会员、京东卡、华为手机等等
易百纳技术社区
升级提醒
易百纳技术社区

恭喜您由入门

社区送出礼品一份

请填写您的收件地址,礼品将在3个工作日寄出

易百纳技术社区