☰
PECL/LVDS/CML三种高速差分电平互连设计要点全解析
2026/10/21 17:20:23 网站建设 项目流程

我们在做高速数字系统时,只要速率跑到几百Mbps甚至Gbps以上,迟早要在三种电平标准之间折腾:PECL(正射极耦合逻辑)、LVDS(低压差分信号)、CML(电流模式逻辑)。这个题目的关键不在于“认识这三种电平”,而在于“把它们互联起来”。很多工程师第一次接这种板子,最容易踩的坑就是拿着数据手册上几个电压参数直接接,结果不是信号乱跳就是器件发烫,有些甚至直接烧掉。原因其实很简单——这三种电平的输出级结构完全不同,共模电压、摆幅、端接方式、电流方向都不一样,硬接一定会出问题。

这篇总结我会结合自己做过的几个高速接口项目(背板时钟分配、SerDes通道、ADC/DAC采样链路),把PECL、LVDS、CML的互连设计讲透,重点放在端接策略、直流偏置、耦合方式、转换电路这些真正的硬骨头上。适合刚接触高速电路的设计师,也适合被互连问题折磨过、想系统梳理一遍的工程师。

1. 三种电平标准的本质区别

先把这个基础打牢。这三种差分电平标准各有各的来头,输出结构、电压摆幅、驱动能力完全不同。只有先搞清楚它们的“共模电平”和“单端摆幅”,后面的互连设计才有依据。

1.1 LVPECL:速度快但直流电平偏高

PECL全称是正射极耦合逻辑,最老的一代高速电平标准,源自ECL(射极耦合逻辑),只是把负电源换成了正电源。我们平时用的3.3V版本叫LVPECL,5V版本叫PECL,现在绝大多数器件都是3.3V电平,所以默认讨论LVPECL。

LVPECL的输出级是一个射极跟随器,也就是说输出管在发射极上“推”信号。它的特点非常鲜明:输出电压比较高,静态时大约在VCC - 1.3V附近,也就是3.3V供电时共模电压约为2.0V。差分输出的单端摆幅大约在1.5V到2.4V之间变化,差分摆幅典型800mV左右(有些资料写700mV到900mV,取决于具体驱动源)。

关键问题是:2.0V的共模电压相对于地来说太高了。如果直接用50Ω对地端接,功耗会非常大(2V除以50Ω等于40mA,对LVPECL的驱动能力来说是极限中的极限)。所以LVPECL的端接标准做法是戴维南等效——用分压电阻网络把等效端接电压从地抬高到某个合适的直流电平上,同时保证等效电阻等于100Ω差分(或者50Ω单端)。

LVPECL速度快到什么程度?传统ECL在当年是唯一能做到千兆以上的逻辑家族,后来LVDS、CML出现后逐步替代它。但在时钟分配领域,LVPECL依然大量存在,因为它的驱动能力是真的强——可以直接驱动多路负载,时钟抖动也做得非常好。代价就是功耗高,一个LVPECL驱动器的静态功耗通常在几十毫瓦级别,多路时钟分配芯片的功耗就更可观。

1.2 LVDS:低摆幅、低功耗的通用接口

LVDS全称低压差分信号,这是目前最普及的高速接口电平,几乎所有的FPGA、ADC、总线收发器都支持它。和LVPECL的本质差别在输出级结构——LVDS用的是一个恒流源(典型3.5mA)在100Ω差分电阻上产生压降,实现差分信号输出。

因为是恒流源直接拉电流,LVDS的直流功耗非常低(3.5mA乘以350mV,微功率级别),信号摆幅也由恒流源电流和端接电阻的乘积决定:3.5mA × 100Ω = 350mV差分摆幅。注意这里的摆幅是“差分”的,单端看大约±175mV。

LVDS共模电压固定在1.2V(VOD和VOS标准),这个电平的好处是兼容性好,很多跨接芯片都围绕1.2V设计。端接也简单——接收端只需要一个100Ω差分电阻,不需要直流偏置网络。这一点在工程上极其友好。

但LVDS的弱点也很明显:驱动能力弱。因为输出级是恒流源,驱动长距离电缆或重容性负载时,信号质量会明显下降。此外LVDS的速度上限虽然高(定义到3.125Gbps以上没问题),但那是针对短距离PCB走线而言,超过一米就要考虑均衡器和驱动芯片。

1.3 CML:电流模式逻辑,SerDes通道的标配

