天天看点

【电子技术】高速串行信号的预加重(Pre-emphasis)和去加重(De-emphasis)

什么是预加重/去加重(Pre-emphasis/De-emphasis?)

在下图一中我们看到,对于2.5Gbps信号,通过10、20、30、40英寸线长的背板后,接收端的眼图随着长度增加会逐渐闭合。原因在于信道是一个低通滤波器,随着传输线长度的增加,损耗和色散会越来越大,另外,随着频率的增加,损耗与色散效应也越来越明显。而当前的数字电路速度不断提高,通常,在速率高于1GHz的数字电路中,为了把信号能传输更远的距离,通常在发送端使用预加重或去加重的均衡技术。

【电子技术】高速串行信号的预加重(Pre-emphasis)和去加重(De-emphasis)

                                         图一:2.5Gbps信号通过不同信道后RX端测试的眼图

       在下图二中左半部分是预加重。预加重保持信号的低频部分不变,提升信号的高频部分;而去加重衰减信号的低频部分,保持高频部分。预加重/去加重的目的都是提升信号中高频部分的能量,以补偿信道对高频部分衰减过大。

【电子技术】高速串行信号的预加重(Pre-emphasis)和去加重(De-emphasis)

                                                      图二:预加重 VS 去加重

        如果在TX端测量经过预加重/去加重的信号的眼图,可以看到如下图三的上半部分所示的“双眼皮”的眼图,而下图八的下半部分是做3.5dB的去加重之前信号的眼图。还有,使用去加重后,TX端信号的抖动会大于未采用加重的信号,在下面的眼图中可以清楚的看到去加重后眼图的交叉点比去加重之前的更宽,说明在去加重后测量TX的抖动会更大些

【电子技术】高速串行信号的预加重(Pre-emphasis)和去加重(De-emphasis)

                                                图三:去加重前后的眼图对比

在当前流行的很多串行数据,比如PCIe、USB3.0、3.1、FBDIMM都使用了去加重技术。

高速芯片通常提供了几种预加重/去加重程度和信号幅度可调节,以第二代的PCI Express为例,其比特率为5Gbps,有3.5dB和6.5dB两者去加重模式。

在接下来的案例中,TX为某3.125Gbps信号源,信道为Lattice的带有24英寸传输线的演示板,RX为示波器的两个通道,即两个标准50欧的负载。图九中左边的眼图为TX端没有预加重时RX端测量到的眼图,右边的眼图为TX采用3.5dB预加重后RX端测量到的眼图,前者眼高为93mV,后者眼高为135mV。可见使用3.5dB预加重后,接收端的眼图得到提升。

【电子技术】高速串行信号的预加重(Pre-emphasis)和去加重(De-emphasis)

                                       图四:使用预加重后接收端眼图质量变好

        预加重/去加重是广泛应用于高速串行数据芯片的技术。在芯片设计中,芯片厂商通常提供了多种预加重/去加重的程度与信号幅度,在驱动不同信道时可以灵活选择。

        对于高速背板设计,我们可以测量不同传输线长度、不同背板连接器的等等情况的信道模型,用力科示波器直接在TX测量该芯片输出的信号,使用信道仿真功能,计算出RX端的信号、眼图与抖动。然后不断调节芯片的预加重/去加重程度,直到获得最佳的RX端的信号质量。

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

为什么要去加重或预加重?

在高速信号传输中,信号链路对高频信号的衰减大于对低频信号的衰减,这就导致了高速信号中高频和低频之间巨大的幅度差。反应在眼图上就是减小了眼高,并增大了Jitter。

【电子技术】高速串行信号的预加重(Pre-emphasis)和去加重(De-emphasis)

 上图中,红色箭头代表眼高和眼宽,黑色箭头加在一起代表了TJ(Total Jitter).

1. 眼高和信号幅度的峰峰值差距过大——信号高频和低频的幅度差导致。

2. 眼皮很厚——Jitter过大导致。

3. 眼图偏斜——链路对信号高频部分的损耗较低频部分大导致的。

什么是去加重和预加重?

去加重和预加重的目的都是尽量平衡高频分量和低频分量,减少传输链路对高频分量衰减大于低频分量对最终结果的影响。

预加重技术就是在传输线的始端增强信号的高频分量,以补偿高频分量在传输链路中较大的衰减。由于信号频率的高低主要是由信号电平变化的速度决定的,所以信号的高频分量主要出现在信号的上升沿和下降沿处,预加重技术就是增强信号上升沿和下降沿处的幅度。如下图所示。

