CML电气特性详解:输出摆幅、共模电压与可调电流源

上一章我们把LVPECL的电气特性过了个遍,不少同学跟我说,LVPECL的功耗太高了,能不能有更省电的方案?CML(Current Mode Logic,电流模式逻辑)就是那个“吃得少、跑得快”的优等生。

行,咱们今天就来把CML的底裤扒透——输出摆幅多大、共模电压怎么定、那个可调电流源到底怎么玩,最后再拿它跟LVPECL硬碰硬比一场。我记得刚接触CML时,第一反应是:这玩意儿怎么连个固定的电平都没有?后来才懂,没有固定电平,恰恰是CML的精髓所在。

4.1 输出摆幅:由电流和电阻说了算

CML的输出级结构其实特别简单。我习惯把它想象成一个“电流开关”:

  • 一对差分对管(通常是共源极)
  • 两个上拉电阻(R_load)到电源
  • 一个尾电流源(I_SS)到地或负电源

它的输出摆幅计算公式非常简单:

V_swing = I_SS × R_load

举个例子,如果你设置的尾电流是16mA,上拉电阻是50Ω,那么单端摆幅就是0.8V。没错,就这么直接。CML不像LVPECL那样有固定的电平依赖,你完全可以通过调整电流和电阻来定制自己的输出幅度。

💡 实际项目避坑: 我曾经在一个25Gbps的项目中,为了追求极致功耗把摆幅压到400mV,结果接收端因为噪声裕量不够,误码率直接飙到1e-6。后来我把摆幅提到600mV,一切就正常了。别为了省电牺牲信号质量,这个平衡点需要根据实际链路预算来权衡。

CML还有一个特性我很喜欢:它的输出摆幅对称性非常好。因为是电流全切换,差分对管要么全流到我这边,要么全流到你那边,不会出现单端波形失真得厉害的问题。

4.2 共模电压:跟随电源,别被误导

CML的共模电压跟LVPECL完全不是一个套路。LVPECL的共模电压是固定的(VCC-1.3V),而CML的共模电压则取决于:

V_CM = VCC - (I_SS × R_load) / 2

你想想看,这意味着什么?
一旦你改动了上拉电阻或者尾电流,共模电压就变了。

在我做过的几个10Gbps以上的项目中,这种“可调共模”特性既是优点也是坑。优点是你可以通过调整共模电压来匹配后续的接收器;坑就是如果没算清楚,AC耦合后偏置搞错,信号可能直接削顶。

⚠️ 特别注意: CML的输出共模电压对电源波动非常敏感。如果VCC有纹波,共模电压会跟着抖。我在调试一个40Gbps背板时,就因为电源纹波太大,共模电压跳了50mV,导致接收端CDR失锁。最后用了个低噪声LDO单独供电,问题才解决。

另一个实用的技巧是:如果两个CML芯片要DC耦合,务必让它们的共模电压匹配。不匹配会怎样?直流偏置不对,电流会一直灌到接收端,严重的话可能烧毁输入级。

4.3 可调电流源:功率与性能的博弈

CML的那个可调尾电流源,说白了就是让你在功耗和信号质量之间做选择题的旋钮。

大部分CML芯片都提供一个I_REF引脚或者通过寄存器来设置尾电流。常见的调节范围在2mA到20mA之间。

我建议你在设计前先想清楚这几个问题:

  1. 链路最差的通道损耗是多少?——决定了最小的摆幅需求
  2. 芯片允许的最大功耗是多少?——决定了电流的上限
  3. 是否要用预加重?——预加重通常需要更大的电流

为什么要调电流?这里有三个核心原因:

调整目的 增大电流的效果 减小电流的效果
输出摆幅 摆幅增大,信噪比更好 摆幅减小,更省电
上升/下降时间 更快的翻转速率 翻转速率变慢,抖动增大
共模电压 共模电压降低(离VCC更远) 共模电压升高(靠近VCC)
功耗 每通道功耗增加 每通道功耗降低

我记得有次一个12.5Gbps的项目,为了匹配接收器的输入共模范围,我硬是把8mA的默认电流调到了12mA,虽然功耗多了50mW,但眼图质量从0.25UI提升到了0.45UI,那点功耗也值了。

⭐ 我的经验法则:对于10Gbps以上的速率,强烈建议不要低于6mA。低于这个值,上升时间会变得非常糟糕,抖动也会显著增加。你可以在仿真里试试,把电流从16mA一路降到4mA,看看眼图是怎么塌的。

4.4 CML vs LVPECL:硬碰硬的对比

在实际选型时,我经常被问到:“CML和LVPECL到底怎么选?” 其实这完全取决于你的诉求。我把关键差异列在下面:

参数 CML LVPECL
功耗(典型) 低(10mW @ 16mA) 高(一般在100mW以上)
输出摆幅 可调(典型200mV ~ 800mV) 固定(典型800mV ~ 1000mV)
共模电压 随电流/电阻变化 固定(VCC - 1.3V)
最大速率 超高(56Gbps+很常见) 中高(通常到12Gbps)
抖动性能 优秀,但吃电源质量 极其优秀,电源抑制比好
直流耦合 需要共模匹配 可直接DC耦合
成本 相对较高 相对较低

简单总结一下:
如果你做的是25Gbps以上的高速链,CML基本是唯一选择。LVPECL的优势在于它的电源抑制比好,共模电压固定,板级调试非常省心。

我在一个40Gbps回传项目中,最开始尝试用LVPECL改驱动,结果发现上升时间根本无法达到要求,眼图全是雾。换成CML后,同一个PCB,眼图立刻就打开了。从那以后,只要是25Gbps以上的串行链路,我毫不犹豫选CML。

但是,如果是一个3.125Gbps的背板,LVPECL的成熟和稳定反而是更好的选择,你没必要杀鸡用牛刀。

4.5 本章核心知识图

下面这张图把CML的三个核心特性和它与LVPECL的差异串在了一起,你可以把它当作一个速查工具。

CML 电气特性核心结构 输出摆幅 V_s = I_SS × R_load 可调范围:200mV ~ 800mV 共模电压 V_CM = VCC - (I_SS × R_load)/2 随电流/电阻变化 可调电流源 I_SS:2mA ~ 20mA 控制功耗与摆幅 对比差异:LVPECL vs CML 共模固定 vs 共模可调 | 高功耗 vs 低功耗 | 较低速率 vs 超高速率 ⚡ 核心结论 CML完全由电流源和电阻决定电气特性,摆脱了LVPECL的固定电平依赖 选择CML还是LVPECL,本质上是在功率、速率和调试方便性之间做权衡