CML的全称是电流模式逻辑,它和LVDS的相似之处是都靠电流源驱动负载。区别在于CML通常是“单边输入、单边输出”的结构——一个开关管在导通时将电流从一个输出端切到另一个输出端,因此CML输出一般要端接到VCC上(或者通过偏置网络接到合适的端接电压)。

CML的输出摆幅常见两种:400mV差分(Vpp≈400mV)和800mV差分(Vpp≈800mV),取决于标准定义和器件设计。端接电阻典型50Ω单端到VCC,等效差分100Ω,和LVDS相同的差分阻抗,但电流方向和静态电平都不同。

CML最大的优势是速度极高——PCIe、SATA、以太网SerDes的物理层接口全是CML。因为输出级不需要大摆幅就能让接收端的差分放大器正常工作,而CML的输出级开关速度非常快,几乎没有LVPECL的那种射极跟随器延迟。另一个优势是功耗比LVPECL低不少,因为它只在切换时消耗电流(待机时电流多半也被拉通,但幅度小)。

CML的难点在于直流偏置:输出端口的“静态点”不是50Ω对地,而是50Ω到VCC(或者到某偏置电压)。如果把CML直接接在50Ω对地的负载上,输出管的工作点就错了,电流没地方去,信号失真甚至损坏。

1.4 三种电平参数对比速查表

下面是三种常见电平标准的核心参数对比。这些数值虽然不同厂商会有些微差异,但作为设计参考足够。

参数LVPECL (3.3V)LVDSCML
输出级结构射极跟随器恒流源恒流源开关
共模电压约2.0V1.2V(典型)接近VCC(约VCC-0.2V或VCC-0.3V)
差分摆幅约800mV350mV(100Ω端接)400mV或800mV
单端摆幅约±400mV约±175mV约±200mV或±400mV
端接方式戴维南等效(100Ω差分,需要偏置)100Ω差分电阻,无偏置50Ω单端到VCC,或100Ω差分到VCC
功耗高低中
典型应用时钟分配FPGA、ADC、背板SerDes、PCIe、以太网

看清楚这里最核心的差异:LVPECL的输出电平是“高”的,CML的输出共模也是“高”的(接近VCC附近),LVDS的输出共模“居中”。这三个数字直接决定了互连设计的走向。

2. 互连设计中的核心策略:先把电平关系理清

高速接口互连,本质是一场“电平适配”的游戏。怎么做适配?无非两种路线:直流耦合(DC耦合)和交流耦合(AC耦合)。理解了这两条路,互连设计就成功了一大半。

2.1 直流耦合的第一原则:共模电压必须匹配

直流耦合是直接把两个器件的引脚连在一起,中间除了端接电阻没有任何隔直电容。这种接法对共模电压的要求极其苛刻——发送端输出的共模电压必须落在接收端输入共模可接受范围内,否则接收端的内部偏置电路会被“拉偏”,严重时信号完全失效。

举个例子:LVPECL输出共模约2.0V,而LVDS接收端共模通常设计在1.2V。如果直接把LVPECL接到LVDS的接收端,LVDS的输入共模会被强行拉到2.0V附近,超出其输入共模范围(许多LVDS接收器的输入共模范围是0.2V到2.2V,但2.0V已经是极限边缘,且信号摆幅800mV远超LVDS的350mV,直接过载)。就算勉强能用,也极度脆弱——温度变化、供电波动一点就崩。

所以直流耦合的前提是:发送端和接收端的共模电平+摆幅都要匹配。什么时候可以直流耦合?LVDS接LVDS,CML接CML(相同摆幅定义),或者LVPECL接LVPECL(相同供电),以及一些专门做成兼容输入的电平(很多芯片的LPECL输入接口实际上兼容LVPECL的输出)。

2.2 交流耦合:用隔直电容解决共模问题

交流耦合是在发送端和接收端之间串联电容,把直流分量完全隔开,只让交流信号通过。这个方案一出来,上面的共模问题就解决了——LVPECL的2.0V共模不会传到LVDS输入端,LVDS接收端自己内部的偏置电路会把输入共模拉到自己需要的位置(通常输入内部自带偏置网络)。

但交流耦合引入了一个新的设计任务:接收端的直流偏置必须自己解决。LVDS接收端通常内部集成了偏置电阻网络(或者用户外接),自动把输入共模设置在1.2V。CML接收端通常需要把端接电阻接到VCC来提供偏置,或者依靠内部电路。LVPECL接收端则需要提供戴维南偏置网络来吸收来自发送端的直流电流和设定共模。

