CML 的工作原理与电路结构

好,咱们来聊聊 CML。全称是 Current Mode Logic,电流模式逻辑。

我先说个我个人的理解——CML 的核心就一句话:用电流的切换来产生电压信号。和之前讲 LVPECL 时那种“射极跟随器推着走”的思路完全不一样。

CML 的电路结构看着简单,但里头藏着不少讲究。我分几块给你拆开讲。

电流模式逻辑——到底“电流”在哪?

你想想看,一般的数字电路,比如 TTL 或 CMOS,是靠打开或关断管子、改变导通电阻,来拉高或拉低输出电平。这属于“电压模式”。

CML 不一样。它有个恒定的电流源,稳稳地往下拉电流。这个电流要么从左边管子走,要么从右边管子走,来回偏转。输出端的电压变化,是电流流过负载电阻产生的压降。

说白了,就是电流路径切换,负载电阻把电流转成电压。这就是“电流模式”的由来。

我记得刚接触 CML 时,总觉得它和 LVPECL 差不多,后来才发现里面的门道完全不同。CML 的电流几乎不随频率变化,所以功耗非常稳定,不像 CMOS 那样动态功耗和频率挂钩。

核心结构:差分对 + 电流源 + 负载电阻

标准的 CML 电路,我画个草图你就懂了:

CML 差分对基本结构 VCC R1 R2 OUT+ OUT- Q1 Q2 IN+ IN- I_TAIL GND 说明:I_TAIL 恒定不变,差分信号控制电流在 Q1/Q2 之间切换, 负载电阻 R1/R2 将电流转换为输出电压摆幅。

这幅图是我照着当年项目上常用的 CML 驱动器画的。你看,上面两个电阻 R1 和 R2 就是负载电阻,中间两个晶体管 Q1/Q2 构成差分对,底部是一个恒流源 I_TAIL。

差分对——电流的“扳道工”

Q1 和 Q2 的发射极连在一起,共用一个电流源。输入差分电压(IN+ 减 IN-)决定了谁分到更多电流。

  • 当 IN+ > IN- 时,Q1 导通更多,大部分电流流经 R1,OUT+ 电压被拉低;Q2 几乎截止,R2 上电流很小,OUT- 维持高电平。
  • 反过来,IN+ < IN- 时,电流全部切换到 Q2 那边。

你注意,电流是一下子全偏过去的,不是慢慢渐变。这种硬切换让 CML 的上升/下降沿非常陡,眼图开口很大。

我做过一个 10Gbps 的背板设计,用的就是 CML 驱动。在示波器上看到的眼图,那叫一个清晰,几乎没抖动。当然,代价就是直流功耗一点不低。

负载电阻——决定摆幅的关键

负载电阻 R1 和 R2 的阻值,直接决定了输出摆幅。公式很简单:

V_swing = I_TAIL × R_load

比如,I_TAIL = 16mA,R_load = 50Ω,那么单端摆幅就是 0.8V,差分摆幅就是 1.6V。

我提醒你一句:实际 CML 的摆幅通常会比 LVPECL 小不少,一般单端 400~800mV 左右。摆幅小意味着压摆率低,电磁辐射也小,适合更高频率工作。

我曾经在一个 28Gbps 的 SerDes 项目中,看到过某些 CML 驱动只用了 200mV 的单端摆幅。当时我还担心信噪比不够,结果跑下来 bit error rate 照样非常低。CML 对噪声的容忍度其实比想象中好,因为它是差分结构,共模抑制很强。

与 LVPECL 的直观对比

这里我列个简单表格,帮你分清两者的区别:

参数 CML LVPECL
工作模式 电流切换(偏转) 射极跟随器+电流偏置
典型单端摆幅 400~800 mV 800 mV 左右
共模电平 接近 VCC(高电平) VCC - 1.3V 左右
功耗特点 几乎与频率无关,直流为主 频率无关,但电流通常更大
最高可用频率 可到 40+ Gbps 通常 10~15 Gbps 以内

你看,CML 的共模电平很高,基本就在 VCC 附近。而 LVPECL 的共模电平大概低 1.3V。这个差异在后面章节讲端接匹配时特别重要,注意别搞混。

实际设计中的避坑指南

我曾经在一个项目里吃过亏:为了省功耗,我把 CML 的电流源调得很小,结果输出摆幅不够,后级的接收器判定不了高低电平。后来才意识到,负载电阻必须和特征阻抗(比如 50Ω)匹配,不能随意增大来弥补摆幅,因为电阻大了也会限制带宽。

我的建议是:先定好负载电阻(一般就是传输线的特性阻抗,50Ω 或 75Ω),再用选定的摆幅反推电流源大小。别走反了。

另外,CML 的输出是集电极开路结构吗?不完全是。CML 的负载电阻是做在芯片内部的,不像 LVPECL 那样需要外部上拉电阻。但有些场合,为了共模电平调整,也会在外面再串联电阻。嗯,这属于具体应用,等后面章节我们再展开。

小结