1. 从“虚短”入手解读共模:先分清共模输入、差模输入与共模输出
几乎所有入门教程都会告诉你,运放在负反馈稳定以后同相端和反相端“虚短”,也就是 Vp ≈ Vn。这个结论用起来确实方便,但很多人忽略了一个前提:虚短成立,必须在运放的线性工作范围内,而线性工作范围的第一个硬边界,就是共模输入电压范围。
共模这个词,英文 common-mode,直译就是“公共模式”。运放的两个输入端各自对地都有一个电压,这两个电压的交集就是共模成分。比如同相放大器中输入信号是 1V,反馈作用让反相端也稳定在 1V,那么 Vp 和 Vn 都是 1V,共模电压就是 1V;这两个输入之间的差值才是真正的差模信号,在负反馈稳定时趋近于 0。换句话说,运放绝大部分时间并不是在放大两个输入端之间的电压差,而是在一个居高不下的共模电压之上,去处理那一点点差模变化。
再来看共模输出。这个概念平时提得不多,但它的重要性丝毫不亚于共模输入。运放输出级的结构决定了它不可能在电源轨上“顶到头”或者“踩到底”,每一边都要留出一定的压差,这个压差会随负载电流增大而增大。单电源低压系统里,这个问题尤其突出:3.3V 供电,你却希望运放输出能到 3.3V,普通运放根本做不到,必须选标了“轨对轨输出”的型号,并且实际距离电源轨仍会差几个毫伏到几十毫伏。
总结一下本文要讨论的三个核心概念:
- 共模输入电压:两个输入端对地的公共电压,记作 Vcm = (Vp + Vn) / 2,它必须落在运放的共模输入范围内。
- 差模输入电压:Vp - Vn,负反馈时趋近于零,这是虚短虚断分析的前提。
- 共模输出范围:输出级在线性区能正常摆动的电压区间,受电源电压、输出级结构、负载电流和温度共同影响。
记住“一个管进、一个管出”这两道门槛,下面所有内容都围绕它们展开。
2. 共模输入范围 VICR:输入级拓扑与边界其实是这么定的
2.1 VICR 的物理来源
运放输入端的共模范围,说白了就是内部输入级差分对的工作区间。以一颗经典的 LM741 为例,它内部用双极性晶体管构成差分输入级,输入晶体管要正常工作,基极对地的电压不能太低,否则输入级根本不会导通。体现在数据手册上,LM741 在 ±15V 供电时 VICR 大约为 ±13V,也就是说离正电源大约 2V、离负电源大约 2V,这个范围之外输入级要不饱和,要不直接截止,运放就“失谐”了。
不同输入级结构的 VICR 表现差异很大:
| 输入级结构 | 典型 VICR 表现 | 代表型号 |
|---|---|---|
| NPN 差分对 | 靠近正电源范围好,负电源侧受限制 | 老一代通用运放居多 |
| PNP 差分对 | 输入可从负电源开始,但接近正电源时受限 | LM358、LM324 |
| 轨对轨互补输入级 | 理论覆盖电源轨全长,但存在交越区 | OPA333、AD8628、MCP6002 |
| JFET 输入级 | 输入阻抗极高,VICR 同样受结偏置限制,通常有 1~2V 余量 | TL072、OPA2134 |
VICR 通常是随电源电压变化的。例如某个运放手册写 VICR 为 -0.1V 到 VCC-1.5V,意味着你必须在实际电源电压下重新计算边界,而不是套用某个绝对值。
2.2 轨对轨输入的“便宜没好货”
很多新手选轨对轨运放,以为四个轨全包就是万能。实际上,轨对轨输入级用的是两个互补的差分对并联,一个覆盖低共模段,一个覆盖高共模段,两段交界附近必然存在一个交越区。在交越区里,偏置电流、失调电压、噪声都可能明显恶化。不同厂牌处理得水平参差,好一点的型号交越区宽度只有几十毫伏,普通型号可能几百毫伏。
所以“轨对轨”三个字只代表指定范围内能工作,不代表整个范围内参数均匀。要求高的精密采集电路,我会刻意让信号共模避开交越区,或者干脆选择输入级不做轨对轨、但共模范围余量充足的型号。
2.3 一个常见的实战翻车案例:单电源 + LM741
我见过很多初学者用 LM741 做 +5V 单电源放大,输入信号以 0V 为参考。LM741 的 VICR 在 ±15V 时是 ±13V,折算到 +5V 单电源下大约只有 1.5V 到 3.5V 的工作窗口——连 0V 都在死区里。结果就是运放输出一开始就已经饱和到电源轨,无论怎么调反馈电阻都没有反应。这就是典型的“共模输入范围不够”。
正确的做法是选输入级包含负电源轨的运放,比如 LM358,它输入可以从 0V 起,单 5V 供电时 0V 共模完全没问题。或者直接上轨对轨运放。
2.4 计算 VICR 时的工程余量
设计时要考虑的不仅是直流工作点,还有信号摆幅和纹波。比如你设定静态共模 2.5V,信号摆幅 ±1V,那么动态共模范围就是 1.5V 到 3.5V,如果所选运放 VICR 上限是 3.8V,那就只剩 0.3V 余量,我不太敢用。我会尽量留出 20% 以上的余量,并且在各个电源轨有纹波的场景下进一步压缩这个窗口。
3. CMRR 到底信多少:数据手册、外部电阻与实测方法
3.1 CMRR 的定义和频率特性
共模抑制比,CMRR,定义是差模增益与共模增益之比:
CMRR = 20 × lg(Adiff / Acm)
理想运放差模增益无穷大,共模增益为零。实际运放的输入端总有一点不对称,共模电压变化也会传导到输出端,等效为在输入端叠加了一个失调电压扰动。CMRR 越高,运放对共模电压变化越不敏感。
注意 CMRR 是随频率下降的。直流下很多运放能到 100dB 以上,但从几十赫兹或几百赫兹开始,CMRR 以约 20dB/decade 的斜率滚降。这意味着电源频率的纹波、开关电源的高频噪声,这些频率稍高的共模成分对输出的干扰远比直流共模大。选型时不能只看手册里的低频 CMRR,还要看它在你的噪声频率下还剩多少余量。
3.2 外部电阻失配:系统 CMRR 的隐形杀手
这里要强调一个容易混淆的点:运放本身 CMRR 高,不代表你搭出来的电路 CMRR 就高。最典型的就是四电阻差分放大器结构,也就是热词里对应的“运放差分放大电路”。
四电阻差分放大器的系统 CMRR 主要由电阻匹配精度决定,而不是运放本身决定。一阶估算:
系统 CMRR ≈ 20 × lg[(1 + R1/R2) / (4δ)]
其中 δ 是两个电阻对之间的相对失配。用 1% 精度的电阻搭增益为 1 的差分放大器,理论系统 CMRR 大约只有 40dB 左右;用 0.1% 电阻,大概提升到 60dB。这是一个非常容易被忽视的短板:你精心选了一颗 CMRR 120dB 的运放,结果被四颗电阻拖到 40dB。
所以我做高共模抑制电路时,要么用集成好的仪表放大器(内部激光微调电阻,系统 CMRR 能做到 90dB 以上),要么在外部用 0.05% 或 0.1% 的高精度电阻网络,并且要做好等长、等温的布局,减少热电动势和机械应力带来的额外失配。
3.3 实测 CMRR 的具体步骤
硬件实测 CMRR 不算复杂,但细节决定成败。我的做法是:
- 把运放接成单位增益缓冲器,或者有明确噪声增益的放大器,记录增益 G。
- 将两个输入端一起在电源覆盖范围内扫描,比如接一个直流电压源,从 0V 慢慢调高,记录输出电压。
- 把输出电压变化量除以噪声增益 G,得到等效输入失调电压变化 ΔVos。
- 用公式 CMRR = 20 × lg(ΔVcm / ΔVos) 计算。
比如共模从 0.5V 扫到 3.5V 变化了 3V,输出变化了 6mV,噪声增益是 2,那么 ΔVos = 3mV,CMRR = 20 × lg(3000mV / 3mV) ≈ 60dB。这个结果已经包含了运放本身和外部电阻的贡献,是系统级的 CMRR。
软件仿真也一样,在 PSpice 或 datasheet 配套工具里把共模源做参数扫描,直接看输出变化。但要注意,仿真模型往往高估 CMRR,尤其是外部电阻用的是理想模型时。
我也在热词里看到“运放gbw”,顺手说一句:CMRR 滚降的拐点频率通常和增益带宽积 GBW 相关,查数据手册看曲线的时候,尽量选在信号带宽内 CMRR 仍高于你系统要求的那颗型号。
4. 输出摆幅和单电源“虚拟地”:共模输出的工程约束
4.1 输出级到底能摆多宽
运放输出级常见结构是推挽的射极跟随器或共源极输出。射极跟随器天然会丢失一个 Vbe 压降,所以输出到不了电源轨。负载越重,压降越大。这就是为什么数据手册里输出摆幅参数后面总跟着一个负载条件,比如“Vout = ±12V min, RL = 2kΩ”。
我常用一个简单规律估算通用运放的输出能力:在轻负载(10kΩ 以上)时,距电源轨大约有 1V 到 1.5V 的余量;负载降到 1kΩ 时,余量可能扩大到 2V 以上。轨对轨输出级用共源极或折返结构,可以把余量压到几十毫伏甚至更低,但也不是绝对零,且带载后余量同样会变大。
4.2 推挽输出、开漏输出与共模的关联
搜索热词里“推挽输出”“开漏输出”出现频率很高,这里顺带理清一下。普通运放输出是推挽结构,既能灌电流也能拉电流,输出高、低电平都由内部输出级和电源轨决定。比较器芯片(如 LM393)常常是开漏输出,内部只有灌电流能力,高电平靠外部上拉电阻决定——这个上拉电平本质上就是设置输出共模高电平。I2C 总线选开漏输出加外部上拉,也是为了多个设备共享总线时避免推挽对推挽的短路风险。
如果你在做的是音频、测量这类线性应用,尽量选推挽输出运放;开漏输出更适合数字电平、线或逻辑这类场景。共模角度上要注意的是,开漏输出的高电平由上拉电源决定,必须确保上拉电压在你的后级电路允许范围内。
4.3 单电源虚拟地:共模输出设计的核心操作
单电源系统需要处理双极性信号,常规做法是构建一个 VCC/2 的虚拟地,把信号从中点向两边摆动。这个虚拟地本身就是一个共模输出问题:它要给后级电路提供低阻抗参考。
低端做法是两个电阻分压加一个 10μF 去耦电容,直接当 VCC/2 用。这个方案功耗小、实现简单,但分压点阻抗等于两个电阻并联,等效输出阻抗不低,后面接的负载会拉偏虚拟地电压。更稳妥的做法是让电阻分压器驱动一个电压跟随器,用运放的强驱动能力把虚拟地稳住。我自己做音频电路时,第一级电源处理就会用一颗低噪声运放专门做虚拟地缓冲,而不是贪便宜直接取分压点,后级稳定度会明显不一样。
虚拟地的去耦电容也不能省,它负责吸收后级瞬间电流变化带来的电源轨跌落。电容取值建议至少 10μF,如果处理的是功率级,可以再加一个 100nF 的高频旁路。
4.4 恒流源场景里输出摆幅是真正瓶颈
热词里有“运放恒流源”“运放加mos管的恒流源”这两条,我想多说几句。很多恒流源电路是让运放输出驱动 MOS 管栅极,输出电流采样电阻接在源极,形成一个闭环。这种结构里,真正决定电流上限的往往不是运放增益,而是输出摆幅。
假设电源 5V,采样电阻 1Ω,目标电流 1A,那采样电阻上的压降就是 1V;普通低压 NMOS 管 Vgs 需要 2.5V 到 3V,加起来运放需要输出 3.5V 以上。很多运放在 5V 供电下输出摆幅上限只有 3.7V 左右,看起来很接近但余量太小,一旦温度降低、Vgs 升高,电流就稳不住了。要么选轨对轨输出且带载能力强的运放,要么降低采样电阻压降,要么抬升电源电压。设计恒流源之前,先算这条“输出压降链”:采样电阻压降 + MOS 管 Vgs + 输出摆幅余量,全都满足才敢定稿。
5. 常见经典电路里最容易忽视的共模失谐点
5.1 反相放大器:同相端接地只是零共模的特例
反相放大器中反相输入端被反馈强制到同相端电位,如果同相端接地,输入共模就是 0V,只要运放手册的 VICR 包含 0V(大部分运放都包含,但旧的、非轨对轨输入的需要单独确认),工作就很安全。
但如果同相端没有直接接地,而是接到某个参考电压 Vref,那输入共模就从 0V 变成了 Vref。常见错误是把 Vref 取高了,却又忽略了运放 VICR 上限。例如 5V 单电源下取 4V 参考电压,很多非轨对轨运放的 VICR 上限都在 3.5V 左右,工作点直接出界。
5.2 加法器:同相加法和反相加法的共模差异
热词里的“运放加法器”“运放加法电路”我也想顺带展开。反相加法器天然把多个输入通过电阻汇入虚地点,共模电压就是同相端电压,等于定义为 0V 或 Vref,可控性很强。同相加法器则不同,所有输入信号经过电阻网络后直接作用在同相端,这个同相端电压本身就是共模电压,而且还会随输入各分量变化而浮动。输入信号里若有偏置不一致的通道,同相加法器的共模电压会乱跳,远不如反相加法器好控制。
所以多通道混音、多路信号合成,我优先选反相加法器,输入共模稳定,电阻匹配要求也相对宽松。只有输入阻抗要求极高、必须同相加法时才用同相结构,同时必须逐个检查共模电压的动态范围。
5.3 差分放大器与仪表放大器:共模窗口必须在摆幅之内
差分放大器的输入共模,是正输入和负输入的平均值。如果输入信号是一根长线上的微弱差分电压,叠加了几伏的共模干扰,那你要检查的最低共模点是否高于运放 VICR 下限,最高共模点是否低于上限。仪表放大器内部虽然对共模做了缓冲,但它同样有“共模窗口”限制,尤其是单电源仪表放大器,输入共模必须落在指定的窗口内,否则增益直接崩坏。
我对付这种场景的办法是先用共模滤波网络把高频共模压下去。热词里有一条“运放rfi整流”很应景:高频强干扰共模进入运放后,可能被内部晶体管结整流,变成直流失调,表现为莫名其妙又无法消除的输出偏移。破解方法是在输入端做截止频率远低于干扰频率的 RC 低通滤波,并且两个输入通道的滤波要对齐,确保共模抑制不被单端滤波破坏。
5.4 两级运放先同相再反相:共模包袱在哪一级
关于“两级运放可以先同相放大再反相放大吗”,答案是完全可以,但要清楚共模“包袱”只由同相放大的那一级背负。同相放大级输入信号同时也作为共模输入,必须满足 VICR,不做无病呻吟;第二级反相放大级同相端接参考地,共模几乎为零,可以认为不会再引入共模问题。如果第一级输出摆幅已经限制住,第二级反相放大是很好的电平恢复手段。
实际设计时,我会把要求高抑制比、高输入阻抗的敏感信号放在第一级同相放大,把信号调理、合成等逻辑放在第二级反相放大,这样共模风险只集中在一级上,分析和调试都更清晰。
6. 用共模约束做设计自检:5 步检查与选型对照
6.1 设计定型前的 5 步共模自检
我每次完成运放电路设计,无论简单复杂,都会快速走一遍共模检查,总共五步,花不了两分钟,但能挡住大量低级问题:
- 标识静态共模点:列出每个运放同相端和反相端的直流电压,算出 Vcm。
- 算动态共模范围:把信号摆幅加到静态电压上,得到共模电压上下边界。
- 对照 VICR:确认上下边界都落在所选运放 VICR 范围内,且至少留 20% 余量。
- 查输出摆幅:在预期最重负载下,确认输出峰值没有顶到输出摆幅之外。
- 估系统 CMRR:如果用了外部电阻差分结构,用电阻失配估算系统 CMRR,判断是否满足指标。
这条流程对我个人而言,平均每年都能拦住至少三五个“当时觉得没问题、上机必翻车”的设计,建议直接当模板抄走。
6.2 常见运放共模参数速查表
下面这个表是我手上常用的对比参考,按单 5V 供电、轻负载估算,具体数值还是以手册为准:
| 型号 | 输入级结构 | VICR(单 5V 典型) | 输出摆幅(轻载典型) | 适用场景 |
|---|---|---|---|---|
| LM358 | PNP 输入 | 0 到 3.5V | 0.02 到 3.5V | 低端检测、单电源通用 |
| NE5532 | 双极性,双电源优化 | 单电源下不建议使用 | ±10V@±15V 供电 | 双电源音频电路 |
| OPA333 | 轨对轨输入/输出 | 0 到 5V(存在交越区) | 0.01 到 4.99V | 精密传感器、低功耗 |
| AD8628 | 轨对轨输入/输出 | 0 到 5V | 0.01 到 4.99V | 精密放大、斩波稳定 |
| MCP6002 | 轨对轨输入/输出 | -0.3 到 5.3V(放宽到地) | 0 到 4.98V | 低成本单电源通用 |
| TL072 | JFET 输入 | -0.5 到 3.5V | 1.0 到 4.0V | 双电源音频、高阻抗信号 |
以 5V 单电源为例,做 0 到 5V 满摆幅数据采集,选 MCP6002 或 OPA333;做 4-20mA 两线制环路供电电路,输入端会到接近 0V,LM358 的 PNP 输入结构天然占优;做音频,NE5532 或 TL072 在双电源下依然是首选,不必迷信轨对轨。
6.3 关于“轨对轨”的几句实话
最后补一句个人经验:数据手册上写 rail-to-rail,只能说在电源轨附近不至于彻底失去线性,不代表精度和噪声在整个范围内都一样好。输入级交越区、输出级接近电源轨时的增益非线性,都会在低级测量中暴露出来。我在实际项目里会做一次全共模范围的直流精度扫描,确保每个共模点上的输出误差都满足系统需求,这一步做完了,我对电路才算真正放心。
共模输入和共模输出这两道边界,是所有运放应用绕不开的底层约束。把这层窗户纸捅破之后,再回头看那些“电路不听话”的故障,大部分都能对号入座。