交流耦合电容的选择也有讲究:容值太小低频分量会被衰减(数据信号有连续的0/1游程,会有很低的频率分量),容值太大则占用PCB面积且上电瞬态恢复时间过长。对于100Mbps到几Gbps的数据信号,0.1μF是最常用的起点。对于无DC平衡的时钟信号,电容要特别关注——不能为了省面积随便选一个0603的0.022μF,要算一下低频截止频率是否低于信号最低频率的很小一部分(通常要求-3dB点低于最低基频的1/100甚至更低)。

2.3 一个核心公式:耦合电容的取值下限

计算交流耦合电容最低下限的思路很简单:你要让信号的最低频率分量基本无损地通过,所以耦合电容和等效端接阻抗组成的RC高通滤波器的截止频率要远低于信号的最低频率分量。

对于8b/10b编码或类似DC平衡编码的串行数据,信号的最低频率分量取决于码型的最长连续相同比特数(最长游程长度)。比如最长游程是5比特(8b/10b就是这种情况),数据速率为5Gbps时,最低频率分量的基频约为 5Gbps / (2×5) = 500MHz(这个是估算方法)。对于普通的NRZ数据,最长游程甚至更长,所以计算时要留足裕量。

工程上的简化评估公式:C >= 10 / (2π × f_low × R_term)。想保守就用更大的电容,比如10倍裕量。对于100MHz以上的高速信号,0.1μF的电容通常没有问题;对于1Gbps以上的SerDes,0.1μF同样常用;对于短距离PCB走线,甚至用0.01μF都够,关键是保证低频分量不丢。

注意:这里的“最低频率分量”不是指数据速率(f_data),而是指数据码型中跑得最慢的那段“0101…或0000…”。速率越高、游程越长,对电容值要求越苛刻。这是很多新手忽略的。

2.4 时钟信号的交流耦合要格外小心

时钟信号(如LVDS时钟输入FPGA)通常不是DC平衡的——方波信号在一个周期内高电平和低电平时间相等到还好,但如果占空比不是50%,AC耦合后接收端的偏置点会被“拉扯”:占空比偏了,交流分量不对称,电容两端就会有直流压降差,接收端的门限就跟着变了。

解决方案有三种:用大电容尽量减小这个效应(但不彻底);用专用时钟驱动芯片在发送端做占空比校准;或者直接在接收端加自动占空比校准电路。实际工程中,很多FPGA的时钟输入引脚内部有占空比校准逻辑,所以AC耦合50MHz时钟到FPGA也不会出大问题。但如果接收器是纯模拟的ECL器件,对占空比敏感,那就要小心评估。

3. 直流耦合互连的端接设计要点

现在我们把三种电平两两组合,逐一分析可行的互连方案。先从直流耦合开始,因为它对参数要求最严格,适合理解电平适配的本质。

3.1 LVPECL 到 LVPECL 的端接网络

这是最简单的场景,但“简单”不代表不需要设计。LVPECL输出需要直流到地的电流通路,所以接收端必须提供戴维南等效端接。

标准做法是:接收端每根差分线(正负各一根)接一个分压网络到地和VCC,每个网络的等效电阻等于50Ω,同时等效偏置电压等于VCC - 1.3V(也就是输出共模电压)。

以3.3V电源为例,计算一组常用的戴维南电阻取值:

  • 上拉电阻R_T1接VCC(3.3V),下拉电阻R_T2接地,目标是等效电阻R_parallel = 50Ω,等效电压V_eq = 2.0V。
  • 设R_T1和R_T2并联值为50Ω,分压点为2.0V:R_T2 / (R_T1 + R_T2) × 3.3V = 2.0V,解得R_T1/R_T2 = 0.65,即R_T1 = 0.65×R_T2。
  • 并联等效:0.65×R_T2 × R_T2 / (0.65×R_T2 + R_T2) = 0.65×R_T2² / (1.65×R_T2) = (0.65/1.65)×R_T2 = 0.394×R_T2 = 50Ω,得R_T2 ≈ 127Ω,R_T1 ≈ 82.5Ω。
  • 取标称值:R_T1 = 82Ω,R_T2 = 130Ω,并联等效约50.1Ω,分压点约1.99V,非常接近目标。

这个计算过程很简单,但很多人忽略的是:LVPECL的驱动器本身带载能力有限,戴维南等效电阻不能太低(太低会拉走太多电流),也不能太高(太高端接不匹配)。理论上一对差分线共用100Ω差分端接就能消除反射,所以戴维南网络的单端等效电阻为50Ω是标准值。

