1. LVPECL 和 CML 概述与对比归纳总结

做高速信号设计的朋友,对 LVPECL 和 CML 应该都不陌生。这两种差分逻辑就像电路界的“双子星”——看起来很像,但性格完全不同。我刚入行时也经常搞混,后来在一次 10Gbps 背板项目中同时用了它们,才真正摸清楚各自的脾气。这一章咱们就从头梳理一下,把两个家伙的底细拆开来看。

1.1 什么是 LVPECL?

LVPECL(Low-Voltage Positive Emitter-Coupled Logic)是从 ECL 演化过来的。核心是一个差分对,发射极尾巴上挂个电流源,集电极通过电阻拉到 VCC。输出摆幅大约 800mVpp(差分),共模电压固定在 VCC-1.3V 左右。

我习惯把这个电路想象成一个“电流跷跷板”:电流要么走左边,要么走右边,在电阻上产生差分电压。因为它最早是给 3.3V 和 2.5V 供电设计的,所以叫“低压”。其实它摆幅并不算小,比 CML 大不少。

经验之谈: LVPECL 的共模电压很挑剔。我曾经在 3.3V 系统里直接用 AC 耦合,结果接收端共模点不对,眼图一团糟。后来发现必须加一个 VBB 参考偏置,或者用专用端接网络。
  • 典型供电: 3.3V 或 2.5V
  • 差分摆幅: 600~1000mVpp 典型 800mVpp
  • 共模电压: VCC - 1.3V(约 2.0V @ 3.3V)
  • 功耗: 较高,因为恒流源持续导通(典型 14~20mA)
  • 数据速率: 可达几 Gbps,但受限于发射极输出阻抗

1.2 什么是 CML?

CML(Current-Mode Logic)结构更简洁:同样是差分对,但负载是上拉到 VCC 的电阻,电流源在源极尾巴。它的输出摆幅由电流大小和负载电阻决定,通常只有 400mVpp 左右,只有 LVPECL 的一半。

它最大的优势是——快,而且省电。因为摆幅小,寄生电容充放电时间短,很容易跑到 28Gbps 甚至更高。而且输出可直接 AC 耦合,共模电压由外部端接电阻网络决定,非常灵活。

注意:CML 的共模电压不像 LVPECL 那样固定。设计时一定要计算好端接电阻的分压,否则直流偏置会漂移。
// 一个简单的 50Ω 端接 CML 输出偏置计算
// 假设 VCC = 3.3V,输出摆幅 400mVpp,Rload = 50Ω 到地
// 共模电压 Vcm = VCC - (I * R/2) = 3.3 - 0.2 = 3.1V
// 但实际芯片内部一般会集成上拉,Vcm 可能更低
// 最好查数据手册的 VOH/VOL 值

1.3 核心差异对比

为了让你一眼看明白,我把关键参数拉了个表。这个表我自己项目里经常贴着显示器旁边看,很有用。

参数 LVPECL CML
差分摆幅 ~800mVpp ~400mVpp(可调)
共模电压 VCC-1.3V(固定) 由端接决定(如 VCC-0.2V)
功耗(同速率) 较高(14~20mA) 较低(10~16mA)
最高数据速率 ~6Gbps(经典) ~32Gbps+(先进工艺)
输出结构 发射极输出,开集极 漏极输出,开源极
耦合方式 DC 耦合需偏置,AC 耦合需 VBB AC 耦合简单,DC 耦合也 OK
应用领域 时钟分配、较低速率数据 SerDes、光模块、背板高速线

1.4 电路结构对比图

下面这个 SVG 图是我自己讲课用的,画出了 LVPECL 和 CML 最核心的结构差异。左边是 LVPECL(双极性工艺简化),右边是 CMOS CML。注意负载位置和电流源方向。

LVPECL 与 CML 基本拓扑对比 LVPECL Rc1 Rc2 VCC Q1 Q2 Re IEE GND OUT+ OUT- IN+ IN- CML Rd1 Rd2 VCC M1 M2 Iss GND OUT+ OUT- IN+ IN- LVPECL:发射极输出,固定共模,摆幅大,功耗高 CML:漏极输出,共模灵活,摆幅小,速率高

1.5 避坑指南

我把这些年做高速设计遇到的两个最常见的坑列出来,你碰到了可以直接拿方案。

坑一:LVPECL 的 AC 耦合端接
我曾经在一个 3.3Gbps 时钟链路上使用 LVPECL 直接 AC 耦合,结果接收端共模电压掉到 1.2V,接收器无法正常工作。后来才意识到:LVPECL 的 AC 耦合必须在接收端加 VBB 偏置,或者用 Thevenin 等效电阻拉到合适电平。千万不要只靠电容搞定一切。
坑二:CML 的摆幅与直流偏移
CML 虽然 AC 耦合容易,但是 DC 耦合时输出共模电压很容易被前级拉偏。我做过一个 10Gbps 的端到端链路,发射端 CML 输出摆幅 400mVpp,但后级输入共模范围只有 400mV,结果信号失真。后来我加了一级源端匹配电阻,分压后才解决。

1.6 怎么选择?

说实话,没有的好坏,只有适不适合。我自己总结了一个简单的选择流程:

  1. 看速率: 小于 3Gbps 且对功耗不敏感 → 选 LVPECL(信号裕量大)。
  2. 看功耗: 需要低功耗 + 高速 → 选 CML。
  3. 看耦合: 必须 AC 耦合且不想加偏置 → CML 省心。
  4. 看链路长度: 板内短走线两者都可以,长背板建议 CML(抖动更小)。

我个人的习惯是:时钟路径优先用 LVPECL,数据路径优先用 CML。当然,如果两者混用,电平转换是必须做的——这个我们后面章节会详细讲。

一个小技巧: 做 prototype 时尽量选 CML,因为调试起来灵活,端接网络容易改。等性能定型了再考虑用 LVPECL 省掉一些独立偏置电路。

1.7 本章要点

  • LVPECL 和 CML 的核心差异在于输出级结构、摆幅和共模电压。
  • LVPECL 适合中低速高裕量场景,CML 适合高速低功耗场景。
  • AC 耦合时,LVPECL 需要特殊偏置,CML 相对简单。
  • 实际设计时,要仔细计算端接网络和直流电平,否则容易出问题。

嗯,第一章就到这里。这些基础概念是后续优化的地基,后面我们会一步步深入每个细节。