第3章:AUX驱动架构:电流型与电压型驱动器、典型拓扑

这一章我们聊聊驱动器的核心架构。很多做高速设计的同行,一开始接触这些拓扑时,感觉像是掉进了术语的海洋。CML是什么?LVDS和HSTL又有什么区别?别急,我们一点一点拆开来看。

驱动器的本质,就是要把数字信号变成线路上能传得又快又准的模拟信号。它的架构直接决定了你的眼图能睁多大、抖动能压多低。我个人习惯,首先把驱动器分两大类:电流型和电压型。

3.1 电流模式驱动器 (Current-Mode Driver)

电流型驱动,说白了,就是用恒流源给负载灌电流。你想想看,电流在传输线上遇到阻抗,自然就产生电压了。这样产生的信号,对电源噪声不太敏感,因为电流源的内阻在理想情况下是无穷大,共模抑制比通常比较好。

核心特征: 输出阻抗高(接近恒流源),摆幅由电流源大小和负载电阻共同决定。

我记得在做一个12.5Gbps的背板项目时,一开始用了电压型驱动器,结果眼图的抖动怎么也压不下去。后来换成CML架构,问题一下就解决了。所以对于真正的高频链路,电流型是更稳妥的选择。

3.2 电压模式驱动器 (Voltage-Mode Driver)

电压型驱动就更直接了。它像是一个内阻很小的电压源,直接往线上推电压。这种架构的好处是什么?功耗低。因为电流只在输出翻转的时候才会产生较大的穿透电流。

但是也有代价。电压型驱动对电源纹波非常敏感,而且它需要精密的阻抗匹配。我曾经调试过一个DDR5的VTT端接板,电压型驱动如果不做好源端串联匹配,反射能让你怀疑人生。

对比维度 电流型 (CML为代表) 电压型 (HSTL为代表)
功耗 静态功耗固定,较高 动态功耗为主,较低
电源抑制 好(电流源隔离) 差(直接耦合)
速度上限 非常高(>20Gbps) 中等(<10Gbps)
匹配要求 需要远端端接 需要源端串联

3.3 典型拓扑详解

接下来我们看看几种用得最多的拓扑。你先看看下面的结构图,有个整体印象。

AUX驱动架构分类与拓扑选择 AUX驱动架构 电流型 (电流源) 电压型 (电压源) CML LVDS (准电流型) HSTL 关键适用场景 CML: 高频串行链路,如PCIe 5.0/6.0、25Gbps以上SerDes LVDS: 中速并行/串行,如芯片间互联、显示屏接口 HSTL: 存储器接口,如DDR3/4的地址控制线 选择原则:速度、功耗、摆幅要求三者平衡。

3.3.1 CML(电流模式逻辑)

CML是我在高速设计中用得最多的拓扑。它的核心就是一对差分对管,上面拉个恒流源。输出摆幅可以通过调整电流源的电流和负载电阻来控制。

为什么它适合高速?因为CML的输出级永远有电流在流,不存在关断的瞬间,所以跳变沿的切换速度极快,基本上可以达到物理极限。我在做28Gbps的VCSEL驱动时,用的就是CML。

需要注意: CML的输出共模电压需要精确建立,通常在 VDD - I*R/2 附近。如果接收端是交流耦合,一定要在接收侧重建共模偏置。我曾经忘记加这个偏置网络,结果眼图的共模漂移直接导致误码率飙升。

3.3.2 LVDS(低压差分信号)

LVDS其实可以看作一种准电流型驱动器。它的电流源典型值是3.5mA,配合100Ω的差分端接,产生的摆幅大约是350mV。这个摆幅对于大多数中速应用来说,功耗和信号的平衡做得不错。

我个人觉得LVDS最大的优势是几乎不用操心匹配问题。只要保证差分阻抗控制在100Ω附近,信号质量就很有保障。它不像CML那样对阻抗失配那么敏感。

3.3.3 HSTL(高速收发器逻辑)

HSTL严格来说是一种电压型驱动器标准。它不像CML那样有固定的电流源,而是通过电压源配合外部端接来产生信号。HSTL的标准有很多子类,比如SSTL、POD等。

嗯,这里要注意。HSTL的驱动能力跟供电电压直接相关。比如DDR4用的POD12,VDDQ只有1.2V,输出高电平就是1.2V,低电平接近0V。这种完全的电压摆幅虽然信号幅度大,但反射也比较大,所以DDR的走线总是要求非常严密的阻抗控制。

3.4 避坑指南:我的调试经验

  • 摆幅不够: 我曾经遇到一个LVDS链路,连接线超过30cm,结果接收端完全收不到信号。其实就是走线损耗太大,3.5mA的电流在远端产生的电压不够。解决方案是改用CML,并适当增加电流源到5mA。
  • 共模失控: 有一次在CML输出直接接了电容,去耦到地,然后信号就乱了。因为CML的共模点被电容短路了。记住,CML的共模靠的是负载电阻和电流源的直流平衡,任何直流断路都会让它失效。
  • 电源抖动: 电压型HSTL对电源噪声的敏感程度让我吃过亏。当时DDR的数据眼图总是闭合,查了一圈发现是VDDQ上有20mV的纹波。后来在驱动器电源引脚旁边加了RC低通滤波器,问题解决。

3.5 选型小结

每次新项目,我选驱动架构都遵循这个逻辑:先看速率。如果工作频率超过5Gbps,不用想,直接上CML。如果速度在几百M到几G之间,功耗敏感就用LVDS或HSTL。如果是存储器接口,那就老老实实按JEDEC标准走,HSTL或POD。

我的建议: 如果你不确定自己的链路损耗,可以在仿真中用IBIS模型跑一跑。千万不要只看数据手册里的理论值。手册里给的是理想条件下的波形,实际PCB走线会教做人。

最后说一句,不管选哪种架构,模拟仿真一定要做够。尤其是AC耦合后的共模恢复电路,我建议至少用两个不同的仿真工具交叉验证一下。嗯,这一章我们先把驱动器的底子打牢,后续讨论摆幅调节和均衡的时候,你就能理解背后的物理原因了。