第三章:预加重与去加重——TX 均衡基本原理归纳总结

好,我们进入第三章。聊链路参数调优,有一个坎儿你绕不过去——TX 均衡。说白了,就是发射端怎么把信号“预处理”一下,让它在经过损耗严重的通道后,接收端还能看清楚是 0 还是 1。

我个人习惯把 TX 均衡叫做“信号整形”。它不是放大,也不是滤波,而是有针对性地调整每个 bit 的发射幅度。为什么需要这样?你想想看,高速信号穿越 PCB 走线、连接器、背板,高频分量衰减得厉害。一个孤立的 1 比特,到了接收端可能已经软趴趴的了。

核心思想:TX 均衡通过在发送端对相邻比特进行幅度补偿,抵偿通道的低通特性。它不增加总功耗,但能显著提升眼图张开度。

3.1 预加重 vs 去加重:一字之差,天壤之别

这两个词容易搞混。我刚入行那会儿也迷糊过。它们的区别很简单,看参照物。

  • 预加重(Pre-emphasis):提升高频分量的幅度。把跳变沿(从 0→1 或 1→0 的瞬间)的发射幅度增大。
  • 去加重(De-emphasis):降低低频分量的幅度。把连续相同 bit(如一连串的 1 或一连串的 0)的发射幅度减小。

大多数 SerDes 厂商实际用的是 去加重。为什么?因为预加重需要提高峰值电压,容易触发射频前端器件的线性区限制。而去加重只是把非跳变 bit 的幅度压下来,峰值电压基本不变,设计上更友好。

嗯,这里要注意:工程上说的“预加重”很多时候指的就是去加重。你去看芯片手册,标着“Pre-emphasis”的寄存器,实际调节的是主抽头(cursor)和前/后抽头(pre-cursor / post-cursor)的比例。它本质上还是在做去加重。

3.2 基本原理:一个三抽头的故事

现在 SerDes 普遍采用 有限冲击响应(FIR)滤波器 来实现 TX 均衡。最常见的是 3 抽头结构。你把它想象成一个 Delay line:当前要发的 bit 叫 cursor,前面那个 bit 叫 pre-cursor,后面那个叫 post-cursor。

每个抽头都有个权重系数。发射端把这些抽头加权求和,然后发送。这三个系数通常记作:

// 伪代码表示
tap_pre  = -α   // pre-cursor 系数,通常为负值
tap_main = 1.0  // cursor 系数,归一化
tap_post = -β   // post-cursor 系数,通常为负值

// 发射波形幅度
Tx_out = tap_main × Cursor + tap_pre × Pre_cursor + tap_post × Post_cursor

你看,负系数意味着当你发送一个孤立跳变时,pre 和 post 抽头会从主抽头的能量里“借”走一部分。这就在发送端人为地制造了一个幅度差。这个差值就是要用来抵消通道 ISI(码间干扰)的。

调参直觉:如果通道损耗很大,就把 post-cursor 系数调大(更负),相当于加重去加重深度。但别调太过,不然接收端的信号底噪会抬升。

3.3 波形对比:看看时域发生了什么

假设我们要发送一串数据:110001。我们看看去加重前后的波形长什么样。

数据序列 去加重前(理想方波) 去加重后(3-tap FIR) 解释
1→1 Vhigh Vhigh - Δ 连续相同 bit,被去加重,幅度降低
0→1 Vhigh Vhigh 跳变沿,保持满摆幅
1→0 Vlow Vlow 跳变沿,保持满摆幅(负方向)
0→0 Vlow Vlow + Δ 连续 0,被去加重(往正方向抬了一点)

我在项目中遇到过这样的情况:有次调 Gen4 链路,眼图总闭合。示波器一看,发射波形四个电平清清楚楚,但到接收端就糊了。后来发现是去加重深度不够,通道的衰减没能被抵消掉。加了 3dB 去加重,眼图瞬间就睁开了。

3.4 从去加重到 FFE:更灵活的均衡

去加重只是 FFE(前馈均衡)的一种特例。FFE 允许你调节更多的抽头系数,而不止是主抽头的正负。

为什么需要更多抽头?因为通道的脉冲响应拖尾可能很长。一串 bit 的影响,可能延续到后面第 3、第 4 个 bit。单靠一个 post-cursor 系数不够。这就是 4-tap、5-tap FFE 登场的原因。

配置 FFE 系数有点像调 EQ 均衡器。你给不同频率分量做不同的增益。只不过这个“频率”是离散的,对应于 bit 间隔。

避坑指南:我曾经手滑把一个 5-tap FFE 的第三抽头系数设成了正的 0.2。结果波形上出现了一个奇怪的上冲。后来才发现,那个抽本应是负的,我写反了。你的发射波形必须在合规的幅度包络之内(Spec 通常有 Mask 限制),不然直流偏移会越界。

3.5 知识脉络:一张图理清关系

下面这张图,把预加重、去加重、FFE 和 FIR 的关系串起来了。你看一眼,应该能对 TX 均衡的全貌有个直观认识。

TX均衡知识体系|预加重·去加重·FFE TX 均衡 思路一:提升高频 思路二:压低低频 通用框架:FFE 预加重 去加重 FIR 滤波器 多抽头系数 核心逻辑:通过调整发送波形的前后 bit 的相对幅度,预补偿通道的低通特性。 去加重是目前业界最主流的实现方式;FFE 是其通用化(更多抽头、灵活系数)。

3.6 寄存器配置:用数字说话

实际调优的时候,你面对的不是原理图,而是寄存器。拿某主流 SerDes IP 举例,TX 均衡控制寄存器一般是这样的:

// TX 均衡系数寄存器(假设)
// 地址 0x0044:主抽头系数 [11:0]
// 地址 0x0048:第一后抽头系数 [11:0]
// 地址 0x004C:第二后抽头系数 [11:0]
// 地址 0x0050:第一前抽头系数 [11:0]

// 一个实际的 Gen4 配置例子(去加重约 3.5dB)
write_reg(0x0044, 0x7A3);  // 主抽头:1955 (10进制)
write_reg(0x0048, 0x1D4);  // 第一后抽头:468 (10进制)
write_reg(0x004C, 0x000);  // 第二后抽头:0 (未使用)
write_reg(0x0050, 0x000);  // 第一前抽头:0 (未使用)

去加重深度用 dB 表示,计算公式大致是:

De-emphasis (dB) = 20 × log₁₀( cursor / (cursor - sum_posts) )

还是刚才的例子:cursor = 1955,post1 = 468,代入就算出大约 3.5 dB。

调优小窍门:在示波器上观察 TX 端波形,找那个“二电平眼图”。当去加重深度合适时,眼图上下沿应该是对称的,没有明显的“瘦肩”或“塌肩”。如果不确定,先从一个保守值开始(比如 2dB),然后每次加 1dB 逐步逼近。

3.7 小结

TX 均衡没有多神秘。它就是利用 FIR 滤波器,在发送侧对相邻比特的发送幅度做差异化调整。去加重是主流,FFE 是它的升级版。记住一个原则:去加重深度 ≈ 通道损耗(中低频段)。调得太轻,ISI 压不住;调得太重,接收端信号动态范围不够。