实际装配时,电阻直接放在接收端引脚附近,越近越好。走线要严格差分、等长,阻抗控制到100Ω差分。这个方案我实测过很多次,信号眼图很干净。

3.2 LVPECL 到 CML:偏置电压的惊险一跳

如果LVPECL输出接到CML接收端,问题来了:CML接收端的端接通常是50Ω到VCC(或到某个偏置电压V_T)。LVPECL的射极跟随器输出能力很猛,可以直接驱动50Ω到地的负载吗?不可以——LVPECL的输出级需要拉出电流,但如果负载端接只到VCC而没有到地的通路,电流方向就反了,输出管会进入非正常状态,信号严重失真。

处理办法是把CML端接的落地参考点从VCC改到GND?这是错误的方向。正确做法是使用戴维南网络同时提供到VCC和到地的偏置,使等效端接电阻等于CML的预期值(比如50Ω到某个电压),同时兼容LVPECL的输出共模和摆幅。

这里我用过的实际方案是:LVPECL通过直流耦合接到带内部偏置的CML接收器(很多高速比较器、时钟缓冲器的输入级就是内部已经做好了50Ω到VCC的端接)。此时需要额外检查LVPECL能否吸收流向VCC的电流。如果接收器输入内部有“吸收电流”能力(很多CML接收器的输入是电流吸收型的),就可以直接连。但更多情况是不行——所以推荐用交流耦合在此场景下,后面专门讲。

3.3 LVDS 到 CML:摆幅够不够是关键

LVDS的输出摆幅350mV,而CML接收器通常能接受200mV到900mV的输入摆幅(取决于具体器件灵敏度)。所以LVDS到CML的直流耦合是可能可行的,前提是CML接收端的偏置网络能匹配LVDS的1.2V共模——问题在于很多CML接收端的端接是到VCC(比如1.8V或3.3V),LVDS共模1.2V偏低了,会超出CML的输入共模范围。

解决办法一:改CML端接的偏置电压。很多CML接收器允许输入端的端接点不接VCC,而是接一个外部偏置电压源,只要这个偏置电压在允许范围内,LVDS共模1.2V可能正好合适。这在高速ADC的LVDS/CML输入选择时很常见——芯片手册会给出输入端口的端接电压选项。

解决办法二:用电阻网络在LVDS和CML之间做电平搬移——一个并联的电阻分压/戴维南网络把LVDS的1.2V共模抬高到CML需要的共模,同时保证总差分阻抗保持100Ω。计算稍微复杂一些,但可行。

不过说实话,LVDS到CML的直流耦合我做得比较少,因为现在绝大多数跨电平接收器(如LVDS转CML的专用芯片)已经做得很成熟,直接用芯片比自己搭电阻网络可靠得多。

3.4 CML 到 LVDS:共模最低,最容易出事

这个方向比LVDS到CML更麻烦——CML输出的共模接近VCC(通常VCC-0.2V),而LVDS接收端的共模期望是1.2V,相差太大。直流耦合下直接把CML接到LVDS,LVDS输入端会被抬到很高的共模电平,输入放大器直接饱和。

通常只能通过电阻网络分压把共模降下来,同时把CML的400mV差分摆幅调整到LVDS的350mV范围。但这个网络会同时衰减信号幅度,还要考虑带宽,对布线寄生非常敏感。我的经验是尽量别这么干,要么改用交流耦合,要么用芯片转换。

4. 交流耦合互连的详细设计与实际方案

交流耦合是解决不同电平互连的黄金手段。它把直流偏置问题“切开”成两半:发送端的直流不要了,接收端自己搞定直流。下面给出发送端和接收端的组合方案。

4.1 LVPECL 经交流耦合到 LVDS

这个组合非常常用,常见于FPGA需要接收来自LVPECL时钟源的时钟信号。电路结构:

  • 发送端:LVPECL输出(差分对),不加接收端戴维南偏置?不行。LVPECL输出本身需要一个直流电流流出路径,即使经过AC耦合电容,直流电流也没法穿过电容,所以LVPECL引脚附近必须有一个戴维南电阻网络把自己“正确定位”。
  • 接收端:LVDS输入端直接接100Ω差分电阻,然后用并联大电阻(可选)把共模拉到1.2V附近。很多FPGA的LVDS输入内部自带100Ω和共模偏置,此时甚至不需要外部电阻。

具体的戴维南网络可以和上一节LVPECL到LVPECL的端接网络完全一样(82Ω到VCC,130Ω到地),放在LVPECL引脚侧、耦合电容之前。耦合电容取0.1μF,放在发送端和接收端之间的串接位置。

