8B10B编码原理详解

本文介绍了8B10B编码的概念,它作为一种信道编码技术,用于高速串行通信中确保数据质量和直流平衡。文章详细探讨了编码目的、遇到的问题、解决方案,以及8B10B的实现机制,包括运行极性(RD)的运用和完美码型的选择。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、8B10B编码概念

参考https://mp.weixin.qq.com/s/pL6qvJwilUKSH_izPpvVpQ

  • 何为编码,编码就是信息从一种形式或格式转换为另一种形式的过程,例如用1表示3.3V,再例如我们熟知的ASCII码都是编码。8B/10B编码也是一种编码,我们可以简单的理解为用一个位宽10bit的数据来表示一个位宽为8bit数据的编码方式,但这种理解是直观的感受,更是粗浅的解释。
  • 8B/10B编码其实不仅提供给我们将8bit数据用10bit表示这样一种编码方式,更重要的是为我们高速串行传输提供了一种链路控制方式,因为它是一种信道编码技术。
  • 这里又涉及到一共新的名词,信道编码。信道编码是一门学科,代表人物有香农前辈、汉明码的发明人Hamming等,编码技术也是不胜枚举,曼切斯特编码、卷积码以及我们要说的8B/10B编码等等。信道编码又称之为线路编码,还可以称之为差错控制编码,其目的就是消除信号在传输过程中的干扰,让信号更干净,接收端能够准确的解析出来。所以8B/10B编码就是为实现上述目的所提供的一种编码方式。

二、高速串行通信需要解决的问题

高速串行通讯的实现有这样两个难点:

  1. 如何保证数据在传输中的质量
  2. 接收端如何从01中将数据恢复出来
    当然,完成这项任务不是8B/10B编码一人就可以解决的。
    8B/10B编码的主要贡献有两个方面:
  • 尽可能的保证串行数据流中的0和1平衡
  • 提供控制字符
    下面我们就从这两个方面来展开阐述。
    保证0、1平衡,也就是0和1的个数差不多,再换句话说就是高电平和低电平的持续时间差不多。专用的说法叫直流平衡或者说DC平衡。为什么需要DC平衡呢,这和高速串行通讯物理实现方式有关。 对于高速信号的处理,可以使用直流耦合和交流耦合,对于高速串行通讯,若要实现远距离通讯或者光通讯,则只能使用交流耦合的方式。例如Xilinx的高速串行通讯模块GTP、GTX等,都有模拟前端AFE,就是电流模式高速输入差分缓冲器。
    如PCIE传输线:中间会有一个电容
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

顺子学不会FPGA

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值