目录

阻抗匹配/信号完整性速成(实验室版)

一、前言

最近发现很多同事都不太熟悉阻抗匹配,只知道“(常用的 SMA/BNC)传输线的阻抗是 50 欧姆”,却不知道它的真正含义。经常会出现以下情况:

  • 50 欧信号源接示波器 1M 欧输入:
  • 咦,为什么信号变成了两倍?
  • 高频方波接示波器 1M 欧输入:
  • 咦,怎么过冲这么严重?这信号源有问题吧?
  • MCU / DAC / FPGA 的输出信号不加驱动就接 50 欧负载 / 示波器 50 欧输入:
  • 咦,为什么本应该是 3V 的信号变成了只有 30 mV?

以上种种,都是不熟悉阻抗匹配以及传输线理论的结果。

本文不希望推导一大堆无聊的公式,而是希望提供传输线和阻抗匹配的物理直觉。有了这个直觉,即使你不记得公式,也能预测什么情况下会发生什么现象,以及弄明白各种奇怪现象的原因。

让我们开始吧!


二、传输线

2.1 传输线是什么

:传输线是什么?

:传输线是由两个及以上导体构成的能支持电磁波传播的结构。传输线通常是两个导体,一个是信号、一个是地。常见的传输线结构有双绞线、同轴线(实验室常用 SMA 线、BNC 线等等)、PCB / 芯片上的波导(微带线、共面波导、带状线)等等。

双绞线

SMA 接口、线芯传输信号、外层是地

BNC 接口、线芯传输信号、外层是地

微带线(Microstrip)、共面波导(Coplanar Waveguide)、带状线(Stripline)的横截面。这些结构经常出现在高速 PCB 上。光芯片、超导量子芯片上也有类似结构。

同轴线缆的优点是外层接地,天然提供电磁屏蔽。带状线也是如此。而微带线虽然屏蔽性较差,但有设计简单、制作容易、成本低的优势。共面波导屏蔽性介于二者之间,优势是阻抗控制更加方便。

:为什么需要传输线?普通导线不行吗?

:因为高频信号的传输需要传输线。

对于低频信号(kHz)而言,普通导线足够。但是对于高频信号(几十 MHz ~ GHz)而言,由于它们的波长可能短于导线的长度,所以需要考虑信号在导体中的瞬态行为。此时,只有使用传输线理论分析,才能尽可能保证信号不失真。

举个例子,对于上升时间为 0.1ns 的信号而言,由于电磁场在 1ns 内最多只能传播 30cm(在介质中更短,通常是 15-20cm),所以只要导线长于 3cm,都要考虑导线中的瞬态响应。对于这种高速信号而言,即使是在小小的 PCB 上布线都需要考虑信号完整性,更不用说长距离的传输。

:为什么传输线至少是两根线?

:电流必须有回路,没有回路,就没有电流。一根导线传输电信号,就必然需要另一根导线提供回流路径。所以 SMA / BNC 线都是两根导线,而不是一根。

另外一个理解的角度是:电场线必须要有出发点和终结点。即使只有一根导线,电场也会终结于无穷远或者大地,实际上也是两根导线。


到此为止就是关于传输线的一些基础疑问。下面我们来看看传输线是怎么建模的。

2.2 传输线模型

通常使用下图来对传输线进行建模,其中的电感和电容都指的是单位长度的电感和电容。

理想传输线的分布参数模型。信号线上每单位长度都有电感,信号线与地线之间每单位长度都有电容。

为什么信号线与地线之间有电容,不用多说。而之所以信号线上有串联的电感,是因为任何导体都有自感,也就是电流产生的磁场对自己变化的阻碍作用(楞次定律)。

上图展示的是无电阻的理想传输线。实际传输线有电阻、介质也不是理想绝缘,因此用下图所示的模型来描述:

其中 \(G\) 是电导,是电阻的倒数。

2.3 传输线的特征阻抗

