ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

运放偏置电路如何影响ADC采样精度?一次2.3%误差的排查与设计要点

运放偏置电路如何影响ADC采样精度?一次2.3%误差的排查与设计要点 最近调试一块信号采集板遇到一个特别典型的故障ADC读数跟理论值比固定偏小2.3%软件里怎么校准都只能校准一个点换个输入幅度又对不上。折腾了两天最后发现运放和ADC本身都没坏真正的坑在偏置电路上。这篇文章就把这次排查过程和总结的偏置电路设计注意事项完整写出来不绕弯子直接上干货。内容主要围绕运算放大器偏置电路对ADC采样精度的影响覆盖偏置电路的基本职责、常见方案对比、误差预算计算、调试验证以及不同ADC架构下的差异化要求适合搞模拟前端、传感器采集或者单片机内置ADC采样的工程师参考也能帮刚入门的小白少踩几个大坑。1. 被冤枉的ADC一次固定偏小2.3%的排查过程1.1 现象描述与初步判断板子的信号链很简单传感器输出0V到100mV的小信号经过一级同相放大器放大20倍后送入MCU内部12位ADC采样。理论满量程应该是3.3V信号放大后应该落在0.5V到2.5V这个区间。实际跑起来后用稳压源给0.1V输入ADC读回来的值换算成电压只有2.44V而不是理论上应该看到的2.5V差了60mV对应12位分辨率大约74个LSB这误差大到肉眼可见。按以往经验出现这种情况第一反应是查ADC参考电压。用六位半万用表量参考引脚3.3V非常稳纹波也就一两毫伏排除了参考漂移。第二个怀疑对象是运放增益电阻精度同相放大器增益等于1加反馈电阻比输入电阻用精密电阻搭的话不至于差这么多。拿LCR表实测反馈电阻和接地电阻比值算出来增益是19.98倍误差不到0.1%。这就很奇怪了运放增益没差ADC参考没差为什么最终结果差2.3%当时差点准备怀疑MCU的ADC模块是不是硬件坏了。1.2 缩小嫌疑范围基准、增益还是偏置真正让我改变思路的是一组对比测量。把运放输出节点用万用表直接量电压是2.50V读数非常正确。但只要信号经过ADC采集数值就掉到2.44V。也就是说信号在运放输出端和ADC输入端之间被“吃掉”了一部分电压。这个时候问题已经从ADC内部转移到了信号链的阻抗匹配上而阻抗匹配恰恰是偏置电路最容易埋雷的地方。顺着这个思路检查发现我的设计里有三个隐患同相输入端用了两个6.8kΩ电阻分压提供2.5V偏置反馈电阻和接地电阻分别选了100kΩ和5.26kΩ5.1k串联160Ω电阻凑出来的运放输出端到ADC引脚之间又串了一个1kΩ的抗混叠电阻然后并联了一个100pF电容到地。问题就在这里100kΩ级别的增益电阻加上1kΩ的输出串联电阻跟ADC内部采样电容的建立时间形成了明显冲突。运放输出阻抗本身很低但输出串联电阻1kΩ直接把源阻抗抬起来了而12位ADC在采样周期内要求外部驱动网络的戴维南等效阻抗足够低否则采样电容上充不到最终值。1.3 真相偏置网络把输出阻抗抬得太高了更深层的问题在于偏置网络的等效源阻抗。两个6.8kΩ分压电阻对地等效阻抗是3.4kΩ这个阻抗直接连接在运放同相输入端。对于理想运放而言同相输入端不取电流所以偏置阻抗高一点对直流工作点影响不大但实际运放有输入偏置电流3.4kΩ的等效源阻抗配合运放的偏置电流会叠加直流偏移。更关键的是100kΩ反馈电阻和运放输入电容、PCB寄生电容构成的极点让闭环增益在几百kHz就开始滚降。虽然对直流信号影响不大但对于幅度跳变的方波或者宽频带信号建立过程变长ADC采样瞬间采到的就不是稳定值。最终解决方式是把偏置分压电阻降到1kΩ加1kΩ增益电阻整体降到10kΩ级别输出串联电阻从1kΩ降到100Ω以内同时把抗混叠电容从100pF加大到1nF并重新核算极点。改完之后同样的输入信号ADC采回2.497V误差降到8mV左右再用软件做一次增益校准就完全达标了。这次经历让我意识到偏置电路不能简单理解成“给运放一个直流工作点”就完事了它在整个信号链里承担的角色比大多数人以为的要复杂得多。2. 偏置电路到底在偏什么三个职责和三种典型翻车2.1 给运放一个合适的静态工作点运放偏置的首要任务是让放大器工作在合适的静态工作点尤其是单电源供电系统里。双电源运放正负供电时信号可以在0V上下摆动偏置电路相对简单。但换到单电源5V或者3.3V供电运放输出如果还想处理双极性交流信号就必须把静态输出点抬高到电源电压的一半附近给正负半周都留下摆动空间。这个“抬高”就是偏置。实际操作中很多人直接把电源正端到地接两个电阻分压中间节点接到运放同相输入端以为这样就能得到干净的VCC/2。但电阻分压有个天然缺陷它可以给出一个直流电平却无法保证这个电平在动态情况下依然干净。电源上的纹波会通过分压电阻直接进到运放同相端然后被同相放大器以1RF/RG的增益放大。如果电源纹波是10mV峰峰值增益是20倍输出端就出现200mV峰峰值的噪声这在ADC结果里直接表现为一大堆散乱的码值。解决这类问题要么给分压节点加一个足够大的旁路电容把交流纹波滤掉要么干脆别用电阻分压改用基准源加缓冲器。旁路电容的选择要算极点频率分压网络的等效电阻和电容形成一阶低通滤波截止频率要远低于信号频率且低于电源纹波的基频成分但也没必要小到把有用的信号变动都滤掉。2.2 给ADC一个合理的共模输入范围偏置电路的第二个职责是建立ADC输入端的共模电压。ADC不是简单的电压表它内部有采样开关、比较器、电容阵列这些电路要求输入信号落在一定的共模范围之内才能保证线性度和建立精度。以SAR型ADC为例输入共模电压通常要求靠近参考电压的一半偏离太多的话内部比较器工作点偏移导致大信号时出现非线性误差。运放输出端的直流工作点在交流耦合情况下完全由偏置电路决定在直流耦合情况下则要统筹信号本身的直流分量和运放静态工作点。一个常见的翻车场景是为了最大化利用ADC量程把偏置点设置在VREF/2附近但忽略了运放输出并不是真正的轨到轨。所谓的轨到轨运放在输出电流较大的时候也不敢保证能拉到电源轨数据手册里给的只是空载或轻载条件下的指标。如果把偏置点推到接近正电源轨一旦负载电流变大输出就被拉下来相当于ADC的满量程被压缩了表现就是大信号时采样结果突然压缩成平头。这块要特别提醒一句设计时不要只看运放型号名字里带不带“轨到轨”三个字要看数据手册里输出摆幅那一栏的具体条件最好给自己留10%到20%的电压裕量。2.3 别忽略偏置网络是源阻抗的一部分第三个职责最容易被忽略偏置网络在整个信号通路里是源阻抗的一部分它在直流状态下不影响多少但在动态状态下会改变信号链的频率特性和建立时间。上面那个案例就很典型同相输入端的分压电阻等效3.4kΩ配合运放输入电容和反馈网络硬生生把闭环带宽压低了。如果你用的是电流反馈型运放或者某些高速运放偏置电阻太大会导致稳定性问题甚至自激振荡。对于采样系统更常见的问题在ADC输入端运放输出串联电阻太小无法有效抑制高频噪声太大又会导致采样建立时间不足。很多新手纠结于电阻精度结果忽略了等效源阻抗对建立时间的影响这是一个认知盲区。看偏置电路的时候应该把整个信号链看成一个戴维南等效源源阻抗、负载电容、负载的采样特性三者共同决定ADC能不能采准。我后来设计偏置电路时都会问自己三个问题直流工作点对不对交流噪声够不够低等效源阻抗能不能被下一级扛住。3. 常用偏置方案实测对比虚拟地、基准缓冲与反相加法3.1 电阻分压虚拟地最省钱也最容易翻车电阻分压是把电源电压用两个等值电阻分出一半作为运放同相端的偏置。这个方案的优点是电路简单、成本几乎为零、不用额外器件很多参考设计里都能看到。但它的缺点跟优点一样明显精度和噪声都取决于电源质量。具体来说分压电压等于VCC乘以R2/(R1R2)电源本身的精度、纹波、负载调整率都会直接混入偏置点。VCC如果是开关电源输出纹波通常在10mV到50mV这些纹波经过运放放大后全部进入ADC。此外分压电阻有一定热噪声电阻值越大噪声越大但这个噪声相对纹波和电源跳动来说通常不是主要问题。如果非要用电阻分压我的建议是电阻阻值尽量选1kΩ到10kΩ之间太小了功耗大太大了热噪声和偏置电流影响明显分压节点必须加旁路电容电容容值根据你允许的极点频率来算经验上104瓷片电容配合5kΩ左右的等效电阻极点频率在几kHz量级适合低频信号如果运放同相端需要较高阻抗可以在分压节点和运放同相端之间加一级电压跟随器把等效源阻抗压到几欧姆以内对精度有要求的场合分压电阻至少用1%最好用0.1%的精密电阻。实测下来电阻分压加跟随器这个组合在低速采集系统里其实完全够用但前提是前面几条都做到位少一条就可能出现莫名其妙的误差。3.2 基准源加缓冲器精度和噪声都漂亮如果项目对ADC采样精度有硬指标比如要保证整个信号链误差在0.1%以内那就别用电阻分压了直接上电压基准源。一个典型的电路是基准芯片输出2.5V或者3.0V后面接一个低失调的运放缓冲输出作为偏置电压送到信号调理电路。这样做的优势非常明显。先精度上普通基准芯片初始精度可以做到0.2%甚至0.05%温漂能做到20ppm/°C以内远超电阻分压的精度。再噪声上基准芯片内置噪声滤波电容输出噪声通常在几十微伏量级不会在信号链里引入明显的直流偏移或低频噪声。但这个方案也有两个容易踩的坑。第一个是基准芯片的带载能力很多精密基准都是为微弱负载设计的输出电流只有几个毫安直接接运放同相端问题不大但如果有人直接把基准输出接到多个运放或者接到ADC的VREF引脚电压会被拉偏。第二个是缓冲运放的输入失调电压和输入偏置电流会直接叠加到偏置电压上如果选了一个Vos很大的通用运放基准精度再高也会被运放拖累。所以这里运放要选低失调、低温漂的精密型或者斩波型而不是随手从料箱里抓一个LM358。3.3 交流耦合场景下的反相加法偏置交流耦合时信号本身没有直流分量但ADC输入端需要一个稳定的直流偏置这时候用反相加法电路是常见选择输入信号经过隔直电容后接到运放反相输入端偏置电压通过另一路电阻也接到反相端反馈电阻从输出接回反相端。输出直流电平由偏置电压和两个输入端电阻的比值决定。这个拓扑的好处在于信号通路和偏置通路是线性叠加关系可以用公式精确计算输出工作点。缺点是偏置电压源需要通过电阻接入反相节点而反相节点是电流求和点偏置源的内阻会进入增益表达式。如果偏置源是简单电阻分压其等效源阻抗会和同相端阻抗网络一起影响电路增益使得实际增益偏离设计值。这要求设计者对反相端所有支路做一次完整的KCL计算不能只单独算信号支路。实践里我的做法是给偏置支路的电阻取一个远大于信号输入电阻的值比如信号输入电阻选10kΩ偏置支路选100kΩ这样偏置支路对信号增益的影响降到1%以下再配合偏置源端的旁路电容把交流噪声压到可以接受的水平。代价是偏置支路电阻值较大偏置电流影响会被放大所以这个方案对运放输入偏置电流比较敏感最好选CMOS或JFET输入的运放。3.4 差分ADC驱动器里的VOCM偏置如果ADC是差分输入前端用全差分放大器偏置电路就作用在VOCM引脚上。VOCM引脚是差动放大器输出共模电压的控制端通过设置这个电压可以决定输出两端共同的直流电平。很多全差分放大器的VOCM引脚内部有一个分压器可以直接接一个基准电压但要注意该引脚的输入阻抗和带宽。我在处理VOCM偏置时踩过一个坑很随意地在VOCM引脚上接了一个大电容到地想滤纹波结果发现放大器输出共模电压建立时间变得很慢ADC每次上电后前几十毫秒采到的数据都偏的。查手册才发现VOCM引脚的等效阻抗其实不低外部电容和内部阻抗形成一个低通滤波器极点频率被拉低到几十Hz导致共模电压跟踪速度变慢。正确做法是看数据手册推荐的VOCM电容上限不要随手加大电容。差分系统的偏置还有一个优势输出共模噪声会被ADC的差分结构共模抑制掉一部分所以VOCM网络对噪声的要求比单端偏置稍微宽松但对建立时间的要求反而更严格因为它直接决定上电初始阶段能不能快速进入正常工作状态。4. 从目标精度反推偏置网络的误差预算4.1 误差来源的完整清单设计一个偏置电路最忌讳的是“先画个大概等板子出来了再调”。一个好的设计应该在画原理图之前就把误差预算列清楚。偏置电路相关的误差来源主要包括以下几类运放输入失调电压Vos会直接叠加到信号上同相放大时被噪声增益放大运放输入偏置电流Ib流过偏置网络的等效电阻产生额外失调电压偏置电阻的初始精度和温漂直接偏置电压精度参考源或分压源的初始精度、温漂和噪声偏置节点旁路电容和源阻抗构成的极点对信号带宽的影响功放输出共模失调和低频噪声。很多工程师在设计时只盯着芯片的失调电压指标却忘了失调电压会被增益放大这件事。比如一个Vos为1mV的运放在同相放大增益为10的电路里输出端失调就已经是10mV如果ADC参考电压是3.3V、12位分辨率那就是12个LSB的直流误差。这还只是静态误差还没算漂移。4.2 一个12位系统的计算示例我以实际项目中遇到的一个配置来演算。系统规格如下12位SAR ADC参考电压3.3V信号调理放大倍数10倍偏置点使用基准加缓冲器方案。目标是把整个前端总误差控制在2个LSB以内也就是大约1.6mV的输出端误差。增益配置选10倍噪声增益也是10倍。选一个Vos典型值为30μV的精密运放输出端直流误差就是30μV乘以10等于300μV折合0.37个LSB还剩不少余量。接下来看输入偏置电流假设Ib最大为2nA同相端等效源阻抗由分压网络决定。如果我选两个5kΩ电阻分压等效源阻抗就是2.5kΩ那么Ib在源电阻上产生的电压降为2nA乘以2.5kΩ等于5μV折合输出端误差50μV约0.06个LSB可以忽略。再看基准和缓冲器基准初始精度0.2%输出2.5V绝对误差5mV。这个电压如果直接被当作偏置信号的一部分进入信号链可能会直接产生5mV误差但实际电路中这个偏置被用来设置静态工作点只要它稳定ADC读出来的信号是偏置以上的交流分量静态偏置本身的绝对值误差可以通过软件校准掉。真正需要注意的不是偏置的绝对值误差而是偏置的温漂和噪声。一个20ppm/°C的基准温度变化50°C时偏置电压漂移2.5V乘以20ppm乘以50等于2.5mV这个漂移如果发生在校准后就会直接体现为采样误差。从这个演算可以看出对整个ADC采样系统影响最大往往不是偏置电压的初始绝对值误差而是温度漂移和噪声。所以如果预算紧张可以先接受初始误差大一点但温漂小的器件反正软件能校准初始误差却很难校准随机漂移。4.3 选型怎么选不要只看精度要看系统级指标综合误差预算结果选型的逻辑就很清晰了。运放优先看Vos、Ib、温漂和电源抑制比而不是一味追求带宽或者压摆率基准优先看温漂和长期稳定性初始精度差几个毫伏问题不大电阻优先看温度系数和长期稳定性初始阻值偏差可以通过校准修正温漂和老化则是无解的问题。这块我自己的选型习惯是给运放留出至少2倍的系统误差余量也就是说如果系统目标误差是1.6mV运放相关误差尽量控制在0.8mV以内。这样的话即使后面布局布线再引入一些不可预料的噪声也有回旋余地不至于板子调完发现误差卡在指标边界上量产时稍微有点温度波动就超差。5. 仿真与实测中容易被带偏的地方5.1 仿真模型不会告诉你的事做偏置电路仿真TINA、LTspice、Multisim都能给出看起来很精确的结果但仿真结果跟实测之间往往隔着好几道坎。最典型的是运放宏模型通常不包含实际的失调电压、偏置电流温漂和电源相关非线性仿真时运放的Vos可能是0Ib可能是0于是分压电阻取几百kΩ都无所谓仿真DC工作点也完全正确。但一到实际电路几百kΩ电阻配合真实运放的偏置电流就会多出几十mV的直流误差而这个误差在仿真里完全看不到。另一个仿真容易误导的地方是噪声仿真。仿真通常会给出RMS噪声和峰值噪声但ADC采样系统真正关心的是采样带宽内积分噪声和混叠效应需要在仿真里正确设置输入噪声带宽和采样频率。很多人直接在时域跑一个DC扫描看输出端直流电压对不对这其实只能验证静态工作点验证不了动态精度。我的建议是仿真只用来验证电路拓扑和频率响应DC工作点不要完全采信。真正定方案时用最差条件参数手动估算一遍直流误差比仿真可靠得多。我在一些项目里甚至要求硬件工程师把所有电阻取最差偏差、运放取最差Vos重算一遍输出偏移必须落在指标内才能投板。5.2 示波器探头常常“修正”了真实波形调试ADC采样不准时很多人会习惯性拿示波器去量运放输出波形。示波器探头有10倍衰减时输入电容约10pF左右1倍衰减时输入电容可能高达几十pF这个电容并到运放输出节点上会改变电路的负载条件和瞬态响应。最典型的场景是你用示波器探头点在运放输出引脚看到很干净的2.5V直流电平于是认为电路没问题。实际上探头本身的电容对直流信号测试没影响但如果节点上存在较高的交流阻抗探头电容会跟源阻抗形成低通波形会变平滑瞬态过冲被抹掉。而你关心的可能是采样保持建立时间这时示波器显示反而掩盖了真实问题。调试这类问题正确的做法是用低输入电容的有源探头或者干脆不要直接点运放输出端而是在运放输出和ADC输入之间串一个测试点焊接一根短引线后用同轴线接示波器。测量交流瞬态时要把探头衰减档设置和输入电容参数看准最好用示波器自带的探头补偿校准一遍。5.3 PCB布局里那几个容易再挖坑的位置偏置电路的PCB布局对ADC采样精度的影响往往比理论计算还要大。几个常见位置容易埋雷分压电阻和旁路电容离运放太远旁路电容的引线电感会在高频段失效导致分压节点的高频阻抗再次抬高偏置走线跟数字信号线平行走长距离数字信号上的开关噪声通过寄生电容耦合到偏置电压上几乎不可能彻底滤除参考源去耦电容放在了信号回流路径上地电流流过参考源的地引脚造成参考电压跳动分割地和模拟地之间跨接不当ADC的地回流路径被切断采样结果出现随机跳码。这些坑的排查成本都很高因为单纯从原理图上看完全正常只有实际量信号链和地平面之间的噪声电压才能定位。为了减少这类问题我在布局阶段就要求偏置相关的电阻电容紧贴运放引脚放置旁路电容尽量用0603及以下的小封装以减小寄生电感模拟区域底下尽量铺完整的地平面所有涉及偏置和参考电压的走线都用保护地线围起来不跟数字信号并行走线。6. SAR、Σ-Δ和MCU内置ADC对偏置电路的要求差异6.1 SAR架构驱动源必须能“抱着”采样电容逐次逼近型ADC内部有一个采样保持电路采样阶段需要给内部电容充电。如果外部驱动源的阻抗太高电容没有足够时间充到最终电压采样结果就会偏低。SAR ADC的数据手册通常会给出一个最大源阻抗推荐值比如1kΩ以内但这个推荐值是在某个特定采样时间和分辨率条件下算出来的实际使用时不能直接照搬。对于偏置电路来说这意味着运放输出端到ADC引脚之间的串联电阻要严格控制偏置电路产生的等效源阻抗也要一并算进去。我遇到过设计把抗混叠电阻选到4.7kΩ直接超过了SAR ADC源阻抗要求的上限结果ADC读数线性度变差还以为是基准问题。后来想明白如果要滤高频噪声可以用一个较小的串联电阻比如100Ω配合一个大电容利用电容在采样瞬间提供电荷而不是通过增大串联电阻来滤除。小电阻加大电容的缺点是需要运放能驱动容性负载很多运放接大电容时会发生振荡所以还要在运放输出和电容之间加一个隔离电阻这个电阻值又要折中。6.2 Σ-Δ架构关注平均噪声而不是瞬时建立Σ-Δ ADC的工作方式跟SAR完全不同它不断采样并对大量样本做平均抗混叠滤波要求相对宽松。偏置电路的短暂建立误差会被过采样过程平均掉但低频噪声和直流漂移反而会被直接积累因为很多Σ-Δ ADC对直流输入信号没有“漏掉”的特性。因此给Σ-Δ ADC设计偏置时重点放在超低噪声基准和有良好低频噪声特性的运放上斩波稳零运放在这里优势明显。驱动源阻抗的要求虽然不如SAR那么苛刻但也不能无限大否则输入电流噪声在源阻抗上产生的压降会形成明显的误差项。另外Σ-Δ ADC的输入引脚通常需要内部或外部RC滤波器来吸收采样电荷反冲这个RC滤波器的参数选择要参考厂家提供的手册或参考设计不能凭经验拍脑袋。6.3 MCU内置ADC和可编程增益放大器要注意共模限制MCU内置ADC现在用得很广尤其是带内部PGA的型号。这类ADC的驱动问题跟独立ADC芯片类似但多了一个限制PGA输入共模范围往往比ADC输入端更严格偏置电路必须让信号落在PGA允许的共模范围内否则ADC结果非线性严重。另一个MCU内置ADC的常见问题是内部扫描模式下多个通道切换每次切换都会从分压器或传感器拉走电荷如果外部源阻抗偏高通道切换后第一拍数据会明显偏低或偏高。很多MCU的ADC数据手册或者库函数都会建议不要用第一次转换结果要用连续两次转换的第二拍数据原因就在这里。偏置电路如果设计的源阻抗很低这个问题就不明显如果源阻抗偏高那么每次通道切换后都需要给采样电容重新充电误差就来了。综合来看不管哪种ADC架构偏置电路的核心目标都服务于两个一是稳定的直流工作点二是足够低的动态源阻抗。理解了这一点再回头看看那些“为什么ADC采样总是不准”的问题十有八九都能在偏置网络上找到突破口。如果项目进度比较紧我最少会先做三件事把偏置分压网络的等效阻抗降低到能用戴维南等效电阻算得动的地步用低失调低偏置电流的运放做缓冲再给偏置节点留出充足的旁路电容并实际测一下建立时间。这三条做到位ADC采样不准的问题至少能排除掉七成。
返回列表