ARTICLE DETAIL

资讯详情

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

窄脉冲峰值保持电路设计:架构选型、参数计算与调试实战

窄脉冲峰值保持电路设计:架构选型、参数计算与调试实战 如果让我从这几年做过的模拟前端电路里挑一个最“拧巴”的设计高速窄脉冲峰值保持绝对排前三。去年做激光雷达接收通道时回波是半高宽只有10ns左右的窄脉冲幅度从几十毫伏到几伏不等。我们要在飞行时间测量之前把这个脉冲的峰值幅度可靠地量出来但后端ADC只有20MSPS直接采样等于拿漏勺捞月亮。最后落到实处的方案就是先做一级模拟峰值保持把窄脉冲的峰值“存”进电容里再让低速ADC慢慢读。这篇文章就把这套设计里的架构选型、参数计算、器件选型和调试坑一次讲清楚适合正在做激光雷达、核脉冲检测、超声或质谱类仪器模拟前端的工程师参考也适合刚接触脉冲信号调理的硬件新手。1. 为什么窄脉冲非要“记住”峰值1.1 高采样率ADC不是万能解先算一笔账。假设脉冲半高宽只有10ns如果直接用ADC捕捉采样率至少要在500MSPS以上才可能比较可靠地采到接近峰值的点。这类ADC加前端驱动电路的成本和功耗都很高放到多通道系统里更是一场灾难。而且窄脉冲代表极小占空比信号频谱铺得很宽ADC前端必须要加抗混叠滤波器滤波器又会把脉冲拉宽拉平反而破坏了原始幅度信息。即使咬牙上1GSPS的ADC采样点也不一定落在峰值上。10ns脉冲在半高宽附近才有几个采样点如果采样相位不对采到的可能只是上升沿或下降沿的电压幅度误差完全是随机性的。这时候你会陷入一种尴尬数据量巨大但幅度精度反而没有保障。而从系统需求看很多应用真正关心的只有一个数——峰值幅度。比如激光雷达测距时间信息已经由前沿定时电路给出幅度信息只用于强度校正或者黑白分类完全没必要把整个脉冲波形搬进数字域。因此“模拟峰值保持低速ADC”是更聪明的系统拆解。1.2 峰值保持与采样保持的本质区别新手最容易把峰值保持和采样保持混在一起。采样保持是“某个时刻的电压”保持比如你在信号到达3.7V的瞬间发出采样时钟它就把3.7V锁住峰值保持则是“一段时间内的最大值”保持不管信号在这个窗口里冲到5V然后跌回0最终输出都是5V。这个区别非常关键。对窄脉冲来说采样保持电路需要精确地把采样时钟对准脉冲峰值时刻这就引入一个“孔径延时”的麻烦采样点稍微偏一点误差就放大一截。峰值保持电路则天然具备自跟踪能力输入信号升高时电容跟随充电输入信号降低时二极管截止电容自己把最高电压锁住。它不需要知道峰值什么时候来只需要一个复位信号在下次测量前把电容清零。这个特性太适合窄脉冲的随机到达场景了。1.3 目标应用带来的设计约束峰值保持电路本质上是一台模拟的“最高分记录器”它不需要复制脉冲波形只需要做到四件事。第一捕获速度要快能在一个脉冲上升沿时间内完成充电第二保持阶段要顶得住时间考验下垂电压要远小于允许误差第三复位要干净彻底上一次的残留电压不能污染下一次测量第四动态范围要够大小信号时不能因为二极管压降或者运放失调直接把信号吃掉。把这四条约束写清楚后面选型就有方向了。尤其“捕获速度”和“保持能力”往往是一对矛盾电容选大了充电慢选小了漏电快整个设计的精髓就在这个平衡点上。2. 峰值保持电路的三大流派与选型2.1 二极管帽电路原理简单精度吃亏最经典的峰值保持电路就是一个二极管加一个电容信号从二极管正端输入电容并联在二极管负端到地输出直接从电容两端取。输入上升时二极管导通给电容充电输入下降时二极管反偏电容电压就保持住了。原理一句话能讲完但实际用起来问题很多。第一个问题是二极管正向压降直接进了测量链路。肖特基管正向压降有0.3V左右普通硅管更高对一个5V信号还能忍对几十毫伏的小信号就是彻底的灾难。数字校准能修正一部分固定偏差但二极管压降随电流和温度变化校准只能照顾一个点。第二个问题是普通二极管从导通切换到截止时有反向恢复时间窄脉冲的高频分量可能通过结电容耦合到保持电容上产生额外尖峰。第三个问题是保持电容直接并联在二极管反偏电容和负载输入电容上分压关系也会吃掉一部分电压。所以这个结构只适合幅度大、精度要求不高、速度也不极端的场合。2.2 反馈型“超增益二极管”精度与速度的折中要消除二极管压降最自然的思路就是用运放把它“藏”起来。反馈型峰值保持电路就是干这个的运放的同相端接输入信号反相端接保持电容电压运放输出串一个二极管再给保持电容充电。运放的巨大开环增益会强制反相端电压等于同相端电压所以电容电压在环路平衡时近似等于输入峰值二极管正向压降除以环路增益之后误差被压到毫伏级以下。这个结构被称为“超增益二极管”实际电路中非常常见。代价是运放在脉冲结束之后会陷入一种“别扭”的状态。输入信号降下来运放仍然想让反相端电压跟随输入但电容电压撑在那里不让它降运放输出就会往负方向饱和跑。如果不做复位运放会一直待在饱和区下一次信号来了还得先花时间脱离饱和速度就废了。所以反馈型结构必须配套复位电路把电容清零的同时让运放回到跟踪状态。这是它比二极管帽电路复杂的地方但换来的是精度和速度的质变。2.3 比较器触发型结构另一种思路还有人喜欢用比较器来做峰值保持思路也很直接比较器持续比较输入信号和当前保持电压如果输入超过保持值就控制模拟开关导通让电容快速充电输入不超过开关断开电容保持原状。逻辑上非常透明而且天然产生一个“数字触发”信号说明新峰值出现。但这种结构有个老大难问题就是比较器的传输延时。高速比较器延时虽然能到几百皮秒但在几个纳秒的上升沿面前仍然不可忽略。比较器还在比对的时候输入信号可能已经冲过头了开关打开的时间点晚于真实峰值最终捕获到的电压偏高或偏低都出现过。另一个问题是比较器失调电压直接进入保持值精度受限。因此它更适合脉冲宽度相对宽松或者需要同时输出“峰值事件”给FPGA做触发联动的场景真正追求高速高精度时还是反馈型更稳。2.4 我的选择反馈型自动复位我最后选择的方案是反馈型加外部复位开关原因很实际精度高、器件通用、调试链路清晰。为了解决运放反向饱和的问题我用一个模拟开关并联在保持电容两端由FPGA在ADC采样完成后发一个复位脉冲把电容短接到地。这样一来精确保持和快速复位这两个相互矛盾的需求就被分别交给了模拟和数字各自最擅长的领域。当时看完这个思路后一位同事说这就是“先用模拟脑子记住答案再用数字手擦掉重来”。话糙理不糙。实际设计中复位开关不是简单接上去就完事它的导通电阻、电荷注入、驱动信号串扰都会影响性能后面我会专门拆开讲。3. 关键指标与元器件选型计算3.1 从脉冲指标推导电路指标选器件的第一步不是翻datasheet而是把脉冲参数翻译成电路要求。举个例子我们要处理的信号是半高宽10ns、上升沿5ns、幅度0到5V。信号的有效带宽可以按0.35除以上升沿估算0.35/5ns70MHz这个带宽看似不高但峰值保持电路里的保持电容和二极管是强非线性负载实际要求的运放闭环带宽要留出3到5倍余量最好在200MHz以上。再算压摆率。如果要求电容在5ns内从0冲到5V理论上压摆率至少是1V/ns。但脉冲上升沿不是理想直线初始段电流需求小越接近峰值越紧张所以运放的压摆率至少要按2倍裕量选2V/ns以上才稳。保持精度如果设定为20mV即5V的0.4%那么充电建立误差、下垂误差、放大器失调和复位残压四项要加起来小于20mV每一项都不能挥霍。最后是保持时间。由ADC的转换周期决定我这里按1μs算。保持1μs内下垂误差不能超过几毫伏这对电容和二极管漏电流的要求就出来了。把这些参数列成一张表器件选型范围立刻清晰。3.2 运放与二极管选型要点运放是整个电路的发动机。狭窄脉冲场景下我优先看三类参数压摆率、输出电流和输入失调。压摆率决定电容充电的极限速度输出电流直接决定能不能在有限时间内把电容充到位输入失调则会作为固定误差出现在保持值里。很多人选运放只顾带宽忽略输出电流能力。这里有个简单公式充电电流等于电容乘以电压变化率。如果保持电容是100pF要在5ns内充5V平均电流就是100pF乘1V/ns等于100mA。这还没算电容充电末期的非线性效应所以运放最大输出电流至少要留到150mA以上。我用过OPA690它标称输出电流190mA压摆率约2500V/μs也就是2.5V/ns带宽500MHz在5V脉冲场景下很合适。如果信号幅度再大可以看AD8009这类电流反馈型运放压摆率更高但要注意电流反馈型对反馈电阻阻值有一定要求不能随便选。二极管是另一个容易被低估的角色。它在保持阶段反偏负责把电容和运放输出隔开因此反向漏电要小它在跟踪阶段导通负责给电容充电因此结电容要小、反向恢复要快。市面上常见的BAT54S、SD103A都可以用但BAT54的漏电流偏大对高精度设计有压力。我最后用了SD103A肖特基管反向漏电在常温下能到nA级配合100pF电容1μs内下垂只有几十微伏完全可以接受。如果对漏电更敏感可以考虑低漏电二极管或者用FET组成主动隔离。3.3 保持电容容易被低估的主角保持电容是整个电路里对最终精度影响最大的单颗器件但很多人喜欢随手拿个普通瓷片电容结果发现“存不住”、复位不干净、线性度差最后只能甩锅给运放。保持电容选型要盯三个指标漏电流、介质吸收、容值稳定性。漏电流不用多说铝电解和普通X5R/X7R陶瓷电容直接就别考虑这些电容的漏电在nA到μA级别会把保持电压一点点拖下来。介质吸收是个更隐蔽的敌人它让电容带上“记忆效应”充到5V再放电之后电容还能自己回弹出来几十毫伏污染下一次测量。窄脉冲场景我推荐C0G/NP0陶瓷电容漏电流小、介质吸收低容值范围也够用如果容值需求比较大可以看聚丙烯薄膜电容但要注意封装引线电感对高速性能的影响。容值选多少是个折中。容值大保持能力强、负载效应小但充电电流要求高容值小充电快但对外部寄生电容和探头引入的负载更敏感。100pF是我在这个项目里的折中选择。如果脉冲上升沿更陡比如压缩到2ns就得把容值降到33pF左右但这时候缓冲放大器的输入电容会和保持电容分压反而引入更明显的误差需要通过结构设计来规避。3.4 复位电路与后级缓冲复位开关我用的是集成模拟开关。选择时看两个参数一个是导通电阻另一个是电荷注入。导通电阻与保持电容组成放电时间常数比如R_on2ΩC100pFτ只有0.2ns200ns的复位窗口非常宽裕。电荷注入则会在开关关断瞬间向电容注入少量电荷表现为复位后的残压。低电荷注入开关是正解但即便数据手册标了几pC实际效果还是要上板测。保持电容上的电压不能直接接到ADC输入端。ADC内部采样电容往往是几皮法到几十皮法直接并联会造成瞬间分压等于把好不容易保持住的峰值打折扣。正确的做法是在中间插一级缓冲跟随器。这里要选输入偏置电流很小的运放JDET输入型运放比较合适。需要注意缓冲运放的输入电容依然会和保持电容形成分压所以保持电容也不能选得太小。4. 实操设计一个10ns脉冲峰值保持实例4.1 电路拓扑与参数计算过程下面给一套可以直接参考的参数组合。电路结构是反馈型峰值保持U1采用OPA690同相端接输入信号反相端接保持电容正端输出经过一个22Ω隔离电阻后接D1阳极D1阴极接保持电容正端保持电容C1为100pF C0G电容另一端接地。复位开关S1并联在C1两端控制信号来自FPGA。保持电容正端同时接到缓冲运放U2AD8638的同相输入端U2接成跟随器输出送ADC。计算过程是这样走的。设定输入脉冲幅度5V上升沿5ns那么充电电流的瞬时需求最高位C乘dV/dt即100pF乘1V/ns等于100mA。OPA690最大输出电流190mA够了但余量不大所以我在输出端串了22Ω电阻一方面限流另一方面抑制振铃。如果脉冲上升到2ns级别100pF就不合适了电流需求会冲到250mA需要把C降到33pF或者换更强的驱动级。保持阶段的下垂估算SD103A的漏电按2nA计算C1100pFdV/dtI/C20V/s也就是20μV/μs。保持1μs只掉20μV远小于20mV精度指标。即使温度升高漏电涨到20nA也才200μV/μs还是能接受。真正的威胁来自PCB表面漏电和缓冲运放偏置电流所以保持节点周围要做一圈保护环避免铜箔上的湿度形成漏电路径。复位时间S1导通电阻约2Ω100pF放电时间常数0.2ns理论上200ns的复位窗口绰绰有余。但实际复位后需要再等一段时间让开关电荷注入效应和运放恢复过程稳定下来所以我把复位脉冲设置为300ns并在复位结束后再等200ns之后才触发ADC采样。4.2 关键节点波形与调试方法焊接完第一块板别急着接激光管回波先用信号源输入一个幅度稳定的窄脉冲。我用的是1MHz重复频率、20ns脉宽、幅度从1V到5V可调的脉冲串占空比只有2%给电容和运放足够的恢复时间。第一步看U2输出波形。正常情况下脉冲到来后输出快速上升然后保持平直直到复位信号到来后快速跌回零。如果保持阶段有斜坡说明漏电路径没找对如果上升阶段有明显过冲再回落说明环路不稳定需要调整22Ω隔离电阻或者电容端的走线。第二步做幅度线性度测试。让信号源依次输出1V、2V、3V、4V、5V的脉冲用示波器记录U2的输出平台值。理想情况下输入输出是一条过零点、斜率为1的直线。我当时测出来小幅度时输出偏低排查后发现是D1的结电容与100pF电容分压造成的误差解决办法是在保持节点对地再并联一个小电容把分压误差标定掉或者更干脆地在标定表里做软校正。第三步做保持时间测试。把ADC触发点从复位前100ns一路往后移可以看到保持值的变化。如果后移过程中输出有明显下降说明保持能力不够优先检查二极管反向漏电和缓冲运放偏置电流。4.3 PCB布局注意事项高速窄脉冲峰值保持的PCB布局核心就一句话保持节点是皇帝谁都不能碰。保持节点就是C1正端、D1阴极、S1一端、U2同相输入这四条线汇合的那个点这段铜皮面积要尽量小周围的信号线要尽量远底下铺地隔离。保持节点面积太大寄生电容直接给C1“并联扩容”容值变了充电电流也得变旁边有过冲的数字复位线边沿跳变会通过寄生电容耦合进来保持值上就会多一个毛刺。电源旁路也要讲究。OPA690是500MHz级别的高速运放电源引脚要放100nF加1nF并联并且尽可能靠近引脚。复位开关的驱动信号走线不要和模拟信号线平行长距离伴行否则每次复位都会有一脚踢到保持节点上的感觉。输入信号线按50Ω微带线处理入板处加串联匹配电阻减少反射。5. 调试中的坑与解决方案速查表5.1 常见问题现象与排查记录几个我实际踩过、也帮人排查过的问题整理成表格方便对照。现象可能原因排查方向保持值系统性偏低二极管压降未补偿到位、反馈环路建立不足用更宽脉冲观察是否恢复减小电容或提高运放带宽保持阶段电压明显下滑二极管反漏、电容漏电、缓冲运放偏置电流大断开后级逐级测漏电清洁板面低漏器件替换复位后残留几十毫伏开关电荷注入、电容介质吸收改用低电荷注入开关复位后再等待再采样输出过冲后回不去环路不稳定、二极管结电容谐振调整串联电阻阻值缩短反馈走线小信号幅度误差大运放失调电压、二极管结电容分压做软件标定必要时提高保持电容容值高频脉冲下偶尔丢峰值运放反向饱和恢复太慢压缩复位时间保证跟踪期间运放不饱和5.2 关于测量仪器的经验调试这种电路测量仪器本身会破坏被测节点。保持电容两端是绝对不能拿无源探头直接捅的普通无源探头输入电容有10pF左右和100pF保持电容分压一下就吃掉10%的电压。手持万用表表笔也一样表笔一碰电压就掉了。最稳妥的做法是测缓冲运放输出端U2输出端的驱动能力强探头负载影响可以忽略。如果实在要测保持节点内部只能用有源FET探头并观察接入前后的波形差异。还有一个容易忽略的点就是测试脉冲占空比不要太密。峰值保持电路本质上是工作在“大信号扫过-保持-复位”的循环里每次复位都会让运放经历一次饱和恢复。如果脉冲周期太短电路一直处于赶场状态就会出现峰值记录不到、幅度偏低的现象。我调试时习惯先把重复频率降到1kHz以下确认单脉冲性能没问题后再逐步提高重复频率观察退化点。5.3 关于“复位”与连续脉冲的动态问题脉冲到达频率高到一定程度复位时间就变成系统瓶颈。这时候有几个思路可以组合使用。第一个思路是乒乓结构用两路峰值保持电路轮流工作一路在保持时另一路在复位通过模拟开关切换输出这样能实现连续脉冲间隔极短下的测量。代价是通道失配但可以通过标定修正。第二个思路是增加峰值检测辅助比较器它检测到输入信号越过峰值并开始回落后立刻触发状态机进入保持阶段不需要等固定延时节省几个纳秒到几十纳秒的窗口。第三个思路是如果后级ADC支持流水线操作可以安排“采样当前保持值”和“复位当前通道”并行把复位时间藏到ADC转换时间里去。我在项目里先用了单一通道常规复位验证精度后改成乒乓结构系统重复频率从原来20kHz直接升到200kHz峰值幅度精度没有明显恶化。这个改动主要靠数字逻辑不需要换模拟器件性价比很高。这套电路调完之后我最深的体会是设计峰值保持电路最大的敌人不是带宽而是“漏”和“记忆”。漏电可以从nA级别一路追查到PCB表面的湿气和助焊剂残留介质吸收则让电容记住上一次的电压复位之后还会悄悄“回魂”。最后分享一个小技巧调试时用幅度递增的脉冲串比如1V、2V、3V、4V、5V连续发射把U2输出平台值画成直方图能一眼看出保持精度、复位残留和线性度问题。这个办法比对着示波器一个波形一个波形目测快得多也算是我在这类项目里沉淀下来最实用的一招。
返回列表