传输线的特征阻抗为:

\[\begin{aligned} Z_0 = \sqrt{\frac{R+j\omega L}{G+j\omega C}} \end{aligned}\]

至于这个公式是怎么得来的,就要解偏微分方程了。感兴趣的读者请自行查阅,本文就不赘述了。

对于理想传输线, \(R=G=0\) ,则有

\[\begin{aligned} Z_0 = \sqrt{\frac{ L}{C}} \end{aligned}\]

注意,特征阻抗可以是复数,只不过对于理想传输线而言,它恰好是实数。

另外,请注意 \(Z_0\) 本身也是 \(x\) 的函数:

\[\begin{aligned} Z_0(x) = \sqrt{\frac{R(x)+j\omega L(x)}{G(x)+j\omega C(x)}} \end{aligned}\]

只不过这个函数通常的“台阶”形状的,仅在几个点处有跳变(对应实验中传输线与仪器连接的地方)。所以通常也不会把 \(x\) 写出来。

2.4 特征阻抗的物理意义——之一

特征阻抗 \(Z_0\) 的物理意义如下:

角频率为 \(\omega\) 的波在均匀传输线( \(Z_0\) 与位置 \(x\) 无关)中传播,其电压分布 \(v(x,t)\) 与电流分布 \(i(x,t)\) 的比是 \(Z_0(\omega)\) 。

设电压为:
\(v(x,t)= A e^{-\alpha x} e^{j(\omega t - \beta x)} + B e^{\alpha x} e^{j(\omega t + \beta x)}\)
其中第一项为正向传播的信号,第二项为反向传播的信号。
则电流为:
\(i(x,t)= \frac{A}{Z_0} e^{-\alpha x} e^{j(\omega t - \beta x)} + \frac{B}{Z_0} e^{\alpha x} e^{j(\omega t + \beta x)}\)
可见, \(v(x,t) = Z_0 i(x,t)\)
注意 \(Z_0\) 可以是复数,所以电压和电流不一定同相位。当然,对于理想传输线是同相位的。

2.5 特征阻抗的物理意义——之二

由 1 可知,在无限长均匀传输线的一端给频率为 \(\omega\) 电压信号 \(v(t)=v_0 e^{j\omega t}\) ,则流入传输线的电流为 \(i(t) = \frac{v_0}{Z_0(\omega)} e ^{j\omega t}\) 。换句话说,无限长均匀传输线在一端看起来像一个负载 \(Z_0(\omega)\) 。

特别地,对于理想传输线, \(Z_0 = \sqrt{L/C}\) 是实数,且与 \(\omega\) 无关,因此无限长理想传输线在信号到达它一端的时候看起来就像一个纯电阻。

为什么这里强调是“无限长”传输线?因为如果传输线不是无限长,那么当信号从远端反射回来的时候,就会和输入信号叠加。此时输入电压和输入电流的关系就不是 \(v/i=Z_0\) 了。

三、阻抗失配、反射

在第二节中,我们只讨论了均匀传输线,即阻抗 \(Z_0\) 与位置 \(x\) 无关的传输线。现实的情况也是基本如此:无论是同轴线缆(SMA/BNC)还是 PCB 上的波导(Microstrip, CPW, Stripline),通常都遵循 \(Z_0=50\Omega\) 的设计。

对于差分信号则通常是 \(100\Omega\)

然而,当我们把传输线连接到信号的接收端的时候,就要考虑阻抗跳变的情况了。

例如,把一个特征阻抗为 \(Z_0 = 50\Omega\) 的理想传输线接到一个 \(Z \ne Z_0\) 的负载上。

此时,信号到传输线末端时会反射回来,电压的反射系数为:

\[\boxed{\begin{aligned} \Gamma = \frac{Z-Z_0}{Z+Z_0} \end{aligned}}\]

这个公式是阻抗匹配的核心!