结构化步骤如下:

  1. LVPECL输出引脚处放置戴维南端接(每根线各一组),网络参数按上面算的82Ω/130Ω。
  2. 从戴维南网络到耦合电容的走线尽量短,3mm到5mm以内最佳,不超过10mm。
  3. 耦合电容用0402或0603封装,容值0.1μF,X7R介质即可(高速信号不需要高Q电容,但要注意寄生效应对高频的影响,0402寄生电容串联电感远小于0603)。
  4. 耦合电容之后走线到接收端,在LVDS接收端放置100Ω差分电阻(如果芯片内部没有)。

有人会问:为什么LVPECL端接了还要再接100Ω?这里的戴维南网络是为LVPECL提供直流偏置,LVDS的100Ω才是真正的信号端接。两者缺一不可,但也可以考虑把戴维南网络和100Ω合并成一个等效网络——不过那样计算复杂,且不便于调试,我建议分开设计。

4.2 LVPECL 经交流耦合到 CML

这个组合同样常见,尤其是高速时钟到SerDes芯片的参考时钟输入。CML接收端端接通常是50Ω到VCC,交流耦合后CML输入端偏置由芯片内部提供,而LVPECL端仍需要戴维南网络。所以和4.1的差异只在接收端:

  • LVPECL发送端:同上,戴维南端接82Ω/130Ω。
  • CML接收端:按照芯片手册,通常50Ω单端到VCC(或用内部100Ω差分到VCC)。注意有些CML输入还允许直接端接到地,但必须看手册——接地端接会损失接收灵敏度,不推荐。

这里特别提醒:CML接收端的端接电压和信号摆幅有关。如果CML接收器的输入灵敏度要求最小差分摆幅为400mV,LVPECL的输出800mV是足够的,但经过耦合电容后信号没有衰减(理想情况下),所以满足要求。唯一要注意的是LVPECL输出能否驱动这个负载——戴维南网络就消耗了一部分电流,再加上CML的50Ω到VCC电流路径,LVPECL必须保证输出管不在边缘状态。评估方法是看芯片手册的VIH/VIL规范和输出电流能力。

4.3 LVDS 经交流耦合到 CML

LVDS发送端的输出电流源需要端接电阻来产生差分摆幅,过了AC耦合电容后,这个端接电阻还必须在吗?不需要了——但要非常小心:LVDS恒流源如果看不到端接电阻(被电容隔断),输出摆幅会变成零?不对,恒流源依然存在,电流会沿输出管的导通路径流到接收端的端接电阻上(经过AC电容),因为AC电容对交流信号是导通的,对直流是阻断的。但恒流源的直流偏置电流没有地方去了。

这就是关键:LVDS恒流源是“从电源流向输出引脚”的,如果接收端端接电阻被电容阻断,直流电流无法流过100Ω电阻(那个电阻在接收端,但直流路径被电容切断了),于是输出共模的电平会被抬高到VCC附近或出现奇怪的行为。

所以LVDS输出端一侧必须有一个直流路径——通常做法是在LVDS发送端引脚就近放置一个上拉/下拉电阻网络,让恒流源电流能形成直流回路。最简单的方案:在LVDS发送端加一个100Ω差分电阻在靠近引脚处(和接收端的100Ω并联,等效差分阻抗变为50Ω——这就不匹配了)。更好的方案是利用LVDS芯片内部自带的“预加重/终端”特性,或使用专用LVDS驱动器配置文件。

另一种实现方式:LVDS发送端到AC耦合电容之间,用一个电感(到地或到VCC)为直流电流提供通路,同时不干扰高频信号。这个方法在射频领域常用,但在数字高速链路用得不多——因为电感在PCB上既不便宜也占面积。我个人不推荐,除非特殊场景。

实际上,芯片厂商早就想到了这一点——绝大多数LVDS驱动器允许输出端在无外部端接时正常工作(因为芯片内部可能有电流反馈环路)。但为了保险,我建议LVDS到CML的互连优先选择直流耦合方案(前文3.3)而不是交流耦合,或者直接使用现成的转换芯片。

4.4 CML 经交流耦合到 LVDS

