您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 8B10B详解&综述
8B10B详解&综述目录1、编码技术基础理论.......................................................................................................................12、8B10码编码原理.........................................................................................................................23、与其他码的比较...........................................................................................................................84、优点...............................................................................................................................................95、性能分析方法.............................................................................................................................106、实现方式.....................................................................................................................................147、运用.............................................................................................................................................148、改进.............................................................................................................................................141前言在高速的串行数据传输中,传送的数据被编码成自同步的数据流,就是将数据和时钟组合成单一的信号进行传送,使得接收方能容易准确地将数据和时钟分离,而且要达到令人满意的误码率,其关键技术在于串行传输中数据的编码方法。8B10B作为互连接口的一种编码技术,设计简单、性能出众,因此成为应用最广泛的技术。然而,它的系统开销高达25%,问题突出。为了解决这个问题,设计者们一直在探寻改进的方法。本文就将介绍8B10B码的编码原理及实现方法,并介绍了一些低开销的编码技术,讨论它们的优势与存在的问题。1、编码技术基础理论目前,高速接口正在被广泛应用于包括SATA、SAS、高速PCI等多种标准中。这些接口的速率甚至可以达到并超过每线10Gbits/s。同时,所有主流ASIC和FPGA平台也都支持这些高速接口技术。从结构上看,这些高速接口主要包括三个组成部分:1)电路部分(串行/解串行)2)物理部分(实现编码)3)链路与协议部分(高层)支持多速率、多协议的串行/解串行器已经实现。以OIF(光互联论坛)为例,他们已经为两组速率制定了电路规范,分别为5Gbits/s-6.375Gbits/s和10Gbits/s-11Gbits/s。OIF同样为两种应用距离制定了规范,分别为短距离(采用一个连接器,8英寸)和长距离(采用两个连接器,40英寸)。串行/解串行器还可以被设计用来满足更多的规范,包括不同的速率、距离、电路规格等等。物理部分的主要任务是对数据进行编码,以保证串行/解串行器的正常运行。这些编码的目的包括:确保必须的变换(“1”到“0”和“0”到“1”的变换),保证稳定的直流均衡(“0”码与“1”码的个数相当),以及满足其它标准的要求(最大化信道带宽利用率,提高对误差的容忍能力等等)。在光纤通信中,线路编码是必要的,因为电端机输出的数字信号是适合电缆传输的双极性码,而光源不能发射负脉冲,只能用光脉冲的“有”和“无”来表示二进制码中的“1”和“0。该方法虽然简单,却存在三个问题[1]:1)遇到数字序列中出现长连“0”或长连“1”时,将给光纤线路上再生中继器和终端光接收机的定时信息提取工作带来困难;2)简单的单极性码中含有直流分量。由于线路上光脉冲中“1”和“0”是随机变化的,这将导致单极性码的直流成分也作随机性的变化。这种随机性变化的直流成分,可以通过光接收机的交流耦合电路引起数字信号的基线漂移,给数字信号的判决和再生带来困难;3)不能实现不中断通信业务下的误码检测;为解决以上问题,通常对于由电端机输出的信号码流,在未对LED(或LD)调制以前,一般要先进行码型变换使调制后的光脉冲码流由简单的单极性码,转换为适合于数字光纤传输系统传输的线路码。适合于光纤通信的线路码型有多种,但都要满足以下要求:1)能保证比特序列独特性。2)能提供足够的定时信息。由于在光纤数字传输系统的传输中,只传送信码,而不传送时钟,因此在接收端,必须从收到的码流中提取出定时信息,以利于上述的定时提取。必须限制线路码流中同符号连续数不能过大,也就是说,应避免长连“0”及长连“1”的出现,提高电平跳变的密度,是定时提取较为简单。23)减少功率密度中的高低频分量。线路码的功率谱密度中的低频分量是由码流中的“0”、“1”分布状态来决定的,低频分量小,说明“0”、“1”分布比较均匀,直流电平比较恒定,也就是信号基线浮动小,有利于接收端判决电路的正常工作。高频分量是由线路码的速率决定的,这在带宽(色散)限制系统中特别值得注意,在这种系统中,中继距离主要由光纤线路的总带宽(总色散)决定,如果线路码速率提高的太多,会使中继距离大大缩短。4)要有利于减少码流的基线漂移,即要求码流中的“1、0”码分布均匀,否则不利于接收端的的再生判决。5)码率增加要少,光功率代价要低。6)接收端将线路码还原后,误码增殖要小。线路传输中发生的一个误码,往往使接收端的解码(反变换)发生多个错误,这就是误码倍增,也叫做误码扩展或误码增值。由于误码倍增,使光接收机要达到原要求的误码性能指标,必须付出光功率代价,即光接收机灵敏度劣化。因此误码倍增系数越小越好。7)能提供适当的冗余度。8)低的对称抖动。传输的比特序列必须保持低的码型相关的抖动。9)易于实现。数字光纤通信系统中常用的线路码型有:加扰二进码、插入比特码和mBnB码。2、8B10码编码原理8B/10B编码最初由IBM公司的AlbertX.Widemer和PeterA.Franaszek发明,并应用于ESCON(200M互连系统)中[2]。它是mBnB编码中的一个特例。8B/10B编码方法是把8bit代码组合编码成10bit代码,代码组合包含256个数据字符编码和12个控制字符编码,分别记为Dx.y和Kx.y。通过仔细选择编码方法可以获得不同的优化特性。这些特性包括满足串行/解串行器功能必须的变换;确保“0”码元与“1”码元个数的一致,又称为直流均衡;确保字节同步易于实现(在一个比特流中找到字节的起始位);以及对误码率有足够的容忍能力和降低设计复杂度[3]。8B/10B编码方案是把8bit数据分成2个子分组:3个最高有效位(y)和5个最低有效位(x)。代码字按顺序排列,从最高有效位到最低有效位分别记为H、G、F和E、D、C、B、A。3bit的子分组编码成4bit,记为j、h、g、f;5bit的子分组编码成6bit,记为i、e、d、c、b、a,其映射关系如图1所示,4bit和6bit的子分组再组合成10bit的编码值。图18B/10B码编码原理图将8bit数据分成3bit和5bit两组,分别对应10bit中的4bit和6bit,直流平衡代码的不平衡度就是通过“0”的个数减去“1”的个数来计算得到的。如果4bit和6bit的各分组中“0”3和“1”的个数相等,称为完美平衡代码,或称为完美的直流平衡代码,无需补偿,但是这种情况是不可能的。因为在4bit的子分组中,16种编码中只有6种是完美平衡的,这对于3bit的8种编码值是不够的。同时,在6bit的子分组中也只有20种编码是完美平衡的,对于5bit的32种编码值也是不够的。由于4bit和6bit的两个子分组都是偶数个位数,而不平衡度不可能是“+1”或“-1”,因此,在8B/10B编码方案中还要使用不平衡度为“+2”和“-2”的值。在编码过程中,用一个极性偏差(runningdisparity,RD)参数表示不平衡度,在不平衡时用2个10bit字符表示一个8位字符,其中一个称为RD-,表示“1”的个数比“0”的个数多2个,另一个称为RD+,表示“0”的个数比“1”的个数多2个。表1列出了3bit编码成4bit和5bit编码成6bit的代码值,在3bit到4bit的编码中,编码1、2、5、6使用了“1”和“0”相邻的完美平衡代码,编码采用一对一的关系;编码3使用了“1”和“0”有间隔的完美平衡代码,编码采用一对二的关系;编码0和4使用了“1”和“0”有间隔的不平衡代码,编码也采用一对二的关系;编码7使用了3个连续“1”或“0”的不平衡代码,为了防止更多连续“1”或“0”出现,提供了4种代码选择。在4bit到6bit编码中,有19个编码RD-和RD+代码相同,编码7的RD-是111000,而RD+是000111。其余12个不平衡代码的RD-编码值包含4个“1”,而RD-编码值包含4个“0”。8B/10B编码规则将4bit和6bit组合,使其最坏的情况下10bit代码值的不平衡度为“+2”或“-2”,例如:不平衡度为“+2”的4bit编码值是不会和不平衡度为“+2”的6bit编码值组合在一起的,因为那样会产生一个不平衡度为“+4”的10bit的编码值。表18B/10B子分组编码表每一个代码组将转变为2种可能取值中的一种,见表2中的RD-(极性偏差为负)列和RD+(极性偏差为正)列,RD-不平衡度或是“-2”或是“0”;RD+的不平衡度或是“+2”或是“0”。表28B/10B码映射表456深入分析表2所表示的整个8B/10B编码的内在相关性可以知道:1)当3B码有唯一4B编码时(001,010,101,110),若5B码为具有单值编码的码字,8B/10B编码表的RD-列和RD+列取唯一的10B编码,并且其RD值为5;若5B码具有双值编码,则在RD-列取RD值为4的6B编码,在RD+列取RD值为2的6B编码;若5B码为00111,则在RD-列取111000,在RD+列取000111;2)当3B码有双值4B编码时(000,100),若5B码为18种具有单值编码的码字,则4B编码在RD-列和RD+列分别取RD值为3和1的编码,3B码为011的情况下则分别取1100和0011;若5B码为13种有双值编码的码字时,则在RD-列和RD+列分别取6BRD值为4、4BRD值为1和6BRD值为2、4BRD值为3的编码;若5B码为00111,3B码为000,100,则在RD-列和RD+列分别取6B为111000、4BRD值为3和6B为000111、4BRD值为1的编码;若5B码为00111,3B码为011时,在RD-列和RD+列的编码分别111000、1100和000111、0011;3)当3B码为111时,根据8B/10B编码表可以看出,1000和0111这组编码分别只出现在5B码组为01011,01101,01110的RD
本文标题:8B10B详解&综述
链接地址:https://www.777doc.com/doc-5890704 .html