news 2026/9/24 3:35:28

交流信号ADC采样必看:差分加法电路实现直流偏置与增益解耦

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
交流信号ADC采样必看:差分加法电路实现直流偏置与增益解耦

1. 为什么交流信号进 ADC 前必须“抬起来”:半个周期被吞掉的真相

1.1 那个“只剩一半”的波形

第一次用单片机采集交流电压时,我在示波器上看到的是一片漂亮的正弦波,可数据传到上位机后,波形只有正半周,负半周像被一刀切掉。查了好几天,最后发现根本不是程序 bug——交流信号包含 -1V 到 +1V 那样的负压部分,而 ADC 只能测量 0 到参考电压之间的正值。负电压一进引脚,就被内部保护二极管钳位或直接被采样保持电路当作 0 处理,于是下半边“消失”了。

这个问题几乎所有做交流采样的同学都会遇到。不管你是用互感器测电流,还是用电阻分压测电压,只要信号源输出的不是以地为参考的正电压,ADC 前端就几乎必须要做“电平搬移”——把波形整体抬高,让最低点大于 0V,最高点低于 ADC 参考电压。否则你采回来的数据用来算有效值、功率、相位,全都是错的。

1.2 为什么不能用“直接并联 2.5V”这种粗暴偏置

很多人第一反应是:既然要加直流偏置,那我在信号线上直接接一个 2.5V 电源不就行了?实际这样做的后果是:2.5V 电源的输出阻抗会把交流信号短路掉,信号直接缩水;就算串一个大电阻隔离,偏置点的电压也会随着信号源阻抗变化而漂移,低频信号还会被电容衰减。真正的工程做法,是让直流偏置和交流信号通过运放的反馈网络在输出端“加权相加”,互不影响。

这里就轮到标题里的差分运放登场了。它并不是什么特殊型号,而是指一种典型的差分(差动)放大拓扑:两个输入支路各带一个电阻,反馈网络决定增益,同时把一个参考电压接进同相端,就能把输出整体抬到以参考电压为中心的位置。这个拓扑在仪表放大器芯片里极其常见,我们完全可以用一片普通运放加四个电阻复现。

2. 差分加法偏置电路:把增益与偏置分开设计

2.1 电路结构和一页纸推导

电路图我直接描述清楚,跟着画就行:

  • 运放同相输入端:信号 Vin 经过电阻 Rg 接入;2.5V 基准 Vref 经过电阻 Rf 接入同一点。
  • 运放反相输入端:信号地(或差分输入负端 Vin-)经过电阻 Rg 接入;输出 Vout 经过反馈电阻 Rf 接回反相端。

四个电阻两两对称:输入侧两个 Rg,反馈/参考侧两个 Rf。写出节点方程:

Vp = (Vin/Rg + Vref/Rf) / (1/Rg + 1/Rf)

Vn = (Vin-/Rg + Vout/Rf) / (1/Rg + 1/Rf)

利用运放虚短 Vp = Vn,两项中的公共分母直接约掉,得到:

Vin/Rg + Vref/Rf = Vin-/Rg + Vout/Rf

再整理:

Vout = (Vin - Vin-) × Rf/Rg + Vref

对单端输入,Vin- 接地,输出就是:

Vout = Vin × (Rf/Rg) + 2.5V

这个公式就是整篇内容的灵魂:前面一项是信号按比例放大,后面一项是直流偏置。Rf/Rg 只影响增益,Vref 只影响直流中心位置。

2.2 为什么这个拓扑比“同相加法器”更适合做偏置

如果只用同相加法器,输出是 Vout = (1 + Rf/Rg) × (Vin + Vref) / 2,仔细算会发现,调增益时偏置也会跟着变,两者绑死。很多新手按那种电路搭,调完增益发现波形中心点从 2.5V 飘到 4V,还以为是运放坏了。实际上就是拓扑没选对。

相比之下,本文这个差分加法结构把“增益”和“偏置”解耦了。你想让波形更大,把 Rf 换成大阻值;想让中心从 2.5V 挪到 3V,单独调 Vref 就行。这在实际调电路时非常省事,尤其当你需要快速适配不同传感器输出幅度时,只改一个电阻或一个基准电压即可。

我印象很深的一次是给一个电流互感器做采样前端,互感器输出约 ±0.3V,按这个电路把 Rf/Rg 调到 4,输出直接变成以 2.5V 为中心、幅度 ±1.2V 的正弦,距离电源轨上下各留了 1.3V 余量,采样数据马上正常。