【电子技术】高速串行信号的预加重(Pre-emphasis)和去加重(De-emphasis)

去加重技术的思想跟预加重技术有点类似,只是实现方法有点不同,预加重是增加信号上升沿和下降沿处的幅度,其它地方幅度不变;而去加重是保持信号上升沿和下降沿处的幅度不变,其他地方信号减弱。如下图所示。

【电子技术】高速串行信号的预加重(Pre-emphasis)和去加重(De-emphasis)

去加重补偿后的信号摆幅比预加重补偿后的信号摆幅小,眼图高度低,功耗小,EMC 辐射小。下图为去加重后得出的眼图,与上面的眼图对比可以看出,眼皮厚度明显变薄,总抖动减小。

【电子技术】高速串行信号的预加重(Pre-emphasis)和去加重(De-emphasis)

参考以下文章:

https://blog.csdn.net/wangdapao12138/article/details/79532618

https://blog.csdn.net/qq_30496755/article/details/80154633

https://blog.csdn.net/u013897440/article/details/75040722

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++

是么是去加重和preshoot?

去加重(De-emphasis)和preshoot是为了对抗码间干扰的(inter-symbol interference, ISI)。

什么是码间干扰呢?我们可以这么理解,当我们发送111101111这样的数据是,忽然变化的0,让电路里的电容很难迅速放电达到0,后面又被迅速拉到1,造成0的信号眼图很小:

【电子技术】高速串行信号的预加重(Pre-emphasis)和去加重(De-emphasis)

而这种情况随着频率的提高越来越严重。从信号的角度来看,也就是信道对高频衰减大,而对低频衰减小。那怎么办呢?通过压低1的幅度来张开0的眼图:

【电子技术】高速串行信号的预加重(Pre-emphasis)和去加重(De-emphasis)
【电子技术】高速串行信号的预加重(Pre-emphasis)和去加重(De-emphasis)

而Preshoot是将跳变前一个增大幅度:

【电子技术】高速串行信号的预加重(Pre-emphasis)和去加重(De-emphasis)

PCIE 3 代中规定了共 11 种不同的 Preshoot 和 De-emphasis 的组合(Preset)

【电子技术】高速串行信号的预加重(Pre-emphasis)和去加重(De-emphasis)

在PCIe root port链路初始化Training中,Rx发送TxEQ preset设置 要求给Tx,此过程叫做动态均衡。是的,他们本质上是一种FFE(Feed-forward Equalizer,前馈均衡器),发送端Tx通过它提高信号完整性。那么接受端Rx呢?

什么是CTLE和DFE?

Rx端采用CTLE (Continuous Time Linear Equalizer,连续时间线性均衡器)和DFE (Decision Feedback Equalizer,判决反馈均衡器)。限于篇幅,本文只简要介绍一下。

CTLE是利用连续的信号曲线,减缓低频部分,用来补偿高频部分,因为高频部分损耗较大,所谓削峰填谷。它有个缺点是会放大高频噪声。

DFE也是一种回馈均衡器,是用上次信道的输出经过判断后加权反馈到输入上。它不会放大高频噪声,但是只能处理码后干扰,不能消除码前干扰,且设计复杂和耗电。

效果如何?

PCIe 3.0信号不经过EQ处理是这样,眼图关闭:

【电子技术】高速串行信号的预加重(Pre-emphasis)和去加重(De-emphasis)

Tx经过EQ变成:

【电子技术】高速串行信号的预加重(Pre-emphasis)和去加重(De-emphasis)

再在Rx经过CTLE和DFE后:

【电子技术】高速串行信号的预加重(Pre-emphasis)和去加重(De-emphasis)

眼图才全部张开。

结论

我们把FFE和DFE这种具有回馈和自动调整的EQ叫做自适应均衡器(Adaptive Equalization),将CTLE这种叫做固定均衡器(Fixed Equalization)。普通程序员和一般BIOS工程师尽管可能接触了不少PCIe、USB、HDMI甚至是QPI的内容,但几乎都不会接触EQ。这是因为EQ大部分是自适应的,是在链路train的时候,由硬件自动完成的,芯片组完成了Tx的部分,板卡或者设备中TI等的芯片完成了Rx的部分,极少需要固件和驱动参与。只有在链路出现问题后的调试甚至workaround错误时才需要手动设置EQ参数,来解决不能train通或者train到更高速率的问题。

不仅仅高速串行总线,现在内存的并行总线中也引入了DFE和CTLE算法,但它是MRC程序实现而不是硬件实现。

继续阅读