PCIe从入门到精通之二十四:PCIe物理层TX增益均衡Equalization
0,引言
在上一篇文章《PCIe从入门到精通之二十三:PCIe物理层PAM4信号》中,我们介绍了PCIe物理层PAM4信号的特点,其中之一就是PAM4信号会恶化信噪比。
这一篇我们将讨论PCIe物理层TX增益均衡Equalization如何对信号进行复原。
所有PCIe主题的文章都会收录在《深入浅出聊PCIe》
https://mp.weixin.qq.com/mp/appmsgalbum?__biz=MzU3NDY3OTA2Nw==&action=getalbum&album_id=4142016342255960068#wechat_redirect合集里,你们的转发和评论是对我最大的支持。
需要下载PCIe学习资料标准的朋友(pdf格式),请在对话框内回复“PCIe”,将获取标准下载链接。

一, 高速总线传输为什么需要增益均衡Equalization
1、增益均衡Equalization的作用
如图一所示,一条完整的高速总线链路包括发射端、通道、接收端。其中发射端内部有发射端的增益均衡器,接收端内部有接收端的增益均衡器。信号在发送端传输时眼睛是张开的,但是经过了通道(Pad、Breakout、PCB trace、Via、Capacitor、Connector)以后,信号在衰减、码间干扰、反射等因素的影响下造成了在接收端芯片管脚探测到的信号的眼睛Eyediagram是闭合的。如果想恢复信号的品质,必须在接收端芯片内部增加增益均衡器,将信号恢复,使眼睛Eyediagram张开。

图一. 高速总线传输链路
随着频率的提升和传输线长度的增加,损耗和色散会越来越大。另外,尤其是频率越大,损耗更也会越大。根据经验,速度超过 2.5 Gbps 时的信号损失最好采用均衡技术来补偿恢复。
高速总线传输需要增益均衡技术的主要原因是为了补偿信号在传输过程中因通道损耗(如电缆、连接器和PCB走线等)导致的高频信号衰减和失真。具体来说:
改善信号质量:通过调整发送端和接收端的信号频率响应,补偿高频损耗,减少信号抖动和失真。
提高信噪比:接收端均衡技术能够增强有用信号成分,抑制噪声,提高信号的可靠性。
适应不同物理环境:动态均衡技术根据实际传输通道条件实时调整均衡参数,确保信号传输的稳定性和完整性。
支持高速数据传输:增益均衡技术保证高速总线在物理层的信号完整性,满足高速数据传输的需求。
2、PCIe含有哪些增益均衡Equalization
PCIe TX 增益均衡Equalization含有三个类型。
- De-emphasis
- Pre-shoot
- Boost
PCIe RX 增益均衡Equalization含有两个类型。
- CTLE
- DFE
本篇文章将重点介绍PCIe物理层TX增益均衡Equalization:De-emphasis,Pre-shoot和Boost。
下一篇文章将重点介绍PCIe物理层RX增益均衡CTLE和DFE。
二, PCIe的去加重De-emphasis技术
1. 预加重和去加重
根据傅里叶变换,任何一个随时间变化的信号,都可以分解为不同频率的正弦波和余弦波的线性叠加,从而更方便地理解和处理信号的频率特性。不同频率成分的子信号通过链路衰减的程度不同,高频分量衰减的多,低频分量衰减的少。信号从发送端到达接收端后因为不同频率分量的衰减不同,会产生畸变。
为了平衡这种衰减的不均衡,一般有两种思路:预先放大高频分量幅度和预先减小低频分量幅度。
预加重pre-emphasis增益均衡是在信号处理之前预先增强高频部分的幅度,从而使信噪比更好。
预加重pre-emphasis:如图二中左边的两个信号所示,左上图中的方波是原始信号,左上图中的近似三角波是原始信号通过传输通道后的衰减信号,从中可以看出高频分量被衰减的很严重。左下图中的突出虚线的方波是对原始信号的高频分量进行放大,我们称之为预加重。左下图中的另外一个信号是预加重信号通过传输通道后的接收信号,可以看出接收到的信号近似为方波,从而实现对信号品质的提升。预加重技术的思想就是在传输线的发送端预先增强信号的高频成分,以补偿高频分量在传输过程中的过多的衰减。

