8B/10B编码

news2024/11/26 15:50:08

8B/10B编码

  • 8B/10B编码
    • 介绍
    • 实现方式
    • 8b/10b编码中的编码表和字节编码
    • RD
    • 控制符号

8B/10B编码

介绍

8b/10b编码是将8位符号映射到10位符号,以实现直流平衡,同时提供足够多的状态来实现时钟恢复。这意味着在一个至少20位的字符串中,1和0的计数之差不超过2,并且在一排中不超过5个1或0。

实现方式

8位数据作为一个10位实体被传输,称为符号,或字符。数据的低5位被编码成一个6位组(5b/6b部分),前3位被编码成一个4位组(3b/4b部分)。这些编码组串联在一起,形成在电线上传输的10位符号。数据符号通常被称为D.x.y,其中x的范围是0-31,y是0-7。使用8b/10b编码的标准还定义了最多12个特殊符号(或控制字符),可以代替数据符号发送。它们经常被用来表示帧开始、帧结束、链路空闲、跳过和类似的链路级条件。它们中至少有一个(即 "逗号 "符号)需要用来定义10位符号的对齐。它们被称为K.x.y,具有与任何D.x.y符号不同的编码方式。

由于8b/10b编码使用10位符号来编码8位字,因此可以排除一些可能的1024(10位,2^10)符号,以授予5个连续相等比特的运行长度限制,并确保0和1计数之间的差异不超过2. 256个可能的8位字中有一些可以用两种不同的方式进行编码。使用这些替代编码,能够在串行数据流中实现长期DC平衡。这使得数据流可以通过具有高通特性的信道进行传输,例如以太网的变压器耦合未屏蔽双绞线或使用自动增益控制的光学接收器。

8b/10b编码中的编码表和字节编码

请注意,在以下表格中,对于每个输入字节(表示为HGF EDCBA),A表示最低有效位(LSB),H表示最高有效位(MSB)。输出增加了两个额外的位,即i和j。这些位从LSB到MSB发送:a,b,c,d,e,i,f,g,h和j;即5b / 6b代码后跟3b / 4b代码。这确保了逗号符号中特殊位序列的唯一性。

数据流中0和1的数量对于传输的0和1的数量的剩余影响由运行失调(RD)维护,并且偏移的效果通过选择后续符号的编码来平衡。

5b / 6b代码是成对失调代码,3b / 4b代码也是如此。每个6位或4位代码单词具有相等数量的0和1(失调为0),或者0比1多两个(四个零和两个一或三个零和一个一)的形式成对出现。当使用具有非零失调(1的计数减去0的计数;即-2或+2)的6位或4位代码时,正失调编码或负失调编码的选择必须是切换运行失调的编码。换句话说,非零失调代码会交替出现。

RD

8b/10b编码是无直流偏置的,这意味着长期传输的1和0的比率恰好为50%。为了实现这一点,每个符号结束时传输的1和0的数量之间的差异始终限制在±2之内,因此它要么是+1要么是-1。这种差异被称为运行失调(RD)。

该方案只需要两种状态来运行失调+1和-1。它从-1开始。

对于每个具有不同数量的1和0的5b/6b和3b/4b代码,可以使用两个位模式来传输它:一个带有两个以上的“1”位,另一个则反转所有位,因此有两个以上的“0”。根据信号的当前运行失调,编码引擎选择为给定数据发送哪个可能的六位或四位序列。显然,如果六位或四位代码具有相等数量的1和0,则没有选择可供选择,因为失调不会改变,但是D.07(00111)和D.x.3(011)子块除外。在任一情况下,失调仍然不变,但是如果RD在遇到D.07时为正,则使用000111,如果为负,则使用111000。同样,如果RD在遇到D.x.3时为正,则使用0011,如果为负,则使用1100。这在下面的图表中得到了准确反映,但值得额外提及的是这是唯一两个具有相等数量的1和0且每个都具有两种可能编码方式的子块。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

控制符号

在8b/10b中,控制符号是10b符号,它们是有效的位序列(不超过六个1或0),但没有相应的8b数据字节。它们用于低级控制功能。例如,在光纤通道中,K28.5用于四字节序列(称为“有序集”)的开头,执行诸如环路仲裁、填充字、链路复位等功能。

