8B/10B编码(转)

from:http://blog.sina.com.cn/s/blog_4b2657890100hdcl.html

orig:http://en.wikipedia.org/wiki/8B10B

8B/10B编码是目前高速串行通信中经常用到的一种编码方式,直观的理解就是把8bit数据编码成10bit来传输,为什么要引入这种机制呢?其根本目的是“直流平衡”。当高速串行流动逻辑1或逻辑0有多个位没有产生变化时,信号的转换就会因为电压位阶段关系而造成信号错误,直流平衡的最大好处便是可以克服以上问题。

将8bit编码成10bit后,10B中0和1的位数只可能出现3中情况:

1.有5个0和5个1

2.有6个0和4个1

3.有4个0和6个1

这样引出了一个新术语“不均等性”,就是1的位数和0的位数的差值,根据上面3种情况就有对应的3个Disparity0、-2、+2.

工作原理

8bit原始数据会分成两部分,其低5位进行5B/6B编码,高3位则进行3B/4B编码,这两种映射关系在当时已经成为了一个标准化的表格。人们喜欢把8bit数据表示成Dxx.y的形式,其中x=5LSB,y=3MSB。

例如一个8bit数据101 10101,x=10101(十进制为21) y=101(十进制为5),现在我们就把这8bit数据写成D21.5,明白了吧!

Dx.y形式在进行5B/6B和3B/4B编码中表示更直观,下面我们来看看两张编码表:

对于8bit数据,它在表中的位序为HGFEDCBA,即H为最高位,A为最低位,EDCBA经过5B/6B编码为abcdei,HGF经过3B/4B编码为fghj。传送10bit编码的顺序为abcdeifghi。

对于D.x.7,当和5B/6B组合时D.x.P7和D.x.A7编码时必须选择一个来避免连续的5个0或1.遇上连续5个0或1的情况下使用“逗号码”(comma)来进行校准。D.x.A7用在x=17 x=18 x=20且RD=-1时或者x=11 x=13 x=14且RD=+1时。当x=23 x=27 x=30时,使用K.x.7进行编码。其他情况下D.x.A7码不能被使用,他将导致和其他“逗号序列”产生冲突。

候补编码K.x.y允许K.28.1 K.28.5 K.28.7作为“逗号码”来保证数据流中的唯一性。

你们也许注意到了表中有个RD标志,它是Running Disparity的缩写,它的目的就是保持8B/10B编码中的直流平衡。它跟上面提到的Disparity其实是一样的意思,+1用来表示1比0多,-1用来表示0比1多,-1是它的初始化状态。下面我们来看一张表来加深理解:

上面我们提到的“逗号码”和“逗号序列”,其实都是当初在规划8B/10B编码机制的时候,所谓的控制代码(Control Characters)的其中之一。8B/10B标准中使用了12个特殊的控制代码,他们能在数据中被发送,还可以组合成各种“原语”。

在控制代码中,K.28.1 K.28.5 K.28.7 是逗号序列,逗号序列是用来校准用的,如果K.28.7没有被使用,序列0011111 或者 1100000 是不会出现在任何编码中的。

在实际编码中如果K.28.7可以被使用,一种更复杂的校准规范需要?被使用,它们能组合成各种“原语”,在任何情况下多个K.28.7序列不允许被同时使用,它将导致不可探测的逗号序列。

时间: 2024-10-29 16:24:29

8B/10B编码(转)的相关文章

8B/10B编码(转)

8B/10B编码是目前高速串行通信中经常用到的一种编码方式,直观的理解就是把8bit数据编码成10bit来传输,为什么要引入这种机制呢?其根 本目的是“直流平衡”.当高速串行流动逻辑1或逻辑0有多个位没有产生变化时,信号的转换就会因为电压位阶段关系而造成信号错误,直流平衡的最大好处便是 可以克服以上问题. 将8bit编码成10bit后,10B中0和1的位数只可能出现3中情况: 1.有5个0和5个1 2.有6个0和4个1 3.有4个0和6个1 这样引出了一个新术语“不均等性”,就是1的位数和0的位

4B/5B编码原理

4B/5B编码原理 什么是4B/5B编码? 4B/5B编码是百兆以太网(即快速以太网)中线路层编码类型之一,就是用5bit的二进制数来表示4bit二进制数,映射方式如下表所示: 为什么要进行4B/5B编码? 在通信网络中,接收端需要从接收数据中恢复时钟信息来保证同步,这就需要线路中所传输的二进制码流有足够多的跳变,即不能有过多连续的高电平或低电平,否则无法提取时钟信息. Manchester(曼切斯特)编码可以保证线路中码流有充分的跳变,因为它是用电平从“-1”到“+1”的跳变来表示“1”,用电

