电子工程师渡过入门阶段之后,最熟悉又最容易讲不清的电路,我估计就是运算放大器的同相放大和反相放大。教科书上两页纸就能讲完公式,但实际画板子、调硬件的时候,这两种接法的差别远不止“信号从哪端输入”那么简单。增益公式、输入阻抗、共模电压、带宽、噪声增益,甚至自激振荡的概率,都会因为你选了同相还是反相而走向完全不同的结果。
这篇文章我想从工程应用的角度,把这两种经典放大结构的区别彻底拆开聊一遍。适合正在学运放的在校学生、刚转硬件开发的工程师,以及那些已经用过运放但一直“知其然不知其所以然”的朋友。我会把推导过程、关键参数对比、选型思路和我实际踩过的坑都写清楚,保证你读完以后拿到任何一个前置条件,都能快速判断该用同相还是反相。
1. 前导问题:同样一个运放,接法不同为什么差别这么大
1.1 两个电路的“第一眼区别”
先看最基础的电路结构。同相放大电路,输入信号V_in经过一个电阻(通常是保护电阻或源阻抗),直接接到运放的同相输入端(+),反相输入端(−)通过Rg接地,同时通过Rf反馈到输出端。反相放大电路则反过来,信号经过输入电阻Rg接到反相输入端(−),同相输入端直接接地,反馈电阻Rf同样从输出端接回反相输入端。
也就是说,从引脚上看,两者最大的直观区别是输入信号加在哪一端。但如果你只记住这个,后面一定会踩坑,因为真正的区别不在于“哪只脚进信号”,而在于整个反馈网络与输入端的配合方式决定了运放工作在什么样的闭环状态下。
我见过不少初学者照着公式抄,同相接法用增益公式1 + Rf/Rg,反相接法用 −Rf/Rg,却解释不出“为什么同相要加个1,反相不用”。这个问题搞不明白,你就没法理解为什么同相放大器的输入阻抗可以做得很高,而反相放大器的输入阻抗基本上由Rg决定,也没法理解为什么反相放大器的反相端被称为“虚拟地”。
1.2 抓住本质:虚短、虚断与反馈网络的关系
要理解两种接法的本质差异,必须回到运放分析的两大基本法则:虚短和虚断。虚断说的是,运放输入端几乎不吸取电流,输入阻抗极高;虚短说的是,在负反馈正常工作的前提下,运放两个输入端的电压会趋于相等。
同相放大器中,同相端电压就是V_in,所以反相端电压也被“虚短”拉到V_in。这样反馈网络的分压关系就建立在V_in这个电位上,经过推导得到增益为1+Rf/Rg。反相放大器中,同相端接地,所以反相端电位也被拉到0V,但并不是真正接地,而是通过负反馈形成的“虚拟地”。信号电流只能从Rg流向反馈电阻Rf,输出电压等于−Rf/Rg乘以输入电压。
注意这个“虚拟地”的理解非常重要。在反相放大电路中,运放反相端虽然电压为0,但你不能直接往这个节点灌大电流,也不能把它当真地来铺铜处理。它是由负反馈动态维持的平衡点,一旦输出饱和或者反馈失效,这个节点的电压立刻失控,这是很多调试事故的根源。
2. 增益计算的本质差异:公式背后藏着什么
2.1 同相放大:信号从同相端输入,增益公式为什么是 1 + Rf/Rg
很多人背公式,但不理解公式的推导,遇到电阻取值变化就发怵。同相放大器的增益推导从虚断开始,反相输入端无电流流入运放,所以Rf和Rg上的电流相同。假设通过Rg的电流为I,那么Rg上的电压是 I×Rg = V_g,Rf上的电压是 I×Rf = V_f。
根据虚短,反相输入端电压等于同相输入端电压,也就是V_in。而反相输入端的电位同时由输出V_out通过Rf和Rg分压得到,数学表达式就是:
V_in = V_out × Rg / (Rg + Rf)
整理一下,得到V_out / V_in = 1 + Rf / Rg。
这个“1”哪里来的?它来自V_out直接为V_in提供了一份“直通”电压。你可以理解为:同相放大器本质是一个电压跟随器加一个放大级,最低增益就是1,不可能做到小于1的放大。这个特性决定了同相放大器特别适合做缓冲、阻抗变换和前级调理,因为它的增益下限天然就是单位增益,稳定且直观。
2.2 反相放大:信号从反相端输入,增益公式为什么是 -Rf/Rg
反相放大器的推导同样从虚断和虚短出发。因为同相端接地,反相端被负反馈拉成虚拟地,电位为0V。还是假设电流为I,输入侧有:
I = V_in / Rg
反馈侧有:
V_out = −I × Rf
因为电流方向是从输入端经Rg流向反相端,再经Rf流向输出端,所以输出与输入方向的电压相反。于是得到:
V_out / V_in = −Rf / Rg。
负号代表相位反转,不是衰减的意思。这个公式没有“+1”,原因在于反相端是虚拟地,V_in没有像同相放大那样直接出现在反馈分压网络里。信号到达输出之前,经历了完整的有源放大路径,增益理论上可以小于1、等于1或大于1,幅度上没有任何下限限制,但代价是相位反了180°。
2.3 差异带来的第一个推论:增益范围与相位
从公式可以立刻得出两个推论。
第一个推论是关于增益范围的。同相放大的增益永远大于等于1,无法做衰减器;反相放大的增益绝对值可以小于1,可以做有源衰减,也可以做大幅放大。如果你想用一级运放把0到10V的传感器信号变成0到5V,反相结构是合适的;如果你想做音频前级放大,或者把高阻抗拾音器变成低阻抗信号源,同相结构更合适。
第二个推论是相位问题。同相放大输出和输入同相,反相放大输出和输入反相。在音频系统、精密测量系统里,相位反转通常无所谓,但如果在闭环控制系统里,相位反转可能直接导致负反馈变成正反馈,系统震荡。我在做一个光电跟踪转台的控制电路时,就曾经因为反相放大器的相位反转没留意,导致PID调节器输出极性反了,电机往错误方向猛转,差点打坏机械限位。
这里要特别提醒:有些工程师喜欢在反相放大器后面再接一级反相器把相位翻转回来,看起来解决了问题,但多一级运放就多一份噪声、偏置和失真。工程上不是“多加一级无所谓”,而是必须从源头判断是否能用同相结构替代,避免不必要的相位操作。
3. 输入阻抗与“虚拟地”的工程意义
3.1 同相放大:高输入阻抗的代价是共模电压压力
同相放大器的输入阻抗理论上极高,因为信号直接接到运放的高阻抗输入端(M欧姆级别甚至更高),实际工作中输入阻抗通常由外部保护电阻或滤波电容决定。这意味着你可以直接把它接到高阻抗传感器(如压电陶瓷、pH电极、光电二极管的前置缓冲)上,而不必担心负载效应造成信号跌落。
然而高输入阻抗是有代价的,代价就是同相输入端和反相输入端的电压都跟随输入信号变化,运放承受了较大的共模输入电压。共模电压会把运放内部的输入级偏置拉来拉去,表现为失调电压随共模电压漂移,也就是我们常说的共模抑制比CMRR不够用。
更直观的例子是,如果你用单电源供电,同相输入电压接近电源轨,输入级可能进入非线性区。很多初学者接同相放大电路时发现输出被“削顶”,第一反应是增益太大,其实是输入共模范围IMR超了。解决思路是换用轨到轨输入运放(如OPA365、MCP6002),或者将输入信号偏置到电源中间,或者考虑改用反相结构。
3.2 反相放大:虚拟地让输入端几乎无共模,却牺牲了输入阻抗
反相放大器的反相端被反馈强制稳定在0V(虚拟地),同相端直接接地,所以两个输入端的共模电压始终接近0V。这对运放非常友好,输入级几乎不需要处理共模信号,CMRR的问题基本被绕过了。
但反相放大器的输入阻抗约等于Rg,因为信号电流必须流过Rg才能进入反馈网络。这个值通常只有几千欧到几十千欧,远低于同相放大器的输入阻抗。如果你的信号源阻抗很高,比如一个输出阻抗50千欧的传感器,直接接反相放大器,Rg选10千欧,信号会被严重分压,实际送入放大器的电压远低于传感器开路电压。
解决办法有两种。一种是把Rg选大,比如选到100千欧以上,但这样反馈电阻Rf要同步加大,带来的问题是噪声增大和偏置电流的影响更明显,而且高阻值电阻的寄生电容会影响电路稳定性。另一种是在反相放大器前面加一个同相缓冲级,先做阻抗变换,再做反相放大,但这样电路多了一只运放,功耗和成本都要上升。
我做pH计信号调理时特别清楚这个问题。pH电极阻抗极高,几百兆欧,用反相放大器根本接不了,必须先接同相跟随器,再进后级放大。反相放大更适合信号源阻抗比较低、又需要精确控制增益的场合。
4. 带宽、噪声与稳定性:同相和反相在实战中的隐藏差距
4.1 噪声增益的概念:同相与反相都在用它
提到运放带宽和稳定性,必然会遇到“噪声增益”这个概念。很多人第一次听会觉得玄学,其实它描述的是从运放同相输入端看进去的闭环增益,不是信号增益。噪声增益的定义是:
NG = 1 + Rf / Rg
这就很有意思了。反相放大器的信号增益是−Rf/Rg,但噪声增益是1+Rf/Rg;同相放大器的信号增益是1+Rf/Rg,噪声增益恰好也是1+Rf/Rg。也就是说,无论你做的是同相还是反相结构,只要反馈网络的Rf和Rg取值相同,运放内部看到的噪声增益就完全一样。
带宽受什么影响?运放的增益带宽积GBW是固定的,实际闭环带宽约等于GBW除以噪声增益。举例说明:如果你用GBW=10MHz的运放,Rf=9k,Rg=1k,那么反相放大器的信号增益为−9倍,但噪声增益为10倍,带宽就是10MHz/10=1MHz。如果改接同相放大器,信号增益是10倍,带宽同样是1MHz。
这个结论推导出来的含义是,在相同的反馈电阻取值下,反相放大器实际能用的信号带宽更低,因为它有一部分“增益预算”用于维持噪声增益了。反相放大器做到高信号增益时,这个吃亏效应更明显。
4.2 带宽的一致性:为什么两种接法驱动同一负载时表现不同
上面说了噪声增益导致带宽差异,但从另一个角度看,当Rf和Rg不成比例时,反相和同相信号增益不同,带宽表现也不同。例如Rf=9倍Rg时,同相增益是10,反相增益是9,此时两者的带宽几乎一样。当Rf远大于Rg时,两个增益趋近于同一数值,带宽损失差异缩小。
实际设计时,如果要求严格保真的高频信号,我会优先选用同相结构,因为单位增益时带宽最大(GBW/1),反相结构在单位增益时噪声增益是2倍,带宽减半。音频领域很多电路爱用反相结构,是图它的共模压力小和电源抑制比好,但代价就是高频段稍微吃亏,设计时要做带宽预算。
带宽差异的另一面是稳定性。反馈网络中的寄生电容和运放输入电容会形成极点,反馈电阻越大,极点频率越低,越容易引发振铃或自激。反相放大器的虚拟地节点对寄生电容更敏感,因为这是一个相对高阻的节点,走线稍微长一点、焊盘稍微大一点,都可能引入几皮法的寄生电容,导致相位裕度下降。
4.3 反相放大器的反相输入是“求和点”还是“虚拟地”?
有些场合会看到“求和点”这个词,说的就是反相放大器的反相输入端。因为在反相放大器中,所有输入电流最终都汇入这个节点,再流过反馈电阻。如果有多路信号分别通过不同电阻接入反相端,这个节点就成了电流求和点,输出等同于各路信号按电阻权重的加权和,这正是模拟加法器的原理。
同相放大器没有这个特性,因为同相端不会自动变成虚拟地,你很难直接通过加电阻的办法做多路信号叠加。所以做混合器、DAC输出电流转电压(I/V转换)、音频调音台时,普遍用反相放大器结构。
可以这样类比:反相端的虚拟地节点就像一个公共汇流排,各路电流都流过来汇合,再被强制送到输出端形成电压;而同相端更像是直接观察输入信号的天线,不存在这种强烈的吸流效果。想清楚这一点,很多应用场景的选择就豁然开朗了。
5. 到底怎么选?我的选型思路和场景拆分
5.1 选同相放大的典型场景
我自己的经验里,同相放大优先用于以下几种情况:
第一,高阻抗信号源的缓冲和前级。传感器输出阻抗高,信号弱,如果不做阻抗变换,后级负载一接上,信号就塌了。同相放大器输入阻抗极高,单位增益缓冲是最直接的解法。第二,不需要相位反转,输出希望和输入保持一致。控制环路、伺服驱动、闭环反馈这类地方,相位关系直接决定稳定性和反馈极性,同相结构省心。第三,增益需求不高且在1到20倍之间,输入共模电压在运放允许范围内。这种情况下,同相结构电路简单、噪声增益就是信号增益,高效。
5.2 选反相放大的典型场景
反相放大也有同相替代不了的优势:
一是必须做信号衰减或增益绝对值小于1的场景。同相做不到增益小于1,但反相可以通过Rf小于Rg实现。比如把0到12V的传感器信号缩到0到3.3V送给ADC,用反相结构配比例电阻即可,但要注意相位反转,后面软件处理或者接法上要补偿。
二是多路求和、数模转换的电流转电压,也就是DAC的I/V变换。DAC输出电流,反相输入端虚拟地正好把电流汇总,然后通过反馈电阻变成电压,这个结构就是经典的跨阻放大器TIA,光电二极管检测也常用这种结构。
三是需要回避共模电压的应用,例如单电源供电、输入信号接近电源轨、或者测量对象带有较大的共模干扰。反相放大器的输入端保持在虚拟地附近,CMRR承受的压力小得多,输出精度相对更好。
5.3 如果非要做一个“共模抑制对比表”
为了让选型更直观,我给出一个常用的对比表,覆盖同相和反相放大器的核心差异,方便实际做方案时逐项对照。
| 对比维度 | 同相放大器 | 反相放大器 |
|---|---|---|
| 输入信号接哪个引脚 | 同相端(+) | 反相端(−) |
| 输出相位 | 与输入同相 | 与输入反相(180°) |
| 信号增益公式 | 1+Rf/Rg | −Rf/Rg |
| 最小增益绝对值 | 1(不能衰减) | 理论上可以小于1 |
| 输入阻抗 | 很高,接近运放自身输入阻抗 | 由Rg决定,通常较低 |
| 输入共模电压 | 约等于输入信号,压力较大 | 约等于0V,共模压力小 |
| 噪声增益 | 1+Rf/Rg | 1+Rf/Rg |
| 能否方便做多路求和 | 不方便 | 方便,可做加法器/TIA |
| 典型应用 | 缓冲器、阻抗变换、高增益前置 | ADC驱动、衰减、I/V转换、混音器 |
注意,表中的“输入阻抗”对同相放大器是理论值,实际还要考虑外部偏置电阻和ESD保护网络。对反相放大器,Rg取值直接决定了前级负载,因此设计时必须先问清楚信号源能驱动多大的负载电阻。
6. 实操中我最常看到的翻车点
6.1 同相放大没有考虑共模电压带来的失真
最常见的翻车点之一,是同相放大器的输入共模电压超限。仪器放大器的前端、运放跟随器、同相放大电路,只要输入信号接近电源轨,就要检查运放的输入共模电压范围是否覆盖输入信号。
举个例子,我曾在单电源5V下用LM358搭同相放大,输入信号是0到4.5V,增益2倍。理论上输出应该到9V,但运放直接饱和在4.8V左右,因为LM358这种非轨到轨运放的输入共模范围是0到Vcc−1.5V左右,4.5V输入已经接近上限,输入级工作点偏移,输出表现完全不是线性放大。
解决方案是选轨到轨输入运放,或者把运放电源提高到足够覆盖输入范围并留有裕量,或者干脆改用反相放大器把输入拉到虚拟地附近。很多同学一上来就认为是增益不够,其实是概念没理清。
6.2 反相放大输入阻抗过低导致前级带不动
第二个常见问题是反相放大器的负载效应。因为输入阻抗约等于Rg,如果前级信号源输出阻抗高,信号会被分压,实际送入Rg的电压已经不是理想的信号电压。
我调一个音频前置放大器时,用了反相结构,Rf=100k,Rg=10k,增益10倍。前级是动圈麦克风,输出阻抗约600欧,按理论分压只损失几个百分点,问题不大。但把麦克风换成一个输出阻抗20千欧的驻极体模块,信号直接衰减到原来的1/3,整个增益预算就乱了。
所以接反相放大器前,一定要核算信号源阻抗和输入阻抗的匹配关系。如果信号源阻抗和Rg处于同一数量级甚至更高,务必在前级加缓冲,或者改用同相结构。不要为了追求低共模压力而牺牲整个链路的信号完整性。
6.3 反馈电阻取值过大或过小:两种接法都会出事
最后说一个容易被忽略的问题:反馈电阻的取值。取值太小,比如Rf, Rg都低于几百欧,功耗增大、运放输出级负担变重,而且前级需要提供更大的电流,很多运放带不动这种低阻负载。取值太大,比如几百千欧以上,偏置电流流经高阻在输出端产生明显偏移,同时节点寄生电容导致极点频率降低,可能造成带宽不足或自激。
平衡原则是:根据运放的数据手册,检查偏置电流I_b和输入失调电流I_os,确保I_os × Rf的最大偏差在允许范围内。对于普通双极性运放,反馈电阻尽量不超过100k;对于FET输入或CMOS输入运放,可以使用到M欧级别。
此外还有一个小窍门:在同相放大器的同相输入端到地之间并联一个补偿电阻,阻值约等于Rf∥Rg,用来平衡输入偏置电流产生的误差。反相放大器则没有这种对偶需求,因为同相端直接接地时偏置路径天然简单,但如果信号源阻抗很高,仍需要评估偏置电流带来的误差。
6.4 稳定性问题:从振荡中学到的教训
不得不提的是,反相放大器在高速应用中的稳定性比同相更难伺候。有一次我做光电二极管跨阻放大器,电路图看起来非常标准,Rf=1M,但输出波形在较高光照下出现了明显的振铃。排查到最后,问题出在运放输入电容和光电二极管结电容共同作用在虚拟地点产生了一个额外极点,相位裕度被吃掉太多。
解决办法是用一个小电容Cf并联在Rf上,引入一个零点来抵消输入极点。Cf的取值通常从几皮法到几十皮法,具体值要根据闭环带宽计算:零点频率设为fz = 1/(2πRfCf),让它约等于输入极点频率。配合运放的GBW调整,可以恢复相位裕度。同相放大器虽然同样存在输入电容问题,但因为输入端没有严格的虚拟地点,相位余量一般比反相结构稍微乐观一些。
我做项目时经常跟团队强调一句话:实物电路做出来之前,先拿噪声增益和输入电容做一个手算预估,能省掉一整周的调板时间。这两种放大器的区别不只是课本上的公式,而是会直接反映在示波器的波形上的。
7. 最后说几句经验和建议
很多教材喜欢把同相放大和反相加法当作两个完全独立的知识点,但我更愿意把它们看成运放负反馈家族的两种基本形态:同相放大是“信号经过输入端直接观察”,反相放大是“信号经虚拟地节点被主动吸入”。这两种理解方式能帮你举一反三地看懂加法器、差分放大、仪表放大器、TIA等几乎所有运放应用电路。
实际项目中的选型,我建议不要只看输入阻抗,而是先把信号源阻抗、共模电压范围、噪声增益、带宽预算、是否需要相位反转这五个问题列出来,一条一条对照本文的展开分析做判断。如果前级信号阻抗高,优先同相;如果信号源阻抗低且多路输入要合并,优先反相;如果输入接近电源轨或共模干扰大,反相是更安全的起点。
调试时记得准备一台靠谱的示波器,同时把电源退耦做好,运放电源引脚附近放一个0.1uF陶瓷电容和1uF到10uF电解电容,对消除高频自激和低频哼声都特别有效。同相和反相放大说到底都是工具,真正珍贵的是你手里的调试手段和排查思路,而不是背下来的那两行公式。