图二. 预加重和去加重
去加重De-emphasis:如图二中右边的两个图所示,右上图中的方波是原始信号,右上图中的近似三角波是原始信号通过传输通道后的衰减信号,从中可以看出高频分量被衰减的很严重。右下图中的突出虚线的方波是原始信号的高频分量原始幅度,我们把低频分量预先做了衰减,和虚线相同幅度的是低频分量,称之为去加重。右下图中的另外一个信号是去加重后的信号通过传输通道后的接收信号,可以看出接收到信号近似为方波,从而实现对信号品质的提升。去加重技术的思想就是在传输线的发送端预先减弱信号的低频分量幅度,从而和高频分量在传输过程中的衰减保持一致。
2. PCIe中的去加重De-emphasis技术
在 PCB 走线(通常是 FR4 材质)中,导线对高频信号的衰减远大于低频信号(这种特性称为低通滤波效应)。
问题: 当高速数字信号通过长距离走线时,信号的跳变沿(高频成分)会被严重削弱,导致接收端的眼图关闭,产生码间干扰(ISI)。
对策: 去加重是一种在发送端(Transmitter, TX)进行的预处理。它通过降低低频成分(连续相同的位)的幅值,相对地突出高频成分(发生跳变的位),从而补偿传输路径上的损耗。
1). Gen 1 & Gen 2:固定时代
- Gen 1: 仅提供固定的 -3.5 dB 去加重。
- Gen 2: 引入了 -6.0 dB 选项,以应对更长的走线损耗。此时不支持动态协商,通常在 BIOS 或硬件引脚中固定设置。如下图所示:

2). Gen 3, 4 & 5:动态均衡与 Preset 时代
从 8 GT/s 开始,固定的去加重已无法满足需求,PCIe 引入了动态链路均衡(Dynamic Link Equalization)。
Presets (P0 - P10): 规范定义了 11 种预设组合。例如:
- P4: 无去加重,无preshoot(0 dB)。
- P7: 强去加重(-6.0 dB)和强preshoot(3.5 dB),用于损耗最大的通道。
- P8: 典型的中等均衡(-3.5 dB 去加重,3.5 dB preshoot)。
协商过程: 链路初始化时,TX 和 RX 会进行“训练”(Training),RX 会要求 TX 切换不同的 Preset,直到找到误码率(BER)最低的配置。
三, PCIe的Pre-shoot技术
1、什么是Pre-shoot?
在 PCIe 高速信号传输中,Pre-shoot(预冲/预激) 与去加重(De-emphasis)共同构成了发送端均衡(TX Equalization)的核心。如果说去加重是针对“跳变后”的补偿,那么 Pre-shoot 就是针对“跳变那一刻”的提前强化。
Pre-shoot 是一种发送端(TX)预处理技术,属于 3-tap FIR(有限脉冲响应)滤波器中的 Pre-cursor(前标) 补偿。
物理表现: 当数据流即将发生 0 到 1 或 1 到 0 的跳变时,Pre-shoot 会在跳变发生的那个位(Bit)上,进一步提高其电压幅值,使其比正常的跳变电平更高。
直观理解: 它像是一个“助跑”,在信号跨越阈值之前给它一个额外的推力,以抵消传输路径(信道)对高频跳变沿的阻碍。
如图三所示,电压Vc代表的是即将跳变的Bit的电压,因为即将跳变,所以提前给足额外电压幅度,以便补偿通道的额外损耗。

图三. 什么是Pre-shoot
2、 Pre-shoot 的工作原理(FIR 模型)
一个 8.0 Gbps 的发射器应采用基于系数的均衡模式,以便能够对发射器均衡的分辨率进行精细控制。发射器的均衡系数基于如图四所示的以下 FIR 滤波器关系。均衡系数受到限制,其最大摆幅不得超过 ±1,其中 c-1 和 c+1 为零或负值。包含单位条件意味着只需指定其中的三个系数中的两个即可完全定义 v_outn。在本规范中,所指定的这两个系数分别为 c-1 和 c+1,其中 c0 为隐含值。请注意,系数的大小与发射端电压摆幅的大小并不相同。