由于5b/6b和3b/4b表,以下12个控制符号被允许发送。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/621325.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[论文阅读笔记74]The Power of Scale for Parameter-Efficient Prompt Tuning

1. 基本信息 题目论文作者与单位来源年份The Power of Scale for Parameter-Effificient Prompt TuningBrian Lester等googleConference on Empirical Methods in Natural Language Processing2021 857 Citations 论文链接:https://arxiv.org/abs/2104.08691 论…

配置SSH远程登录和免密登录

上一篇我们已经讲了如何配置修改Linux的主机名和网络设置,这一篇我们来讲一下配置Linux的SSH免密登录。   首先讲一下我们为什么要配置SSH 免密登录,通过VMware Workstation工具操作虚拟机十分不方便,无法复制内容到虚拟机中,也…

Python使用多进程并行加速业务操作 完整代码

Python使用多进程并行加速业务操作 完整代码 需求分析 完整代码 本demo性能分析 Python中单线程、多线程和多进程的效率对比实验 需求分析 最近在对一个数据集进行处理,共2000条,每条去调一个第三方接口,耗时7-10秒。单线程处理一次要3.…

Vue - 项目编译速度、性能优化、打包体积优化

GitHub Demo 地址 在线预览 Vue - 项目编译速度、性能优化、打包体积优化 序一、编译速度优化1、使用缓存1.1、缓存插件 - HardSourceWebpackPlugin1.2、webpack5 配置cache1.3、cache-loader 插件 2、合理使用source-map3、多线程打包3.1、thread-loader3.2、parallel-webpac…

阿里5面,成功唬住面试官拿了21K,面试也没有那么难吧....

阿里的面试挺独特,每轮面试都没有 HR 约时间,一般是晚上 8 点左右面试官来一个电话,问是否能面试,能的话开始面,不能就约一个其它时间。 全程 5 面,前四面技术面,电话面试,最后一面…

吴恩达 ChatGPT Prompt Engineering for Developers 系列课程笔记--08 Chatbot

08 Chatbot ChatGPT的一种重要功能是作为一个聊天机器人,本节将展示如何和ChatGPT进行对话 1) 不同的角色(Roles) 前面几节的课程中,我们通过如下函数调用ChatGPT的接口,输入用户输入的prompt,返回模型生…

第二章硬件入门之电容

第二章硬件入门之电容 文章目录 第二章硬件入门之电容一、电容是什么?二、实际应用场景常见电容:1.陶瓷电容(无正负极之分)1、旁路2、去耦 2.铝电解电容贴片式插件式3.安规电容x电容Y电容 总结 一、电容是什么? **电容…

【kernel exploit】CVE-2022-2602 UNIX_GC错误释放io_uring注册的file结构-UAF

本文主要参考 [漏洞分析] CVE-2022-2602 io_uring UAF内核提权详细解析 并做一些补充。 影响版本&#xff1a;Linux Kernel < v6.0.3。v6.0.3已修复。 测试版本&#xff1a;Linux-v6.0.2 &#xff08;v6.0.2 测试失败&#xff0c;v5.18.19测试成功&#xff09; exploit及测…

React Fiber 使用 MessageChannel + requestAnimationFrame 模拟实现 requestIdleCallback

由于 requestIdleCallback 兼容性较差且不支持 Safari&#xff0c;React Fiber 需要实现一个 requestIdleCallback polyfill 做浏览器兼容&#xff1b; MDN RequestIdleCallbackMDN RequestAnimationFrameMDN MessageChannel 以下为其使用 MessageChannel requestAnimationF…

vivado中ila的使用方法记录

ILA工具生成方法 一、 ILA工具介绍 在FPGA的开发中&#xff0c;当完成代码设计后&#xff0c;为了验证代码的准确性和各种不同条件下的可靠性&#xff0c;往往需要优先想到通过逻辑仿真进行相关验证。使用逻辑仿真进行验证虽然可以周密的考虑给出不同输入条件下的输出结果或交…

