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 输出电流、差分阻抗与共模电压之间的逻辑关系。嗯,我就不多解释了,你看箭头就知道怎么推。
3.5 实测验证 — 如何快速确认CML信号质量?
- 用示波器测差分眼图:直接看差分摆幅是否接近 800 mV(Vcc=3.3V 时)。
- 测共模电压:用直流耦合模式,分别测 P 和 N 对地电压,平均值就是 V_cm。我记得有一次测出来共模只有 2.2 V,后来发现 Vcc 实际只有 3.0 V,电源稳压器压差不够。
- 检查端接电阻:断电后万用表测 P 到 Vcc 和 N 到 Vcc 之间的电阻,应该都是 50 Ω(实际电阻会有 1% 或 2% 误差)。
- 看上升/下降时间: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% 的信号完整性问题都能定位到具体环节。