1. 从“整流损耗”说起为什么峰值检测需要双运放做过传感器信号调理的人多半遇到过这样的场景一个压电式振动传感器输出几十毫伏的微弱信号经过放大后想提取它的峰值用最经典的“二极管电容”峰值保持电路一搭结果发现输出总比输入峰值低个0.3V到0.7V。这个差值不是测量误差而是二极管的正向压降在“吃掉”你的信号。对于输出摆幅只有1V出头的低压系统这0.5V的损失足以让整个检测环节失去意义。峰值检测电路的核心任务很朴素跟踪输入信号的最高点并把这个最高点保持住直到下一个更高的峰值到来。听起来简单但真正把它做“精密”难点集中在三个地方——整流器件的非线性压降、保持电容的泄放速度、以及运放自身动态特性对峰值捕获精度的影响。双运放架构正是针对第一个难点给出的经典解法它用两个运放配合二极管把二极管“包”进负反馈环路里让输出不再受正向压降的拖累。这套结构在业内常被称为精密整流器或理想二极管电路是峰值检测从“能用”走向“精密”的关键一步。这篇文章面向的是已经能看懂基本运放电路、但想把峰值检测做到毫伏级精度的工程师和电子爱好者。我会从双运放架构的工作原理讲起拆解每个元件为什么这么选、参数怎么算再落到实际布板和调试中那些文档里不会写的坑。如果你正在做振动监测、脉冲幅度分析、光谱信号采集或者任何需要捕捉信号包络的项目这套东西值得花时间吃透。2. 双运放峰值检测的架构拆解与工作机理2.1 单运放方案的先天缺陷先看最朴素的单运放峰值检测输入信号进运放同相端运放输出接二极管阳极二极管阴极接保持电容和反馈电阻。当输入上升时运放输出升高二极管导通给电容充电当输入下降时运放输出降低二极管截止电容上的电压被保持住。逻辑上没问题但实际波形会告诉你两个残酷事实。第一二极管导通时运放输出必须比电容电压高出一个正向压降Vf运放才能通过二极管向电容注入电流。这意味着运放的输出摆幅被白白消耗了Vf。第二更隐蔽的问题是当输入信号从峰值下降时运放输出也随之下降但二极管从导通转为截止需要一个过程在这个过渡区间里运放实际上处于开环状态输出会快速下坠直到二极管完全截止。这个下坠过程会在输出端引入一个尖峰毛刺严重时甚至会让保持电容通过运放输入级反向放电。我早期用单运放方案做超声波包络检测时就吃过这个亏。输入是40kHz的脉冲串峰值约2V理论上用1N4148Vf约0.6V应该能检测到1.4V左右的峰值。实测发现输出只有1.2V而且每个脉冲结束后输出都会有一个向下的尖刺后来用示波器抓运放输出端才发现那个尖刺是运放退出饱和时的过冲。单运放方案不是不能用但它只适合输入幅度远大于二极管压降、且对精度要求不高的场合。2.2 双运放如何把二极管“藏”进反馈环双运放架构的精髓在于让二极管始终工作在负反馈环路内部由运放来补偿它的压降。具体连接方式是第一个运放U1作为主放大器输入信号接U1同相端U1反相端通过反馈网络与输出建立关系U1的输出经过二极管D1后一路送到第二个运放U2的同相端另一路通过反馈电阻Rf回到U1的反相端。U2接成电压跟随器其输出就是最终的峰值保持电压同时U2的输出还通过另一条路径通常是电阻分压或直接连接反馈到U1的反相端。这个结构的巧妙之处在于U1的负反馈不再从自己的输出端取而是从U2的输出端取。U2的输出等于保持电容上的电压而U1会不断调整自己的输出直到U2输出与输入信号相等。换句话说二极管D1的压降被U1的增益“吸收”了——U1输出可以比U2输出高出任意需要的电压只要运放不饱和。这样最终输出端看到的峰值电压就几乎等于输入峰值误差仅来自运放的失调电压和有限增益。用一个生活化的类比单运放方案像是你用手直接推一扇很重的门门轴有摩擦二极管压降你推的力有一部分被摩擦吃掉了。双运放方案则是你在门后加了一个液压助力器助力器感知门的实际位置自动补偿摩擦你只需要给出目标位置指令。二极管从“阻力”变成了“被监控的执行元件”。2.3 保持电容与泄放路径的角色分工双运放架构里保持电容Ch的位置和连接方式决定了整个电路的动态行为。典型接法是Ch一端接地另一端接U2的同相端和D1的阴极。当输入上升时U1输出升高D1导通电流经D1给Ch充电U2输出跟随Ch电压上升。当输入达到峰值并开始下降时U1输出随之下降D1截止Ch上的电荷无处可去电压被保持。此时U2的高输入阻抗确保Ch不会通过运放输入级泄放。但“保持”不是永久的。实际电路中Ch会通过几个路径缓慢放电U2的输入偏置电流典型值pA到nA级、D1的截止漏电流nA级、以及PCB表面的漏电流受湿度和污染影响可能达到nA甚至μA级。如果需要一个“复位”功能通常会在Ch两端并联一个复位开关如JFET或模拟开关在每次测量前短接Ch使其放电到零。这个复位开关的漏电流和电荷注入也是设计时要考虑的因素。Ch的容值选择是一个权衡容值大保持时间长但充电速度慢对快速脉冲的响应跟不上容值小响应快但保持时间短输出会明显下垂。经验公式是对于保持时间Th、允许下垂ΔV、总漏电流IleakCh ≥ Ileak × Th / ΔV。比如Ileak取10nA要求保持10ms内下垂不超过1mV则Ch至少需要100nF。实际选型时通常在这个计算值上再留2到5倍余量。3. 关键元件的选型逻辑与参数计算3.1 运放选型GBW、SR与相位补偿的三角关系双运放架构对运放的要求比一般放大电路更苛刻因为U1在二极管导通和截止两种状态下反馈环路的特性会发生剧变。导通时环路包含D1和U2相位裕度相对可控截止时D1断开U1实际上处于开环或仅通过寄生路径反馈的状态此时如果输入信号还在变化U1输出可能发生剧烈摆动。增益带宽积GBW决定了电路能跟踪多快的信号。对于峰值检测U1的闭环带宽至少要是输入信号最高频率分量的5到10倍。假设输入是1MHz的脉冲U1的闭环增益为1那么GBW至少需要5MHz到10MHz。但注意U1在充电阶段的有效增益可能远大于1因为它要补偿二极管压降所以实际需要的GBW要按最坏情况估算。我通常的做法是先按信号频率的10倍选GBW再在实测中看充电建立时间是否满足要求不满足就往上加。压摆率SR是另一个硬指标。峰值检测电路在输入信号快速上升时U1输出必须以足够快的速度变化才能及时给Ch充电。所需SR的计算很简单SR ≥ 2π × f × Vpk其中f是输入信号最高频率Vpk是峰值电压。比如1MHz、2V峰值的信号SR至少需要12.6V/μs。但实际要留2到3倍余量因为运放进入大信号状态时SR会下降而且D1的结电容也会拖慢响应。我一般按计算值的3倍来选1MHz、2V的场景就选SR ≥ 40V/μs的运放。相位补偿是双运放架构里最容易被忽视的问题。U1在D1截止时处于开环状态如果运放本身相位裕度不足输出会产生振铃甚至自激。解决办法有两个一是选内部补偿的运放如NE5532、OPA2134这类经典音频运放它们单位增益稳定二是在U1输出和反相端之间加一个小电容几pF到几十pF做超前补偿。我试过用NE5532搭这个电路GBW10MHzSR9V/μs在100kHz以下表现很稳但到了500kHz以上充电建立时间就明显变长后来换成OPA2350GBW38MHzSR22V/μs才满足要求。3.2 二极管开关速度与结电容的取舍双运放架构里D1的作用是“单向阀门”但它的寄生参数直接影响电路性能。反向恢复时间trr决定了D1从导通转为截止需要多久这个时间越短峰值保持的“泄漏”越小。结电容Cj则会在D1截止时与U1的输出阻抗形成低通影响U1退出饱和的速度。常见的小信号二极管里1N4148的trr约4nsCj约4pF价格便宜适合大多数中低速场景。如果信号频率超过1MHz或者对保持精度要求极高可以选BAV99trr6ns但双二极管封装方便或MMBD914。肖特基二极管如BAT54S的Vf更低约0.3Vtrr更短但反向漏电流比硅二极管大一个数量级在高温下漏电流可能达到μA级会加速Ch放电。我的经验是常温、中低速用1N4148足够高温或高精度场合宁可多花点钱选低漏电流的硅二极管也不要为了低Vf去用肖特基。还有一个细节D1的封装寄生电感。直插封装的引脚电感约5nH到10nH在10MHz以上会和Cj形成谐振导致U1输出出现高频振铃。如果信号频率很高建议用SOD-323或SOT-23封装的贴片二极管引脚电感可以降到1nH以下。3.3 保持电容材质比容值更重要Ch的材质选择经常被忽略但它对保持精度的影响不亚于容值。聚丙烯PP电容的介质吸收极低0.01%漏电流小是精密峰值保持的首选。聚苯硫醚PPS和聚对苯二甲酸乙二醇酯PET次之介质吸收在0.1%到0.5%之间。陶瓷电容尤其是X7R、Y5V的介质吸收可以高达2%到5%而且容值随电压和温度变化大用在峰值保持电路里会导致明显的“回弹”现象——电容放电后电压会自己回升一点因为介质中储存的电荷释放出来了。我做过一个对比实验同样的电路Ch分别用100nF的CBB聚丙烯和100nF的X7R陶瓷电容。输入一个1V的脉冲保持10ms后测量输出。CBB电容的输出从1.000V降到0.998V下垂2mVX7R电容的输出从1.000V降到0.985V下垂15mV而且复位后输出有约5mV的残余电压。这个差异在12位ADC系统里就是几十个LSB的误差。所以只要预算允许Ch一定要选CBB或PPS材质陶瓷电容只适合对精度要求不高的场合。容值方面除了前面提到的漏电流计算公式还要考虑充电时间。充电时间常数τ ≈ (Ro Rd) × Ch其中Ro是U1的输出阻抗通常几十欧姆Rd是D1的导通电阻几欧姆到几十欧姆。如果要求充电建立到0.1%精度需要约7个τ。比如RoRd50ΩCh100nFτ5μs7τ35μs。这意味着输入脉冲的上升时间不能快于35μs否则Ch来不及充满输出会低于实际峰值。如果输入脉冲很快比如1μs上升沿Ch就要相应减小到1nF到10nF但这样保持时间又会缩短需要根据具体应用权衡。4. 从原理图到PCB布局布线的隐形陷阱4.1 地平面分割与星型接地双运放峰值检测电路里地线的处理直接决定了输出噪声水平。U1的输入回路、Ch的接地端、U2的接地端这三处的地电流路径如果共用一段PCB走线Ch上的微小电压波动会通过地阻抗耦合到U2输入端再被U2放大。更隐蔽的是U1在D1导通和截止切换时输出电流会突变这个突变电流流经地线时产生的电压尖峰会直接叠加在Ch的“地”参考点上。正确的做法是星型接地在PCB上选一个点作为“模拟地”的汇聚点U1的接地引脚、Ch的接地端、U2的接地引脚分别用独立的走线连接到这个点而不是串联在一起。这个汇聚点再单点连接到电源地。如果电路板上有数字部分比如MCU控制复位开关数字地和模拟地必须分开最后在电源入口处单点汇合。我见过一个案例某工程师把Ch的接地端和复位开关的接地端共用了一段2cm的走线结果每次复位开关动作时Ch上都会感应出一个几十毫伏的尖峰导致后续测量误触发。后来把复位开关的地单独拉回电源地问题立刻消失。这个坑在原理图上完全看不出来只有布板时才会暴露。4.2 反馈路径的寄生电容与补偿U1的反馈电阻Rf和反馈走线如果靠近Ch或D1的阴极寄生电容会把U1输出端的快速变化耦合到反相端造成相位裕度下降。尤其是当Rf阻值较大比如100kΩ以上时几个pF的寄生电容就能在几百kHz处产生一个极点引发振铃。我的做法是Rf尽量选小阻值1kΩ到10kΩ如果为了减小Ch的负载效应需要大阻值就在Rf两端并联一个几pF的电容做相位超前补偿。这个电容的值可以通过实验确定先用示波器观察U1输出在D1截止瞬间的波形如果有振铃就从1pF开始加直到振铃消失。注意这个电容不能太大否则会降低U1的高频增益影响充电速度。另外U1的反相输入端走线要尽量短并且远离输出端和D1。如果PCB空间允许可以在U1反相端和地之间留一个焊盘方便调试时加补偿电容或电阻。这个“预留位”在正式产品里可以不放但在原型阶段能省很多事。4.3 电源去耦与运放自激的排查运放自激是峰值检测电路调试中最常见的问题之一表现是输出端有几十MHz的高频振荡幅度可能只有几十毫伏但足以让峰值检测结果偏高。自激的根源通常是电源引脚去耦不足或者U1在D1截止时的开环状态让运放对电源纹波变得敏感。每个运放的电源引脚旁边必须放一个0.1μF的陶瓷电容位置越近越好最好在5mm以内。如果运放是双电源供电正负电源都要加。另外在电源入口处再放一个10μF的钽电容或电解电容做低频去耦。我习惯在运放电源引脚和去耦电容之间串一个几欧姆的电阻或者用磁珠形成RC低通进一步抑制电源噪声。这个电阻不能太大否则会影响运放的输出摆幅一般2Ω到10Ω即可。如果加了去耦还有自激就要检查U1的反馈路径。一个快速判断方法是用示波器探头设为1X档减少探头电容影响碰一下U1的反相端如果振荡频率变了说明是反馈环路的问题如果不变说明是电源或布局的问题。我遇到过一回自激频率约25MHz换了去耦电容没用后来发现是U1输出到D1的走线太长约3cm走线电感与D1结电容形成了谐振。把走线缩短到5mm以内自激就消失了。5. 实测波形分析与典型故障排查5.1 充电建立时间的测量与优化充电建立时间是峰值检测电路的核心动态指标定义为从输入信号达到峰值到输出稳定在峰值±0.1%以内所需的时间。测量方法输入一个上升沿很陡的脉冲上升时间远小于预期建立时间用示波器同时抓输入和输出观察输出从开始上升到稳定的时间。如果建立时间过长可能的原因有三个Ch太大、U1的SR不够、D1的导通电阻太大。排查顺序是先算理论值τ(RoRd)×Ch如果理论值就很大说明Ch选大了需要减小如果理论值很小但实测很大说明U1的SR不足需要换高速运放如果换了运放还不行检查D1是否用错型号或者D1的焊接是否虚焊导致接触电阻大。我实测过一组数据Ch100nFU1用NE5532D1用1N4148输入1V阶跃输出建立到0.1%用了约80μs。理论τ(50Ω5Ω)×100nF5.5μs7τ38.5μs实测80μs说明NE5532的SR9V/μs在输出变化1V时理论需要0.11μs不是瓶颈。后来发现是NE5532的输出级在驱动容性负载时会有额外的相位延迟导致有效带宽下降。换成OPA2350后建立时间降到45μs接近理论值。5.2 峰值保持下垂的定量分析下垂是指输入峰值过后输出在一段时间内缓慢下降的现象。下垂速率由总漏电流决定包括U2输入偏置电流、D1反向漏电流、Ch自身漏电流、PCB表面漏电流。测量方法输入一个窄脉冲用高输入阻抗的万用表或示波器10MΩ以上监测输出记录单位时间内的电压下降。如果下垂过快先算总漏电流Ileak Ch × ΔV / Δt。比如Ch100nF10ms内下垂10mV则Ileak100nF×10mV/10ms100nA。这个量级的漏电流通常来自D1的反向漏电流或PCB表面污染。排查时先用酒精清洗PCB并吹干如果下垂改善说明是表面漏电如果没改善换一个低漏电流的二极管试试如果还不行检查U2的输入偏置电流是否超标查数据手册一般CMOS输入运放的Ib在pA级双极型运放在nA级。一个实用技巧在Ch和U2输入之间串联一个保护电阻如1kΩ可以限制PCB表面漏电流的影响但会引入U2输入偏置电流在电阻上的压降误差。如果U2是CMOS输入Ib1pA这个电阻可以取到10kΩ甚至100kΩ对精度影响很小。5.3 复位开关的电荷注入与对策复位开关在断开时沟道电荷会注入Ch导致复位后Ch上有一个小的残余电压。这个残余电压通常在几毫伏到几十毫伏对于高精度应用是不可忽略的误差。电荷注入量Qinj ≈ Cox × W × L × (Vgs - Vth) / 2其中Cox是栅氧电容W和L是开关管的尺寸。选小尺寸的模拟开关如TS5A23157可以减小注入电荷但导通电阻会增大影响复位速度。更有效的办法是差分复位用两个匹配的开关一个接Ch一个接一个虚拟电容两个开关的控制信号反相这样注入电荷在差分输出中相互抵消。或者用先断后合的开关序列在复位开关断开之前先让一个放电电阻短暂接入把Ch上的电荷放掉再断开电阻。这个时序需要精确控制通常用MCU的GPIO配合RC延时实现。我在一个光谱采集项目里用过TS5A23157做复位开关电荷注入约5pCCh10nF时产生的电压跳变约0.5mV对12位ADC满量程3VLSB0.73mV来说刚好在1个LSB以内可以接受。如果Ch更小比如1nF同样的注入电荷会产生5mV跳变就需要加差分复位或软件校准。6. 工程实践中的经验沉淀与扩展思路6.1 从单峰值到多峰值跟踪的改造标准双运放峰值检测只能保持一个峰值直到复位。如果需要跟踪连续多个峰值中的最大值可以在Ch两端并联一个“泄放电阻”Rdis让Ch电压以一定速率下降这样当输入峰值下降时输出也会跟随下降但下降速率受Rdis控制。当输入出现新的更高峰值时Ch会再次被充电到新峰值。这种“峰值跟踪”模式适合监测缓慢变化的信号包络比如音频电平表。Rdis的选择需要权衡Rdis太小输出下垂快无法保持峰值Rdis太大输出跟不上输入峰值的下降。经验值是让Rdis × Ch的时间常数等于输入信号包络变化周期的1/5到1/10。比如包络变化周期100ms时间常数取10ms到20msCh100nF时Rdis取100kΩ到200kΩ。注意Rdis会引入一个固定的下垂速率如果输入峰值长时间不更新输出会一直下降所以这种模式不适合需要长期保持峰值的场合。6.2 噪声环境下的抗干扰设计在工业现场或电机驱动附近峰值检测电路容易受到电磁干扰表现为输出上叠加高频噪声或随机跳变。除了前面提到的地平面和去耦措施还可以在U1输入端加一个RC低通滤波器截止频率设为信号最高频率的2到3倍。比如信号最高100kHzRC截止频率取200kHz到300kHz。这个滤波器同时会限制输入信号的带宽如果信号本身含有高频成分需要权衡。另一个有效手段是屏蔽把Ch和U2输入端的走线用地线包围起来形成保护环。保护环要连接到U2的接地引脚而不是电源地这样可以减小地环路引入的噪声。如果电路板是双面板可以在Ch下方铺一层地铜皮但注意这层铜皮不能与Ch的焊盘直接接触要留出足够的爬电距离。我做过一个对比同样的电路在电机驱动器旁边工作没有保护环时输出噪声峰峰值约50mV加了保护环并优化地线后降到5mV以下。这个改善对于检测毫伏级峰值信号是决定性的。6.3 用仿真验证设计circuitjs中的运放增益设置在搭实际电路之前用仿真工具快速验证拓扑是高效的做法。circuitjsFalstad Circuit Simulator是一个免费的在线电路仿真器适合做运放电路的定性分析。但很多人卡在“如何设置运放增益为无穷大”这个问题上——circuitjs里的理想运放模型默认增益是100000已经足够大不需要改。如果你发现仿真结果不对通常是反馈路径没接对而不是增益不够。在circuitjs里搭双运放峰值检测的步骤先放两个运放U1接成同相放大器反馈电阻从U1输出经D1到U2输出再回到U1反相端U2接成电压跟随器同相端接D1阴极和Ch输出端接回U1的反馈网络。注意circuitjs的二极管模型有默认的Vf和结电容可以在属性里调整。仿真时用“电压探针”观察Ch上的电压用“示波器”看输入输出波形。如果输出不跟随峰值检查D1的方向是否接反以及U1的反馈是否从U2输出取而不是从U1输出取。仿真能帮你验证拓扑逻辑但不能替代实际调试因为仿真模型不会包含PCB寄生参数、运放的非线性特性和温度漂移。我的习惯是仿真确认拓扑正确后直接搭面包板实测用示波器抓关键波形再根据实测结果调整元件值。6.4 常见运放型号在峰值检测中的实测对比为了给选型提供参考我整理了几款常用运放在双运放峰值检测电路中的实测表现。测试条件输入1V阶跃Ch100nFD11N4148室温25°C测量充电建立时间到0.1%和10ms保持下垂。运放型号GBW (MHz)SR (V/μs)充电建立时间 (μs)10ms下垂 (mV)备注NE5532109802便宜适合低速TL0723131205输入偏置电流小但GBW低OPA2134820551.5音频专用低失真OPA23503822451高速适合脉冲AD8231622501.2单电源轨到轨输出LT10120.50.25000.5精密但极慢从表中可以看出充电建立时间和下垂之间存在权衡高速运放建立快但输入偏置电流通常较大下垂也大精密运放下垂小但建立慢。选型时要根据应用场景决定优先级。比如振动监测需要快速建立选OPA2350光谱积分需要长时间保持选LT1012或加斩波稳零运放。另外表中数据是在特定条件下的实测值实际电路中Ch容值、D1型号、PCB布局都会影响结果。建议在最终选型前用目标运放搭一个最小系统实测一下不要只看数据手册。6.5 从峰值检测到峰值保持的扩展加一级采样保持如果需要在峰值检测后接ADC但ADC的采样时间与峰值出现时刻不同步可以在U2输出后加一级采样保持电路。采样保持的核心是一个模拟开关和一个保持电容开关由MCU控制在峰值稳定后闭合把U2输出电压采样到保持电容上再送给ADC。这样ADC的采样时间就不会影响峰值检测的精度。采样保持的开关选型要注意电荷注入和导通电阻。对于12位以上的ADC建议用专用的采样保持芯片如LF398或低电荷注入的模拟开关如ADG1419。保持电容同样要选CBB或PPS材质容值根据ADC输入阻抗和采样时间计算。如果ADC输入阻抗为10kΩ采样时间1μs保持电容取1nF时RC时间常数10kΩ×1nF10μs远大于采样时间会导致采样不足。此时需要加一个运放缓冲把ADC输入阻抗隔离掉。我在一个数据采集系统里用过LF398采样时间10μs保持电容1nF后接16位ADC实测峰值检测精度达到0.05%。LF398的电荷注入约20pC在1nF电容上产生20mV跳变但通过差分输入和软件校准可以消除。如果不用校准就要选电荷注入更小的开关或者增大保持电容但增大电容会降低采样速度。6.6 温度漂移与长期稳定性的考量峰值检测电路在温度变化时输出会漂移主要来源是运放的失调电压温漂和二极管反向漏电流的温度系数。运放失调电压温漂通常在μV/°C量级比如OPA2350是0.5μV/°C在0°C到50°C范围内漂移25μV对毫伏级信号可以忽略。但二极管反向漏电流每升高10°C约翻一倍如果常温下漏电流10nA到50°C可能变成80nA导致下垂速率增加8倍。如果应用环境温度变化大建议选低漏电流的二极管如BAV199常温漏电流1nA或者用温度补偿电路在Ch旁边放一个热敏电阻根据温度调整复位阈值或软件补偿。更简单的办法是缩短保持时间在漏电流还没造成明显误差之前就读出数据。比如常温下保持10ms下垂1mV到50°C下垂8mV如果ADC在1ms内完成采样下垂只有0.8mV可以接受。长期稳定性方面Ch的介质吸收会导致“记忆效应”上次测量的残余电荷会影响下次测量。CBB电容的介质吸收0.01%影响很小陶瓷电容的介质吸收可达5%必须通过复位开关彻底放电或者用软件做“双次测量取差”来消除。我在一个长期监测项目里每测量100次就做一次“零输入校准”把Ch放电后测量残余电压从后续数据中减去效果很好。6.7 一个完整的双运放峰值检测电路实例最后给出一个我实际用过的电路参数供参考。输入信号0到2V频率10kHz到500kHz的脉冲串。输出峰值电压精度±1mV保持时间1ms。复位MCU控制每次测量前复位。U1OPA2350GBW38MHzSR22V/μs双电源±5V供电。U2OPA2350同一封装内的另一个运放接成电压跟随器。D11N4148SOD-323封装。Ch100nFCBB材质耐压50V。Rf10kΩ1%精度金属膜电阻。复位开关TS5A23157电荷注入5pC。电源去耦每个运放电源引脚旁0.1μF X7R陶瓷电容电源入口10μF钽电容。PCB双面板模拟地星型连接Ch和U2输入走线加保护环。实测结果充电建立时间45μs到0.1%1ms保持下垂0.2mV复位后残余电压0.5mV整体精度满足±1mV要求。这个电路在500kHz输入下工作稳定没有自激或振铃。如果你要做类似项目可以从这个参数出发根据实际信号频率和精度要求调整Ch和运放型号。这个电路后续还可以扩展在U2输出后加一个窗口比较器当峰值超过设定阈值时触发报警或者用MCU的ADC连续采样U2输出用软件做峰值搜索和滤波。硬件峰值检测的优势是响应快、不占用CPU适合高速脉冲的实时监测。
