为了确保较好的信号传输质量,高速串行数据信号在传输之前往往需要进行相应的编码处理,如下图1所示即为串行信号简单的传输过程,在发送端信号先进行Scrambler和8b/10b编码处理,处理后的信号经过传输链路传输后进入接收端后还需要进行10b/8b和Scrambler的解码处理。我们观察信号都需要在传输链路上进行观察,因此观察到的是编码后的加扰信号和10b信号。
8b/10b编码是当前大部分高速串行信号都使用的一个非常通用的编码方式。如SATA、PCIE GEN1/2均使用8b/10b编码方式。使用8b/10b编码可以确保电路的DC平衡(使得0电平和1电平的密度保持平衡),这样系统可以更加准确的从数据中恢复出理想时钟,也可以有效的减小码间干扰抖动,尽可能的减小系统出错的概率。另外,通常8位代表一个数据位,如果所有位都用来表示数据,那么将没有多余的位来进行码型的同步,因此8b/10b编码的另外一个好处是可以提供多余的位来作为同步码,如常见的K28.5、K28.3等码型。