“晶体管和运放都可以放大信号,但到底什么是信号放大,以及如何正确地进行信号放大。”
原文转载自 lcamtuf's thing: https://lcamtuf.substack.com/p/signal-reflections-in-electronic
在学习电子设计的过程中,我从未在微控制器和逻辑门的世界里遇到过什么困难。但interwetten与威廉的赔率体系 电路是一个不同的故事;有好一阵子,我只能抄袭别人的设计,然后漫无目的地去采购原理图上出现的早已过时的元件。
经过多年的反复试验,我知道模拟信号处理是一个复杂的研究领域,但终于可以比较轻松地驾驭它了。在今天的文章中,我想与大家分享最常见的电路设计任务之一:放大微弱信号,使其适合驱动模数转换器、扬声器、LED 和其他 I/O。
放大到底是什么?
电压放大器相对直接。电压是电子电路中传递信息的主要方式,但有时你会遇到信号幅度太小,以至于其他设备难以识别。例如,驻极体麦克风、光电二极管或温度传感器的输出信号,通常在毫伏级别。电压放大器的工作就是将这些微小的读数乘以某个固定值(“增益”),从而生成适合一般使用的输出信号。
功率放大则不同。你可能遇到过这样的情况:在开路测量时,信号看起来很好,但当连接到负载时,信号会急剧下降:一个典型的例子就是微控制器的输出引脚直接连接到电机或扬声器。信号的衰减是欧姆定律的直接结果:V = IR。单片机上的单个引脚最多只能提供 40 mA 左右的电流;如果它要驱动一个 8 Ω 扬声器,那么无论芯片希望达到什么效果,扬声器两端的电压都不会超过 320 mV(40 mA * 8 Ω)。要使扬声器两端的电压差达到 5 V,我们需要输出 625 mA 的电流。
无法提供足够电流的信号源被称为高阻抗源。功率放大器是一种接收高阻抗信号,然后通过一个强大的输出级输出低阻抗信号的设备,输出级可以提供较大的电流。与电压放大器不同的是,输入信号及其放大后的信号在示波器屏幕上看起来可能是一样的(只是增加了输出电流)。
放大的信号调理
放大器电路的一个普遍限制是它们输出的电压不能高于正电源轨,也不能低于负电源轨。输出范围有时会受到更多限制,但几乎不会超出电源范围。
因此,如果信号在 1.0 至 1.05 V 之间波动,就不能简单地将其相对于地放大 100 倍,否则输出电压就会超出 100 至 105 V 的范围。放大任何低于负电源轨的信号也同样具有挑战性,某些音频信号就有可能出现这种情况:
如果不想重新挑选电源电压更大的放大器,最可能的解决方案就是在放大之前对信号进行偏移。举例来说,输入波形的中心电压为 0 V,峰峰值振幅为 5 V。我们可以使用以下电路将其拉高:
我们来做一个实验,使用相同值的 R1 和 R2,阻值为 10 kΩ。在这种情况下,输出应该是一个简单的平均值,50% 通过 R1 脚,50% 通过 R2 脚。如果是这样,新的信号中心点应为 (0 V + 10 V) / 2 = 5 V;新的峰峰值振幅应为 (5 V + 0 V) / 2 = 2.5 V。
使用示波器进行的快速测试证实了计算结果。原始信号显示为黄色,偏移信号显示为蓝色:
如果我们使用 R1 = 10 kΩ 和 R2 = 33 kΩ,中心点的电压大约为 2.3 V,峰峰值振幅约为 3.8 V。唯一的实际限制是输入电阻 R1 必须足够大,以避免对信号源造成明显的负载。
这个电路最明显的问题是,虽然它成功地偏移了信号,但却不可避免地降低了信号的振幅。这可以通过增加放大器的增益来弥补,但这样做的代价是会增加额外的噪声。
如果我们不在意直流电压的保留,而只在意其上可能存在的高频交流信号,就有可能找到一种更优雅的解决方案。这在音频电路中很常见,在这种情况下,我们可以在信号路径中使用一个直流阻断电容:
由于电容不传导直流,因此输出端相对于输入端名义上是自由浮动的。由于电容阻止了交流,而用于抵消输出波形的 R1 和 R2 电阻可以具有非常高的电阻值,比如 100 kΩ 左右。
虽然直流电压无法通过,但如果输入端的电压突然上升或下降,电容的另一个端子上就会感应出与之成正比的瞬间电压偏移,由于 R1 和 R2 的阻值较高,这种偏移无法立即消散。因此,该电路在较高频率下几乎不会导致交流信号衰减:
什么是 “更高的频率”?假设没有很大的输出负载,电路的频率响应特性主要由 C 和输出侧电阻构成的 RC 高通滤波器决定。如果 R1 = R2,则滤波器的截止频率为:f = ¼ × π × R1 × C。
举个实际例子,如果使用 100 nF 的电容器和两个 100 kΩ 的输出电阻,频率低于 8 Hz 的信号会出现明显的衰减。
用晶体管作为电压放大器
晶体管最简单的用途是用作开关。让我们来看看常见的 n 沟道 MOSFET 的连接方式:
MOSFET 在其控制端(栅极)和低压端(源极)之间的电压超过晶体管的固有阈值电压之前,一直保持不导电状态。阈值电压 (Vth) 通常在 2 V 左右,但因晶体管而异。一旦 Vgs 超过了 Vth,MOSFET 就开始导通,负载通电。
在 “完全关断” 和 “完全导通” 之间有一个很小的线性区域,在这个区域内,晶体管表现出与施加的栅极电压成比例的可变电阻。了解到这一点后,许多新手都尝试通过扩展开关拓扑结构来制作放大器,就像这样:
这通常是个错误:晶体管在该准线性区域的电压增益非常高,但却不可预测,因为它会因为不同批次的晶体管而变化,也会因为除了阈值电压(Vth)之外的其他因素而发生漂移。要制造出可靠的放大器,通常需要加入某种反馈机制。如果工作范围更广,那就更好了!:
构建电压跟随器
回想一下,n 沟道 MOSFET 只有在栅极电压(Vgs)大于阈值电压(Vth)时才会导通。在前面的示例中,源极被接地,意味着栅极和源极之间的电压差(Vgs)总是等于输入信号的大小(Vsignal)。换句话说,输入信号直接决定了栅极电压,从而控制MOSFET的导通状态。但如果我们允许源极偏离 0 V 呢?
为了分析这个电路,假设 R = 10 kΩ,晶体管的阈值电压为 2 V,输入端输入 5 V 信号。
起初,源极连接到地,因此 Vgs 等于 5 V,晶体管开始导通。此后不久,随着电流的流动,电阻 R 上产生了电压(V = IR),使得源极的电压升高。当电流达到 300 µA 时,源极电压为 3 V(10 kΩ * 300 µA),因此 Vgs 实际上降至 2 V。这是晶体管的阈值电压,如果电流继续增加,晶体管将关闭,因为Vgs不再大于Vth,电路将达到一个平衡状态,此时Vout = Vsignal - Vth。
下面的示波器图显示了电路的行为;输入信号显示为黄色,输出为蓝色:
当然,该电路不是电压放大器,但是可以作为构建电压放大器的一个基础组件。如果将 R 换成实际的负载,它确实能提供功率增益,但其驱动能力是不对称的:如果在其两端连接一个电容,它只能在输入信号上升时将电容充电至较高电压,而在输入信号下降时无法放电。
示波器的图像显示了输入和输出信号之间存在一个显著的(与阈值电压Vth相关的)偏移;因为该电路无法输出低于地线的电压,所以一些偏移的波形也被截断了。为了避免这种失真,人们需要事先轻微地偏移输入信号。
改造成电压放大器
让我们对电压跟随器电路稍作修改,在 MOSFET 的高电平侧增加第二个电阻:
我们暂且假设 R1 = R2。电路的基本原理保持不变:当 Vgs>Vth时,晶体管通过的电流足以在 R2 上产生一个反馈电压,这个电压等于信号电压 Vsignal 减去晶体管的阈值电压 Vth。由于同样的电流也流过新增加的 R1,R1 上也会产生一个与 R2 相同的电压降。
现在考虑一下如果 R1 大于 R2 会发生什么。由于通过晶体管的电流通常保持不变,根据 V = IR 可知,如果电流不变而电阻增大,则 R1 两端的压降也会相应增大。
事实上,我们可以从下面 R1 = 100 kΩ 和 R2 = 10 kΩ 时,一个微弱的输入信号(幅度为 400 mV,黄色)在输出端(蓝色)产生了一个 4V 的摆动,这是一个接近完美的 10 倍增益:
由于 R1 连接在正电源轨上,因此输出是反相的:即低输入电压产生高输出电压(反之亦然)。撇开这些小麻烦不谈,该电路是一个稳固的放大器,增益清晰且易于调节。
这个电路有个明显的问题,也是大多数在线教程忽略的问题:串联的两个电阻上的压降之和显然不能超过供电电压。为了解释地更清楚,让我们再回到增益为 1 的配置(R1 = R2)。如果输入信号为 8 V,电源电压为 10 V,则 R2 上的压降可能为 6 V(8 V - Vth = 6 V),而 R1 上的压降与此相同,会将输出从正电源轨拉低 6 V。当然,两个电阻串联在 10V 电源的两端,总共 12V 的电压降是不可能实现的,你最多能看到5V。
需要记住一个实用的规则:在这个放大器电路中,输出电压 Vout 不能低于输入信号电压 Vsignal 减去阈值电压 Vth。在增益为 1 时,你会失去大约一半的电压范围,但在更高的放大比率下,这种损失相对较小。
增加推挽输出
撇开其他缺陷不谈,迄今为止讨论过的电路都不适合驱动大负载:它们要么无法提供大电流,要么提供的电流不对称(在改进型电压跟随器中),导致电容和电感负载失真。
解决方案是推挽式功率放大器:电路使用两个互补的晶体管(在这个例子中,是一个N沟道和一个P沟道的MOSFET)根据需要将负载在两个电源轨之间切换。这种配置允许电路在输出高电流时保持对称,从而避免了失真,并且能够更有效地驱动较大的负载。
这种设计可视为两个联合工作的电压跟随器。当输出电压 Vout 太低时(即 Vsignal 大于 Vout 加上阈值电压 Vth),N沟道晶体管会将输出端拉向正电源轨。而当输出电压 Vout 太高时(即 Vsignal 小于 Vout 减去阈值电压 Vth),P 沟道晶体管则会将输出端推向地(GND)。
这两个晶体管不会同时工作,但是由于它们固有的阈值电压,当两个晶体管都关闭时,电路会有一个“死区”:这就是所谓的交叉失真(crossover distortion)。
在输出悬空的情况下,交叉电压不好控制,因此在演示电路中增加了两个 Rload 电阻(约 10 kΩ),这有助于在晶体管切换时维持输出电压的稳定。
通过将输入信号分成两路,然后分别进行偏移,就可以在很大程度上消除交叉失真。可以通过使用电阻来实现,有时也可以使用二极管。使用二极管的好处是它能在其终端维持一个相对恒定的电压降,而基于电阻的分压器只提供相对于供电电压的输出。无论使用哪种方法,一旦消除了交叉失真,就可以安全地移除两个 Rload 电阻。
在将电压放大器与推挽电路结合起来,并调整所有电压以消除与 Vth(晶体管的阈值电压)相关的失真后,整个电路可能需要大约十几个分离器件。难道没有更简单的方法吗?
运放(Operational amplifiers)
答案是肯定的:让 TI 的精英们来完成你的工作吧。运算放大器是一种相对简单的集成电路,可以放大两个输入电压之间的差值,同时保持极高的输入阻抗,提供良好的电流输出能力,并使信号不失真。许多现代运算放大器还能实现轨到轨输入和输出,进一步简化了电路设计。
换句话说,如果您遇到 2-4 个分立元件无法解决的放大问题,运算放大器可能是您的最佳选择。
在开环配置中,典型的运放具有 100,000 或更高的增益。它的行为本质上类似于电压比较器:如果非反相(“+”)输入端的电压高于反相(“-”)输入端的电压,输出就会在电源上轨附近波动。在相反的情况下,输出会降至电源下轨附近。在这两者之间有一个线性区域,但它定义不清,很难归零。与晶体管一样,添加某种反馈机制才是关键。
用运放构建电压跟随器
最简单的基于反馈的运放电路是电压跟随器,通过将器件的输出端连接到反相输入端来构建。
我们来分析下该电路的工作原理。假设由于某种原因,运算放大器的输出引脚(Vout)瞬间降到了非反相输入端(Vin+)提供的信号电压以下。这个较低的输出电压会立即反映在反相输入端(Vin-),在运算放大器的输入端产生正的电压差。运算放大器会通过提高输出电压来响应,直到恢复平衡:Vin+ = Vin- = Vout。严格来说,Vin- 和 Vin+ 之间会有一些微小的差异,但只需要微小的波动就能获得全范围的 Vout 电压,因此这两个值实际上是相同的。
如果Vout过高,也会出现类似的情况,并导致相反方向的校正。
在大多数应用中,只要输入和输出电压保持在 spec 范围内,这种设计就没有什么大的问题:不应该有大的偏移、失真或输入阻抗的问题。就像数字集成电路一样,运算放大器被设计为抽象掉大部分与底层晶体管相关的复杂性。
非反相电压放大器(正相放大器)
对前面电路的一个简单改进是在反馈环路上增加一个电阻分压器:
假设 R1 = R2,反相输入端(Vin-)上的电压将是输出电压(Vout)的一半。为了在其差分输入上达到平衡,运算放大器需要输出的电压是供给非反相输入端(Vin+)电压的两倍。实际上,这就构成了一个增益为2倍的电压放大器。如果增加R1的阻值,将进一步增加增益;增益的计算公式是1 + R1/R2。
在实际应用中,R2 的阻值通常在 10 kΩ 左右,而 R1 则可能达到兆欧姆。虽然高电阻可能会降低带宽或增加噪音,但通常不会有什么影响;建议进行一些实验来确定最佳阻值。
反相放大器
这是基本运算放大器拓扑结构的一种变体,将输入电压和反馈信号结合在同一反相脚上:
为了分析该电路的行为,我们再次假设 R1 和 R2 相同。如果断开输入信号,电路就会像电压跟随器一样工作;由于运算放大器的输入阻抗很大,反馈电流可以忽略不计,因此 R1 不会产生太大影响。
如果我们重新连接输入信号,情况就会发生一些变化:Vin- 现在看到的是 Vsignal 和 Vout 各占一半的混合信号。如果信号源产生一个 100 mV 的尖峰,会将反相输入端推高 50 mV。此时,反相脚的正电压突然变大,导致放大器开始降低输出电压,直到 Vin- = Vin+。为了补偿 Vin- 增加的 50 mV,Vout 必须下降 100 mV。
实际上,在 R1 = R2 的情况下,我们有一个反相电压跟随器;如果增加 R1,电路就会变成一个增益为 -R1/R2 的电压放大器。
这种电路拓扑结构的优势在于,放大的参考点由 Vref 决定,因此我们可以在不直接干扰输入信号的情况下移除或添加直流偏置。另一方面,由于 Vin- 和 Vout 之间存在反馈电阻,反相放大器的输入阻抗会稍低一些。
运放频率考虑因素
大多数基于集成电路的通用放大器都刻意限制了带宽。这是因为内置的低通滤波器会使得当输入信号的频率增加时,可达到的最大增益会降低,直到增益降到1倍(即没有增益)时,运算放大器就不再放大信号。
采用这种设计的原因是放大器不可避免地会产生一些寄生电容。电容会在输入和输出信号之间产生明显的正弦波滞后,从而导致用于控制增益的反馈信号出现延迟。随着信号频率的增加,相位延迟也随之增加,反馈信号与实际情况的关系越来越小。如果没有低通滤波器,一旦相移接近波长的一半,最终的后果就是过度放大、振铃甚至持续振荡。
由于内置带宽的限制,每个运算放大器的数据表都会注明 “单位增益带宽” 或 “增益带宽积”(GBP)。对于正常的放大器,这两个值应该是相同的。当你配置运算放大器来放大电压时,你可以用这个数值除以你希望达到的电压增益;结果就是你可以在没有显著损失的情况下通过的最大频率。
例如,如果你想使用TLV4110运算放大器将某个音频信号放大200倍。这个集成电路的单位增益带宽是2.7 MHz;在预期的增益下,放大器应该能够在13.5 kHz(2.7 MHz / 200)下表现良好。虽然不是很高,但应该足够捕捉中等质量的声音。
运算放大器另一个与频率相关的特性是压摆率(也称电压转换速率,slew rate),即输出从一个轨摆到另一个轨的速度。例如,TLV4110 的压摆率为 1.5 V/µs;如果工作电压为 10 V,从一个轨摆到另一个轨再返回需要约13.3 µs。这显然限制了在高速下放大大信号的能力。
至于分立晶体管,较大的 MOSFET 的主要限制因素是其栅极电容:它们本质上就像电容,每次改变栅极电压时都需要充电或放电。对于低功率(“信号”)晶体管,电容仅为几个皮法;而对于较大的晶体管,电容可能达到纳法。因此,功率 MOSFET 无法以更高的速度直接由 MCU 驱动,在千赫兹范围内,问题就开始出现了。小型晶体管或运算放大器前置放大器可以提供帮助。在任何使用反馈的电路中,也应考虑潜在的相位滞后。
放大器噪声考虑因素
信号放大和噪声是相辅相成的,但如果对这一主题进行详细讨论,就会使这篇已经很长的文章变得更加难以消化。为了避免深入探讨,这里提供一些放大器噪声的经验技巧:
尽可能降低与微弱信号串联的电阻值,以尽量减少约翰逊-奈奎斯特噪声。如果您遇到运算放大器问题,降低反馈电阻值也会有所帮助。
使用低通或带通滤波器,避免放大电路中的杂散射频信号。通过几种不同的机制,高频信号有时会变成听得到的尖叫声或嘶嘶声。
所有信号线尽可能的短。如果需要长距离传输,请使用双绞线或同轴电缆。
在属于同一设备的高速数字电路周围使用低 ESR 去耦电容器,并且确保在PCB 上保持数字部分与模拟部分的距离。如果有疑问,可在 PCB 上大量使用 100 nF MLCC 电容。
在高速数据总线以及为数字电路供电的电压走线上,尽可能使用铁氧体磁珠或小电阻;它们可以控制浪涌电流,减少电压尖峰和电磁干扰。
确保有一条良好、低阻抗的接地路径,该路径应不间断,并在物理上靠近高速信号线。这将限制杂散电场和磁场。完整的接地平面或金属屏蔽也能限制某些类型的射频问题。
-
运放
+关注
关注
47文章
1165浏览量
53083 -
晶体管
+关注
关注
77文章
9687浏览量
138144 -
信号放大
+关注
关注
0文章
27浏览量
16033
发布评论请先 登录
相关推荐
评论