怎么记忆这个公式?只要记住:分子是末端负载阻抗 \(Z\) 减去特征阻抗 \(Z_0\) ,就可以了。这意味着当 \(Z > Z_0\) 时, \(R>0\) ,反射信号与入射信号同相位。而当 \(Z < Z_0\) 时,反射信号与入射信号反相位。这就是常说的“半波损失”。

四、瞬态与稳态信号

接下来我们以一个例子展示传输线中的瞬态和稳态信号。

现在考虑如下情形:我们有一个长度为一光年的理想传输线,特征阻抗为 \(Z_0 = 50\Omega\)。传输线的远端是一个 \(Z = 150 \Omega \) 的负载。

现在我们给近端接上一个电压为 \(4\text{V}\) ,输出电阻为 \(50 \Omega\) 的直流电压源。

运用初中知识,我们知道:当达到稳态时,远端负载上的电压应该是 \(4\text{V} \cdot \frac{150\Omega}{(150+50) \Omega} = 3\text{V}\) ,电流为 \(3\text{V}/150\Omega = 20\text{mA}\) 。

然而,在之前 2.5 节我们说过:“无限长传输线看起来像一个阻抗为 \(Z_0\) 的负载”。也就是说,当传输线近端的电压由 \(0\text{V}\) 上升为 \(4\text{V}\) 的一瞬间,信号并不知道一光年外的远端接了多大的负载——它眼前只有 \(50\Omega\) 的传输线。

因此,进入传输线的电压信号为 \(4\text{V} \cdot \frac{50\Omega}{(50+50) \Omega} = 2\text{V}\) ,电流为 \(2\text{V}/50\Omega = 40 \text{mA}\) ,它们经过一年的长途跋涉才能到达负载。

当然,实际可能要比一年更久,因为传输线中的光速通常小于真空光速,具体速度取决于电介质的介电常数。最常见的聚乙烯(PE)材质传输线中的光速是 \(0.66 c\) ,高档的特氟龙(PTFE)材质传输线则是 \(0.8c\) 。

当信号终于到达 \(150 \Omega\) 负载的时候,会被反射回来,反射系数为 :

\[\Gamma=(150-50)/(150+50)=1/2\]

所以反射信号为 \(1\text{V}\) ,与入射信号 \(2\text{V}\) 叠加在一起,得到 \(3\text{V}\) 。多余的 \(20 \text{mA}\) 电流也被反射回来。

传输线从瞬态过渡到稳态的过程

当反射信号回到近端时,由于电压源的输出电阻和传输线满足阻抗匹配条件,这些反射回来的信号会完美地被输出电阻所吸收。

如果电压源的输出电阻不是 \(50 \Omega\) ,那就麻烦了:这些反射回来的信号又会被反射回去,在传输线里来回反射,每次被吸收一部分,过了很久才能被完全吸收。也就是说过了很久,负载上的电压才能稳定到 \(3 \text{V}\) 。

由上面这个例子可见,信号源的输出电阻最好与传输线的特征阻抗相匹配。这样一来,即使负载没有匹配,反射回来的信号也会被完美吸收,不会在传输线内来回反射。

当然,如果负载也匹配成 \(50 \Omega\) 就更好了,这样一来,连反射信号也没有,对电压源也不会造成干扰。这就是为什么长距离传输电信号,通常将发射器和接收器都匹配成 \(50 \Omega\) 的原因。

五、阻抗匹配

现在,我们一一解答文章开始提出的问题。

5.1 信号源与负载的阻抗匹配

  • 50 欧信号源接示波器 1M 欧输入:
  • 咦,为什么信号变成了两倍?

实际上,如果负载是 50 欧,那么它就会和信号源的输出电阻 50 欧分压。于是负载上的电压就是信号源电压的一半。

而当信号源设定为 50 欧负载模式的时候,它显示的电压正是实际输出电压的一半。也就是说,你将信号源设定为 \(3\text{V}\) ,它实际上输出 \(6 \text{V}\) ,这样负载就能正好分到 \(3\text{V}\) ,与显示的相同。

