首页 > 技术知识 > 正文

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 data8B/10B、64B/66B编解码(二)-8B1.3 SM 9/125光纤是什么光纤对于纯控制Pure Control (Type = 0x1E)8B/10B、64B/66B编解码(二)-8B1.3 SM 9/125光纤是什么光纤1对于数据和控制信息的混合8B/10B、64B/66B编解码(二)-8B1.3 SM 9/125光纤是什么光纤264B/66B编码格式图如下图所示,其中D表示数据编码,每个数据码8bit;Z表示控制码,每个控制码7bit;S表示包的开始,T表示包的结束。S只会出现在8字节中的第0和第4字节,T能够出现在任意的字节。除同步码外,64bit的数据必须经过扰码以后才能进行传输。64B/66B编码所使用的扰码器为X58+X39+1。8B/10B、64B/66B编解码(二)-8B1.3 SM 9/125光纤是什么光纤3       一个18 bytes的数据块的传输过程如下图所示:8B/10B、64B/66B编解码(二)-8B1.3 SM 9/125光纤是什么光纤464B/66B并不是真正的编码,而是一种基于扰码机制编解码方式,这种编码方式是IEEE推荐的10G通信的标准编码方式。除同步码外,64bit的原始数据的0、1码元是不能达到8B/10B那个平衡的,所以数据必须经过扰码处理后才能传输。用一个伪随机序列对输入的码流进行扰乱处理即可,将二进制数字做“随机化”处理,变为伪随机序列,也能限制连“0”码或连“1”码的长度,这种“随机化”处理通常称为“扰码”。这种扰乱是有规律的,因而也是可以解除的,在接收端解除这种扰乱的过程称为解扰。8B/10B、64B/66B编解码(二)-8B1.3 SM 9/125光纤是什么光纤5关于编码过程,如下图例子:8B/10B、64B/66B编解码(二)-8B1.3 SM 9/125光纤是什么光纤6

若从物理编码子层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%的开销,这方面在更高速的传输环境下更具有优势。

转载:全栈芯片工程师

猜你喜欢