CML 电气特性详解 — 输出电流与差分阻抗

CML(电流模式逻辑)在高速串行链路里非常常见,比如 PCIe、SATA、XAUI 这些接口都用它。这一节咱们重点讲它的两个核心电气参数:输出电流和差分阻抗。这两个参数搞明白了,调试时至少能少走一半弯路。

3.1 输出电流 — 核心"劲力"从哪来?

CML 的输出级本质上是一个差分对,由两个晶体管的集电极(或漏极)开路组成,再通过上拉电阻接到电源。它的输出电流决定了差分电压摆幅的大小。

  • 典型值:标准 CML 输出电流 I_out 为 16 mA,差分端接 100 Ω 时,单端摆幅 400 mV,差分摆幅 800 mV。
  • 变化范围:在实际芯片中,因为工艺和温度偏差,这个电流可能落在 14~18 mA 之间。我在项目中见过某款 SerDes 芯片在高温下电流跌到 12 mA,导致眼图变窄——这种问题光看规格书是发现不了的。
  • 对输出幅度的影响:输出差分电压 V_od = I_out × R_term(R_term 是单端端接电阻,通常是 50 Ω)。

记住这个公式:

V_od(diff) = I_out × (R_term + R_term) = I_out × 100 Ω

如果实测差分幅度只有 700 mV 而不是 800 mV,先查 I_out 还是 R_term?我习惯先查端接电阻,因为它更容易被焊接不良或寄生电容影响。

3.2 差分阻抗 — 为什么必须是 100 Ω?

CML 的差分阻抗是由外部端接电阻决定的。芯片本身并不提供终端匹配,它只提供一个电流源,外部必须接一对 50 Ω 到 Vcc 的上拉电阻。

参数 CML LVPECL(对比)
输出端结构 电流源 + 射随器(开漏) 发射极开路
差分阻抗 100 Ω(由两个 50 Ω 上拉到 Vcc) 100 Ω(由两个 50 Ω 下拉到 GND 或 Vtt)
共模电压 Vcc - 400 mV(典型) Vcc - 1.3 V(典型)

为什么会是 100 Ω?因为大多数高速 PCB 的差分微带线特征阻抗就是 100 Ω。如果端接不匹配,反射会让你眼图“长毛”。

实测技巧:用 TDR 看阻抗曲线时,我习惯先断开芯片,单独测传输线。如果走线阻抗已经是 100 Ω,再接上 CML 端接电阻。有一次我焊错了电阻值——端接焊成了 47 Ω,结果差分阻抗只有 94 Ω,信号反射严重。后来用热风枪重新焊上 49.9 Ω 的 1% 电阻才解决。

3.3 共模电压 — 别忽略这个"隐藏参数"

CML 的共模电压 V_cm 等于 Vcc - I_out × 50 Ω。代入典型值:Vcc = 3.3 V,I_out = 16 mA,V_cm = 3.3 - 0.8 = 2.5 V。如果 Vcc 是 1.8 V,那么共模电压就降到 1.0 V 左右。

我曾经调试过一个 12.5 Gbps 的 CML 链路,示波器测差分摆幅正常,但接收端老是报错。后来发现接收器的共模输入范围是 0.8~1.2 V,而 CML 输出共模是 2.5 V,直流耦合直接饱和了输入级。解决办法是加交流耦合电容。

警告:CML 和 LVPECL 共模电平差异很大,直流耦合时务必核对双方的共模电压范围。否则轻则信号畸变,重则烧芯片。

3.4 知识框架 — 一张图理清关系

下面这张图总结了 CML 输出电流、差分阻抗与共模电压之间的逻辑关系。嗯,我就不多解释了,你看箭头就知道怎么推。

CML 电气参数关系图 CML 输出级(电流源) 输出电流 Iout (16mA) 端接电阻 R_term (50Ω) 定义电流方向 决定端接电阻 差分幅度 V_od 共模电压 V_cm 差分阻抗 Z_diff V_cm = Vcc - Iout×R_term;Z_diff = 2×R_term

3.5 实测验证 — 如何快速确认CML信号质量?

  1. 用示波器测差分眼图:直接看差分摆幅是否接近 800 mV(Vcc=3.3V 时)。
  2. 测共模电压:用直流耦合模式,分别测 P 和 N 对地电压,平均值就是 V_cm。我记得有一次测出来共模只有 2.2 V,后来发现 Vcc 实际只有 3.0 V,电源稳压器压差不够。
  3. 检查端接电阻:断电后万用表测 P 到 Vcc 和 N 到 Vcc 之间的电阻,应该都是 50 Ω(实际电阻会有 1% 或 2% 误差)。
  4. 看上升/下降时间:20%~80% 上升时间如果超过 50 ps(以 12.5 Gbps 为例),说明输出级驱动能力可能不足——电流偏小或者寄生电容过大。

一个避坑的案例:曾经有块板子,高速信号过了一颗 AC 耦合电容后,眼图幅度从 800 mV 衰减到 650 mV。我用阻抗 TDR 一测,发现电容焊盘下有过孔残桩,增加了 0.5 pF 寄生电容,高频分量被衰减了。换用 0402 电容后恢复。嗯,这种问题不在输出电流和阻抗的取值范围里,但在实际 PCB 布局里经常碰到。

3.6 关键参数速查表

参数 典型值 常用范围 调试观察点
输出电流 Iout 16 mA 14~18 mA 差分摆幅下降 → 查 Iout
单端端接 R_term 50 Ω 49.9 Ω(1% 精度) 阻抗突变 → 查电阻焊接
差分阻抗 Z_diff 100 Ω 95~105 Ω TDR 曲线异常 → 查走线
差分摆幅 V_od(diff) 800 mV 700~900 mV 眼图幅度不够 → 检查 Iout 和 R_term
共模电压(Vcc=3.3V) 2.5 V 2.4~2.6 V 接收端共模不匹配 → 加 AC 耦合

说白了,CML 调来调去就是这三样:电流给够、电阻对位、共模匹配。只要拿示波器把这些数值过一遍,95% 的信号完整性问题都能定位到具体环节。