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






若从物理编码子层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%的开销,这方面在更高速的传输环境下更具有优势。转载:全栈芯片工程师
免责声明:文章内容来自互联网,本站不对其真实性负责,也不承担任何法律责任,如有侵权等情况,请与本站联系删除。
转载请注明出处:8B/10B、64B/66B编解码(二)-8B1.3 SM 9/125光纤是什么光纤 https://www.yhzz.com.cn/a/11092.html