CML驱动的应用场景很多,比如FPGA的SerDes输出接到ADC的LVDS时钟输入。CML输出通常需要端接到VCC(或偏置电压),交流耦合后,接收端的LVDS输入要自己有偏置。方案结构:

  • CML发送端:50Ω单端端接到VCC,或100Ω差分端接到VCC。这个端接是CML驱动器的必需件,不可省。
  • 交流耦合电容:0.1μF,放在CML端接电阻之后。
  • LVDS接收端:100Ω差分电阻置于接收端,LVDS共模内部有偏置,直接可用。

这个方案的核心是:CML的输出摆幅(常见400mV或800mV)如果超过LVDS接收器允许的最大输入摆幅(大约450mV差分),就需要衰减。许多CML器件输出800mV差分,直接接到LVDS输入端(LVDS最大输入摆幅通常标400mV~450mV)会损坏输入级吗?大概率不会立刻坏,但接收器会限幅,信号质量变差。解决办法:在LVDS接收端之前加一个6dB衰减网络(电阻分压),但要保持阻抗匹配。

我的经验是使用以下电阻网络(差分对称):

  • 在LVDS输入端前串联一个电阻R_s = 33Ω(在每根差分线上),再在接收端并联一个100Ω电阻,这样单端看到的总等效约为:CML差分输出经过33Ω×2串联到接收端,再与100Ω并联,等效负载略高于100Ω,同时摆幅按比例降低(100 / (100+33+33) ≈ 0.60,约-4.4dB衰减)。

这种网络的阻抗匹配不是完美的,但实测在几百MHz至2GHz以下都能工作。如果追求完美,可以用π型衰减器(两个串臂电阻和对地/差分并联电阻),用标准衰减器公式计算。

5. 专用转换芯片:省心方案与选型思路

如果不想纠结于繁杂的电阻网络,直接用电平转换芯片是最稳健的。市面上转换芯片很多,按功能分成几类。

5.1 有什么类型的转换芯片

  • LVDS转LVPECL:比如某些中继器/缓冲器芯片,输入LVDS兼容,输出LVPECL电平。
  • LVPECL转LVDS:同样有专用芯片,常见于时钟分配、ADC驱动。
  • CML转LVDS、LVDS转CML:SerDes应用中常用。
  • 多通道/多协议转换器:一个芯片支持多种组合,如某些时钟缓冲器支持LVPECL/LVDS/HCSL输入输出灵活配置。

选型核心看几点:信号速率是否满足(看-3dB带宽或最大数据率,留20%以上裕量);输入能否兼容源电平(很多芯片标“LVDS兼容”,实际输入共模范围很宽);输出端是否需要外部端接;有没有内部偏置,是否省事。

5.2 什么时候必须用芯片而不是自己搭网络

在以下场景里,我强烈建议用专用转换芯片:

  • 速率超过2Gbps:自己搭的电阻网络在GHz以上频段容易因为寄生电容/电感导致阻抗失配,眼图恶化。
  • 链路过长或走线穿过连接器:转换芯片通常带均衡或预加重,能补偿信道损耗。
  • 需要隔离地/电源域:有些转换芯片内置隔离电容,比分立电容可靠。
  • 抖动要求严格:比如SerDes的参考时钟,低抖动很重要,外部电阻热噪声和PCB耦合噪声可能影响系统抖动预算,而芯片内部的精心设计抖动性能更好。

当然,用芯片也有代价:功耗、成本、PCB面积、供货不确定性。对于低速(<1Gbps)或简单板内互连,自己搭网络完全够用,且更灵活。

5.3 一个实战取舍的参考

以前我做某板卡时,需要把板上一个LVPECL时钟源(250MHz)分配给多个接收端,其中一路是FPGA的LVDS时钟输入,另一路是专用SerDes芯片的CML输入。方案:在源头先用LVPECL缓冲器扇出,每路输出各自经过电平转换芯片——LVDS路用LVPECL-to-LVDS转换器,CML路用LVPECL-to-CML转换器。方便确实方便,但板上多了两颗芯片,功耗多了80mW。后来为了降功耗,CML路改成了交流耦合电阻网络(如4.2节),省了一颗芯片。所以我的判断标准是:数量多、速率高、板卡迭代频繁——用芯片;数量少、速率中低、功耗敏感——搭电阻。

6. 实际互连设计的完整流程与操作要点

一块板上的高速差分互连,设计流程不是“把线连上就完事”,而是从原理图到PCB再到调试的一整套动作。下面把完整的流程讲清楚。

