资讯详情

资讯详情

放大器设计100问:从运放选型到ADC前端与PCB实战避坑指南

1. 放大器设计100问的由来与整体框架1.1 为什么是100问而不是100讲很多刚入行的朋友问我放大器设计到底该怎么学。我的回答从来都是别去看那些从半导体物理讲起的厚书先把你手头能遇到的所有问题列出来一个一个搞明白。这个“100问”的思路就是我在带了几个应届生之后慢慢总结出来的。它不是一个课程大纲而是一张问题地图。每一个问题都对应着实际调试中你会卡住的地方比如“运放GBW到底选多大够用”“ADC采样前端为什么要加RC”“PCB上地弹噪声怎么压下去”。这些问题不是按教科书章节排列的而是按你拿到一个项目之后从选型、仿真、画板、调试到量产测试的真实顺序来组织的。我试过让新人先花两周把运放经典电路全部仿真一遍结果到了实际项目里他连一个同相放大器的偏置电阻都算不对。为什么因为仿真里理想运放不会告诉你输入偏置电流在高温下会翻倍也不会告诉你反馈电阻的热噪声在增益带宽积边缘会突然恶化。所以这个100问的核心逻辑是先建立问题意识再补理论短板。你不需要一开始就搞懂共模抑制比和THD之间的数学关系但你必须知道当你的电路在50Hz附近出现干扰时应该先怀疑共模抑制而不是去换运放。这个框架适合谁适合已经学过模电但一上手就懵的工程师适合画了几年PCB但没深究过信号链的Layout工程师也适合做嵌入式软件但需要和模拟前端打交道的朋友。你不需要从头到尾按顺序看遇到什么问题就翻到对应的问题去查。每个问题我都会给出一个可操作的判断标准和实测数据而不是只讲原理。1.2 从热搜词看工程师的真实痛点分布我把最近社区里高频出现的关键词拉出来看了一遍发现一个很有意思的现象。关于运放的问题集中在几个方向GBW的选择、经典电路的具体参数、自激振荡的排查、恒流源的设计。关于ADC的问题则集中在采样周期、信噪比、硬件滤波、VREF选择。而PCB相关的问题几乎全是实战型的线宽电流对照、层叠厚度、涡流损耗、地弹噪声、布线规则。这说明什么说明大家不缺理论缺的是把理论翻译成操作步骤的能力。比如“运放GBW”这个词搜的人很多但大部分人搜完之后还是不知道自己的电路该选10MHz还是100MHz。因为GBW的选择从来不是一个孤立参数它和你的闭环增益、信号频率、允许的相位裕度、甚至PCB寄生电容都有关系。再比如“ADC采样周期”很多人以为就是查手册填个值实际上它和你的信号源阻抗、采样保持电容、前端驱动运放的建立时间是一个联立方程。这些才是100问要解决的核心问题把参数选择变成有依据的计算过程。还有一个值得注意的热词是“华大九天aether全差分高增益放大器的设计”。这说明国产EDA工具在实际项目中的使用越来越普遍而全差分放大器又是ADC前端驱动的主流方案。全差分放大器的设计和单端有很多不同比如输出共模电压的设定、反馈系数的匹配、谐波失真的优化。这些内容在传统教材里讲得很少但在实际项目中天天遇到。所以我在100问里专门留了几个问题给全差分架构后面会展开讲。2. 运放选型与参数计算的硬核细节2.1 GBW和压摆率到底怎么算才够用先讲一个我踩过的坑。早年做一个光电二极管的前置放大信号是100kHz的脉冲增益设了100倍。我选了一个GBW10MHz的运放理论上闭环带宽是100kHz刚好够。结果实测输出波形严重失真上升沿变成了三角波。问题出在压摆率上不是GBW。那个运放的压摆率只有5V/μs而我的输出需要在一微秒内从0V跳到2V需要的压摆率是2V/μs看起来够但实际因为寄生电容和负载效应有效压摆率打了对折。所以GBW和压摆率要分开算。GBW决定小信号带宽公式是闭环带宽 GBW / 噪声增益。注意是噪声增益不是信号增益。对于同相放大器噪声增益等于1Rf/Rg对于反相放大器噪声增益也等于1Rf/Rg但信号增益是-Rf/Rg。这个区别在低增益时特别明显。比如你做一个反相放大器信号增益是-1但噪声增益是2那么闭环带宽只有GBW的一半。压摆率决定大信号响应公式是SR ≥ 2π × f × Vpk其中f是信号频率Vpk是输出峰值电压。这个公式算出来的是正弦波所需的最小压摆率对于方波或脉冲信号还要乘以一个系数通常取3到5倍。我一般会留2倍裕量因为运放的压摆率会随温度下降而且PCB上的容性负载会进一步吃掉裕量。注意很多运放手册标的是典型值不是最小值。如果你做量产一定要看数据手册里的最小值那一栏或者自己抽几批测一下。还有一个隐藏参数是建立时间。对于驱动ADC的运放建立时间比压摆率更重要。因为ADC在采样瞬间需要运放输出已经稳定到最终值的0.5LSB以内。比如一个16位ADCVREF5V1LSB就是76μV0.5LSB就是38μV。运放需要在采样保持电容的充电时间内建立到这个精度。这个时间通常很短可能只有几十纳秒。所以驱动ADC的运放GBW往往要选到信号频率的100倍以上。2.2 噪声计算从电阻热噪声到运放输入噪声噪声是放大器设计里最容易被忽略但又最致命的问题。我见过一个项目电路原理图完全正确但输出噪声就是超标最后发现是反馈电阻选得太大。电阻的热噪声公式是Vn √(4kTRB)其中k是玻尔兹曼常数T是绝对温度R是电阻值B是带宽。室温下1kΩ电阻在1Hz带宽内的噪声大约是4nV/√Hz。如果你用1MΩ的反馈电阻噪声就是4μV/√Hz再乘以带宽的平方根很容易就超过运放本身的输入噪声。所以反馈电阻的选择有一个经验法则尽量让反馈电阻的噪声贡献小于运放输入噪声的1/3。比如运放的输入电压噪声是10nV/√Hz那么反馈电阻的等效噪声应该小于3.3nV/√Hz对应的电阻值大约是680Ω。但电阻太小又会导致功耗增加和运放负载加重。这是一个折中。运放的输入噪声分为电压噪声和电流噪声。电压噪声直接叠加在输入端电流噪声流过输入端的等效阻抗变成电压噪声。对于高阻抗信号源电流噪声是主要贡献对于低阻抗信号源电压噪声是主要贡献。所以选运放的时候要看你的源阻抗。比如光电二极管是高阻抗电流源就要选低电流噪声的运放比如CMOS输入或JFET输入的运放。如果是热电偶这种低阻抗电压源就要选低电压噪声的运放比如双极性输入的运放。还有一个容易忽略的是1/f噪声也叫闪烁噪声。它在低频段占主导频率越低噪声越大。手册里通常给出0.1Hz到10Hz的峰峰值噪声。如果你做的是直流或低频测量这个参数比宽带噪声更重要。我一般会看手册里的“0.1Hz to 10Hz Noise”这一栏如果没标就自己搭一个增益1000倍的电路用示波器看输出端的低频波动。2.3 全差分放大器不只是单端的翻版全差分放大器FDA在驱动高速ADC时几乎是标配。它的优势在于输出摆幅是单端的两倍偶次谐波失真被抵消而且抗共模干扰能力强。但设计起来比单端麻烦。第一个问题是输出共模电压的设定。ADC的输入共模电压通常是VREF/2比如VREF2.5V共模就是1.25V。FDA有一个VOCM引脚用来设定输出共模。这个电压必须和ADC匹配否则ADC的采样精度会下降。第二个问题是反馈系数的匹配。FDA有两条反馈路径分别对应正输出和负输出。这两条路径的电阻必须严格匹配否则会引入偶次谐波失真。匹配精度要求通常优于0.1%。我一般会用0.1%精度的电阻而且尽量用同一批次的因为不同批次的温漂可能不一致。如果做高精度应用还会用电阻网络把四个电阻集成在一个封装里保证比例匹配和温度跟踪。第三个问题是噪声增益的计算。FDA的噪声增益和单端不一样它等于1Rf/Rg但这里的Rf和Rg是差分路径上的电阻。而且FDA的输入噪声是差分噪声输出噪声要乘以噪声增益。在计算信噪比的时候还要考虑ADC的量化噪声。我通常会把FDA的输出噪声和ADC的输入噪声放在一起算确保总噪声小于ADC的1LSB。提示用华大九天Aether做全差分仿真时记得把共模反馈环路也加上否则直流工作点可能不对。很多仿真不收敛的问题都是因为共模环路没建好。3. ADC采样前端与PCB协同设计3.1 ADC采样周期和前端RC的联立方程ADC的采样过程分两个阶段采样阶段和保持阶段。在采样阶段内部采样保持电容通过前端电路充电在保持阶段电容上的电压被量化。采样周期必须足够长让电容充电到最终值的0.5LSB以内。这个充电过程是一个RC充电曲线时间常数τ (Rsource Rswitch) × Csh。通常需要5到10个τ才能建立到所需精度。但问题在于Rsource不是单纯的信号源阻抗还包括运放的输出阻抗、串联电阻、PCB走线电阻。而Csh是ADC内部的采样电容通常在几pF到几十pF。比如一个16位ADCCsh10pFRsource100Ωτ1ns10个τ就是10ns。如果采样周期是100ns看起来绰绰有余。但实际中运放的输出阻抗在频率高的时候会上升而且PCB走线的寄生电感会导致振铃延长建立时间。所以我的做法是在运放输出和ADC输入之间加一个RC网络。这个RC有两个作用一是限制运放看到的容性负载防止振荡二是和ADC的采样电容构成一个电荷桶提供瞬时充电电流。R通常取10Ω到100ΩC通常取100pF到1nF。R太小起不到隔离作用R太大又会影响建立时间。C太小电荷桶不够C太大又会和R形成低通滤波限制信号带宽。计算这个RC的方法是先确定信号带宽BW然后选R和C使得1/(2πRC) ≥ 3×BW。同时要保证RC的时间常数远小于采样周期。比如BW10MHz选R50ΩC100pF截止频率是31.8MHz满足要求。然后检查采样周期如果采样周期是50nsRC5ns10个τ就是50ns刚好够。如果不够就要减小R或C或者换更快的运放。3.2 地弹噪声和PCB层叠的实战经验地弹噪声是数字电路和模拟电路混合设计时的头号杀手。它的本质是当数字电路的大电流开关时地平面上的寄生电感会产生瞬时电压波动。这个波动会通过共享地路径耦合到模拟电路表现为ADC采样值跳动或运放输出毛刺。我见过一个项目ADC的采样值在数字信号翻转时跳动几十个LSB最后发现是模拟地和数字地没有分开。解决地弹噪声的核心原则是模拟地和数字地单点连接且连接点远离数字噪声源。具体做法是在PCB上划分模拟区域和数字区域各自有独立的地平面然后在ADC芯片下方用一个0Ω电阻或磁珠连接。注意这个连接点要尽量靠近ADC的AGND和DGND引脚不要放在电源入口处。因为电源入口处的噪声最大放在那里等于把噪声直接注入模拟地。PCB层叠方面我推荐四层板起步顶层信号第二层地平面第三层电源平面底层信号。地平面要完整不要被走线割裂。如果必须走线穿过地平面尽量走短线并在两侧加过孔缝合。电源平面也要完整但可以和地平面交换位置。对于高速ADC最好用六层板顶层信号第二层地第三层信号第四层电源第五层地底层信号。这样每个信号层都有相邻的地平面阻抗可控。注意地弹噪声的测量很讲究。用示波器探头的地线夹直接夹在地平面上探针点在ADC的AGND引脚上带宽限制到20MHz看数字信号翻转时的波动。如果波动超过10mV就要检查地平面分割和去耦电容。去耦电容的布局也是关键。每个电源引脚都要有一个0.1μF的陶瓷电容尽量靠近引脚回路面积最小。另外还要有一个10μF的钽电容或陶瓷电容作为体电容放在电源入口处。对于ADC的VREF引脚还要加一个1μF到10μF的电容因为VREF的噪声直接调制采样结果。我一般会用两个电容并联一个0.1μF一个10μF中间用短而粗的走线连接。3.3 运放自激振荡的排查清单自激振荡是运放电路最常见的故障。现象是输出端有高频正弦波频率通常在几MHz到几十MHz幅度可能很大也可能很小但影响精度。排查自激振荡我一般按以下顺序来检查容性负载运放输出直接接电容比如电缆、ADC输入、MOS管栅极都会导致相位裕度下降。解决方法是在输出和电容之间串一个电阻通常10Ω到100Ω或者在反馈回路里加一个超前补偿电容。检查反馈回路布局反馈走线太长或者和输入走线平行会引入寄生电容导致相位滞后。反馈电阻要尽量靠近运放的反相输入端走线要短而直。输入走线要远离输出走线最好用地线隔离。检查电源去耦电源引脚去耦不良会导致运放通过电源轨耦合形成振荡。每个电源引脚都要有0.1μF电容而且接地回路要短。检查运放本身有些运放在单位增益下不稳定需要最小增益大于1。比如NE5532在单位增益下是稳定的但有些高速运放要求增益大于5。看手册里的“Stable for Gain ≥ X”这一栏。检查输入信号如果输入信号本身有高频成分或者输入走线拾取了高频干扰也会表现为振荡。用示波器看输入和输出确认振荡来源。我遇到过一个案例4558运放增益设了70倍输出有5MHz的振荡。查了半天最后发现是反馈电阻用了1MΩ和反相输入端的寄生电容大约5pF形成了极点频率是1/(2π×1M×5p)31.8kHz这个极点在环路里导致了相位裕度不足。解决方法是在反馈电阻上并联一个10pF的电容引入一个零点抵消寄生极点。4. 常见问题速查与避坑指南4.1 运放经典电路的计算误区运放加法器、差分放大器、恒流源这些经典电路看起来简单但计算时容易掉进坑里。比如加法器很多人直接用虚短虚断列方程得到Vout -(Rf/R1×V1 Rf/R2×V2)。这个公式没错但前提是运放的同相端接地而且运放的输入偏置电流可以忽略。如果同相端没有接地而是接了一个偏置电压那么输出还要加上这个偏置电压乘以噪声增益。再比如差分放大器标准电路是四个电阻要求R1/R2 R3/R4。如果匹配不好共模抑制比会急剧下降。我算过一个例子如果四个电阻的误差都是1%最坏情况下共模抑制比只有40dB左右。而运放本身的共模抑制比可能有100dB。所以差分放大器的精度瓶颈往往在电阻匹配上不在运放上。解决方法是用0.1%精度的电阻或者用集成差分放大器内部电阻是激光修调的匹配精度很高。恒流源电路也是重灾区。用运放加MOS管的恒流源看起来很简单运放同相端接参考电压反相端接采样电阻输出驱动MOS管栅极。但实际中MOS管的栅极电容和运放的输出阻抗会形成极点导致振荡。解决方法是在运放输出和MOS管栅极之间串一个电阻通常100Ω到1kΩ并在栅极和源极之间加一个电容形成低通滤波。另外采样电阻的功耗要算够否则温漂会导致电流变化。4.2 ADC前端滤波的软件与硬件配合ADC采样后的数据滤波很多人喜欢用软件做比如C语言写一个均值滤波或中值滤波。但软件滤波不能替代硬件滤波。因为如果硬件前端没有抗混叠滤波高频噪声会混叠到低频软件滤波也去不掉。抗混叠滤波器的截止频率必须小于采样率的一半这是奈奎斯特准则。硬件滤波通常用RC低通放在运放和ADC之间。截止频率设为采样率的1/2.5左右留一点裕量。比如采样率是100kSPS截止频率设为40kHz。RC的值要结合运放的驱动能力选R太大影响建立时间C太大影响带宽。我一般用R100ΩC100nF截止频率是15.9kHz适合采样率50kSPS左右的应用。软件滤波方面如果ADC是Σ-Δ型本身就有很强的数字滤波不需要额外加。如果是SAR型采样率高但噪声也大可以用滑动平均或IIR滤波。滑动平均的窗口长度要选采样率的整数倍否则会引入周期性噪声。IIR滤波的系数要用定点数实现避免浮点运算在低端MCU上太慢。我试过在GD32H7上用硬件滤波加软件滑动平均ADC的有效位数从12位提升到了14位左右。提示ADC的VREF选择也很关键。如果用内部VREF噪声通常比外部VREF大。如果做高精度测量建议用外部低噪声LDO给VREF供电比如ADR4525之类的。VREF的噪声直接乘以ADC的增益出现在输出数据里。4.3 PCB设计中的电流与线宽速查PCB线宽和电流的关系网上有很多对照表但很多表没有说明条件。我一般用IPC-2221的标准对于1oz铜厚35μm外层走线温升10°C时1mm线宽大约能走2A电流。如果温升允许20°C可以走3A左右。内层走线因为散热差载流能力减半。如果铜厚是2oz载流能力翻倍。但实际设计中还要考虑走线长度和过孔。长走线的电阻会产生压降比如1mm宽、100mm长的走线电阻大约是5mΩ走2A电流压降是10mV。对于低电压大电流的电源这个压降不能忽略。过孔的载流能力也有限一个0.3mm孔径的过孔大约能走1A电流。如果电流大要多打过孔。还有一个容易被忽略的是涡流损耗。在高频开关电源的PCB上如果走线形成大环路交变磁场会在铜皮上感应涡流导致局部发热。解决方法是在大电流环路下方铺地平面但地平面要完整不要被割裂。如果地平面被割裂涡流会绕行损耗更大。我一般会在电源走线下方铺一块完整的地并且用多个过孔连接到底层地平面。4.4 常见问题速查表问题现象可能原因排查方法解决方案运放输出高频振荡容性负载、反馈布局差、去耦不良示波器看输出频率断开负载看是否消失输出串电阻、加超前补偿、改善去耦ADC采样值跳动地弹噪声、VREF噪声、前端建立不足看跳动与数字信号翻转是否相关分割地平面、加VREF电容、延长采样周期放大器噪声超标反馈电阻太大、运放噪声高、带宽太宽短路输入看输出噪声计算电阻噪声减小反馈电阻、换低噪声运放、限制带宽差分放大器共模抑制差电阻匹配差、运放共模抑制有限测共模抑制比换精密电阻用0.1%电阻或集成差分放大器恒流源电流随温度变化采样电阻温漂、运放失调温漂测不同温度下的电流用低温漂电阻、低失调运放PCB走线发热线宽不够、过孔太少、涡流损耗红外热像仪看热点加宽走线、多打过孔、铺完整地平面这个表里的每一条都是我实际项目中遇到过的。比如ADC采样值跳动我遇到过一个案例跳动只发生在数字信号翻转的瞬间而且幅度和数字信号的上升时间有关。后来发现是ADC的DGND和AGND在芯片下方没有单点连接而是各自走了很长的线到电源入口才汇合。改成芯片下方单点连接后跳动从20个LSB降到了2个LSB。5. 从仿真到实测的过渡技巧5.1 仿真模型的选择与验证很多人做仿真直接用理想运放模型结果仿真通过实测失败。理想运放没有噪声、没有带宽限制、没有压摆率限制、没有输出阻抗。所以仿真至少要选用带SPICE模型的运放最好是用厂商提供的加密模型。比如TI和ADI的官网都有SPICE模型下载导入到CircuitJS或LTspice里就能用。但SPICE模型也不是万能的。有些模型只模拟了典型参数没有模拟温度漂移和工艺角。所以仿真通过只是第一步实测才是最终验证。我一般会在仿真里做三件事直流工作点分析、交流小信号分析、瞬态分析。直流分析看偏置对不对交流分析看带宽和相位裕度瞬态分析看压摆率和建立时间。如果这三个都过了实测大概率没问题。注意用CircuitJS做仿真时运放增益设置无穷大的方法是把开环增益参数设成一个很大的值比如1e6。但这样会掩盖真实运放的有限增益误差。建议还是用厂商模型。5.2 实测中的探头与接地技巧实测运放和ADC电路探头的使用很关键。普通无源探头的地线夹太长会引入寄生电感导致测量结果失真。我一般会用弹簧地线就是探头尖端那个小弹簧直接顶在测试点上地线回路最短。如果测高频信号还要用有源探头输入电容更小。测ADC的采样保持波形时要用高阻抗探头因为ADC的采样电容很小探头电容会直接影响建立时间。如果探头电容是10pF而ADC的采样电容也是10pF那么探头就分走了一半的电荷测量结果完全不对。这种情况下要么用低电容探头要么在ADC输入端加一个缓冲器再测。接地方面示波器的地线要接在电路的模拟地上不要接在数字地上。如果必须测数字信号用差分探头或者把示波器地线夹在数字地上但要注意地线夹的电流承载能力。我见过有人用示波器地线夹测数字信号结果地线夹发热冒烟因为数字地的大电流通过了地线夹。5.3 从调试到量产的参数固化调试通过之后下一步是量产。量产最大的挑战是一致性。实验室里用的电阻是1%精度的量产可能用5%的实验室温度是25°C量产可能从-40°C到85°C。所以调试完成后要做几件事一是确定关键参数的容差范围比如增益误差、带宽、噪声二是做温度循环测试看参数漂移三是做小批量试产统计参数分布。我一般会把关键电阻换成0.1%的关键电容换成C0G或NP0的因为这些电容的温漂很小。运放要选工业级或汽车级的温度范围更宽。ADC的VREF要用低温漂的比如5ppm/°C的。如果成本允许还会在量产测试时加校准环节比如用精密电阻分压产生一个参考电压测出增益误差然后在软件里补偿。还有一个经验是不要迷信仿真也不要迷信手册。手册上的参数是典型值仿真模型是简化模型只有实测数据才是真实的。我一般会在调试阶段留出至少20%的裕量比如带宽要求10MHz我就选15MHz的运放噪声要求10μV我就选5μV的运放。这样量产时即使参数漂移也不会超出规格。6. 个人经验与后续扩展方向6.1 我踩过的三个最深的坑第一个坑是运放的自激振荡。那是一个光电检测电路运放用的是OPA657GBW1.6GHz增益设了10倍。理论上带宽是160MHz但我实际只需要1MHz。结果输出有200MHz的振荡。查了三天最后发现是反馈电阻用了1kΩ和反相输入端的寄生电容大约2pF形成了极点频率是80MHz在环路里导致了相位裕度不足。解决方法是在反馈电阻上并联一个2pF的电容引入零点振荡消失。这个坑让我明白高速运放不是随便用的反馈电阻不能太大布局不能太长。第二个坑是ADC的地弹噪声。那是一个电机控制项目ADC采样电流数字信号和模拟信号共用了一个地平面。电机一转ADC采样值就跳。后来把模拟地和数字地分开在ADC下方单点连接跳动从50个LSB降到了3个LSB。这个坑让我明白地平面分割不是可选项是必选项。第三个坑是差分放大器的电阻匹配。那是一个电桥测量电路差分放大器的四个电阻用了1%精度的结果共模抑制比只有45dB电桥的共模电压变化直接影响了输出。后来换成0.1%精度的电阻共模抑制比提升到了70dB。这个坑让我明白差分放大器的精度瓶颈在电阻不在运放。6.2 这个100问后续可以怎么扩展这个100问目前覆盖了运放、ADC、PCB三个方向但还有很多没展开。比如DAC的输出滤波和驱动比如隔离放大器的设计比如射频放大器的匹配网络。另外随着国产EDA工具的普及用华大九天Aether做全差分设计的流程也值得单独写一篇。还有现在很多MCU内置了运放和ADC比如GD32H7和S32K312这些内置模块的使用技巧和外部运放ADC有很大不同也值得整理。我个人的计划是把这个100问做成一个持续更新的文档每遇到一个新问题就加进去。因为放大器设计这个领域问题永远比答案多。你今天搞懂了运放的噪声计算明天又会遇到PCB的涡流损耗。所以最好的学习方式不是一次学完而是带着问题去查、去算、去测。这个100问就是一张问题地图你按图索骥总能找到你要的答案。
觉得有用,分享给同行:

为您的企业打造数字门面

稳重轻奢商务风格,端正雅致视觉,长效耐看不易过时。

立即咨询 →