2.3 仪表放大器里那个 REF 引脚,原理一模一样

如果你用过 INA128、AD620 或者 INA159 这类仪表放大器,会发现它们都有一个 REF 引脚,数据手册里的输出公式是 Vout = G×(Vin+ − Vin-)+ Vref。看到没,和我们这个单运放推导完全同构。仪表放大器内部的差分输入级很大程度就是这个拓扑的工程化实现,只是它用激光修调电阻、多级放大把匹配精度和输入阻抗做得更好。

所以这个标题其实没有夸张:给交流信号加直流偏置的最正统方法,就是用差分结构。单运放版本适合手搓、成本低,仪表放大器版本适合高精度、高共模抑制的应用。你先把这个单运放电路玩明白,以后看仪表放大器的 REF 接法、数据手册、以及各种“交流电流采样电路”的参考设计,都会觉得眼熟。

3. 参数选取与基准生成:先把电阻算明白再动手

3.1 从信号摆幅反推 Rf/Rg

拿到一个交流采样需求,第一步不是连线,而是算上限。假设你的 ADC 参考电压是 5V(0~5V),我们通常让输出中心在 2.5V 附近,再留 0.2~0.5V 的裕量防止削波。

举例:信号源输出 ±1V,如果 Rf=Rg,输出范围是 1.5V~3.5V,完全在安全区间,但分辨率浪费了一半。如果想把量程拉满,设定输出 0.5V~4.5V,那么信号峰峰值从 2V 放大到 4V,增益就是 2,也就是 Rf/Rg = 2。取 Rg=10kΩ,Rf=20kΩ 即可。

给一个对照表,方便直接抄:

输入峰值期望输出范围增益 Rf/Rg示例电阻
±0.5V1.5V~3.5V2Rg=10kΩ, Rf=20kΩ
±1V0.5V~4.5V2Rg=10kΩ, Rf=20kΩ
±1V1.5V~3.5V1Rg=10kΩ, Rf=10kΩ
±2V0.5V~4.5V1Rg=10kΩ, Rf=10kΩ

注意最后一个例子里,输入 ±2V、增益 1,输出范围是 0.5V~4.5V,因为中心在 2.5V,正负恰好各留 0.5V。如果输入超过这个范围,就需要降低增益或提高 Vref 可用的摆幅。核心公式就一个:输出峰峰值 = 输入峰峰值 × Rf/Rg,然后把中心对到 2.5V。

3.2 电阻匹配精度,决定了共模抑制好坏

别看公式简单,四个电阻的匹配精度会影响实际性能。差分拓扑之所以能减掉共模信号,依赖的是两个增益臂严格成比例。如果两个 Rg 一个是 10kΩ 一个是 10.2kΩ,两个 Rf 一个是 20kΩ 一个是 19.8kΩ,那么一部分共模信号和 Vref 分量就会漏到输出,表现为输出中心点偏移、波形不对称。

普通交流采样场合,5% 精度贴片电阻就能跑,误差主要影响中心电压和增益,通常可以靠软件校准。但如果信号源本身带着较大的共模干扰(比如电机驱动里的电流采样),建议上 0.1% 或 0.5% 的精密电阻,四只一起买同一个批次,温度和漂移特性更一致。这个细节在仿真里看不出来,但实物板子上影响非常明显。

Vref 的实现也讲究。最简单是两个 10kΩ 从 5V 分压得到 2.5V,但分压点阻抗有 5kΩ,会通过 Rf 改变电路工作点,导致实际中心偏低。稳妥的做法是分压后接一级电压跟随器,也就是用双运放芯片剩下的另一半做缓冲。要求更高时直接用 TL431 或专用基准 REF5025,输出噪声低、负载能力强,尤其适合给 ADC 同时做参考电压。

3.3 别忘了运放不是理想的:输出范围与输入阻抗

单电源 5V 供电时,运放的输出电压不是真正的 0~5V。像 LM358 这种非轨到轨运放,输出通常只能到 0.2V~3.8V 甚至更窄,因为内部输出管有饱和压降。所以算 0.5V~4.5V 的理论范围,在 LM358 上可能已经削顶了。要么把增益调小,要么换成轨到轨运放,比如 OPA2333、MCP6002、SGM8521 这类,输出才能贴近电源轨。

另外,这个电路的输入阻抗约等于 Rg。如果信号源内阻较高,比如几千欧,会跟 Rg 分压,实际增益变成 Rf/(Rg+Rs),和计算值对不上。解决办法是先加一级跟随器,或者把 Rg 选大,比如 100kΩ。不过 Rg 太大又会放大运放输入偏置电流的影响,所以高阻源最好的方案还是“跟随器 + 本电路”两级结构。