这个时候,如果你将负载换成 \(1 \text{M}\Omega\) ,那它就把 \(6 \text{V}\) 全部分走了。这就是为什么信号会翻倍。

同理,如果信号源设置为负载为高阻抗的模式,那么电压源输出多少电压就显示多少电压。这个时候如果你接了 \(50\Omega\) 负载,那么负载上的电压就只有显示的电压的一半了。

为什么要搞出 50 欧和 1M 欧(高阻抗)两种模式?这是因为,当信号需要长距离传输的时候,为了防止反射失真,要将信号源和负载都匹配成传输线的阻抗,也就是 \(50\Omega\) 。而当信号传输距离很短的时候(传输线长度远小于信号的上升沿),就不需要阻抗匹配了,此时换高阻抗模式可以节省功率,减少发热。

5.2 高频信号

  • 高频方波接示波器 1M 欧输入:
  • 咦,怎么过冲这么严重?这信号源有问题吧?

方波中携带非常多的高频分量。此时的关键因素的不是方波的频率,而是其上升沿的宽度。

即便你的方波频率不高,但如果其上升沿的宽度小于传输线的长度,那么就要考虑阻抗匹配了。

如果不做阻抗匹配的话,就会在上升沿/下降沿的附近看到过冲现象,这就是由阻抗失配导致的信号反射的表现。

过冲

如果只是接收端没有阻抗匹配还好,信号反射回到发射端就会被吸收。而如果发射端也没有做阻抗匹配,那么信号就会在传输线中来回反射,对应过冲信号里的多个波纹。

5.3 驱动器

  • MCU / DAC / FPGA 的输出信号不加驱动就接 50 欧负载 / 示波器 50 欧输入:
  • 咦,为什么本应该是 3V 的信号变成了只有 30 mV?

对于常用的 TTL / CMOS33 电平标准而言,其电压为 5V 或 3.3V。如果想要驱动 50 负载,需要的电流为:

\[3.3\text{V} / 50\Omega = 66 \text{mA}\]

也就是说,要想以 \(3.3\text{V}\) 驱动 50 欧的负载,至少需要最大输出电流达到 \(66 \text{mA}\) 。对于 \(5\text{V}\) 则是 \(100\text{mA}\) 。

然而,对于单片机 / DAC / FPGA 这类芯片而言,其引脚的输出电流通常不会很大,最大只有十几 mA。这就导致它们带不动 50 欧的负载。如果强行驱动,就会发现本来应该是 \(3.3\text{V}\) 的信号可能变成了不到 \(1\text{V}\) 。

这时候怎么办呢?需要给引脚接一个缓冲器/电压跟随器/驱动器,再输出到负载。它们的输出电平逻辑与输入相同,但是能够驱动 50 欧的负载,提升信号的质量。

个人最喜欢 ISL55110 这款双路高速驱动,输入/输出电平可以各自定义。比用运算放大器搭跟随器要省事的多。

六、信号完整性初探

除了阻抗匹配以外,信号完整性还有很多其他的内容,包括:

  • 寄生电感相关
  • 回流路径
  • 过孔、去耦电容的摆放
  • 串扰(Crosstalk)
  • 损耗相关
  • 导体损耗
  • 介质损耗
  • 表面粗糙度
  • 趋肤效应(会导致高频信号的损耗更大)
  • 时序相关
  • 差分线长度匹配
  • 时钟抖动
  • 眼图分析
  • 电源完整性
  • 去耦、谐振、地弹(Ground Bounce)
  • ESD

不过这些内容通常是 PCB 设计者需要考虑的事情。我们使用者在大部分情况下只要了解阻抗匹配就可以了。

以后有机会的话,本频道也会介绍一些 PCB 设计中需要考虑的信号完整性问题。敬请关注~