图四. PCIe Gen3 FIR模型
如图四,在 PCIe Gen 3 及以后的标准中,发送端信号由三个系数(Taps)决定:
c-1(Pre-cursor): 后一个bit跳变对前一个bit的影响的加权,对应 Pre-shoot。
c0(Main-cursor): 当前bit对自己的影响的加权,对应主信号。
c+1(Post-cursor): 前一个bit跳变对后一个bit的影响的加权,对应 De-emphasis。
Pre-shoot 的计算公式:
在规范中,Pre-shoot 通常定义为跳变位(Transition bit)的幅值与紧邻其之前的非跳变位(Non-transition bit)幅值的比值:
Pre-shoot (dB) = 20 log10(Vc/Vb)
如果没有 Pre-shoot: 信号跳变时的电压达到标准幅值。
有 Pre-shoot 时: 信号在跳变瞬间会被“拔高”,形成一个尖峰,这个尖峰能更快地冲过信道的低通阻碍,到达接收端。
3、 为什么需要 Pre-shoot?(与去加重的区别)
虽然 Pre-shoot 和 De-emphasis 都是为了补偿高频损耗,但它们的侧重点不同:
去加重 (De-emphasis):
做法: 降低非跳变位(连续相同的位)的能量。
目的: 减少低频成分对高频成分的干扰(消除拖尾)。
预冲 (Pre-shoot):
做法: 增强跳变位(发生变化的位)的起始能量。
目的: 补偿信道的相移和群时延失真。它能显著改善信号的上升沿/下降沿斜率(Slew Rate),从而打开眼图的水平宽度(减少抖动)。
4、 PCIe Gen3中各个Cursor的关系
图五中描述了各个Cursor和Va、Vb、Vc、Vd之间的关系。图中蓝色箭头代表三个Cursor的大小。从中可以得出以下公式:
-
- Vd=|C-1|+C0+|C+1| =-C-1+C0-C+1
- Vb=Vd+2*C-1 +2*C+1=C-1+C0+C+1
- Va=Vd+2*C-1 =C-1+C0-C+1
- Vc=Vd+2 *C+1 =-C-1+C0+C+1
其中:
C-1 和 C+1 的值为负数;
Pre-shoot和Boost(增益)为正数;
De-emphasis(增益)为负值;

图五. PCIe Gen3 Cursor之间的关系
5、 PCIe Gen6中的preshoot1和preshoot2的区别
在 PCIe Gen6 中,由于采用了 PAM4 调制(四电平脉冲幅度调制)以及高达 64 GT/s 的速率,信号的单位间隔(UI)极短(约 15.625 ps)。在如此高的频率下,信道的损耗和码间干扰(ISI)变得极其复杂。
为了应对这一挑战,PCIe Gen6 将发送端(TX)的 FIR 滤波器从 Gen 5 的 3-tap 升级为了 4-tap,从而引入了 Pre-shoot 2:C-2.如图六所示。

图六. PCIe Gen6的4个Cursor

图七. PCIe Gen6的4个Cursor与电压之间的关系
在发送端 FIR 滤波器中,信号的电压幅值由四个系数(Taps)共同决定。它们的时序关系如下:
- Pre-shoot 1 (c-1):
称为 1st Pre-cursor。它影响的是当前发送位之前第 1 个 UI 的信号。治理“近端”前向干扰。
它主要用于补偿信道引起的高频损耗,通过增强跳变沿的斜率(Slew Rate)来改善眼图的水平宽度。
它是最主要的预冲能量来源,直接决定了信号跳变那一瞬间的“冲力”。
- Pre-shoot 2 (c-2):
称为 2nd Pre-cursor。它影响的是当前发送位(Main Cursor)之前第 2 个 UI 的信号。治理“长尾”前向干扰。
在 64 GT/s 的速率下,信号的脉冲响应(Impulse Response)会发生严重的展宽。前向干扰(Pre-cursor ISI)不仅会影响前一个位,还会延伸到更早的位。
c-2的引入是为了抵消这种更早出现的干扰。 它能更精细地调整脉冲的起始形状,使得信号在到达接收端时,其前导沿更加对称,从而减少对前面第二个位的干扰。
直观理解: 如果当前要发送的数据位是n,那么c-1 是在第n-1个时刻做准备,而c-2则是提前到第n-2个时刻就开始为这次跳变做“预处理”。
- 对 PAM4 眼图的影响
PAM4 信号有 3 个垂直叠加的“眼”,对噪声和干扰极其敏感。
Pre-shoot 1: 主要是为了确保三个眼在时间轴上是对齐的,并提供足够的电压裕量来跨越阈值。
Pre-shoot 2: 更多起到微调(Fine-tuning)的作用。它能减少由于信道群时延(Group Delay)失真引起的非对称性。如果没有 c-2,PAM4 的三个眼可能会在水平方向上发生错位(Skew),导致整体有效眼宽变窄。
四,抛砖引玉
至此我们将PCIe TX端的增益均衡介绍完毕,下一章我们将介绍PCIe物理层RX增益均衡Equalization:CTLE和DFE。
敬请关注下一篇:《PCIe从入门到精通之二十五:PCIe物理层RX增益均衡Equalization》
五,参考文献:
需要以下参考文献(PCIe标准)的朋友,请在对话框内回复“PCIe”,将获取标准下载链接。


百度网盘分享的文件
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)