还有一点容易被忽略:Vref 不要直接从开关电源的 5V 分压,除非你只想做功能验证。开关纹波会直接通过 Rf 混进信号输出,ADC 采样值上会出现几十毫伏的抖动。想要采样稳定,基准这路必须干净。

4. Multisim 仿真搭建实操:从元件摆放到波形验证

4.1 新建工程前的两个环境问题

开始仿真前先说两个 Multisim 常见问题,很多人在打开软件阶段就被卡住了。一个是“Multisim 访问数据库发生错误”或“主数据库无法访问”,一般出现在安装路径带中文、杀毒软件拦截了数据库文件、或者首次启动没自动解压元件库的时候。解决办法依次是:以管理员身份运行、把安装路径改成纯英文、关闭实时防护后重装一次,基本上都能解决。

另一个是仿真跑起来后特别慢,尤其在运放电路里。可以先减小仿真总时长,或者把“最大积分步长”调大一点,也可以把信号频率调低到 50Hz~1kHz 验证原理。Multisim 的瞬态仿真在步长太小时,一个波形周期要算几千个点,自然会卡。别急着怀疑电路,先把仿真步长和显示刷新率调对。

4.2 从零开始搭这个偏置电路

仿真环境准备好之后,按下面步骤操作,大约五分钟就能跑出波形:

  1. 新建 Design,从 Place Component 里找到运放。可以直接搜“LM358AD”,用真实 SPICE 模型;想省事也可以选虚拟五端运放,两者仿真结论一致,但真实模型更贴近实物。
  2. 放两个 10kΩ 电阻作为 Rg,两个 10kΩ 电阻作为 Rf,再准备一个直流电源(2.5V)和一个交流信号源 AC_VOLTAGE。注意交流源的“Voltage”默认是峰值(Peak),不是有效值,要分别设置。
  3. 连接信号源正端到第一个 Rg,Rg 另一端进运放同相端;Vref 直流源正端接第二个 Rf,Rf 另一端也进同相端。
  4. 反相端同样经 Rg 接地,反馈电阻 Rf 从输出接回反相端。
  5. 给运放接电源:V+ 接 5V,V- 接地。单电源供电,负电源引脚别悬空。
  6. 示波器两个通道分别接输入信号和输出信号,地线接信号地。运行仿真。

如果想看增益为 2 的效果,把反馈电阻和同相端到 Vref 的两个 10kΩ Rf 都换成 20kΩ,输入正负各 1V 时,输出就会在 0.5V~4.5V 之间摆动。

4.3 波形验证与读数技巧

仿真跑通后,打开示波器面板,用光标工具测量 Vmax 和 Vmin。输入 ±1V、Rf=Rg 时,输出应该在 1.5V~3.5V 区间,中心正好 2.5V。如果发现输出底部被削平,先看是不是运放型号轨到轨能力不足;把输出范围需求调低后重跑。

在 Multisim 里还可以加一个虚拟电压表测平均值,理想情况下平均值应该稳定在 2.5V。如果平均值偏了,优先检查 Vref 是不是真的 2.5V、电阻有没有放错位置。这里有个容易被误导的点:交流信号源频率很低时,示波器上能看到波形慢慢爬升,那是初始瞬态,等几个周期后读数才有效。

4.4 仿真文件内容说明

我在文末附的仿真文件里有三个场景:场景一是增益 1、±1V 输入;场景二是增益 2、±1V 输入;场景三是把交流信号源替换成两个独立源模拟真差分信号,方便做电流采样差分输入的对照。文件用 Multisim 14.0 以上版本打开即可,模型库选用了 LM358AD。如果你打开后元件显示异常,多半是本地数据库缺少模型,替换成虚拟运放重新连线就行。

这个文件的用途不只是“看着过瘾”,你可以把频率从 50Hz 改到 1kHz、把 Vref 改成任何值,看看公式是否始终成立。仿真最大的价值就是帮你建立直觉:改一个电阻,波形幅度怎么变;改一个基准,中心怎么挪。有了这个直觉,再去画实物板子,心里是有底的。

5. 从仿真到实物的距离:运放选型、去耦与常见坑

5.1 理想公式与实际运放的现实差距