6.1 原理图设计阶段:七个必查项

  1. 确认收发两端的电平标准、供电电压、共模范围、最大摆幅。查芯片手册时特别看“Input Common-Mode Range”和“Differential Input Threshold”这两个参数。

  2. 计算端接网络:根据耦合方式选择戴维南网络或简单100Ω。差分阻抗一旦确定,全链路都要按这个阻抗设计。

  3. 确定耦合方式:同电平优先直流,跨电平优先交流(除非芯片手册明说支持直流跨接)。

  4. 耦合电容的位置和容值:放在发送端一侧(更常见)或接收端一侧(少用,但有时为了匹配封装)。容值用0.1μF起步,最低不得低于0.01μF,根据最低信号频率计算。

  5. 电源去耦:LVPECL对电源噪声敏感,其电源引脚需要高频去耦(0.1μF并联10nF甚至1nF),且电源层阻抗要低。LVDS和CML相对宽容一些,但SerDes区域的电源完整性同样不能放松。

  6. 地参考完整性:高速差分信号下方必须有完整的地平面,不允许跨分割。这是原则,没有例外。

  7. 回流路径:差分信号的回流电流主要在相邻地平面,不要在地平面上开槽(除非在布线层直接伴地)。

6.2 PCB布局布线要点

  • 阻抗控制:差分100Ω(LVPECL/LVDS)或差分100Ω(CML也通常100Ω差分),但要注意有些CML是50Ω单端到VCC,差分等效还是100Ω。生产时要求PCB厂家做阻抗测试板。
  • 线宽线距:以板厂叠层和阻抗计算为准,一般差分微带线线宽/线距在5mil/5mil附近(1.6mm板厚、外层)。但不同介质、层厚差异大,必须让板厂用实际叠层算。
  • 等长:高速差分对内等长要控制在5mil以内(10ps级别),对间等长按时钟/时序要求放宽。对于5Gbps以上的信号,对内等长放宽到2-3mm也可以,但最好按5mil级别控。
  • 过孔:尽量少打过孔,每个过孔引入不连续性。表层直接布线最优,不得已换层时,过孔附近加地孔,提供回流。
  • 耦合电容的焊盘:使用小封装(0402/0201),焊盘不要手动加宽(很多人为了让电容好焊改大焊盘,结果阻抗坍陷)。如需大电流或手工焊接,可用0603,但要接受更高寄生。
  • 端接电阻放置:接收端端接电阻必须贴着接收芯片引脚放,距离不超过50mil(1.27mm),否则反射直接在引脚上出现。

6.3 仿真验证与实测调试建议

如果项目预算允许,SI仿真应该尽早做。用HyperLynx或ADS等工具,把端接网络、耦合电容、走线模型建出来看眼图。没有仿真工具的话,至少用示波器+差分探头实测关键点。

实测时注意:

  • 探头要接对:差分探头是必须的,地线不要接成单端。
  • 测试点选择:在接收芯片pin脚处量测才是最真实的信号,不要在走线中间量(走线阻抗在中间不是理想100Ω,反射会干扰)。
  • 核对直流电压:万用表量一下发送端和接收端的共模电压,是否在规格内。这是最直接、最容易被忽略的一步。
  • 观察眼图:速率高时看眼图张开度、抖动、过冲。偶尔看上升时间是否匹配,不要追求过高的上升沿(过冲大可能造成EMI)。

7. 常见故障现象与排查速查表

高速接口互连出问题,往往不是“完全不工作”,而是“时好时坏、在某些条件下出错”。我把这些年见过的典型故障整理成表,方便大家排查。

故障现象可能原因排查步骤
信号完全丢失端接错误(LVPECL缺戴维南端接)万用表测发送端引脚静态电压是否在VCC-1.3V附近;若无,改端接网络
信号幅度偏低耦合电容太小(低频分量衰减)或衰减网络算错量测差分幅度,与规格对比;用大电容0.1μF试;检查衰减电阻阻值
共模电压异常接收端偏置网络被直流耦合的源共模拉偏分别量测发送端和接收端共模;若偏差大,改为AC耦合
上电瞬时误触发AC耦合电容充电时间常数过大减小耦合电容或增加复位/使能控制时序
速率高时误码率上升端接电阻离接收端太远、过孔过多、走线不连续检查PCB走线,优化端接位置、增大地孔
温度变化后失灵直流耦合共模裕量不足检查共模余量,改用AC耦合或带内部偏置的接收器
输出管发烫LVPECL端接网络阻值过小(电流过大)重新计算戴维南网络等效电阻,确认不小于最小负载要求
无法满足抖动指标电源噪声耦合、时钟参考层不干净加强电源滤波,差分走线远离开关电源和时钟区域

