没有合适的资源?快使用搜索试试~ 我知道了~
首页8B10B编码详解.pdf
在高速的串行数据传输中,传送的数据被编码成自同步的数据流,就是将数据和时钟组 合成单一的信号进行传送,使得接收方能容易准确地将数据和时钟分离,而且要达到令人满 意的误码率,其关键技术在于串行传输中数据的编码方法。8B10B 作为互连接口的一种编码 技术,设计简单、性能出众,因此成为应用最广泛的技术。然而,它的系统开销高达25%, 问题突出。为了解决这个问题,设计者们一直在探寻改进的方法。本文就将介绍8B10B 码 的编码原理及实现方法,并介绍了一些低开销的编码技术,讨论它们的优势与存在的问题。
资源详情
资源评论
资源推荐

8B10B 详解&综述
目 录
1、编码技术基础理论.......................................................................................................................1
2、8B10 码编码原理.........................................................................................................................2
3、与其他码的比较...........................................................................................................................8
4、优点...............................................................................................................................................9
5、性能分析方法.............................................................................................................................10
6、实现方式.....................................................................................................................................14
7、运用.............................................................................................................................................14
8、改进.............................................................................................................................................14

1
前言
在高速的串行数据传输中,传送的数据被编码成自同步的数据流,就是将数据和时钟组
合成单一的信号进行传送,使得接收方能容易准确地将数据和时钟分离,而且要达到令人满
意的误码率,其关键技术在于串行传输中数据的编码方法。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”的出现,提高电平跳变的密度,是定
时提取较为简单。

2
3)减少功率密度中的高低频分量。
线路码的功率谱密度中的低频分量是由码流中的“0”、“1”分布状态来决定的,低频分
量小,说明“0”、“1”分布比较均匀,直流电平比较恒定,也就是信号基线浮动小,有利于
接收端判决电路的正常工作。高频分量是由线路码的速率决定的,这在带宽(色散)限制系统
中特别值得注意,在这种系统中,中继距离主要由光纤线路的总带宽(总色散)决定,如果线
路码速率提高的太多,会使中继距离大大缩短。
4)要有利于减少码流的基线漂移,即要求码流中的“1"、"0”码分布均匀,否则不利于
接收端的的再生判决。
5)码率增加要少,光功率代价要低。
6)接收端将线路码还原后,误码增殖要小。
线路传输中发生的一个误码,往往使接收端的解码(反变换)发生多个错误,这就是误码
倍增,也叫做误码扩展或误码增值。由于误码倍增,使光接收机要达到原要求的误码性能指
标,必须付出光功率代价,即光接收机灵敏度劣化。因此误码倍增系数越小越好。
7)能提供适当的冗余度。
8)低的对称抖动。
传输的比特序列必须保持低的码型相关的抖动。
9)易于实现。
数字光纤通信系统中常用的线路码型有:加扰二进码、插入比特码和 mBnB 码。
2、8B10 码编码原理
8B/10B
编码最初由
IBM
公司的Albert X.Widemer和Peter A.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。3
bit的子分组编码成4 bit,记为j、h、g、f; 5 bit的子分组编码成6bit,记为i、e、d、c、b、
a,其映射关系如图1所示, 4bit和6bit的子分组再组合成10bit的编码值。
图1 8B/10B码编码原理图
将8bit数据分成3bit和5bit两组,分别对应10bit中的4bit和6bit,直流平衡代码的不平
衡度就是通过“0”的个数减去“1”的个数来计算得到的。如果4bit和6bit的各分组中“0”

3
和“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 码映射表
剩余16页未读,继续阅读










weixin_45844394
- 粉丝: 1
- 资源: 4
上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助

会员权益专享
最新资源
- Xilinx SRIO详解.pptx
- Informatica PowerCenter 10.2 for Centos7.6安装配置说明.pdf
- 现代无线系统射频电路实用设计卷II 英文版.pdf
- 电子产品可靠性设计 自己讲课用的PPT,包括设计方案的可靠性选择,元器件的选择与使用,降额设计,热设计,余度设计,参数优化设计 和 失效分析等
- MPC5744P-DEV-KIT-REVE-QSG.pdf
- 通信原理课程设计报告(ASK FSK PSK Matlab仿真--数字调制技术的仿真实现及性能研究)
- ORIGIN7.0使用说明
- 在VMware Player 3.1.3下安装Redhat Linux详尽步骤
- python学生信息管理系统实现代码
- 西门子MES手册 13 OpcenterEXCR_PortalStudio1_81RB1.pdf
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制

评论0