仿真里用的运放模型增益无穷大、失调为零,实际芯片可不是。LM358 这类便宜运放输入失调电压可能有 2~7mV,再乘以增益,反映到输出就是几毫伏到十几毫伏的直流误差。对 50Hz 工频信号采样,这点误差基本无所谓;但如果做的是精密电流采样,满量程只有几十毫伏,那就要选低失调运放,比如 OPA2333、SGM8551 这类自动调零运放,失调只有微伏级。

输入偏置电流也值得注意。当你把 Rg 和 Rf 都选到 100kΩ 级别时,LM358 的偏置电流会在这些电阻上产生可见的直流压降,导致输出中心点偏离计算值。解决方法是把电阻降到 10kΩ 附近,或者选用 JFET 输入运放(TL072、LF353),它们的偏置电流只有 pA 级,电阻对直流精度的影响基本可以忽略。

5.2 电源去耦与 Vref 噪声是“第一生产力”

实物调试时,运放电源脚旁边必须放 0.1μF 陶瓷电容,位置要尽量靠近引脚;如果电源线较长,再并联一个 10μF 左右的电解电容。很多仿真里不需要的东西,实物都省不了。特别是 Vref 分压点,就算加了电压跟随器,也应该在基准输出端放一个小电容滤掉高频毛刺。

我踩过的一个坑是:Vref 直接用可调电阻分压,结果可调电阻在震动或温度变化时阻值轻微漂移,输出中心电压跟着慢慢飘,ADC 读数一会偏大一会偏小。后来改成固定比例电阻加 TL431,问题立刻消失。所以如果你想做一个长期稳定运行的采集板,别在偏置基准上省钱。

5.3 和 ADC 引脚对接时,别忘了采样时间

运放输出送到单片机 ADC 引脚前,通常要串一个小电阻并加一个对地电容,滤掉采样保持开关产生的电荷注入干扰。但这个 RC 会限制带宽:R=1kΩ、C=10nF 时,截止频率约 15.9kHz,对于 50Hz~1kHz 交流采样足够;如果信号频率更高,就要减小 C。

ADC 本身的采样时间也要和前端输出阻抗匹配。STM32 这类 MCU 的 ADC 采样保持期间,内部采样电容要从外部源快速充电,如果源阻抗太高,采样值会偏小。运放输出阻抗一般只有几十欧,直接驱动没问题;但如果你在中间串了 10kΩ 的电阻,就要把 ADC 采样周期调到最大,或者把电阻改小。

5.4 上电前的检查清单与“炸板”经验

最后列一个排查清单,都是我实际调试时用过的顺序:

  • 用万用表确认运放供电脚电压正确,正负别接反;单电源方案里负电源脚必须接到系统地。
  • 检查 Vref 分压点电压是否稳定在 2.5V,不在 2.5V 就调整分压或基准。
  • 用直流电压从小往大加,先测 0V 输入时输出是否落在 2.5V 附近;如果输出偏到电源轨,多半是虚短/虚断条件不满足,也就是反馈没接对。
  • 再加交流小信号,用示波器看输出是否以 2.5V 为中心;出现削底,先怀疑增益太高或运放输出范围不够,而不是先怀疑 ADC。

我早期接反过电源,运放冒烟后换了芯片,还把 ADC 引脚打坏了一个。从那以后养成习惯:任何板子先不插芯片,量电源轨没短路再上电;上电后摸一下芯片温度,异常发烫立刻断电。这一套流程看起来慢,实际省的时间比被迫排查问题快得多。

做这个电路前后的最大体会是,模拟前端没有那么多玄学,大部分问题都出在“没算输出电压范围”和“偏置不干净”这两件事上。先用差分加法这种拓扑把增益和偏置解耦,再把 Vref 做得足够稳定,后面接入 ADC 的事情就顺了。如果你手上正有一块开发板和一片双运放,建议今天就按文中的电路在 Multisim 里跑一遍,改几个电阻看波形变化,再搭实物验证,这个过程比只看文章学到的要多得多。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/24 3:34:41

Cadence IC618+180nm PDK双平衡吉尔伯特混频器仿真全流程

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/24 3:34:06

陶瓷电容DC偏压效应与X5R材料特性深度解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/24 3:25:44

STM32做USB Host扩展多路CH340虚拟串口的完整方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/24 3:23:24

企业员工离职邮箱处置规范:避坑、合规、资产保全指南

在职场管理中,员工离职是每家企业都会遇到的常规人事工作。大多数企业重点回收电脑、工牌、门禁卡这类实物资产,却常常忽略企业邮箱这一份核心数字资产。客户沟通记录、项目往来邮件、商务合同凭证全部沉淀在邮箱之中,一旦处置不当&#xff0…

作者头像 李华