什么是4B/5B编码?

4B/5B编码是百兆以太网中线路层编码类型之一,就是用5bit的二进制数来表示4bit二进制数,映射方式如下表所示:

为什么要进行4B/5B编码?

在通信网络中,接收端需要从接收数据中恢复时钟信息来保证同步,这就需要线路中所传输的二进制码流有足够多的跳变,即不能有过多连续的高电平或低电平,否则无法提取时钟信息。

Manchester编码可以保证线路中码流有充分的跳变,因为它是用电平从“-1”到“+1”的跳变来表示“1”,用电平从“+1”到“-1”的跳变来表示“0”,但是这种编码方式的效率太低,只有50%,相当于用线路的有效带宽来换取信号的跳变,十兆以太网就是使用Manchester编码,虽然线路的有效带宽只有10Mbps,但实际带宽却是20Mbps。

百兆以太网用的4B/5B编码与MLT-3编码组合方式,发送码流先进行4B/5B编码,再进行MLT-3编码,最后再上线路传输;千兆以太网用的是8B/10B编码与NRZ编码组合方式;万兆以太网用的是64B/66B编码;PCIE 3.0用的是128B/130B编码。

4B/5B编码规则有哪些?

4B/5B编码其实就是用5bit的二进制码来代表4bit二进制码。此编码的效率是80%,比Manchester码高。4B/5B编码的目的在前面已经说过了,就是让码流产生足够多的跳变。4位二进制共有16种组合,5位二进制共有32种组合,如何从32种组合种选取16种来使用呢?这里需要满足两个规则:

1). 每个5比特码组中不含多于3个“0”;

2). 或者5比特码组中包含不少于2个“1”;

此规则是怎么来的?这就要从MLT-3码的特点来解释了。MLT-3码的特点简单的说就是:逢“1”跳变,逢“0”不跳变。为了让4B/5B编码后的码流中有足够多的跳变就需要编码后的码流中有尽量多的“1”和尽量少的“0”。

About 4B/5B相关推荐

  1. 通讯线路物理层编码类型总结(NRZ,MLT-3,4B/5B,8B/10B,64B/66B...)

    通信线路的编码就像商品的包装,商品包装的目的是使商品更适合运输,在运输过程中不受损,同样,线路编码的目的就是使编码后的二进制数据更适合线路传输. 物理层的编码可以分为两类. 一类是和物理介质相关,常用 ...

  2. USB PD物理层使用的4B/5B编码介绍

    1. 什么是4B/5B编码 就是用5bit的一个二进制数来表示一个4bit二进制数. 2. 目的 为了保证物理层通信的同步(一般数字电路实现),线路中传输的码流需要有足够多的跳变. 显然正常的方式如: ...

  3. 编码(NRZ、NRZI、曼彻斯特、4B/5B)

    将节点和链路变成可用构件的第一步,是清楚它们如何连接,以使比特从一个节点传输到另一个节点.正如在前一节中提到的,信号是在物理链路上传播的.因此,我们的任务是将源节点准备发送的二进制数据编码为链路能够传 ...

  4. 五、数据编码:曼侧斯特编码,差分曼彻斯特编码的区别 , 4B/5B编码 ——网络工程师成长之路

    计算机网络常见的八大数据编码 单极性码 与 极性码 双极性码 归零编码 不归零码 1变 0 不变 双相码 曼侧斯特编码 : 差分曼侧斯特编码 : 差分曼彻斯特编码: 有 0 无 1 两种曼彻斯特编码的 ...

  5. 编码(NRZ、NRZI、曼彻斯特、4B

    转自:http://book.2cto.com/201506/52119.html 正如之前已提到的,本章讨论的大部分功能是由网络适配器(network adaptor)完成的,它是一个将节点连接到链 ...

  6. 王道考研 计算机网络笔记 第二章:物理层

    本文基于2019 王道考研 计算机网络: 2019 王道考研 计算机网络 个人笔记总结 第一章:王道考研 计算机网络笔记 第一章:概述&计算机网络体系结构 后续章节将陆续更新- 第二章 一.物 ...

  7. 计算机网络-编码与调制

    信道: 传输信号: 模拟信道:传送模拟信号 数字信道:传送数字信号 传输介质: 无线信道 有线信道 基带传输:数字信道上传输. 宽带传输:模拟信道上传输. 传输距离近:计算机网络采用基带传输[距离近, ...

  8. 2007年上半年 网络工程师 上下午试卷【附带答案】

    2004-2017年真题+答案[0.23RMB]自取 2007年上半年 网络工程师 上午试卷 ● (1) 不属于计算机控制器中的部件. (1)A.指令寄存器IR              B.程序计数 ...

  9. 关于网络的自动协商属性

    1.首先普及点网线的基础知识 网线分为:直通线,交叉线和反转线 直通线: 两头都是A类(规范的制作方法,100M接法) 交差线: 一头是A类,一头是B类 反转线: 一头是A类,另一头是完全把A反过来排 ...

最新文章

  1. Python 字符串前面加u,r,b的含义
  2. 天命剑之天命的含义--天行有悖,乃命羲和。
  3. java 对象怎么序列化,java对象序列化总结
  4. mysql字段默认值不生效的问题解决(上)
  5. 延展公司与兰石重装签订战略合作协议
  6. 数字图像处理实验(11):PROJECT 05-02,Noise Reduction Using a Median Filter
  7. C++ Primer 5th笔记(9)chapter9 顺序容器 构造和赋值
  8. 笔记-高项案例题-2018年下-范围管理
  9. 去除标签_有效去除“狗皮膏药”标签,快学起来吧
  10. Java快速提升_java快速复习 一 基础语法
  11. mysql 查询商品列表 显示tag_让前台页面商品列表显示后台数据库中的商品
  12. Java实现文件及文件夹的删除
  13. 数据传输服务器系统图,档案数字化管理系统
  14. SQL SERVER2008 R2 ,求教,故障日志不断增大,撑爆硬盘,谢谢。
  15. UDS服务中关于服务器响应行为的实现规则
  16. CodeLite配置
  17. IntelliJ IDEA 单词表--01
  18. 如何用好消息推送为app拉新、留存、促活
  19. 虚拟机怎么架设dns服务器,虚拟机centos7 DNS服务器搭建
  20. 工龄与薪水的一元线性回归模型-Python Pycharm实现(出现警告)

热门文章

  1. Systemd-CentOS7系统服务介绍与CentOS6服务对比
  2. 按钮配置之自定义按钮使用(一)——JEPLUS软件快速开发平台
  3. LVM逻辑卷的管理--创建LVM、扩容,快照实战
  4. 《迷人的8051单片机》---- 1.2小元器件有大智慧
  5. Spring实战——缓存
  6. 什么是VB.NET的结构化异常处理
  7. 浅析C#合并多个WORD文档的具体实现方法
  8. ios点击推送闪退_苹果推送iOS 14.2 beta 1:千万别更新,大批应用闪退
  9. spring的annotation-driven配置事务管理器详解
  10. 简单实用一分钟上手级权限控制