
做硬件这行有个挺有意思的现象模拟前端的坑往往不是栽在不会算上而是栽在算对了但没算全。单极性DAC转双极性输出就是一个典型例子。原理图上一看一个运放、几个电阻、一个基准五分钟画完。可真做出来一测负半周没了、零点偏了十几毫伏、满量程差 1%、温度一变全飘——问题全冒出来了。这类电路的核心矛盾从来不是能不能出负压而是偏移和增益这两条线能不能同时守住精度而且守得住温度和时间。这篇内容我打算把这件事从头捋一遍DAC 那边的输出到底长什么样、三种常见拓扑各自怎么推传递函数、电阻怎么配、运放和基准源在数据手册里哪些小字最要命、上电之后出现故障该怎么一步步查。适合正在做数据采集、传感器激励、伺服控制、音频或测试设备模拟输出通道的人看刚入门的也能顺着读下来因为我会把为什么这么接讲透而不是只丢一个电路图。1. 摸清DAC那半边的底细再决定运放怎么接1.1 电压输出型DAC的三种真实形态很多人一上手就默认DAC 输出是理想电压源这个假设在 12 位以下的场合勉强凑合再往上就要出事。市面上能见到的电压输出型 DAC内部结构大致分三类它们对后级电路的要求完全不同。第一类是电阻串型也叫 string DAC内部就是一串等值电阻加一堆开关输出直接取自分压节点。这种结构天生单调、无毛刺但输出阻抗是变化的跟代码相关从几 kΩ 到几十 kΩ 不等。你如果直接拿它去驱动一个反相求和节点那这个虚拟地会把输出阻抗的变化放大成增益误差表现出来就是线性度变差、微分非线性变大。第二类是R-2R 梯形网络速度快、建立时间短但开关瞬态会在输出端产生毛刺glitch而且输出阻抗虽然标称固定实际也随码值小幅波动。第三类是带内部输出缓冲器的这是最省心的因为缓冲器把输出阻抗压到了毫欧级别负载调整率好。但要注意这个缓冲器本身有输出摆幅限制通常贴不到电源轨而且它的容性负载能力有限你后面接的运放输入电容加上走线电容有可能让它振铃。判断方法很实际翻数据手册找 Output Voltage Swing、Output Impedance、Load Regulation 这几项如果输出阻抗写的是典型值 XX kΩ或者干脆没写那基本可以确定是前两类后级必须加缓冲。加缓冲这件事不能省省下来的成本最后都会以批次一致性差的形式还回去。1.2 把基准的一半当成新地线的想法问题出在哪最常见的直觉是既然要双极性那我就把基准电压的一半当成新的零点不就行了。这个想法在概念上没错但在电路上会踩三个坑。第一个坑是共模。如果你拿一个 2.5V 的参考电压去做虚拟地那运放的两个输入端都要在这个 2.5V 附近工作或者至少一端是这就要求运放的输入共模范围包含这个电平。单电源运放做这件事的时候输入端经常已经贴着上限了剩下的摆幅全被吃掉。第二个坑是噪声和精度打了折。那半个基准如果是靠两个电阻分压得来的分压比误差直接变成零点误差而且电阻的热噪声会原封不动进入信号链。基准本身 0.05% 的初始精度经过分压之后还是 0.05%但如果分压电阻用的是 1% 的普通厚膜零点误差立刻变成百分之几。第三个坑最隐蔽这个虚拟地的驱动能力。分压出来的中点内阻等于两个电阻的并联值通常是几 kΩ你后面任何一个输入偏置电流都会在上面产生压降。输入偏置电流 100nA 乘上 5kΩ就是 0.5mV 的零点偏移而且这个偏移随温度走。所以真正靠谱的做法不是造一个假地而是把偏移量作为一个精确的直流分量叠加进传递函数里。这个思路一换电路立刻清楚目标变成找到一个形如Vout A·Vdac B的关系式其中 A 是增益、B 是偏移然后想办法用电阻网络把 A 和 B 同时配出来。1.3 三条可行路线各自的代价不同把传递函数想清楚之后落地路径其实就三条同相电平移位Vout (1 Rf/Rg)·Vdac - (Rf/Rg)·Voff。单级出结果极性正确输入阻抗高元件最少。代价是偏移电压要单独做一个精确的源。反相求和加反相器Vout -(Rf/R1)·Vdac - (Rf/R2)·Vref。增益和偏移可以独立调电阻好配但输出极性是反的必须再加一级反相器还债两级运放带来的失调和噪声翻倍。差分放大结构把 DAC 输出和偏移基准分别送进运放的两个输入端。抗共模能力强适合长线或噪声环境但对四个电阻的匹配要求最狠因为共模抑制比直接由电阻匹配决定。后面几节我会把三条路线都推一遍重点放在第二条和第一条上因为这两条在实际项目里出现的频率最高。第三条在高压隔离或者差分传输的场合才值得用。2. 把传递函数推一遍电阻怎么配偏置从哪来2.1 同相电平移位单级出正负双极性的最简解这个电路的骨架就是一个同相放大器但关键的改动在于反馈网络里 Rg 的下端不接地而是接到一个偏移电压 Voff 上。用叠加定理推一下就很清楚。先看反相输入端节点电压等于同相端电压V流过 Rg 的电流是(V - Voff)/Rg这个电流全部流过 Rf所以Vout V (V - Voff)·Rf/Rg。整理得到Vout (1 Rf/Rg)·V - (Rf/Rg)·Voff如果同相端直接接 DAC 输出V Vdac那式子就变成Vout (1 Rf/Rg)·Vdac - (Rf/Rg)·Voff取 Rf Rg增益就是 2偏移就是 Voff。代入 DAC 输出 0 到 Vref 的范围Vdac 0时Vout -VoffVdac Vref时Vout 2Vref - Voff。要让两点正好落在-Vref和Vref只需要Voff Vref。所以最干净的一组参数是Rf Rg 10k偏移端直接接同一路基准电压。输出的映射就是-Vref到Vref一个元件都不用多电阻误差的影响也被压到最小因为 Rf 和 Rg 比值为 1容差在比值上是对称抵消的。这个结构我最推荐的原因在于误差传导路径短。Vos进来之后被放大(1Rf/Rg)倍也就是 2 倍这是最小的放大倍数偏移基准的误差按Rf/Rg 1一比一进输出不放大增益设置只需要两个等值电阻配对的实现方式很直接。当然它也有短板同相端直接挂 DAC 输出意味着 DAC 的输出阻抗和噪声一点没被衰减就进到运放里。所以前面必须有一级干净的缓冲或者 DAC 本身带输出缓冲且指标够好。另外增益不可能小于 1你要做衰减就得换结构。2.2 反相求和增益好算但极性要还债反相求和电路的传递函数是教科书级别的Vout -(Rf/R1)·Vdac - (Rf/R2)·Vref注意这里的符号Vdac 前面的系数是负的。这就意味着如果你用正基准去加偏移随着 DAC 码值增大输出是往下走的极性天然是反的。想让它反过来只有两条路要么把偏移基准取负用负基准源要么在后面加一级增益为 -1 的反相器。我见过不少人在这里犯迷糊觉得我把 Vref 接负电源不就行了。可以但负基准源本身就是一个额外成本而且负基准的初始精度和温漂通常不如正基准好选。相比之下加一级反相器虽然多用一颗运放但电阻选型和调试都更简单而且反相器的增益误差和失调可以一并算进误差预算表里。反相求和的真正优势是增益和偏移的调节互相独立Rf 决定总增益R1 决定 DAC 那一路的权重R2 决定偏移那一路的权重改一个不影响另一个。这点在多通道校准的场合很好用——如果发现某个通道零点偏了只要微调 R2不用动整个网络的比值。它的短板也很明显输入阻抗等于 R1对于 2.5k 这种量级前级 DAC 必须有足够的驱动能力共模电压固定在虚拟地不受输入信号影响这倒是好事但两级运放串起来之后总失调电压是第一级放大后的结果加上第二级自身的失调噪声也是方和根叠加。2.3 差分放大结构抗共模的代价是电阻匹配差分放大器的标准形式同相端和反相端各接一组分压电阻Vout (Rf/R1)·(V - V-)。要用它做双极性输出一路接 DAC另一路接偏移基准看上去很对称很优雅。但有一句行话必须记住差分放大器的共模抑制比完全由电阻匹配决定。四个电阻如果都用 0.1% 精度最坏情况下 CMRR 大概能到 60dB 左右要达到 80dB 以上要么用集成电阻网络薄膜工艺比例匹配到 0.01%要么用激光修调的集成差分放大器。离散电阻硬凑是凑不出来的因为温漂的匹配比初始匹配更难保证。所以在单极性 DAC 转双极性这个具体场景里差分结构的价值其实被高估了。DAC 输出和基准源都是板级信号共模干扰本来就小用差分结构付出的电阻成本和匹配功夫换回来的抗干扰收益有限。它真正好用的地方是信号来自远端、地电位有差异、或者需要抑制长线引入的共模噪声。2.4 两组算例从参数到元件值光讲公式没意思算两遍才知道坑在哪。算例一DAC 0~2.5V 转 ±2.5V。这是最舒服的情况。用同相电平移位Rf Rg 10k偏移端接同一路 2.5V 基准。传递函数Vout 2Vdac - 2.5Vdac 0得 -2.5VVdac 2.5V得 2.5V。整条链路上只有三个电阻两个增益电阻加一个基准去耦电阻误差源少到可以手算。算例二DAC 0~4.096V 转 ±10V。这就没那么舒服了。目标增益A 20V / 4.096V 4.8828用同相结构1 Rf/Rg 4.8828所以Rf/Rg 3.8828。取Rg 1.02kΩE96 系列则Rf 3.8828 × 1.02k 3.960kΩ最接近的 E96 值是 3.92kΩ。这时实际比值是3.92/1.02 3.843实际增益4.843满量程输出4.843 × 4.096 19.84V比目标少 0.8%。这个误差在 16 位系统里当然不能接受所以要么换成 0.1% 的定制阻值要么在软件里做增益校准。再看偏移端。要求Voff × (Rf/Rg) 10V所以Voff 10 / 3.843 2.602V。这个电压通常从 4.096V 基准分压得到分压比2.602 / 4.096 0.6353。用 E96 的 10k 和 17.4k17.4/(1017.4) 0.6350误差 0.05%对应输出零点误差 1.3mV。可以接受但前提是这两个电阻用 0.1% 精度、25ppm 温漂的薄膜电阻。这里有个容易被忽略的点分压出来的 2.602V 是个高阻节点。它的戴维南等效内阻是10k ∥ 17.4k 6.35kΩ而它要接的是 Rg 的下端。Rg 那一端会流走(V - Voff)/Rg的电流这个电流在内阻上产生压降压降又改变了 Voff等于给增益和偏移同时引入了误差。解决办法有两个要么把分压电阻整体缩小十倍功耗上去了要么在分压点后面加一级跟随器做缓冲。我一般选后者多一颗运放换来的是整个偏移网络阻抗稳定不受后级影响。2.5 电阻容差到底吃掉多少精度误差预算是这类电路的命门必须列表算清楚不能凭感觉。误差源典型值传导方式对 ±10V 输出的影响增益电阻比值误差0.1% 配对增益按比例放大±10mV偏移分压比误差0.1% 配对直接进零点±10mV基准初始精度0.05%经 Rf/Rg 放大±13mV基准温漂3ppm/°CΔT40°C 时 0.012%±2.4mV运放失调 Vos25μV放大 (1Rf/Rg) 倍±0.12mV运放失调温漂0.5μV/°CΔT40°C放大 4.84 倍±0.1mV电阻自身温漂25ppm/°C比值跟踪残差约 5ppm/°C±8mV看完这张表就明白一件事直流精度的大头在电阻和基准上运放的失调反而是最小的一项。很多人选运放时纠结 10μV 还是 25μV却随手用了 1% 的厚膜电阻这是典型的抓小放大。真要把精度做上去优先把钱花在薄膜电阻网络和高精度基准上运放只要失调低于 100μV、温漂低于 1μV/°C 就基本够用。还有一点电阻温漂这一项写残差是因为四个电阻如果封装相同、贴在同一个位置温度变化是同向的比值会部分跟踪抵消。但如果你的 Rf 和 Rg 用了不同封装、不同批次这个抵消就不成立了误差可能翻好几倍。所以配对电阻必须同批次、同封装、紧邻布局这不是讲究是必需。3. 选型表里那几行小字运放参数的真实含义3.1 轨到轨输出到底能贴多近数据手册首页大字写着 Rail-to-Rail Output翻到第 8 页的电气特性表才看到VOL 10mV typ, 30mV max RL 10kΩ再往下看一栏 RL 600Ω时变成VOL 120mV typ。这两个数字差了四倍。这直接决定了你能不能真的用到满量程。假设你的负电源是 -12V输出要求到 -10V那 120mV 的余量看起来绰绰有余。但如果输出要摆到 -11.9V10kΩ 负载下那 30mV 就直接把精度吃光了。更麻烦的是输出摆幅和输出电流是耦合的。你的负载如果是 10kΩ输出 10V 时电流 1mA运放内部输出级的压降就是几十毫伏如果负载是 1kΩ10V 时电流 10mA压降可能变成三四百毫伏而且这个压降会随输出电平变化产生增益压缩——高端的输出摆不到表现出来就是正半周削顶而负半周完好或者反过来。我的做法是给输出留 5% 的电源余量并且按满载电流去查摆幅指标。比如要 ±10V 输出、负载 2kΩ5mA就去看数据手册里RL 2kΩ那一栏的摆幅而不是看首页的大字。如果手册只给了 10kΩ 的数据那就在设计时把电源电压抬高 1V 以上用余量换确定性。3.2 失调电压和温漂直流精度里最贵的一项在双极性输出电路里Vos被(1 Rf/Rg)放大。增益 4.84 的话25μV 的失调变成 121μV看起来微不足道。但要注意两个前提。第一个前提是这个Vos是常温值。数据手册里给的 25μV 通常是 25°C 下的典型值最大值可能是 100μV 甚至更高。做产品不能按典型值设计要按最大值算。100μV × 4.84 484μV在 ±10V 满量程、16 位分辨率305μV/LSB的场合这就已经是 1.6 个 LSB 了。第二个前提是温漂。零漂移架构斩波或自稳零的运放温漂可以做到 0.05μV/°C 以下但代价是开关噪声会出现在输出上而且带宽通常不高。普通精密双极型运放温漂在 0.5~2μV/°C40°C 温升就是 20~80μV放大后 100~400μV。这个量级对 12 位系统无所谓对 16 位以上就是硬伤了。选择上的经验如果系统分辨率在 14 位以下普通精密运放足够14 位以上优先考虑零漂移架构但要在输出端加一级 RC 滤波抑制斩波噪声截止频率设在 10~100Hz 就够因为 DAC 输出本来就是慢变的直流信号。3.3 噪声密度、低频噪声与实际输出滤波噪声这件事在直流输出电路里容易被低估因为大家觉得我输出的是直流哪来的噪声。实际上运放的电压噪声密度会通过闭环带宽积分成输出噪声而 0.1~10Hz 的低频噪声也叫 1/f 噪声会直接表现为输出端的缓慢漂移万用表上看到的就是末位数字不停跳。算一下噪声密度 10nV/√Hz闭环带宽按 100kHz 算输出噪声 RMS ≈10nV × √(1.57 × 100k) ≈ 4μV。看起来小但这是 RMS 值峰峰值要乘 6 左右就是 24μV。再加上 0.1~10Hz 噪声典型 1μVpp总输出噪声在几十微伏量级。这个量级对 16 位系统305μV/LSB影响不大但如果你的 DAC 是 20 位或 24 位就必须认真处理。处理方法很朴素在运放输出端加一级 RC 低通截止频率设在 100Hz 到 1kHz把高频噪声压掉。DAC 输出的更新率如果是几十 kHz这个滤波器完全不影响动态性能如果是几百 kHz 的高速场合那就得在噪声和带宽之间做权衡了通常改用低噪声运放加更小的反馈电阻。反馈电阻本身的热噪声也要算。10kΩ 电阻在室温下的噪声密度是 12.8nV/√Hz跟运放本身的噪声在一个量级。所以反馈电阻不是越大越好能做到 2k~10k 就别用 100k。3.4 压摆率、建立时间与DAC更新瞬态DAC 每次更新码值输出会有一个阶跃。运放的压摆率slew rate和建立时间决定了这个阶跃多久能稳定到目标精度。举个例子输出从 -10V 跳到 10V跳变幅度 20V。压摆率 1V/μs 的运放需要 20μs 才能完成跳变再加上稳定到 0.01% 的时间整条通道的建立时间可能到 30μs。如果 DAC 的更新率是 100kHz周期 10μs那就意味着输出永远追不上输入波形严重失真。所以选型时要看两个指标压摆率V/μs和 0.01% 建立时间μs。经验公式是所需压摆率 最大跳变幅度 × 更新率 × 2。100kHz 更新率、20V 跳变需要的压摆率就是 4V/μs 以上。建立时间则最好小于更新周期的三分之一。不过这里有个反直觉的地方如果输出后面接了 RC 滤波前面建议的 100Hz 低通那运放的建立时间其实被滤波器主导了运放再快也没用。这时候应该反过来降低更新率或者减小滤波电容而不是一味追求高速运放。我见过有人在 100Hz 滤波后面配一颗 50MHz 带宽的运放纯属浪费。3.5 输入共模范围与相位反转的坑同相电平移位电路里DAC 输出直接进同相端共模电压就跟着 DAC 输出一起从 0 走到 Vref。这就要求运放的输入共模范围包含从 0V 到 Vref 的全区间。问题来了很多单电源运放甚至一些标着轨到轨输入的在输入接近负轨时会出问题。轻则失调电压急剧增大重则相位反转——输入降到某个阈值以下输出突然跳到正轨完全反了。这个现象在老一代双极型运放上很常见新一代的互补输入级基本解决了但也不是全解决。判断方法看数据手册的 Input Common-Mode Voltage Range 那一栏如果写的是V- 到 V - 1.2V那说明输入上限差 1.2V你的 Vref 如果是 4.096V、电源 5V那就超了。真正轨到轨输入的会写V- - 0.1V 到 V 0.1V或者VSS 到 VDD。还有一个隐藏问题CMRR 随共模电压变化。有些运放标称 CMRR 90dB但那是共模电压在中间位置测的输入端接近轨的时候 CMRR 可能掉到 60dB。这时 DAC 输出上的任何噪声都会更直接地传到输出。处理办法有两个一是把运放的电源做高一点让输入共模范围有富余二是在 DAC 输出和运放同相端之间加一级跟随器跟随器的输入范围要求同样苛刻但它后面那一级就不受限制了。第二种更稳妥代价是多一颗运放。3.6 容性负载从振铃到自激DAC 输出引脚通常有几十 pF 的寄生电容加上 PCB 走线的 2~3pF/cm再到运放同相端的输入电容3~10pF加起来可能到 50~100pF。这个负载接在运放的输出端如果做跟随器会让相位裕度下降。表现是小信号的时候看不出来一旦 DAC 输出有个台阶跳变输出端就出现振铃严重的时候持续振荡。用示波器在运放输出端看能看到几十 MHz 的振荡幅度几十到几百毫伏。解决办法是经典的隔离电阻法在运放输出和容性负载之间串一个 10~100Ω 的电阻同时在反馈回路上从运放输出端电阻之前取反馈。这样容性负载被隔离电阻隔开反馈环路的相位裕度恢复。如果是反相求和结构反馈网络本身就在反相输入端容性负载接在输出端同样需要隔离电阻。电阻取值经验是先取 50Ω 试看阶跃响应的过冲过冲超过 10% 就加大响应变慢就减小。4. 基准源和电源双极性精度的另一半4.1 基准的四个指标哪个最容易被忽略选基准源的时候大家会看初始精度和温漂但长期漂移和噪声这两项经常被跳过。长期漂移long-term drift指的是基准在 1000 小时、2000 小时之后输出会偏移多少典型值 50~100ppm/1000h。这个数字看着小但对需要连续运行几年的设备来说它可能比温漂的影响还大。如果设备有定期校准这一项可以放宽如果没有就要选长期漂移小的类型。噪声则分两个频段看低频0.1~10Hz噪声表现为输出的慢漂单位是 μVpp高频噪声密度单位是 nV/√Hz会被后级带宽积分。基准噪声进入输出的路径是直接的——在同相电平移位电路里偏移端接的就是基准基准的噪声乘以Rf/Rg直接叠加到输出上增益 1 的话就是一对一传导。我一般按这个顺序筛先看温漂决定温度稳定性再看噪声决定输出纹波和末位跳动然后看初始精度可以用软件校准所以排第三最后看长期漂移和封装。能把初始精度校准掉的系统不要为了 0.01% 的初始精度多花钱把钱花在温漂和噪声上更值。4.2 灌电流和拉电流能力这条最容易翻车反相求和电路里偏移端的电阻 R2 一端接基准另一端接虚拟地0V。这意味着基准源要持续吸收电流电流大小是Vref/R2如果 Vref 2.5V、R2 5kΩ那就是 0.5mA。问题在于很多基准源的输出级是只能拉不能灌的。数据手册里写着 Output Current: ±10mA你以为双向都行翻到注释才发现负号那栏只在特定条件下成立。有些基准在灌电流状态下输出会升高几十毫伏直接变成零点误差。同相电平移位结构里偏移端接的是 Rg 的下端Rg 另一端在V电位。当V Voff时电流从 Rg 流向基准需要基准吸收当V Voff时电流反向需要基准提供。所以这个节点的电流方向是随 DAC 输出变化的基准必须在双向都能稳定工作。规避方法有两个一是在基准后面加一级运放跟随器跟随器能双向输出电流把基准和负载隔开二是选一款输出级是推挽结构、双向能力明确的基准。第一种更保险代价是多一颗运放和几平方毫米的面积。4.3 从单电源造出对称双电源的几种做法要让运放输出真正的负电压负电源是绕不过去的。常见做法有几种各有取舍。方案一电荷泵反相器。从正电源翻出一个负压效率高、体积小输出电流能力几十到几百毫安。缺点是开关噪声大纹波在几十毫伏量级而且开关频率的谐波会窜到模拟通道里。用的时候后面必须跟一级 LDO 做后置稳压再加 π 型滤波。方案二隔离电源模块。输入输出完全隔离噪声小共模干扰也小。成本高、体积大适合对噪声敏感的场合。方案三反激或推挽拓扑的分立方案。灵活可以做出任意电压组合但设计复杂度高变压器的漏感和振铃需要仔细处理一般人不建议自己搞。选型的关键指标是纹波和噪声不是效率。模拟通道对电源纹波敏感度极高因为运放的电源抑制比随频率下降——100Hz 时 PSRR 可能还有 80dB到 100kHz 就掉到 20dB 了。所以开关电源的开关频率如果落在 100kHz 到 1MHz 之间那一带的纹波几乎是无衰减地进到输出。我的做法是开关电源负责效率LDO 负责干净。前面用开关方案翻出 -15V 左右后面跟一颗负压 LDO 稳到 -12V中间串一个磁珠加电容。这样纹波能压到 100μV 以下。4.4 上电时序和关断态别让输出在启动瞬间打人双电源系统有个天然的风险正负电源的上电速度不一样。如果正电源先建立、负电源还没起来运放的输出会被拉到正轨附近这个电压加在后级电路上可能造成损坏。处理方式有几种一是用带使能端的运放等电源稳定之后再使能二是在输出端加钳位二极管到地注意方向要能承受双极性三是用电源监控芯片两路都到位之后才释放复位。关断态同样要考虑。设备断电的瞬间DAC 输出会掉到 0但运放的负电源可能还有残压输出会短暂地摆到负轨附近。如果这个输出接到外部设备那个瞬间的电压尖峰可能被误认为是有效信号。稳妥的做法是在输出端加一个模拟开关断电时把输出切到高阻或者短接到地。5. 上电之后三类故障的排查路径5.1 负半周没有输出或者削顶这是最常见的现象排查要按顺序走不要跳步。第一步量电源。用示波器不是万用表万用表看不出瞬间缺相看运放的负电源脚确认负压在、纹波正常、上电时序没有倒挂。有一次我遇到的情况是负电源的 LDO 在轻载下进入跳脉冲模式空载时纹波 200mV带上运放负载之后就正常了但空载标定时一直查不出来。第二步量运放的输出摆幅边界。把 DAC 设到零码量输出。如果输出停在 -11.8V 而设计要求 -10V那没问题如果停在 -5V 左右那就是运放的输出摆幅不够可能是电源电压不够也可能是负载太重。把负载断开再量一次如果断开后能到 -11V说明是负载电流导致的压降。第三步查输入共模。把 DAC 设到零码量运放同相端的电压。如果这个电压低于运放的输入共模下限运放可能进入非线性区。看数据手册确认下限必要时把负电源再降一点或者加输入偏置。第四步查反馈网络。检查 Rf 和 Rg 的焊接有没有虚焊尤其是 0402 封装的电阻虚焊会导致反馈开路运放输出直接饱和到轨。这个故障的特征是输出恒定在某一轨不随 DAC 变化。第五步查基准。偏移端的基准如果没起来或者被拉死输出会整体偏移表现为一侧削顶另一侧饱和。量一下偏移节点电压跟设计值对比。5.2 零点偏了、满量程也偏了怎么区分这两件事校准的时候最怕的就是两个都偏因为分不清是增益问题还是偏移问题。有个简单的判别方法测两个点算斜率和截距。把 DAC 设到零码记下输出V0设到满码记下输出Vfs。理论值应该是-Vfull和Vfull。实际斜率A (Vfs - V0) / (2 × Vfull)实际偏移B (Vfs V0) / 2。如果A偏离 1 而B接近 0那是增益误差问题在 Rf/Rg 的比值、基准电压值或者 DAC 的满量程。检查电阻实际阻值用四位半表量不要相信丝印检查基准输出是否准确。如果B偏离 0 而A接近 1那是偏移误差问题在偏移端的电压、运放的 Vos 或者分压电阻的比值。量偏移节点电压跟理论值比。如果两个都偏先修偏移再修增益因为偏移会影响增益的计算。还有一个容易忽略的情况DAC 本身的零点误差和满量程误差。有些 DAC 的零码输出不是 0V而是几毫伏满码输出也不是精确的 Vref而是差几十毫伏。这些误差会直接进到运放被当成信号放大。所以标定的时候最好把 DAC 的非理想性一起算进去用两点校准法零码和满码各测一次直接得出系统的实际传递函数而不是假设 DAC 是理想的。5.3 输出抖动、台阶毛刺和低频漂移这三个现象要分开看因为成因完全不同。输出抖动指的是静态时输出有几百微伏到几毫伏的高频波动。成因通常是电源纹波、基准噪声或者运放自身的噪声。用示波器 AC 耦合看如果波动频率跟开关电源一致那是电源问题如果是宽带的随机噪声那是运放和电阻的热噪声如果是规律的尖峰那是数字电路的串扰。处理办法分别是加 LDO 后置、加输出 RC 滤波、改善布局和地平面。台阶毛刺指的是 DAC 每次更新码值时输出有一个短暂的尖峰然后回落。这是 DAC 内部的开关时序不对称导致的glitch impulse单位是 nV·s。指标好的 DAC 在几 nV·s差的有几十 nV·s。缓解办法是在 DAC 输出后面加一级采样保持或者低通滤波把毛刺的能量摊平。滤波器的截止频率越低毛刺被压得越狠但建立时间也越长。低频漂移指的是输出在几分钟到几小时的尺度上缓慢变化万用表上看到末位数字一直往一个方向走。成因有几个运放和电阻的自热功耗变化导致温度变化、PCB 的漏电流湿度、助焊剂残留、热电势不同金属连接处的温差电动势。自热可以通过降低功耗来缓解漏电流要靠清洗和涂覆三防漆热电势要靠对称布局和避免大温差。6. 布局和工艺别让那 0.1% 白做6.1 地回流和星点连接模拟电路的地不是一块铜这么简单。电流从电源流出、经过负载、再流回电源这条路径上的任何一段阻抗都会产生压降而不同电路块的压降不同就会互相干扰。双极性输出电路里有两个大电流回路一个是负电源的电荷泵回路开关电流是脉冲式的dI/dt 很大另一个是运放的输出回路电流相对平稳。这两个回路的地必须分开走最后在电源入口处单点连接。具体做法是在 PCB 上划分模拟地和功率地两个区域用一条窄的铜皮或者一个 0Ω 电阻连接。所有模拟信号的地都接到模拟地区域负电源的滤波电容和开关回路接到功率地区域。连接点选在电源入口那里是电流最集中的地方压降最小。还有一点容易被忽略反馈网络的地要单独走。Rg 的下端接偏移电压那一端如果接到公共地上地线上的任何噪声都会通过反馈网络进到输出。正确做法是把偏移电压的参考点就近接到运放的负电源脚或者基准的地走一条独立的细线不要跟其他信号共用。6.2 反馈节点的漏电和保护高阻抗节点在精密电路里是脆弱的。同相电平移位电路里运放的反相输入端是一个高阻节点虚地理论上阻抗无限大实际的输入阻抗是Vos/Ib可能到几百兆欧。这个节点上如果有 1nA 的漏电流配上 100kΩ 的等效阻抗就是 100μV 的误差。漏电流的来源有三个PCB 表面的助焊剂残留、空气中的湿气凝结、以及运放输入端的保护二极管如果有的话。前两个靠工艺解决——焊接后用异丙醇超声清洗烘干必要时涂三防漆。第三个要靠选型解决——选输入偏置电流在 pA 级的 CMOS 或 JFET 输入运放这类运放通常不需要外部保护二极管。布局上的处理是加保护环在反相输入端周围布一圈铜接到一个跟输入同电位的低阻节点上比如同相输入端或者偏移电压节点。这样保护环和输入之间的电位差接近零表面漏电流就被旁路到低阻节点不会流进高阻输入。保护环的宽度不用太宽0.3mm 就够但必须完整环绕不能有缺口而且上面不能盖阻焊层要露铜。这一条在湿度大的环境里效果非常明显我做过对比加保护环之后零点漂移能小一个数量级。6.3 去耦、基准走线和热电势去耦电容的摆放位置比容值更重要。运放的电源脚旁边必须有 0.1μF 的陶瓷电容距离不超过 3mm地端就近打过孔到地平面上。再往外 10mm 左右放一个 1~10μF 的储能电容应对负载瞬变。基准的走线要短、要粗、要远离开关节点。基准输出到运放偏移端的这条线如果长度超过 10mm就考虑加一个 RC 滤波10Ω 1μF把高频噪声滤掉。走线不要跟数字信号平行如果必须交叉走成垂直。热电势这件事听起来玄实际影响不小。不同金属接触会产生温差电动势典型值是几 μV/°C。锡焊点和铜箔之间就有这个效应如果电路板上存在温度梯度比如运放自身发热、旁边有稳压器就会在节点之间产生几微伏到几十微伏的电压。对于 16 位系统这已经够看了。缓解办法对称布局。反馈网络的两个电阻紧贴放置方向一致让它们处于相同的温度环境运放远离发热元件如果功耗大加热均温铜或者开窗散热。还有一个技巧是避免在信号路径上使用不同金属比如不要一会儿用镀金焊盘一会儿用裸铜保持一致能减少热电势的失配。最后分享一个实操体会这类电路做完之后别急着上整机测试先在恒温箱里跑一遍温循环从 -10°C 到 60°C 走三个来回每个温度点记录零点和满量程。你会发现有些误差在常温下根本看不出来温度一变就暴露了尤其是电阻温漂不匹配和运放失调漂移这两项。等温循环过了再去做长期漂移测试两天记录一次跑一周看看有没有单调漂移的趋势。如果温循环和长期漂移都稳这块板子基本就可以放心用了。