disparity/Running disparity(RD)和8b/10b线路编码

1.为什么要进行线路编码?

        高速链路中如果高低频损耗差异过大 就会导致接收机看到的眼图是闭合的 从而无法正确的恢复数据。为了解决这种情况经常要在TX和RX端增加均衡电路衰减低频幅度或者抬高高频幅度【线路对高频的损耗大 对低频的损耗小】

【加重技术:预加重(pre-emphasis)和去加重(De-emphasis)_cy413026的博客-CSDN博客

        除了均衡 保证传输信号的均匀翻转 也就是降低直流分量同样十分重要。为了降低连续传输0,或者连续传输1的概率 线路编码就十分必要。这个过程实际是直流均衡。

        直流均衡有两个作用:

  • 有足够的0/1翻转给RX提供定时信息
  • 避免因为直流过大,在link上被电容“隔直流”导致信号衰减过大,而RX无法识别0/1.

        对于第二点需要说明的是:高速串行通信,通常使用交流耦合方式,即在发送端(TX)串接电容,根据电容“隔直流,通交流”的特性,频率越大,电容阻抗越小。

        常见8b/10b , 64/66b, 128/130b, 128/132b都有各自的使用场景。

2. disparity

使用 “不一致性(Disparity)”来描述编码中"1"的位数和"0"的位数的差值,比如5/6b编码

D.00   5'b00000 编码后有两种情况:

6'b100111:此时Disparity为-2 表示1比0多两个,认为是-RD的码型

6'b011000:此时Disparity为2表示1比0少2个,认为是+RD的码型

3.Running disparity

运行不一致性(RD),它的取值只有仅会出现+1与-1两种状态,

+1代表位"0"比位"1"多:含义是前面一段传输过程中0比1多

-1代表位"1"比位"0"多:含义是前面一段传输过程中1比0多

其初始值是-1

那么当前在选择线路编码的时候,如果RD = +1, 当前就选择-RD的线路编码;反之则反之。

8B/10B编码基本原理_8b10b编码_KSY至上主义者的博客-CSDN博客一、为什么需要8B/10B编码简单的说是为了实现直流均衡。在高速串行通信中,8B/10B编码是一种经常用到的编码方式。而高速串行总线中,通常采用交流耦合方式,即在发送端(TX)串接电容,根据电容“隔直流,通交流”的特性,或者理想电容的阻抗公式:信号频率越高,电容阻抗越低。当数据位流中出现多个连续的1或0时,可以认为该时间段信号是直流的,电容的损耗变大,导致信号的幅度降低,直流信号被滤除,到最后无法识别是1还是0。而且接收端收到连续的1或0时,没有充分的定时信息,对接收端的解码带来了困难。其原理如下图_8b10b编码https://blog.csdn.net/qq_37654178/article/details/112391245

8B/10B ENCODE/DECODE详解https://www.cnblogs.com/YINBin/p/11011232.html

一文了解高速信号编码之8B/10B - OFweek电子工程网https://ee.ofweek.com/2021-07/ART-11000-2801-30510236.html

猜你喜欢

转载自blog.csdn.net/cy413026/article/details/131839282
今日推荐