ARTICLE DETAIL

资讯详情

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

施密特触发器与迟滞比较器:正反馈原理、阈值计算与实战调试

施密特触发器与迟滞比较器:正反馈原理、阈值计算与实战调试 做模拟电路这一行几乎没有人能绕开施密特触发器。我在项目里第一次认真研究它是因为一个温度采集模块在阈值点附近疯狂翻转输出波形像毛刺一样抖个不停用示波器一看根本不是信号问题而是比较器本身没有记忆能力”。当时师父丢给我一句话加个正反馈让进门和出门的槛不一样。这句话后来变成了我理解施密特触发器、迟滞比较器、乃至运算放大器正反馈应用的一把钥匙。这个内容适合所有跟模拟电路打交道的人还在学校啃教材的学生、刚入行的硬件工程师、想做传感器前端判决的老手都可以从里面找到能直接抄作业的东西。核心就三件事搞清楚施密特触发器为什么能消除阈值抖动算明白迟滞比较器的上阈值和下阈值最后在仿真和实测里把正反馈的脾气摸透。这篇文章不绕理论弯子直接对着电路讲原理、对着公式讲计算、对着波形讲排查。1. 为什么要用迟滞单阈值比较器的抖动困境1.1 运放比较器的理想与现实很多人一开始用运算放大器当比较器觉得太简单了两个输入端一个接参考电压一个接输入信号输出非高即低。理想情况下当输入信号跨过参考电平时输出应该干脆利落地翻转一次。但实际情况完全不是这样。只要输入信号上叠了一点点噪声或者信号本身上升沿不够陡输出就会在阈值附近反复横跳频率可能是几十kHz甚至几MHz后级电路如果接的是计数器或者继电器直接当场崩溃。我曾经调试过一个光电传感器输出的整形电路光敏二极管出来的信号在有光/无光边界附近时输出端用示波器看全是密密麻麻的毛刺。一开始我以为是传感器本身的问题换了好几个型号都一个样。后来才意识到问题出在判决电路上运放工作在开环状态增益非常大任何微小的输入扰动都会被放大成输出跳变而实际输入信号不会像信号发生器那样给你一个完美的阶跃沿。这就是单阈值比较器的结构性问题不是换芯片能解决的。1.2 噪声环境下单阈值比较器的失控表现打个比方单阈值比较器就像一道只有一扇门的城墙不论你是从城外往城里走还是从城里往城外走都要经过同一扇门。如果门外地面有点震动守门士兵的脚在门线附近来回晃城门就会开开关关。信号噪声正好就是那个地面震动。更麻烦的是输出本身还可能通过电源、地、甚至PCB布局耦合回输入端形成一种正反馈式的振荡让情况雪上加霜。教科书上说比较器是非线性应用因为运放开环时工作在饱和区输出要么接近正电源要么接近负电源。但正因为增益无限大阈值点附近极其灵敏哪怕输入端只有几毫伏的噪声也会被放大到满摆幅。这种状态下如果你在后级加一个简单的RC低通滤波确实可以滤掉一部分高频毛刺但代价是响应变慢而且噪声如果幅度较大低通滤波也救不回来。真正治本的办法就是引入一个有记忆的判决机制让进城和出城走不同的门这道门之间的差就是迟滞。1.3 迟滞带来的本质变化状态记忆与阈值分离迟滞的本质是用正反馈把输出状态锁住。也就是说输出一旦翻转到高电平它就会主动帮自己维持在高电平不会因为输入的一点小扰动再跳回去。要让输出从高变低输入必须突破另一个更远的阈值。这样一来阈值从一个点变成了一个窗口噪声只要小于窗口宽度的一半就永远不会引发误触发。这个窗口就是迟滞宽度也就是施密特触发器最核心的指标。从电路角度看实现迟滞的手段很简单把运放的输出通过一个电阻反馈到同相输入端。这样做的好处是反馈回来的电压方向和输入信号叠加当输出为高时同相输入端的参考点被抬高了你需要更高的输入信号才能越过它当输出为低时参考点被拉低了你需要更低的输入信号才能越过去。门槛一分为二信号再也不会在同一个点上反复纠缠。2. 施密特触发器电路结构正反馈构建的两条门槛2.1 同相施密特触发器的结构与阈值推导先看最常见的同相施密特触发器。输入信号Vin通过电阻R1接到运放的同相输入端输出Vout通过反馈电阻R2也接到同相输入端反相输入端直接接参考电压Vref。这个电路的名字同相指的是输入变大时输出也变大也就是传递函数整体是正的。推导阈值的时候抓住一个关键点运放翻转的瞬间同相输入端V恰好等于反相输入端Vref。利用叠加定理V由Vin和Vout共同决定V (Vin × R2 Vout × R1) / (R1 R2)令V Vref就能解出翻转时刻的输入电压Vin Vref × (1 R1/R2) - Vout × (R1/R2)这里要注意Vout在翻转前是确定的如果当前输出为高电平VOH那么输入的翻转阈值是下降沿阈值如果当前输出为低电平VOL那么对应的阈值是上升沿阈值。分别写出来就是VTH Vref × (1 R1/R2) - VOL × (R1/R2)VTH- Vref × (1 R1/R2) - VOH × (R1/R2)因为VOH大于VOL所以VTH大于VTH-迟滞窗口宽度为ΔV VTH - VTH- (VOH - VOL) × (R1/R2)这个结果非常漂亮迟滞宽度只取决于输出摆幅和两个电阻的比值跟Vref完全无关。实际设计时我们只需要根据需要的窗口宽度确定R1/R2再根据需要的中心电平调整Vref即可。2.2 反相施密特触发器的结构与阈值推导反相施密特触发器同样经典区别在于输入信号改接到反相输入端反馈电阻R2从输出引回反相输入端同相输入端接参考电压Vref。传递关系变成了输入增大时输出减小所以叫反相。推导方法一样以反相输入端V-等于Vref为翻转条件。列KCL方程(Vin - Vref) / R1 (Vout - Vref) / R2 0整理之后得到Vin Vref × (1 R1/R2) - Vout × (R1/R2)形式跟同相结构一模一样。但要注意状态对应关系反相结构里当输出为高电平时输入必须上升到一定值才会翻转为低电平这个阈值对应输入上升沿当输出为低电平时输入必须下降到更低值才会翻转为高电平对应输入下降沿。同样设输出高电平为VOH、低电平为VOL得到VTH Vref × (1 R1/R2) - VOH × (R1/R2)VTH- Vref × (1 R1/R2) - VOL × (R1/R2)所以VTH反而小于VTH-迟滞宽度依然是ΔV (VOH - VOL) × (R1/R2)两种电路虽然输入输出相位不同但迟滞宽度的计算公式完全一样设计思路可以共用一套。2.3 正反馈在运放中的角色从增益到状态锁存正反馈在这类电路里的角色很多人一开始想不明白。运放通常都是负反馈配合虚短虚断来分析一旦出现正反馈分析思路就要切换成状态锁定。你可以这样理解负反馈让运放稳定在某个工作点而正反馈让运放拼命往饱和方向跑。当输出是高点平正反馈会把同相输入端往高推进一步维持输出高电平当输出是低电平正反馈又把同相端往低拉。所以运放在两个饱和状态之间不存在一个稳定的线性中间态。这就是为什么施密特触发器也被称为具有记忆功能的比较器。它记住了上一次翻转的结果并且用这个结果反过来影响下一次翻转的阈值。从控制论的角度看这叫滞后特性从工程应用的角度看这就是一种最简单、最可靠的去抖手段。相比在软件里做滤波、做延迟用正反馈搭出来的硬件迟滞响应快、功耗低、不依赖程序还可以直接接在传感器后面做模拟前端。3. 迟滞比较器的定量设计与参数计算3.1 阈值计算从VH和VL反推电阻实际工程中我们通常先明确两个指标一是迟滞窗口的中心电平二是窗口宽度。然后再反推电阻。假设运放输出的高电平VOH是5V低电平VOL是0V我们希望窗口宽度ΔV为1V那么先把R1/R2的比例算出来ΔV (VOH - VOL) × (R1/R2)1V 5V × (R1/R2)R1/R2 1/5这里的选择就来了。R1和R2的具体阻值往下落到多少要看运放的输入偏置电流和噪声要求。偏置电流会流入或流出同相输入端在电阻上产生额外压降所以R1、R2不宜选得太大。一般双极性运放选几k到几十kCMOS输入型运放可以选几十k到几百k因为输入偏置电流极小引起的误差可以忽略。假设选R2 100kΩ那么R1 20kΩ。这里有个实际经验反馈电阻R2通常比输入电阻R1大因为这样输入信号对阈值的影响才会更明显同时运放同相端的等效输入阻抗也不会被拉得太低。R1选20kR2选100k这是一个很稳妥的起点既不会让偏置电流误差太大也不会让噪声耦合过强。3.2 设计实例把5V窗口的迟滞比较器算清楚我们设计一个具体的同相施密特触发器电源电压5V输出高电平VOH约为4.8V低电平VOL约为0.2V要求输入信号在2.5V附近翻转迟滞窗口宽度为0.5V。这个窗口宽度意味着噪声只要小于0.25V都不会误触发对于常见的传感器噪声已经足够。先算电阻比0.5V (4.8V - 0.2V) × (R1/R2)R1/R2 0.5 / 4.6 ≈ 0.1087取R2 100kΩR1 ≈ 10.87kΩ最接近的标准值是10.7kΩ或11kΩ。我们用11kΩ重新验证一下窗口ΔV 4.6V × (11/100) 0.506V误差只有1.2%完全可以用。接下来确定Vref利用公式VTH Vref × (1 R1/R2) - VOL × (R1/R2)我们希望窗口中心在2.5V附近。窗口中心为 (VTH VTH-) / 2。代入两个表达式并整理可以发现窗口中心等于Vcenter Vref × (1 R1/R2) - (VOH VOL) × R1 / (2 × R2)把已知量代入2.5 Vref × (1 0.11) - (4.8 0.2) × 0.11 / 22.5 1.11 × Vref - 0.275Vref ≈ 2.5V结果很有意思中心电平2.5V刚好对应Vref约2.5V。这并不总是巧合当输出高电平和低电平对称于2.5V时Vref就等于中心电平。实际中如果输出摆幅不对称Vref需要略微调整。设计好之后用稳压源给Vref供电或者用电阻分压再加一个跟随器防止参考电压被运放输入端拉偏。3.3 运放选型时的关键参数考量做迟滞比较器运放选型跟普通放大应用很不一样。普通放大要关注增益带宽积、噪声密度比较器应用更关注输出摆幅、压摆率、输入失调电压和延迟时间。输出摆幅直接决定迟滞窗口宽度。如果运放不是轨到轨输出VOH可能只有VCC-1.5VVOL只有VEE1.5V那同样的R1/R2得到的迟滞窗口会缩水近一半。所以设计前一定要先查数据手册里的输出特性曲线确认在目标负载下的饱和电压。压摆率决定了输出翻转的速度也就是施密特触发器的响应时间。如果输入信号本身很慢压摆率不是问题但如果用施密特触发器做高速整形比如处理几MHz的传感器脉冲就得选压摆率在几十V/μs以上的运放。输入失调电压VOS也是一个容易被忽略的因素它相当于给Vref叠加了一个误差源如果要求阈值精度在±10mV以内VOS就不能超过这个量级的五分之一。4. 仿真与实测让迟滞曲线真正可见4.1 Cadence环境下搭建迟滞比较器测试电路我在Cadence Virtuoso里做这类仿真通常从原理图编辑器里调出一个通用运放模型加上两个电阻、一个直流电压源和一个脉冲源。测试电路很简单运放接成同相施密特触发器R1取11kΩR2取100kΩ反相输入端接Vref2.5V输入信号用直流源加一个可变电压用于DC扫描。仿真器设置方面我习惯先用DC扫描做传递函数。扫描变量设为输入电压Vin扫描范围从0V到5V再从5V扫回0V也就是双向扫描。这一步非常关键因为单向扫描只能看到一半的翻转特性看不到完整的滞回环。Cadence的ADE L里可以设置两次扫描或者写成参数扫描脚本让输入源从0V线性升到5V再线性降回0V输出保存为Vout。DC扫描完成后打开结果浏览器用Vout对Vin画图。如果电路正确你会看到一个标准的滞回曲线输入上升时输出在某个高阈值点从低翻高输入下降时输出在另一个低阈值点从高翻低。两条路径不重合中间围成的区域就是迟滞窗口。用cross函数或者直接在波形图上打标记可以读出VTH和VTH-的具体数值再用计算器做减法就能得到实测的ΔV。4.2 直流扫描与瞬态对比波形解读DC扫描能一次性把静态阈值看明白但实际芯片工作中信号是随时间变化的所以瞬态仿真也不可少。我用一个VPULSE信号源让输入从1V跳到4V再回到1V周期设得比电路响应时间慢很多比如上升沿1μs高电平宽度20μs下降沿1μs低电平宽度20μs。这样能清楚看到每次翻转沿的触发点。瞬态结果里最重要的观察点是翻转时刻对应的输入电压。放大波形把输入曲线和输出曲线放在同一个坐标系里用光标找到输出翻转瞬间的输入电压值跟DC扫描读出的阈值做对比。正常情况下两者应该一致。如果差距大优先检查输入源的 slew rate如果上升沿太快超过了运放的压摆率限制翻转点会发生延迟表现为阈值偏移。仿真还有一种很实用的做法把输入信号换成正弦波加上白噪声比如2.5V直流偏置、0.8V幅度、1kHz正弦再叠加0.1V的噪声。这时候你观察输出会发现没有迟滞的比较器会疯狂抖动而加了正反馈的电路输出非常干净只在正弦波上下穿越窗口边界时才翻转。这个对比仿真特别适合给团队新人演示一次就能理解为什么迟滞是噪声免疫的。4.3 实测中容易出现的假迟滞仿真正常不代表板上实测就一帆风顺。我调试时遇到过一种假迟滞现象示波器上看确实有窗口但窗口宽度远超设计值而且翻转点飘忽不定。检查了很久才发现问题出在输入信号源的输出阻抗上。我的信号发生器输出阻抗是50Ω本来很小但我又在输入端串了一个10kΩ电阻做保护。这个电阻跟R1构成了分压实际送到运放同相端的电压已经不是信号源显示的电压了阈值自然偏移。另一个常见问题是反馈路径的寄生电容。如果R2阻值很大比如100kΩ以上而PCB上反馈走线很长寄生电容和R2会形成一个低通滤波器导致反馈电压的建立速度变慢。结果就是输出翻转时正反馈的作用被滞后了实测窗口比理论值大而且在高速输入时尤其明显。解决办法是尽量缩短反馈走线或者减小R2阻值。注意实测施密特触发器时示波器探头补偿一定要先调好。探头本身的输入电容会影响高频响应如果探头补偿不准翻转沿会被削圆阈值判断误差能达到几百毫伏。5. 常见问题与排查技巧5.1 阈值漂移问题参考电压与输出饱和电压的影响我在实际项目里遇到最多的问题就是阈值慢慢漂移。排查的思路要分成两步先看参考电压稳不稳再看输出饱和电压是否跟仿真一致。参考电压如果由电阻分压提供而分压电阻的并联阻抗太高运放输入偏置电流的变化就会引起电压波动。解决方法是给参考电压加一个低阻抗缓冲或者用基准源芯片直接供电。输出饱和电压的影响则更隐蔽。很多运放在输出拉电流能力弱的时候VOH会明显跌落。比如LM358在输出几毫安时VOH可能只有3.5V但你在仿真模型里设置的是理想值4.8V。高电平变了迟滞窗口的宽度和中心都会跟着变。这时候需要查数据手册的VOH-Vs-Iout曲线用实际负载条件下的饱和电压代入公式重新计算。5.2 噪声仍然触发迟滞宽度与噪声裕量的权衡有人加了迟滞之后发现噪声还是会引起误触发第一反应是把窗口加宽。窗口加宽确实能抑制更大的噪声但副作用也很明显信号本身的判决精度会降低。比如你要在一个缓慢变化的温度信号里检测2.5V这个点如果迟滞窗口是0.5V那么输出翻转的实际触发点可能在2.3V到2.7V之间结果就是检测精度变差。正确的做法是先测量噪声幅度。用示波器把输入信号调到阈值附近测出峰峰噪声值然后保证迟滞窗口宽度是噪声峰峰值的2到3倍以上。如果噪声非常大窗口加宽又会牺牲精度这个时候应该先处理噪声源比如改善电源滤波、增加输入端的RC低通滤波而不是一味扩大迟滞。迟滞是最后一道防线不是唯一的噪声解决方案。5.3 运放输出摆幅不足导致的窗口变形另一种现场问题很有意思电路设计时用轨到轨运放做仿真一切正常但实际用普通运放搭建发现翻转阈值完全对不上。原因就是输出摆幅不对称导致上升阈值和下降阈值的变化量不一致。虽然窗口宽度公式里用的是VOH-VOL看起来只跟差值有关但实际阈值中心的位置却受到了VOH和VOL绝对值的牵连。如果遇到了这种问题我建议你把实测的VOH和VOL确认清楚然后用更简单的办法调整在R2和输出之间串一个电阻分压网络把送到反馈节点的电压幅度降低。这样做会削弱正反馈强度但能让阈值更稳定。或者干脆换用轨到轨输出的比较器专用芯片比如常见的TLV7011、LM393之类的比较器它们的输出级专门为数字电平设计饱和电压非常明确用起来比运放当比较器省心得多。5.4 高速场合下的压摆率影响当输入信号频率很高比如达到几百kHz甚至MHz运放的压摆率就成了主角。压摆率不足会导致输出翻转沿变缓而正反馈需要的翻转速度快如果输出变化太慢迟滞效应就不能及时建立输出会出现一段犹豫期表现为中间电平或者振荡。解决高速问题有几个方向选择压摆率更高的运放降低反馈电阻值以减小寄生电容影响以及保证电源退耦足够好。有时候还可采用比较器专用芯片它的传输延迟远小于通用运放比如几纳秒级别的比较器用于高速信号的整形比任何运放方案都可靠。下面这个表是我调试时常用的速查表对着症状找原因效率高很多。现象可能原因排查/解决思路输出在阈值附近抖动迟滞窗口不足增大R1/R2比例使窗口宽度覆盖噪声峰峰值实际阈值比设计值偏大输入源内阻被分压减小输入电阻R1或用低阻抗驱动输入阈值随时间漂移Vref不稳定用基准源或加缓冲跟随器翻转沿缓慢、输出出现中间态压摆率不足换高摆率运放或比较器芯片窗口宽度正确但中心偏移VOH/VOL不对称调整Vref补偿或换轨到轨输出器件高速时迟滞效果变差反馈节点寄生电容缩短走线、减小R2阻值6. 从比较器到更多应用正反馈的扩展玩法6.1 用迟滞比较器做方波振荡器施密特触发器的正反馈特性除了判决信号还可以用来做振荡器。最经典的电路是方波发生器把施密特触发器的输出通过一个电阻接到电容电容上的电压作为输入信号反馈给比较器。电容充电到高阈值输出翻低放电到低阈值输出翻高如此往复形成自激振荡。这个电路不需要额外的时钟芯片只要一个运放、两个电阻、一个电容就能工作非常适合做低频方波源或者传感器激励信号。振荡频率和RC时间常数直接相关调节电容充放电回路的时间常数就能改变频率。我常把它用在隔离电源的驱动信号生成端或者一些需要简单脉冲输出的测试治具里。不过这个电路也有个缺点频率精度不高如果对频率稳定性有严格要求还是要用晶振或者专用定时器。6.2 窗口比较器与迟滞的组合迟滞比较器另一个常见的组合形态是双限比较器也叫窗口比较器。用两个施密特触发器组合一个负责上限判定一个负责下限判定可以检测输入信号是否落在某个电压区间内。如果每个比较器都加了迟滞那么输出状态在整个窗口边界处不会抖动系统可靠性更高。这种结构常用于电池电量监测、温度报警、液位检测。曾经我在一款充电器项目里用它做过充满判断充电电压上升到上限阈值判定充满停止充电电压跌落到下限阈值重新开始充电。如果不加迟滞充电控制会在阈值附近反复切换继电器和充电管都会承受很大的应力。加了2V的迟滞窗口之后整个充放电控制逻辑变得非常干净可靠性提升非常明显。6.3 正反馈应用的调试心得关于正反馈应用我最后想分享几条实际操作中积累的经验。第一能用比较器芯片就别用运放强行当比较器。通用运放的输出级是为线性放大设计的不是为数字翻转设计的即使加了正反馈输出饱和深度和翻转速度都比不上专用的比较器芯片。第二正反馈电阻的取值要在足够强和不会引起不稳定之间找平衡。正反馈过强窗口太大正反馈过弱可能因为运放的开环增益不够导致迟滞效果不明显。通常反馈系数控制在0.01到0.1之间我用的最多的就是0.1左右。第三点也是最重要的一点调试时一定要先画出预期滞回曲线再上电测试。拿一张坐标纸把上升阈值、下降阈值标出来把输入输出对应关系画好然后拿着示波器实测。实测曲线跟预期曲线重合说明电路理解对了不重合说明某个假设错了这时候带着图纸去排查比对着板子瞎猜快得多。这个习惯帮我省下了无数个调试的夜晚也让我对施密特触发器从背公式变成了真正理解。正反馈在运放电路里是个容易被低估的角色但它在施密特触发器、迟滞比较器、方波振荡器这些经典结构里承担着从没有记忆到有记忆的关键一跃。把这个结构吃透很多模拟信号的脏活累活都会变得干净利落。
返回列表