“智慧赋能 强链塑链”—— 汽车行业供应链管理数字化应用探讨

01车企供应链数字化的必要性 汽车供应链是一个复杂的系统&#xff0c;很多汽车企业因为供应链管理不当&#xff0c;造成资源浪费、成本高、客户满意度低等一系列问题&#xff1b;而汽车行业规模技术门槛高、配合协同复杂的特性&#xff0c;决定了其供应链缺口无法在短时间内填…

Three.js系列-报错export ‘Geometry‘ (imported as ‘THREE‘) was not found in ‘three‘

今天遇到报错export ‘Geometry’ (imported as ‘THREE’) was not found in ‘three’ port Geometry (imported as THREE) was not found in three (possible exports: ACESFilmicToneMapping, AddEquation, AddOperation, AdditiveAnimationBlendMode, AdditiveBlending, …

为什么大家都不用postman而选择 Apifox呢?

丢掉 Postman&#xff0c;Apifox 更香 作为开发者&#xff0c;丢掉 Postman 和 Jmeter吧&#xff0c;这款国产 API 工具更香&#xff0c;更安全&#xff01;一键即可导入 Postman 数据&#xff01; 一、Apifox 是什么&#xff1f; 1、Apifox 定位 Apifox Postman Swagger …

Altium Designer(AD)局域网内使用解冲突

1. Altium Designer 版本 AD15.0.8&#xff0c;电路设计软件&#xff0c;硬件工攻城狮必备技能&#xff0c;软件攻城狮也要会一点点 2. AD软件出现“Your license is already used on computer “LAPTOP-F99R6OR1” using product “AltiumDesigner” 用同事的安装包解压安装的…

Mysql 索引详细解析——底层->应用

1、索引的数据结构 1.1 概述 索引&#xff08;index&#xff09;是帮助Mysql高效获取数据的数据结构。 索引的本质&#xff1a; 索引是数据结构。简单理解为“排好序的快速查找数据结构”&#xff0c;满足特定查找算法。这些数据结构以某种方式指向数据&#xff0c; 这样就可…

期末计算机网络知识点总结

开篇提示: 因为博主图床使用的是GitHub进行存储的&#xff0c;因此当出现图片无法加载&#xff0c;可以尝试更换网络&#xff0c;或者用其他上网方法。当时想用 Gitee进行存储&#xff0c;但一直失败&#xff0c;过一段时间再试几次。目前这篇博文会一直更新&#xff0c;补充新…

Python的内置函数和保留字(关键字)

目录 内置函数 关键字&#xff08;保留字&#xff09; 内置函数 Python 解释器自带的函数叫做内置函数&#xff0c;这些函数可以直接使用&#xff0c;不需要导入某个模块。 将使用频繁的代码段封装起来&#xff0c;并给它起一个名字&#xff0c;以后使用的时候只要知道名字就可…

虹科分享 | 《面向金融行业的商业智能解决方案》白皮书

在以数据为中心的商业环境中&#xff0c;金融业面临着众多挑战&#xff0c;包括瞬息万变的市场动态、监管要求以及客户期望。金融行业从各种来源生成大量数据&#xff0c;包括交易、客户互动、市场数据和内部运营等。然而&#xff0c;如果缺乏有效的数据管理和分析&#xff0c;…

算法修炼之筑基篇——筑基二层后期(初步理解解决贪心算法)

✨博主&#xff1a;命运之光 &#x1f984;专栏&#xff1a;算法修炼之练气篇 &#x1f353;专栏&#xff1a;算法修炼之筑基篇 ✨博主的其他文章&#xff1a;点击进入博主的主页 前言&#xff1a;学习了算法修炼之练气篇想必各位蒟蒻们的基础已经非常的扎实了&#xff0c;下来…

【opencv】无法打开源文件opencv.hpp | bug记录

问题描述 今天这个bug其实比较搞笑&#xff1a; 原因分析&#xff1a; 那就是我们的VS软件没有识别到安装的库。肯定是下面三个环节哪里出错了&#xff1a; 1&#xff09;项目属性里的包含目录&#xff08;include&#xff09; 2&#xff09;项目属性里的库目录(lib) 3&…