每类故障都对应明确的原因和动作。排查时一定要按“测量确认真实电平——对比手册——改设计”的顺序来,不要一上来就换芯片。

8. 几个容易踩的坑和我的实操补充

最后再分享几个我实际干活时积累的注意点,这些内容很少出现在教科书里,但往往是项目成败的关键。

8.1 LVPECL的“空脚”陷阱

很多LVPECL驱动芯片的差分输出引脚,如果不对地提供直流回路,输出引脚电位会飘到VCC附近,共模完全错乱。所以LVPECL输出端即使不接负载(悬空测试),也要戴维南端接。有些工程师把这当成“空脚”直接悬空,用示波器量到电平很高还以为是坏了。记住:LVPECL必须端正接。

8.2 AC耦合电容的位置不是随便选的

交流耦合电容放发送端还是接收端,在低速设计里无所谓,但在高速设计里有讲究:放在发送端更靠近驱动源时,走线可以保持传输线阻抗到开关点,高频反射更少;放在接收端时,由于电容后就是接收器的高阻输入,反射会比较大。所以很多SerDes参考设计都把电容放在发送端一侧,离发送芯片近。我自己的习惯也是放在发送端,且尽量靠近芯片引脚(≤10mm)。

8.3 不要迷信“100Ω就万事大吉”

差分阻抗100Ω是大多数LVDS和LVPECL互连的标准值,但CML有时要求更低的等效阻抗(例如50Ω差分)或者特殊偏置电压。接到这种器件时,一定要看手册里的“Reference Circuit”,完全按手册来,不要想当然套用LVDS的端接模板。

8.4 某个温度下好的板子不一定在所有温度下都好

高速互连的端接网络是多电阻组合,电阻值随温度漂移很小,但半导体器件(驱动器、接收器的输入阻抗)会随温度漂移。如果设计时共模裕量只留了50mV,在常温下没问题,拿到高温环境就可能报错。所以直流耦合设计时,共模裕量至少留100mV以上,否则就是在赌运气。这也是为什么我越来越倾向于用交流耦合的原因之一——它能从根本上消除共模漂移的影响。

8.5 示波器的地线夹子是高速测量的天敌

很多人用单端探头的鳄鱼夹地线去量高速差分信号,量出来的波形上会叠加非常大噪声和振铃,误以为是信号问题。我的建议很简单:一律用差分探头,如果没有差分探头,也要把探头的接地弹簧(pogo pin)压在被测点旁边,尽量短接地。用示波器看高速信号的前提就是“测量系统本身不能篡改信号”。

9. 一种少有人提但很实用的拓扑:多级分支时钟分配

最后补充一个系统的拓扑设计思路。当你需要把一个LVPECL时钟源分配给多个LVDS或CML接收器时,常见的做法有两种:源端扇出(用多输出时钟缓冲器)或板级Fanout(一路信号走长线然后分叉)。

我强烈建议用多输出时钟缓冲器,理由很简单:高速差分信号是无源网络,如果在一个过孔处分叉成两条,那个过孔就是信号不连续点,分叉后的两条分支都会产生反射,并且互相耦合。而专用缓冲器是主动驱动,每路独立驱动自己的负载和端接,信号质量要稳定得多。

具体拓扑为:LVPECL源 → LVPECL扇出缓冲器 → 各路经AC耦合/电平转换 → 各自接收端端接。这样的结构,每一段互连都是点对点,SI设计和调试都简单清晰。如果只有一路信号,硬要分叉给两颗芯片,那就宁可让接收端1失配一点,也要让两条分支等长并控制好分支阻抗。总之,“能点对点就点对点”是我在高速设计里最想分享的经验。

另外,如果接收端距离超过15cm,即使有点对点驱动,也要考虑在接收端附近加一个信号整形缓冲器,即所谓的中继器。FR4板材在GHz以上信号衰减明显,中继器能恢复摆幅和边沿,代价是增加延迟(几ns)。对时序要求严格的时钟链路,这个延迟必须计入预算。

高速差分电平的互连设计,说难也难,说简单也简单。难在参数多,组合复杂;简单在只要抓住共模、摆幅、端接、耦合这四个核心变量,大多数问题都可以通过一张端接网络图和一颗隔直电容解决。遇到不确定的场景,先按手册推荐拓扑搭,再用示波器实测调整,基本不会翻车。以上这些经验,都是我在一个项目又一个项目里实测、踩坑、总结出来的。下次再接到LVPECL或CML的板子,希望你至少不会在端接那里卡住。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询