
干了这么多年硬件面试过不少人也带过不少新人发现一个挺有意思的现象一说“差分放大电路”大家第一反应都是“我知道就是放大两个输入信号的差值”。但真让他在白板上把放大倍数公式推一遍顺便解释一下虚短虚断到底是怎么回事很多人就开始卡壳了。这玩意儿确实是模拟电路里的一个基础门槛但也是传感器信号调理、电流检测、音频平衡传输这些场景里绕不开的核心单元。今天我不想讲那些教科书式的定义就从一个实际工程师的角度把这个差分放大电路掰开揉碎手把手带你把放大倍数公式一步步推出来顺带把虚短虚断这两把“钥匙”讲明白。看完之后你可以不用死记任何公式随手画个电路就能自己推结果。无论是准备面试、做课设还是调实际产品这篇都能给你省不少时间。1. 差分放大电路是干什么的一个被低估的万能单元1.1 你在哪些场景会用到差分放大差分放大电路的应用场景比你想象中要多得多。最典型的就是电桥传感器的信号读取比如称重传感器、压力传感器它们输出的本身就是两个引脚之间的微小电压差。假如一个引脚是2.485V另一个是2.515V你真正关心的其实是那30mV的差值。如果用单端放大器去放大这30mV会连同2.5V的共模电压一起被放大输出早就顶到电源轨上去了压根没法看。差分放大器的作用就是只认这两个输入之间的差值把2.5V这种“共同部分”尽量忽略掉这在专业术语里叫共模抑制。还有电流检测也是重灾区。低边电流采样一般是用一个毫欧电阻串联在地线上然后放大电阻两端的压降这个场景其实用普通运放就能搞定。但高边电流采样呢采样电阻在电源正端附近电阻两端电压可能是12V和11.95V你得把这两者的差值放大而且不能把12V的共模电压也一起放大。这时候差分放大电路就是最直接、最省钱的方案比买专用的电流检测芯片要灵活得多。再比如音频设备里的平衡信号转非平衡信号本质上也是在做差分接收。一个卡侬头的2脚和3脚上是一对反相的音频信号中间还叠加了传输线上感应到的噪声用差分放大器一减有用的音频信号翻倍噪声却被抵消掉了。用过这种方案做过产品的人都知道效果确实立竿见影。1.2 一个最小可用的差分放大拓扑先说清楚基本电路结构。一个最经典的差分放大器由一只运算放大器和四只电阻组成如下图所示的结构关系反相输入端通过R1接输入信号V1反馈电阻Rf从输出端接回反相输入端同相输入端通过R3接另一个输入信号V2同时R2从同相输入端接地。这里很多人会记混的地方是同相输入端不是直接接输入而是先经R3再通过R2到地形成一个分压结构。这个细节极其重要因为它直接决定了V点的电压不是V2而是V2在R2上的分压。你要是把R2和R3当成摆设直接认为V等于V2后面推导出来的公式全是错的。这个电路的神奇之处在于四个电阻只要满足一个特定关系输出就正比于两个输入信号的差值。更妙的是这个电路的“差分”特性并不是靠运放本身实现的运放只是提供了一个高增益的闭环环境真正的“减法”功能是靠电阻的配比关系实现的。很多新手以为换了运放就能提升性能实际上在标准差分结构里电阻的匹配精度往往比运放本身对性能的影响更大这一点后文会详细展开。2. 虚短虚断分析运放电路的两把钥匙2.1 虚短的来龙去脉虚短说的是运放正常工作时同相输入端和反相输入端的电压近似相等也就是V ≈ V-。这听起来很玄乎甚至有点反直觉——两个输入端明明没有导线相连凭什么电压相等要理解这个得从运放的极限增益说起。一个理想运放的开环增益A是无穷大的实际运放再差也有几万到几十万倍。运放的输出Vout和两个输入端的差值Vd之间满足Vout A × Vd。既然输出是有限的值比如5V那么Vd就等于Vout除以A也就是5除以10万算下来才50微伏。这个值相对于我们电路里的电压尺度来说小到可以忽略不计因此就可以认为是V ≈ V-。打个比方就好比你用手去抬一根跷跷板的一端手稍微用一点点力跷跷板另一端就会大幅度摇动最终稳定在某个位置时你手上感觉到的反力几乎为零。运放在负反馈下就是这样一个自平衡系统它不断调整输出电压让两个输入端的差值趋向于零。关键前提是运放必须工作在负反馈和线性区内一旦输出饱和比如顶到电源轨Vd就不再趋向零虚短就不成立了。这一点后面排查问题的时候时常会用到。2.2 虚断的本质是输入阻抗接近无穷虚断就更直接了流入运放同相输入端和反相输入端的电流近似为零。原因是理想运放的输入阻抗是无穷大实际运放的输入阻抗虽然达不到无穷但通常也有兆欧级别甚至有输入阻抗高达10^12欧姆的运放比如CA3140这类场效应管输入的型号。相对于外部电路里常见的几千欧、几十千欧电阻来说流入运放输入端的电流确实小到可以忽略。还是用跷跷板来类比如果跷跷板的支点被设计成几乎没有摩擦那么你无论怎么往下压支点处消耗的力都可以忽略。运放的输入端就像这个支点只感受电压不索取电流。虚断的意义在于我们在列节点电流方程的时候可以理直气壮地把运放输入端那个节点当成“断路”来处理电流不会从外部电路流进运放所有外部电流关系都只取决于外围电阻。这大大简化了分析过程。不过要注意虚断对JFET输入或CMOS输入的运放来说近似度很高对双极型输入的运放在低温或大输入偏置电流时就不那么准确了需要额外考虑偏置电流的影响。2.3 什么时候这两把钥匙会失灵虚短和虚断是分析运放电路最常用的近似但初学的时候特别容易把它们当成绝对真理这里必须提醒几个关键的“失效场景”。运放输出饱和的时候虚短失效。比如你用单电源供电输入信号让运放输出已经顶到0V或者电源电压附近此时输出Vout不再等于A乘以Vd反馈环路已经失控两个输入端的电压差可能变得很大。调试时如果你发现V和V-量出来差了零点几伏不用怀疑先查输出是不是已经贴轨了。输入偏置电流不可忽略时虚断不严格成立。普通双极型运放比如LM358、OP07输入偏置电流在纳安到微安级别如果你的外部电阻用的是兆欧级别那这个偏置电流在电阻上产生的压降就不可忽视了会给放大倍数引入明显误差。这种情况下要么换用FET输入的运放要么在电路中增加平衡电阻来抵消。共模输入电压超范围时两个条件同时失效。运放的输入级对共模电压有一个允许范围一般是电源电压减去1.5V左右。当你把差分放大器用在高压环境比如48V电池组的高边电流检测共模电压超过了运放允许的范围输入级管子直接截止或者反向导通V和V-的差值关系完全乱套。这时你需要的是精密电阻分压网络先把共模电压降下来或者直接用高压共模差分放大器而不是硬靠一个普通运放去扛。3. 手把手推导差分放大倍数公式3.1 叠加定理拆开算比死记公式靠谱我先讲一个几乎所有教材都会用、也是我自己最推荐的方法叠加定理。差分放大器是线性电路线性电路的核心原则就是可以“分开算再加起来”。我们把两个输入信号V1和V2分别单独作用得到各自的输出分量再把两个分量叠加就是总输出。先看第一步令V20也就是把R3的左端接地只让V1作用。此时同相输入端通过R3接地虚断告诉我们R3上没有电流所以V点的电压是0。根据虚短V-点的电压也等于0。这又引出一个常用的概念——虚地。反相输入端虽然不是真正接地但由于V接地且虚短成立它的电位被钳在了0V。现在看反相输入端节点。V1经过R1流入这个节点因为V-是0V所以流过R1的电流就是V1除以R1方向是从V1流向V-节点。再看反馈电阻Rf它左端接V-的0V右端接输出Vout所以流过Rf的电流是0减去Vout除以Rf等于负的Vout除以Rf。根据虚断流入运放反相输入端的电流是0所以流过R1的电流必然全部流过Rf。列等式V1 / R1 -Vout1 / Rf于是V1单独作用下的输出分量就是Vout1 -(Rf / R1) × V1这个结果你肯定眼熟没错这就是标准的反相放大器增益公式。差分电路在V2接地时退化成了一个反相放大器这个视角可以帮助你理解为什么差分电路里R1和Rf决定了一路的增益。3.2 让V2单独作用同相那一路怎么算第二步令V10也就是把R1的左端接地只让V2作用。此时电路看着像一个同相放大器但要注意V2并不是直接接到同相输入端而是先经过R3和R2分压。先算V点的电压因为虚断R3和R2这条支路上的电流是连续的V2在R3和R2之间分压于是V V2 × R2 / (R3 R2)然后虚短告诉我们V-也等于这个电压。现在看反相输入端由于虚短V-被抬到了一个非零电位不再是0V。流过R1的电流是V-除以R1等于V除以R1流过Rf的电流是(V- - Vout)除以Rf等于(V - Vout)除以Rf。这两个电流依然相等可以列出方程V / R1 (V - Vout2) / Rf整理后得到Vout2 V × (1 Rf / R1)把V的表达式代进去Vout2 V2 × [R2 / (R3 R2)] × [1 Rf / R1]这个式子里那一大坨就是同相输入通道的增益。它和标准的同相放大器公式的区别就是多了一个分压系数R2/(R3R2)。初学者最容易漏掉的就是这个分压系数一旦忘记整个公式就完全不对了。3.3 把两个半路结果拼起来根据叠加定理总输出就等于V1单独作用的贡献加上V2单独作用的贡献Vout -(Rf / R1) × V1 [R2 / (R3 R2)] × [1 Rf / R1] × V2到这一步这是最一般形式的差分放大倍数公式适用于任意四只电阻取值。但这样的表达式不好看也不直观。为了让它真正实现“放大差值”的功能我们需要做一个关键约束让两个输入通道的增益相等。方法是令R1 R3Rf R2。代入上式第二项的系数就变成[R1 / (Rf R1)] × [1 Rf / R1] [R1 / (Rf R1)] × [(R1 Rf) / R1] 1这是在电阻匹配条件下那个大分压系数和同相增益相乘之后神奇地约等于1。于是公式简化为Vout (Rf / R1) × (V2 - V1)这就是我们在教材和工程中常见的最终结论差分放大器的放大倍数等于Rf除以R1输出等于放大倍数乘以两个输入信号的差值。负号在运算中被吸收进了减法关系里V2减V1如果V2大于V1输出为正反之输出为负。这个推导过程的关键不是记住最终公式而是体会那个“电阻匹配让系数约等于1”的瞬间。你在任何时候画差分放大电路只要四只电阻满足R1R3和RfR2的关系输出就是(Rf/R1)(V2-V1)。如果电阻不匹配那就回到了前面那个更复杂的表达式输出中还会混入共模分量这个问题下面一章详细说。3.4 信号源内阻会偷偷改变你的增益很多人推导完公式就直接去搭电路了往往忽略了一个问题信号源本身是有内阻的。如果你的V1和V2是从高阻抗的传感器出来的传感器内阻会串进R1或R3回路里等效改变了R1和R3的阻值。举个例子假设R1和R3都设计成10kΩ但V1那一路的传感器内阻有1kΩV2那一路的传感器内阻只有0.1kΩ。按理说R1R310kΩ但实际反相通道的电阻变成了11kΩ同相通道的电阻变成了10.1kΩ匹配关系被破坏共模抑制性能直线下降。解决办法有两种。第一在信号源和放大器之间加高输入阻抗的缓冲器也就是电压跟随器先把信号源内阻隔离掉再接差分放大器。第二如果对精度要求不是极高可以选择比较大的R1和R3让信号源内阻相对变小把误差压到可接受范围。实操中我一般优先用缓冲器方案尤其是传感器输出阻抗会随环境变化的情况下。4. 从公式到工程电阻匹配与共模抑制4.1 共模抑制比是怎么被电阻搞垮的前面推导出的简洁公式Vout(Rf/R1)(V2-V1)隐含了一个前提四只电阻完美匹配。但实际的电阻都是有误差的误差的存在会让差分放大器失去理想的共模抑制能力。我们可以做一个思想实验。假设两个输入信号同时加上2V的共模电压也就是V12VV22V。如果四只电阻完全匹配按公式输出应该是零。但电阻有误差后实际输出会是一个不为零的电压。这个电压就是共模信号残留下来的误差它会在你真正想要放大的差模信号上叠加干扰。衡量差分放大器抑制共模能力的指标叫共模抑制比也就是CMRR。对于这个四电阻差分结构CMRR主要受电阻匹配精度限制而不是运放本身。工程上有个粗略的估算式最大共模误差约为容差的四倍除以1加增益这么个关系换句话说CMRR大约等于(1G)/(4δ)其中G是差模增益δ是电阻的相对容差。拿具体数字说话。假设增益G10电阻容差δ1%也就是普通精度贴片电阻那么CMRR大约为(110)/(4×0.01)275倍换算成dB大约是48.8dB。这个水平说实话一般般很多运放本身的CMRR都在100dB以上但你的外围电阻只有49dB整机的共模抑制能力就被电阻锁死在49dB了。换句话说换一万块钱的运放也没用瓶颈在电阻。4.2 电阻误差的影响到底有多大再来一个更直观的计算。假设你想设计一个增益为10的差分放大器取R1R310kΩRfR2100kΩ。实际买回来的电阻R1误差1%Rf误差-1%当面值偏移方向相反时误差最恶劣。我们把带有误差的阻值代入最一般的输出电压表达式里算一算。假设两个输入端都加2V共模电压理想输出应该是0但实际计算下来输出可能有几十毫伏到上百毫伏的误差。这个偏移相当于在输出端叠加了一个等效的输入失调电压直接让你的传感器读数失真。更麻烦的是电阻的误差不仅有初始容差还有温漂。普通的厚膜贴片电阻温漂通常有±100ppm/°C温度变化50°C阻值就能漂0.5%。如果你的产品要在-20°C到70°C的环境工作电阻匹配精度会随着温度进一步恶化共模抑制性能也随之波动。我见过不少产品在实验室25°C下测试一切正常一到现场环境温度一变化输出就明显飘查到最后几乎都是电阻匹配问题。要压住这个误差工程上有几个常用手段第一用精密薄膜电阻容差0.1%温漂±25ppm/°C价格虽然贵一些但性能提升是数量级的第二用集成电阻排或分立电阻网络它们内部做了激光调阻四个电阻的匹配度可以在出厂时就做到极高的一致性第三实在追求极致就用仪表放大器把电阻匹配做到芯片内部这是后话。4.3 工程上怎么挑选和排布电阻关于电阻选型我的个人经验是标准差分放大电路里四个电阻的等值匹配优先级远高于绝对精度。也就是说R1和R3之间、Rf和R2之间的配对精度比它们各自的绝对精度更重要。举个例子R1和R3都用9.9kΩRf和R2都用100.1kΩ虽然绝对精度都偏了但匹配关系保持得很好共模抑制性能依然优秀。反过来如果R1是9.9kΩ、R3是10.1kΩ两者匹配被破坏输出性能会明显变差。PCB布局上也有讲究。四个电阻尽量放在同一区域并且保持相同的走线方向和长度让它们处于相近的温度环境中。如果电阻离得太远一边靠近发热器件一边靠近散热好的位置两者之间会有温度差匹配就被热应力破坏了。差分走线最好平行等长同相和反相输入路径要对称。这些细节在低速采样电路里可能影响不大但在高精度称重或者仪表放大场景里差之毫厘谬以千里。还有一个容易被忽略的细节反馈电阻Rf的取值不要过分大。Rf用得越大电路噪声就越大而且和运放输入电容、PCB寄生电容形成的极点频率越低动态性能越差。一般我习惯把Rf控制在几百千欧以内如果确实需要很高的增益宁可加分压或加级也不要用一个1MΩ以上的反馈电阻硬扛。这个问题在后续的噪声排查里还会遇到。5. 常见问题排查与调试实录5.1 输出一直饱和怎么查这是新手用差分放大器最常遇到的故障。板子通电后输出直接怼到电源电压不管怎么调输入都没反应。按照经验排查顺序是这样的先查运放电源正负是否都正常用万用表量一下V和V-的电压差。再查输出是否已经贴轨如果输出等于正电源或负电源说明运放已经饱和。然后量一下两个输入引脚的电压如果它们不相等甚至差很多说明虚短条件不满足负反馈通道断开了。最常见的原因是反馈电阻Rf虚焊或者Rf贴片电阻一端翘起导致反相输入端到输出的反馈通路断开运放开环工作直接饱和。第二个常见原因是电阻取值错误比如把R1和R3搞混了或者R2误装成了0欧姆导致同相输入端直接接地电路变成了纯反相放大器输出在输入信号比较正的时候当然就饱和了。还有一个隐蔽原因共模电压超过了运放输入范围。比如用单电源5V供电的运放输入共模电压却是4V而运放的输入范围只有0到3.5V这时候运放输入端内部的保护二极管导通或者输入级截止输出也会异常。所以调试前先翻一下运放的数据手册确认输入共模电压范围再对照电路里的实际电压是否在范围内。5.2 共模电压一高输出就飘另一个高频问题是两个输入端的共模电压变化时哪怕差分信号不变输出也会跟着漂。比如用差分放大器做高边电流采样时负载电流不变但电源电压从12V涨到13V输出竟然也跟着变了。把两个输入端短接后接地输出并非固定在零点而是随着共模电压升高而明显偏移。这个现象几乎可以肯定和他的电阻匹配度、或运放本身的共模抑制能力有关。先用精密电阻替换测试看漂移是否改善。如果改善很明显说明是电阻匹配的问题。如果改善有限那可能是运放的共模抑制比不够。还要检查电源去耦就是把电源到运放电源脚之间的电容尽量贴近引脚。曾经有几次排查来排查去最后发现是示波器探头接地线太长引入的共模噪声淹没了真实信号换了一个接地弹簧短针之后波形立刻干净了。另外运放的反馈回路里不要串电阻。有些人想着在输出端串联一个小电阻再接入负载问题不大但如果他把这个电阻串在反馈回路内部也就是把反馈网络的分压点接到了这个电阻和负载的交点上实际就改变了反馈比例和共模平衡输出自然跟着飘。5.3 噪声太大怎么降差分放大器输出噪声大首先区分是什么类型的噪声持续随机“沙沙”声是热噪声或运放电压噪声规律的工频干扰可能是共模抑制不足或走线感应。压低噪声有一些立竿见影的操作。第一减小反馈电阻阻值。反馈电阻越大噪声越大而且是按阻值的平方根关系上升。把100kΩ换成10kΩ电源损耗增加但噪声明显下降。这个时候要注意信号源能否驱动更低的输入阻抗。第二在输出端加一个RC低通滤波。很多传感器信号本身就是低频信号根本不需要很高的带宽加一个截止频率合适的低通可以滤掉大部分高频噪声。有时候我会直接把反馈电容并在Rf上形成一个一阶低通截止频率是1/(2πRfC)。这种方法特别适合称重、压力、温度这类慢变信号一两百赫兹的带宽完全够用噪声却能滤掉一大截。第三注意PCB铺地。差分放大器的输入路径应该远离电源和数字走线敏感的输入走线下面尽可能铺完整地平面做屏蔽。曾经处理过一块板子噪声特别大最后发现是差分输入走线绕了一大圈穿过了DC-DC转换器下方被开关噪声耦合进去了。把走线改短、避开干扰源之后噪声立刻降了两三个数量级。5.4 调试时的几个实测感受我自己调试这类电路时还有一个习惯就是先把两个输入端短接都接地先看输出零点。如果输出零点偏得离谱比如超过了几个毫伏以上就先查电阻匹配和输入失调。这个步骤可以帮你把“放大器自身的问题”和“信号源的问题”分开。接着再接入一个已知的差分电压比如用两节电池分压产生一个10mV的差分信号验证增益是否符合预期。这样一步步推出问题的时候能快速定位。还有一点用万用表测量运放输入引脚电压时要小心。普通的万用表输入阻抗大多只有10MΩ接上去之后相当于在输入节点并联了一个10MΩ电阻对高阻电路来说会明显拉低电压测出来的虚短结果就不准了。要测这种节点电压最好使用输入阻抗更大的电压表或者示波器探头并且用差分探头来测量两个输入端的电压差否则你看到的“虚短不成立”可能只是测量工具造成的假象。6. 从差分放大器到仪表放大器一步之遥如果你经常处理微弱信号会发现标准的四电阻差分放大器有个绕不开的痛点输入阻抗低而且两个输入端的阻抗还不一样。反相输入端看进去的阻抗约等于R1同相输入端看进去的阻抗约等于R3R2信号源的输出阻抗会直接干扰增益和共模抑制比。这时在差分放大器前面加两个电压跟随器把输入阻抗提到极高就构成了经典的仪表放大器结构。仪表放大器的核心思路就是“高阻抗输入缓冲再加差分放大”。两个跟随器分别接在两个输入端提供极高输入阻抗同时由它们共同决定增益。后面接的差分放大器只负责做减法电阻匹配和共模抑制就更好控制。工程中集成仪表放大器芯片比如AD620、INA128内部已做了电阻匹配和激光校准温漂和共模抑制性能都非常优秀代价是价格比普通运放贵不少。但并不是所有场景都需要上仪表放大器。如果信号源输出阻抗本身很低、稳定且已知标准的四电阻差分放大器完全够用。我自己做电流检测时如果采样电阻两端电压有几十毫伏以上而且信号源阻抗可以控制得较低通常直接用四电阻差分方案成本低、电路简单、性能也能接受。只有在信号微弱到微伏级别、或者信号源阻抗很高且变化大时才果断升级到仪表放大器方案。这个取舍思路说白了就是“把钱花在瓶颈上”。你的系统瓶颈如果是电阻匹配精度那就换好的电阻如果是输入阻抗太低影响信号源那就加缓冲器如果是整体精度要极致直接上仪表放大器。搞清楚每个方案解决什么问题比一味堆料重要得多。我自己刚接触差分电路那会儿也走了不少弯路死记了好几个公式总觉得会套用就行了。后来发现真正让我脱离“背公式”状态的就是认真把叠加定理、虚短虚断这两套工具练熟了。现在随手看到一个运放电路不管什么拓扑先找反馈回路再列电流关系一套流程下来十几分钟就能推导清楚。希望你也能把这套思路用起来而不是只记住今天这个Vout(Rf/R1)(V2-V1)那才是真正值钱的东西。