4. CML 电平标准与直流特性归纳总结
CML,全称 Current Mode Logic,电流模式逻辑。说白了,它和 LVPECL 一样都是高速差分信号标准,但底层思路完全不同。LVPECL 靠电压摆幅推信号,CML 靠电流切换拉信号。我刚开始接触 CML 的时候,最直观的感受就是:它比 LVPECL 省电,而且驱动能力不差。
这一节,我们专门把 CML 的电平标准和直流特性拎出来讲透。你搞懂了直流偏置,交流眼图才会有保障。我记得几年前调一块 25Gbps 的 SerDes 板,CML 输出直接接 AC 耦合电容,结果直流电平没算对,眼图张不开——嗯,从那以后我对 CML 的直流点就特别较真。
4.1 CML 的基本结构
CML 发送端通常是一个差分对管加一个尾电流源。输出通过上拉电阻(通常是 50Ω 到 VCC)把电流转成电压。接收端一般是 50Ω 端接到 VCC 或者内部偏置。
典型的拓扑长这样:
VCC
|
Rload (50Ω)
|
+---- VOUT+
|
Q1 Q2 (差分对)
\\
\\
+---- I_tail (通常 16mA)
|
GND
嗯,说白了,CML 的输出电压就等于 VCC 减去 Rload 上的压降。尾电流在 Q1 和 Q2 之间切换,所以输出是一个以 VCC 为参考的电压摆幅。
核心关系:
VOH = VCC (没有电流流过该侧上拉电阻时)
VOL = VCC - I_tail × Rload (全电流流过该侧时)
摆幅 = VOH - VOL = I_tail × Rload
我常用的尾电流是 16mA,上拉 50Ω,摆幅就是 800mV 峰峰值。当然也有 12mA、20mA 的变种,取决于功耗和信号完整性要求。
4.2 直流电平标准
CML 不像 LVPECL 有固定的 VOH/VOL 规范。它的输出电平完全取决于 VCC、Rload 和 I_tail。但在工业界,有几个实际标准要记住。
| 参数 | 典型值 | 说明 |
|---|---|---|
| VCC | 3.3V / 2.5V / 1.8V | 电源电压,CML 可以灵活适配 |
| I_tail | 16 mA (常用) | 尾电流,决定了摆幅和功耗 |
| Rload | 50 Ω | 上拉电阻,通常集成在片内或外部 |
| VOH | ≈ VCC | 高电平,接近电源 |
| VOL | ≈ VCC - 0.8V | 低电平,摆幅 800mV |
| 共模电压 | ≈ VCC - 0.4V | 差分的直流中心点 |
注意:CML 的共模电压非常靠近 VCC。你想想看,如果 VCC=3.3V,共模大约在 2.9V 左右。这时候接收端的输入共模范围必须能覆盖这个电平。很多高速芯片的 CML 输入都做了内部偏置,能自动适应。
我曾经掉过的坑: 把 CML 输出直接接到 LVPECL 输入端。LVPECL 的输入共模大约 VCC-1.3V,而 CML 是 VCC-0.4V,差将近 1V。结果电平不匹配,信号完全失效。后来老老实实加了 AC 耦合电容并重新偏置。
4.3 直流特性详细分析
我们拆开来看几个关键参数:
4.3.1 输出摆幅
摆幅 = I_tail × Rload。如果你的板子损耗大,可以适当调高 I_tail 来增大摆幅。但我建议不超过 800mV,否则 EMI 和功耗都会飙升。
4.3.2 共模电压
共模电压 = VCC - (I_tail×Rload)/2。它是直流偏置点,直接决定了接收端能否正确识别。遇到芯片手册只给 VICM (输入共模范围) 的,一定要拿这个值去比对。
4.3.3 功耗
CML 的功耗主要来自尾电流:P = VCC × I_tail。相比 LVPECL 用电阻分压到地,CML 功耗更可控。尾电流关掉就几乎不耗电,适合热插拔或节电模式。
快速计算口诀:
摆幅(mV) = I_tail(mA) × Rload(Ω)
共模(V) = VCC - 摆幅/2
功耗(mW) = VCC × I_tail
4.4 AC 耦合时的直流重建
很多高速链路用 AC 耦合电容隔掉直流偏置。但 CML 的接收端必须自己重建直流偏置。我记得有块板子,CML 输出经过电容后忘了加偏置电阻,结果接收端没偏压,输出全乱。
AC 耦合后,接收端的直流偏置通常通过两个 50Ω 电阻到 VTT 实现。VTT 一般设成 VCC - 0.4V,也就是 CML 的共模电压。或者直接用芯片内部的偏置电路。
推荐配置:
- 发送端 CML 输出 → 隔直电容 (0.1μF 或更小,看速率)
- 隔直电容 → 接收端输入
- 接收端输入对地接 50Ω 到 VTT (VTT = VCC - 0.4V)
- 或者接收端有内部偏置,外部只需 50Ω 到 GND(取决于芯片)
我个人习惯:只要能 AC 耦合,尽量 AC 耦合。这样发送端和接收端的共模电压互不影响,电平兼容性大大提高。碰到不同电源域的系统,这招简单有效。
4.5 与其他电平标准的直流对比
| 参数 | CML | LVPECL | LVDS |
|---|---|---|---|
| 电源电压 | 3.3/2.5/1.8V | 3.3V | 3.3/2.5V |
| 输出摆幅 | 800mV (典型) | 800mV | 350mV |
| 共模电压 | ≈ VCC-0.4V | ≈ VCC-1.3V | ≈ 1.2V (对 GND) |
| 功耗 (每对) | ≈ 53mW (3.3V×16mA) | ≈ 105mW | ≈ 5mW |
| 驱动距离 | 中等 | 中等 | 长距离 |
| 速度上限 | 极高 (>50Gbps) | 高 (10Gbps+) | 中等 (2Gbps) |
从表里你一眼就能看出,CML 的共模和 LVPECL 差很多,不能直接连。LVDS 的共模又低得离谱,完全不是一个世界。我选型的时候,只要单通道速率超过 10Gbps,首选 CML。LVPECL 在 1-10Gbps 区间还有一席之地。
4.6 直流特性总结 —— 一张图看明白
为了帮你在脑子里搭个结构,我画了下面这张 CML 直流特性的归纳图。它把发送端、接收端、AC 耦合、关键电平点串在一起,你以后调试时可以快速参考。
4.7 实测小贴士
调试 CML 直流特性时,我建议你拿示波器看两个地方:
- 单端波形的高电平: 是不是接近 VCC?如果是,说明发送端上拉正常。
- 共模电压: 用数学通道算 (CH1+CH2)/2,看是不是 VCC - 0.4V 左右。
如果你发现共模异常,先量 VCC 电压和地回路。很多情况下共模漂移其实是电源噪声或接地阻抗过大引起的。我曾遇到一块板子,CML 信号的眼图一直塌,最后发现是电源平面在接头处有 10mV 的纹波,把共模踩歪了。加个 0.1μF 去耦电容搞定。
再次提醒: CML 的共模离 VCC 很近,所以对电源噪声很敏感。高速 CML 链路一定要保证 VCC 的干净度。每对差分线附近放个 100nF 电容,别省。
好了,这一章的内容就到这里。CML 的直流特性总结起来就是:尾电流决定摆幅,共模接近电源,AC 耦合要重建偏置。你记住这三点,调试起来基本不会跑偏。