一、LVPECL与CML概述:差分时钟信号简介
做高速电路设计,时钟信号是命脉。
特别是当速率飙到几百兆甚至吉赫兹,单端时钟基本就扛不住了。我刚开始做DDR3的时候就被教育过一次——单端时钟在板子上跑了没几厘米,波形就糊了。
从那以后,我养成了一个习惯:但凡频率超过200MHz,优先考虑差分时钟。
1.1 为什么非得用差分?
差分信号的原理其实很简单:一根线传正相,一根线传反相,接收端看的是两者的差值。
好处明摆着:
- 抗共模噪声——电源地上的毛刺,两根线同步抬升,一减就没了
- 电磁辐射小——两根线靠得近,磁场互相抵消
- 摆幅小,速率高——不像CMOS那样要满轨摆动,差一点电压就能翻转
你想想看,如果两根线走得一模一样,噪声同时耦合上去,接收端看到的还是干净的差分对。这就是差分信号的底气。
不过我也踩过坑。有一回,差分对走线没等长,歪了快200mil。结果时钟抖动直接翻倍,系统死活锁不住PLL。从此我学乖了:
- 等长控制在5mil以内
- 阻抗精准控制在100Ω或50Ω
- 尽量同层走,少打过孔
1.2 差分时钟的主流标准:LVPECL 与 CML
高速设计里,差分时钟的驱动标准就那么几个。我个人用得最多的是LVPECL和CML。
LVPECL,全称Low-Voltage Positive Emitter-Coupled Logic。说白了,就是ECL的低压版本,用3.3V或2.5V供电,发射极耦合对的结构。
它的输出摆幅大约800mV,共模电压在VCC-1.3V左右。比如3.3V供电时,共模大约是2.0V。
CML,Current Mode Logic,电流模式逻辑。它靠一个恒流源和上拉电阻来产生电压,输出摆幅小得多,一般在400mV左右。
我做过一个10Gbps的SerDes项目,收端和发端都默认CML。因为它功耗低、摆幅小,对高频信号特别友好。
两者的核心差异,我用一张表来对比:
| 参数 | LVPECL | CML |
|---|---|---|
| 输出摆幅 | 约800mV | 约400mV |
| 共模电压 | VCC - 1.3V | VCC - 0.2V ~ VCC - 0.4V |
| 功耗 | 较高 | 较低 |
| 典型应用 | 时钟分配、小于2GHz | SerDes、高于5GHz |
| 阻抗匹配 | 50Ω到VCC-2V | 50Ω到VCC |
避坑指南:我曾遇到一个案例——FPGA输出的LVPECL时钟直接接到CML的SerDes芯片。结果因为共模电压不一致,导致接收端一直误判电平。后来加了AC耦合电容,才把共模隔开。差分之间不匹配,再好的信号也白搭。
1.3 LVPECL的电路结构与特性
LVPECL的输出级是个差分对。两个三极管,发射极接恒流源,集电极通过电阻拉高。它的输出阻抗大约7Ω,所以必须串联一个电阻去匹配。
我记得第一版调试时,没加那个串联电阻,结果反射信号把时钟边沿打出了台阶。从那以后,我画原理图时都会顺手把匹配电阻写上。
小技巧:LVPECL的直流耦合,需要给接收端提供合适的偏置。我习惯在接收端用戴维南等效电阻网络,把共模拉到VCC-1.3V。当然,如果对面也是LVPECL,直连+串联电阻就行。
1.4 CML的电路结构与特性
CML就简单多了。一个恒流源,经过差分对,上拉到VCC。输出阻抗等于上拉电阻,通常是50Ω。
也就是说,CML的输出本身就是匹配好的。你直接接50Ω传输线就行。这也是为什么高频SerDes几乎都用CML——少一些匹配烦恼。
它的摆幅可以通过电流控制:I × R。比如16mA电流,50Ω上拉,单端摆幅就是800mV,差分就是1.6V。不过实际应用很少做那么高,400mV差分就够了。
有一个地方要特别注意:
警告:CML输出端如果直接对地短路,恒流源会被烧掉。我见过有人用示波器探头去测CML输出,探头的输入阻抗是1MΩ,结果共模电压不对,波形严重失真。后来一律用50Ω输入阻抗的探头。
1.5 本章知识体系
我把这一章的核心逻辑画成一张框架图。方便你建立整体观:
快速记忆:LVPECL适合板级时钟分配,功耗高但抗干扰;CML适合芯片级高速传输,功耗低但需要AC耦合。选型时先看频率,再算匹配。
1.6 总结
差分时钟是高速设计的基石。LVPECL和CML作为两种主流标准,各有各的脾气。
我建议你从原理层面先搞懂为什么,再去看具体电路。不要上来就抄参考设计——那是知其然,不知其所以然。
这一章是基础。后面我们会深入到实际案例,包括匹配网络计算、仿真验证、测试点选取。嗯,到时候你会用上这一章的所有概念。