2.1编解码基础.docx
4页2.1 编解码基础8B/10B,也叫做 8 字节 /10 字节或 8B10B8B/10B 方式最初由 IBM 公司于1983 年发明并应用于 ESCON(200M 互连系统) ,由 Al Widmer 和 Peter Franaszek 在 IBM 的刊物“研究与开发” 上描述把 8 位并行数据转换成串行传输使用的 10 位数据8B /10B 编码保证了 1 和 0 的相对平衡组合,避免了直流漂移,而且与数据值无关,降低了接收机成本编码提供的其他位还促进了误码检测8B /10B 编码提供了构建串行通信使用的一套基础数据和控制字符8B /10B 编解码后的数据具有良好的串行传输性能,更有利于时钟数据恢复,因而在高速的串行数据传输中被广泛地应用8B10B 编码器根据一定的编码规则将一个字节为 8 比特的数据编码为 10 比特,增加了 2 比特的传输,提供了一定的传输冗余度8BlOB 编码器具有如下优点:1.转换密度:保证了数据流中有足够的信号转换,每 10 比特码字中有 3 至 8 次的 O、1 转换为接收端的时钟恢复提供了足够的转换密度,传输时可以将时钟数据信号合并只传输数据信号即可2.直流平衡:编码后的数据中 0、1 的数量基本一致,连续的 0、l 不会超过 5 位,从而保证信号的直流平衡。
在高速信号传输中,一般都是采用差分信号传输,需要直流分量尽可能小,而 8B10B 编码的直流平衡功能很好的满足了高速信号传输的需求3.提供一定的检错能力,8810B 编码后的 10 比特数据有 1024 种可能的码型,其中只有 536 种有效码字,接收端可以通过判断接收的码字是否为有效码字来检测传输是否出错4.数据和控制信令是用不同的码字表示的,其中控制字符可用作帧同步字符或其他的分隔符等8B1OB 编码包含 256 个数据字符编码和 12 个控制字符编码通常将 8 比特原始数据分成两部分,其中低 5 位进行 5B/6B 编码,高 3 位进行 3B/4B 编码假设用 Dx.y 或 Kx.y 表示原始的 8 比特数据或控制信息,从高到低命名为HGFEDCBA,则 x 表示输入原始数据的低 5 位 EDCBA,y 表示输入数据的高3 位 HGF若经过 5B/6B 编码后的数据由高到低记为 iedcba,经过 3B/4B 编码后的数据记为 jhgf,则 lO 比特编码结果为 jhgfiedcba为了保证编码的直流平衡,在 8B10B 编码中设计了不平衡度 RD(Run Disparity),将 IO 位的编码输出分为正不平衡度 RD+和负不平衡度 RD-两种。
正不平衡度RD+表示编码输出中 l 的个数大于等于 0 的个数,负不平衡度 RD-表示编码输出中 1 的个数小于等于 O 的个数O、1 个数相等的编码输出称为完美平衡码编码器通过不平衡度控制位选择当前的编码输出不平衡度控制位受前一周期的输出码型及前一周期的不平衡度控制位的影响通常,编码器复位后不平衡度控制位初始化为负极性不平衡度 RD-若当前不平衡度控制位为负,则编码器编码时会选择不平衡度为负的编码输出结果,同时判断输出是否为完美平衡码,若是,则不平衡度控制位保持不变;否则,不平衡度控制位取反同样,当前不平衡度控制位为正时选择不平衡度为正的编码输出,再根据输出是否为完美平衡码来决定是否不平衡度控制位取反这样通过交替使用 RD+和 RD-的编码输出来保证输出的直流平衡8b/10b 编码的特性之一是保证 DC 平衡,采用 8b/10b 编码方式,可使得发送的“0”、 “1”数量保持基本一致,连续的“1”或“0”不超过 5 位,即每 5 个连续的“1”或“0”后必须插入一位“0”或“1”,从而保证信号 DC 平衡,它就是说,在链路超时时不致发生 DC 失调通过 8b/10b 编码,可以保证传输的数据串在接收端能够被正确复原,除此之外,利用一些特殊的代码( 在 PCI-Express 总线中为 K 码) ,可以帮助接收端进行还原的工作,并且可以在早期发现数据位的传输错误,抑制错误继续发生。
8b/10b 编码是将一组连续的 8 位数据分解成两组数据,一组 3 位,一组 5 位,经过编码后分别成为一组 4 位的代码和一组 6 位的代码,从而组成一组 10 位的数据发送出去相反,解码是将 1 组 10 位的输入数据经过变换得到 8 位数据位数据值可以统一的表示为 DX.Y 或 KX.Y,其中 D 表示为数据代码,K 表示为特殊的命令代码,X 表示输入的原始数据的低 5 位 EDCBA,Y 表示输入的原始数据的高 3 位 HGF8b/10b 编码是目前许多高速串行总线采用的编码机制,如 USB3.0、1394b、Serial ATA、PCI Express、Infini-band、Fiber Channel、RapidIO 等总线或网络等8B/10B 编码是目前高速串行通信中经常用到的一种编码方式直观的理解就是把 8bit 数据编码成 10bit 来传输,为什么要引入这种机制呢?其根本目的是“直流平衡(DC Balance) ”当高速串行流的逻辑 1 或逻辑 0 有多个位没有产生变化时,信号的转换就会因为电压位阶的关系而造成信号错误,直流平衡的最大好处便是可以克服以上问题将 8bit 编码成 10bit 后,10B 中 0 和 1 的位数只可能出现 3 种情况: 有 5 个 0 和 5 个 1 有 6 个 0 和 4 个 1 有 4 个 0 和 6 个 1这样引出了一个新术语“不平衡度(Disparity ) ”,就是 1 的位数和 0 的位数的差值,根据上面 3 种情况就有对应的 3 个 Disparity 0、-2、+2。
8B /10B 解码电路的基本原理是将 10 位数据分为 4 位和 6 位两个部分,分别解码而将其变成 3 位和 5 位组成新的传输数据用于高速串行传输设计的接收电路需完成基本的解码功能之外,还需要考虑到根据 8B /10B 编码规则对接收的数据进行校验和满足系统的要求首先在电路中考虑到解码电路在某些系统中会被旁路而设计了解码电路旁路控制电路;再根据 8B /10B 编码规则对收到的数据查错,并输出接收到的数据的错误类型;最后对正确串行数据作特殊字符和正常数据的判定,而输出收到的串行数据包含的正确数据信息到此,我们有必要弄清楚数据传输的具体过程,图 2—1 直观的表达了这个问题8 B t o 1 0 BE n c o d e r1 0 B t o 8 BD e c o d e r1 0 - b i tO u t p u t P o r tI n p u t P o r t8 - b i t8 - b i tI n p u t P o r tO u t p u tP o r t图 2—1 数据传输过程。

卡西欧5800p使用说明书资料.ppt
锂金属电池界面稳定化-全面剖析.docx
SG3525斩控式单相交流调压电路设计要点.doc
话剧《枕头人》剧本.docx
重视家风建设全面从严治党治家应成为领导干部必修课PPT模板.pptx
黄渤海区拖网渔具综合调查分析.docx
2024年一级造价工程师考试《建设工程技术与计量(交通运输工程)-公路篇》真题及答案.docx
【课件】Unit+3+Reading+and+Thinking公开课课件人教版(2019)必修第一册.pptx
嵌入式软件开发流程566841551.doc
生命密码PPT课件.ppt
爱与责任-师德之魂.ppt
制冷空调装置自动控制技术讲义.ppt


