mBnB码是把输入的二进制原始码流进行分组,每组有m个二进制码,记为mB,称为一个码字,然后把一个码字变换为n个二进制码,记为nB,并在同一个时隙内输出。
这种码型是把mB变换为nB,所以称为mBnB码,其中m和n都是正整数, n>m,一般选取n=m+1。mBnB码有1B2B、3B4B、5B6B、 8B9B、 17B18B等等。
1. mBnB码编码原理
最简单的mBnB码是1B2B码,即曼彻斯****,这就是把原码的“0”变换为“01”, 把“1”变换为“10”。
因此最大的连“0”和连“1”的数目不会超过两个,例如1001和0110。但是在相同时隙内,传输1比特变为传输2比特, 码速提高了1倍。
以3B4B码为例,输入的原始码流3B码,共有(23)8个码字, 变换为4B码时, 共有(24)16个码字,见表4.2。
为保证信息的完整传输,必须从4B码的16个码字中挑选8个码字来代替3B码。 设计者应根据最佳线路码特性的原则来选择码表。
例如:在3B码中有2个“0”,变为4B码时补1个“1”;在3B码中有2个“1”, 变为4B码时补1个“0”。而000用0001和1110交替使用; 111用0111和1000交替使用。同时,规定一些禁止使用的码字, 称为禁字,例如不用的八个码字当做禁字,如0000和1111。当出现禁码时表示有误码,从而可实现不中断业务的误码检测。