和“1”的个数相等,称为完美平衡代码,或称为完美的直流平衡代码,无需补偿,但是这种情
况是不可能的。因为在4bit的子分组中, 16种编码中只有6 种是完美平衡的,这对于3bit的8
种编码值是不够的。同时,在6bit的子分组中也只有20种编码是完美平衡的,对于5bit的32
种编码值也是不够的。由于4 bit和6bit的两个子分组都是偶数个位数,而不平衡度不可能是
“+1”或“-1”,因此,在8B/10B编码方案中还要使用不平衡度为“+2”和“-2”的值。在编
码过程中,用一个极性偏差( running disparity, RD)参数表示不平衡度,在不平衡时用2个
10 bit字符表示一个8位字符,其中一个称为RD- ,表示“1”的个数比“0”的个数多2个,另
一个称为RD+ ,表示“0”的个数比“1”的个数多2个。
表1列出了3 bit编码成4 bit和5 bit编码成6bit的代码值,在3bit到4 bit的编码中,编
码1、2、5、6使用了“1”和“0”相邻的完美平衡代码,编码采用一对一的关系;编码3使用
了“1”和“0”有间隔的完美平衡代码,编码采用一对二的关系;编码0和4使用了“1”和“0”
有间隔的不平衡代码,编码也采用一对二的关系;编码7使用了3个连续“1”或“0”的不平衡
代码,为了防止更多连续“1”或“0”出现,提供了4种代码选择。在4bit到6 bit编码中,有
19个编码RD-和RD +代码相同,编码7的RD-是111000,而RD+是000111。其余12个不平衡代码的
RD-编码值包含4个“1”,而RD-编码值包含4个“0”。8B/10B编码规则将4 bit和6 bit组合,
使其最坏的情况下10 bit代码值的不平衡度为“+2”或“-2”,例如:不平衡度为“+2”的4 bit
编码值是不会和不平衡度为“+2”的6bit编码值组合在一起的,因为那样会产生一个不平衡
度为“ + 4”的10 bit的编码值。
表1 8B/10B子分组编码表
每一个代码组将转变为 2 种可能取值中的一种,见表 2 中的 RD-(极性偏差为负)列和
RD+(极性偏差为正)列,RD-不平衡度或是“-2”或是“0”;RD+的不平衡度或是“+2”或
是“0”。
表 2 8B/10B 码映射表
评论10
最新资源