以太网进化历程半景-从10Mbps到1Tbps

继Netfilter conntrack,Linux Bridge之后又是一个半景,依然如故,我不会在文中罗列技术规范和细节,仅仅是希望本文可以帮助人们理解以太网到底是什么,为什么如此成功. 0.动机,愿景以及声明 前端时间帮朋友解决一个编码问题,碰到了全双工这个概念,正好写了一个程序,实现了类似CDMA那种沃尔什编码,即从一个混合信号中分离中自己要的那部分,然而代码是好写的,往线缆上一放就全乱了,这是电学原理导致的.就这么说吧,请看下图: 请问P点的电压是多少?很简单的一个问题,是不是?是的.

displayport

去年买了一张ATI的显卡,但是很坑爹的是显卡后面没有VGA接口,除了一个HDMI,另外两个接口不认识,后来认识了DVI,用DVI连接显示器,剩下一个接口是什么一直没管,前两天电脑清灰,感兴趣了,去查了一下,原来这个接口叫做display_port(DP),是从2006年提出的接口,而且,这两年风头强劲,变种出来的eDP在很多嵌入式设备上也有使用,比如,苹果的ipad就是用了edp接口 接口定义如下 DisplayPort是由美国视频电子协会(VESA:Video Electronics Stan

[下篇] 一篇文章详解性能评估难点

在这个娱乐明星频频出轨.奇葩热文爆炸的时代,你却能抽空关注IT技术,请为你这份难能可贵和对技术的执着点个赞吧!请搜索"ICT_Architect"关注微信公众号,获取更多精彩内容. 在上篇文章[收藏] 深入浅出存储性能评估方法论中,我们介绍了性能评估相关概念和原理,但是在项目实战中,要根据业务真实诉求给出切合实际的性能配置,还需要针对业务模型进行最佳实践分析和洞察,从主机端口.存储系统.后端磁盘等端到端进行分析和评估,在本文中把常见的性能评估过程中的难点依次罗列,希望对大家有所帮助.

以太网之物理层

这一节来学习一下以太网的物理层,IEEE802.3标准就给出了以太网的物理层结构,如下图所示红色框内所标注的. 我们可以看到物理大致可以分为: GMII介质无关接口. PCS物理编码子层,PMA物理介质连接层,PMD物理介质相关层.MDI接口 .MEDIUM物理介质. 我们从下往上看,首先看物理介质层. 1.物理介质层 这里所谓的物理介质,我们最常见的就是我们的网线,这就是一种以太网传输的物理介质.常见的物理介质还有同轴电缆.光纤等,现在基本没人用同轴电缆了. 看下表,其中10-100-1000

串行RapidIO:高性能嵌入式互联技术--【转贴】

串行 RapidIO: 高性能嵌入式互连技术 作者: 德州仪器技术应用工程师 冯华亮/ Brighton Feng/ [email protected] 摘要 串行RapidIO针对高性能嵌入式系统芯片间和板间互连而设计,它将是未来十几年中嵌入式系统互连的最佳选择.本文比较RapidIO和传统互连技术的优点:介绍RapidIO协议架构,包格式,互连拓扑结构以及串行RapidIO物理层规范.介绍串行RapidIO在无线基础设施方面的应用. RapidIO 与传统嵌入互连方式的比较 随着高性能嵌入式

Linux、Windows网络工程师面试题精选

1.请你修改一下LINUX的视频驱动和声音驱动? 答: redhatlinux中用sndconfig来设置声卡,如果没有某个模块,就需要重新编译内核(编译最新发布的linux 内核),如果还不行,只好用ALSA 音效驱动程式. Redhat-config- xfree86 答: 命令行下etc/X11/XF86config 2.如何修改LINUX的启动速度? 答.运行级别设为3 2.chkconfig从中可以关掉一些不需要的服务,如sendmail 3.如何取消APACHE的目录索引 ? Apa

万兆以太网规范

万兆以太网规范 就目前来说,万兆以太网标准和规范都比较繁多,在标准方面,有2002年的IEEE 802.3ae,2004年的IEEE 802.3ak,2006年的IEEE 802.3an.IEEE 802.3aq和2007年的IEEE 802.3ap:在规范方面,总共有10多个(是一比较庞大的家族,比千兆以太网的9个又多了许多).在这10多个规范中,可以分为三类:一是基于光纤的局域网万兆以太网规范,二是基于双绞线(或铜线)的局域网万兆以太网规范,三是基于光纤的广域网万兆以太网规范.下面分别予以介