
干硬件这行的几乎都经历过一个“开窍”时刻同一个运算放大器接成负反馈的时候乖巧得不行虚短虚断随手就用可一旦把反馈从反相输入端挪到同相输入端整个电路就像变了个人——输出死死顶在电源轨上怎么都不肯停在中间。这个让无数新手怀疑人生的接法正是施密特触发器也叫迟滞比较器。它用的不是负反馈而是正反馈。这篇文章想做的事很具体把运算放大器在正反馈状态下的行为讲透从施密特触发器的基本原理到反相、同相两种最常用电路的门限推导再到实际选型、调试和工程应用。适合刚接触运放比较电路的学生也适合在产品里被噪声触发问题折磨的工程师参考。1. 正反馈与负反馈的本质差异为什么虚短虚断在这里全部失效1.1 负反馈时代养成的“直觉”在正反馈这里全是坑学习运算放大器的时候最先接触的是同相放大、反相放大、跟随器这些负反馈电路。负反馈的核心是让输出的一部分以“抵消”的方式送回输入端输出升高了反馈会让输入差值减小于是输出又被拉回来。最终电路稳定在虚短和虚断成立的工作点上增益只取决于外部电阻的比例。这套思维用顺了之后碰到正反馈电路会非常别扭。正反馈的反馈信号不是去抵消输入差值而是去“助长”它。输出只要偏离一点点反馈就会把偏离放大输出继续偏离直到撞上电源轨。整个过程没有任何机制把输出拉回中间所以虚短虚断不再成立运放也彻底退出了线性放大区变成一个双稳态器件。在负反馈电路里运放的开环增益越高虚短越精确在正反馈电路里开环增益越高翻转越干脆。1.2 用公式看正反馈的“雪崩”过程可以把运放等效成一个高增益放大器输出与输入差模电压的关系是Vout A × (Vp - Vn)其中 A 是开环增益Vp 是同相输入端电压Vn 是反相输入端电压。负反馈电路里反馈网络把输出的一部分接到 Vn输出升高会导致 Vn 升高从而把 Vp - Vn 压回去。正反馈电路则把输出的一部分接到 Vp输出升高会进一步抬高 Vp于是 Vp - Vn 继续增大输出继续升高。这个循环不会收敛只会一路“雪崩”到运放的饱和输出。假设 Vp 抬高了微小量 δ经过增益 A 放大输出变化 Aδ反馈网络又把其中的 β 送回 Vp于是 Vp 又额外变化 Aβδ。只要 Aβ 大于 1扰动就会指数级增长直到输出达到饱和电压反馈回路才归于平静。工程上很少用这个公式去算具体数值但这个 A×β 大于 1 的条件值得记住它解释了为什么正反馈电路天生就是“非高即低”的状态也解释了为什么它天然适合做比较和整形。1.3 两个稳定状态的记忆效应正反馈运放电路有两个稳定状态分别对应输出为高饱和和低饱和。真正妙的地方在于这两个稳定状态之间存在一个过渡区输入电压在这个过渡区里往不同方向变化时翻转点不一样。也就是说电路“记得”自己上一次输出是什么状态输出状态会影响下一次翻转的临界电压。这就是迟滞。也是为什么很多场景里施密特触发器比普通比较器实用得多。2. 从单门限到迟滞噪声环境下比较器为什么要“记忆”2.1 普通比较器在噪声面前的狼狈相先看普通的单门限比较器反相输入端接参考电压 Vref同相输入端接输入信号输出只有高和低两种状态。输入高于 Vref 时输出翻高低于 Vref 时输出翻低。理想情况下这没问题但实际信号总带着噪声。假设 Vref 设定在 2.5V而输入信号恰好是个缓慢变化的电压上面叠加了几十毫伏的纹波。当信号在 2.5V 附近缓慢爬升时噪声可能让信号在门限附近来回穿越几十次输出也跟着疯狂翻转。输出端的数字电路或继电器根本来不及响应这么高频的翻转轻则逻辑混乱重则器件过热甚至烧毁。解决思路有两个方向一是加低通滤波把噪声滤掉但滤波会带来延迟对响应速度有要求的场合不适用二是让比较器本身具备“免疫”能力这就是迟滞的作用。2.2 迟滞的工作方式两个门限而不是一个迟滞比较器有两个门限上门限 VTH 和下门限 VTL。输入从低往高走的时候要越过 VTH 输出才翻转输入从高往低走的时候要跌回 VTL 输出才翻转。VTH 和 VTL 之间的区域就是迟滞窗口。噪声幅度只要小于迟滞窗口宽度输出就不会发生误翻转。一旦输出翻转了门限会自动切换到另一个值相当于给电路建立了一道“安全隔离带”。这种特性和空调温控非常像设定 26 度启动制冷等温度降到 24 度才停机中间留出两度的缓冲区避免压缩机频繁启停。2.3 迟滞窗口宽度由什么决定迟滞窗口宽度等于 VTH 与 VTL 之差。对运放施密特触发器来说这个差值主要由两个因素决定运放输出高电平和低电平之差以及反馈电阻的分压比例。反馈越强窗口越宽反馈越弱窗口越窄。值得注意的是输出高电平和低电平之差并不是电源电压而是运放实际输出的饱和电压差。很多运放在轻负载下高电平输出能到 VCC - 1.5V 左右低电平输出到 VEE 0.1V 左右具体数值手册里都有。设计时拿这个实际差值去算门限而不是直接拿 VCC 和 GND 算。3. 反相与同相施密特触发器的门限推导与实例计算3.1 反相施密特触发器电路结构与工作原理反相施密特触发器是最常见的一种接法。输入信号经过电阻接到反相输入端参考电压 Vref 接到同相输入端输出端通过反馈电阻 R2 也接到同相输入端。同相输入端的电压是 Vref 和 Vout 通过两个电阻分压的结果。当输出为高电平 VOH 时同相输入端电压被抬高表达式为Vp Vref (VOH - Vref) × R1 / (R1 R2)此时输入 Vin 必须升到比 Vp 更高输出才会翻转为低。所以这个值是上门限 VTH。当输出翻转为低电平 VOL 后同相输入端电压被拉低表达式变为Vp Vref (VOL - Vref) × R1 / (R1 R2)输入 Vin 必须回落到比这个值更低输出才会翻转为高因此这个值是下门限 VTL。迟滞窗口宽度为VTH - VTL (VOH - VOL) × R1 / (R1 R2)用一个实际例子走一遍计算。设 VCC 5VVref 2.5V运放输出高电平 VOH 4.8V输出低电平 VOL 0.2VR1 10kΩR2 100kΩ。VTH 2.5 (4.8 - 2.5) × 10 / 110 ≈ 2.709V VTL 2.5 (0.2 - 2.5) × 10 / 110 ≈ 2.291V输入信号从低往高走超过 2.709V 时输出翻低从高往低走跌回 2.291V 以下时输出翻高。窗口宽度约 0.418V只要噪声峰峰值小于这个窗口输出就能保持稳定。3.2 同相施密特触发器门限关系恰好相反同相施密特触发器的接法是输入信号通过 R1 接到同相输入端反相输入端接参考电压 Vref反馈电阻 R2 从输出端接到同相输入端。两个电阻在同相输入端汇合形成分压网络。节点电压满足关系(Vin - Vp) / R1 (Vout - Vp) / R2解出 Vp 的表达式后令 Vp Vref 即可得到翻转条件。当输出为低电平时输出把节点电压往下拉输入需要升得更高才能把节点电压拉回 Vref所以此时对应的是上门限VTH [Vref × (R1 R2) - VOL × R1] / R2当输出为高电平时输出把节点电压往上抬输入需要降得更低才能让节点电压回到 Vref对应下门限VTL [Vref × (R1 R2) - VOH × R1] / R2继续用上面的参数验证Vref 2.5VVOH 4.8VVOL 0.2VR1 10kΩR2 100kΩ。VTH [2.5 × 110 - 0.2 × 10] / 100 2.73V VTL [2.5 × 110 - 4.8 × 10] / 100 2.27V可以看到同相施密特的 VTH 和 VTL 与反相施密特略有差异但迟滞窗口宽度都是接近 0.46V 的量级。设计时需要根据输入端信号的参考电位选择合适的拓扑。3.3 门限计算中的两个关键细节第一门限计算用的是 VOH 和 VOL不是电源轨。以 LM358 这类输出级不是轨到轨的运放为例在 5V 供电下 VOH 可能只有 3.5V 左右直接拿 5V 去算门限实际翻转点会和你设计值差出一大截。第二如果 Vref 接近 VOH 或 VOL会导致某一侧门限非常靠近电源轨甚至算出来的门限超出合理范围。设计时要把两个门限都算一遍确保它们落在输入信号的正常变化范围之内。3.4 用电阻比值控制迟滞宽度的经验值反馈越强迟滞窗口越宽。R2 相对 R1 越大窗口越窄。实际设计的时候可以先确定窗口宽度再反推电阻比值。比如需要迟滞宽度 0.5V输出高低温差按 4.6V 估算那么 R1 / (R1 R2) ≈ 0.5 / 4.6 ≈ 0.109也就是说 R2 大约是 R1 的 8 倍左右。这个估算方法非常实用。先粗算再根据运放型号的实际饱和电压精调比盲调电阻快得多。4. 实际选型与测量VOH/VOL、失调、电阻精度这些容易被忽略的因素4.1 用运放做比较器还是直接用比较器芯片运放和比较器虽然符号相似但设计目标不同。运放优化的是线性放大性能比较器优化的是翻转速度和电平兼容性。用运放做施密特触发器优点是门限可以精准设定缺点是翻转速度相对慢过驱恢复时间长。用专用比较器芯片比如 LM393、TLV7011 这类翻转速度快但要注意输出结构。LM393 这类芯片的输出级是开集电极必须外接上拉电阻才能输出高电平。上拉电阻的接法会影响 VOH 的值门限计算公式也要做相应调整。很多工程师第一次用 LM393 搭施密特触发器输出死活没有高电平排查半天才发现忘了加上拉电阻。如果信号频率不高精度要求优先运放完全够用如果信号频率高或者后级是高速数字接口选择专用比较器更稳妥。4.2 失调电压和偏置电流会悄悄移动门限运放的输入失调电压 Vos 会直接叠加在门限上。一个 Vos 为 5mV 的运放理论上计算出来的门限可能是 2.500V实际却是 2.505V。如果门限精度要求很高需要选择低失调的运放型号或者在电路里增加调零网络。偏置电流的影响在电阻值很大的时候尤其明显。反馈电阻用到 1MΩ 级别时哪怕偏置电流只有 100nA也会在电阻上产生 0.1V 的压降直接把门限偏掉。设计高阻值反馈网络的时候要认真看运放输入偏置电流的指标必要时选择 FET 输入型运放。4.3 电阻精度对门限精度的影响门限计算依赖 R1 和 R2 的比例那么电阻精度就决定了门限精度。使用普通 1% 精度电阻门限偏差可能达到 2% 左右如果要求门限落在很窄的范围内建议选 0.1% 精度的电阻或者用多个电阻串联并联构成精密分压网络。批量生产的时候电阻温漂也值得关注。碳膜电阻的温漂比金属膜电阻大如果产品工作温度范围很宽门限漂移可能超出预期。选型时优先考虑低温漂的金属膜电阻或薄膜贴片电阻。4.4 压摆率与带宽对翻转速度的限制运放做比较器时输出从一个饱和状态翻转到另一个饱和状态需要时间。影响这个时间的主要指标是压摆率。压摆率低的运放翻转沿会变得很缓输出波形不陡峭后级数字电路可能识别困难。更隐蔽的问题是运放内部补偿电容。很多通用运放为了稳定做了密勒补偿导致过驱状态下恢复很慢。输入信号越过门限之后输出可能要在原来状态上“愣”一段时间才开始翻转这个延迟在高速比较场景下不可接受。所以用运放做比较器别指望它能像专用比较器那样干脆利落。4.5 实测门限的正确方法测量门限时不要直接用万用表去量门限电压然后草草记录。正确做法是用信号发生器输入一个三角波或缓慢变化的正弦波用示波器同时观察输入和输出波形在输出翻转点附近用光标读出输入电压值。注意信号源内阻和示波器探头电容可能对电路产生负载效应内阻较高的信号源尤其明显。如果要在仿真软件里跑这个电路正反馈结构没有稳定的直流工作点瞬态仿真可能无法收敛。解决办法是给输出节点设置初始条件或者把电源的上升时间设得足够慢让仿真器能够沿着真实的翻转路径走。5. 典型工程应用波形整形、阈值检测与RC振荡器5.1 波形整形把缓慢信号变成干净的方波施密特触发器最经典的应用之一就是波形整形。传感器或振荡器输出的正弦波、三角波边缘缓慢而且可能带着噪声直接送给数字电路会触发多次翻转。经过施密特触发器之后输出变成边沿陡峭的方波且噪声引起的抖动被迟滞窗口吸收。实际电路里输入信号的幅度必须大于迟滞窗口宽度。如果信号幅度比窗口还小输出可能根本不翻转。所以设计前先估算信号幅度再决定迟滞窗口大小。5.2 传感器阈值检测防抖动的报警电路温度开关、光敏检测、液位报警这类应用核心问题都是阈值附近信号抖动导致反复触发。比如光敏电阻分压检测环境光黄昏时分光线缓慢变化正好停在阈值附近如果没有迟滞报警器会不停地开启关闭。把施密特触发器的门限设置成两个不同的照度值环境光暗到一定程度才报警环境光必须亮到更高程度才解除报警。这样中间就形成了一道缓冲区实际体验也好很多。5.3 用运放施密特触发器搭RC振荡器施密特触发器加上一个 RC 充放电回路就能构成张弛振荡器。原理是输出高电平时通过电阻给电容充电电容电压上升到上门限后输出翻低然后电容通过电阻放电下降到下门限后再翻高如此往复。振荡周期取决于 RC 时间常数和门限位置。假设输出高电平为 VOH低电平为 VOL上门限 VTH下门限 VTL周期近似为T RC × ln[(VOH - VTL) / (VOH - VTH)] RC × ln[(VTL - VTH) / (VOL - VTH)]如果门限对称输出高低电平对称周期可以进一步简化。设计时先定频率再选 R 或 C注意电容的漏电流会影响低频振荡的精度优先选低漏电的薄膜电容或 C0G 陶瓷电容。5.4 过压欠压保护与窗口比较器电源监测电路里施密特触发器用来防止系统在阈值附近来回切换。比如检测 12V 电源高于 12.5V 认为过压低于 11.5V 认为欠压中间 1V 的迟滞避免电源波动导致的误动作。这种设计既简单又可靠比单纯用 ADC 加软件滤波的方案响应更快。两个施密特触发器可以组成迟滞窗口比较器一个检测上门限一个检测下门限输出逻辑组合判断信号是否落在窗口内。每个比较器各自的迟滞都保留整体抗干扰能力比纯窗口比较器更强。6. 实测体会三个调试误区和对应的排查方法6.1 误区一把电源轨当成 VOH 和 VOL这是最常踩的坑。用普通运放搭出来的施密特触发器输出高电平往往比电源电压低不少。拿 5V 电源轨直接代入公式计算门限结果实际翻转点和设计值差了 0.3V 以上怎么调电阻都调不对。排查方法也很简单先让电路工作在稳定的高或低状态用万用表实测 VOH 和 VOL再代入公式重新计算。把运放实际输出电平测出来之后所有计算都准确了。6.2 误区二忽视电源去耦门限附近高频振荡正反馈电路自带迟滞理论上抗噪声能力很强但前提是运放电源是干净的。如果运放电源引脚旁边没有去耦电容或者去耦电容离得太远输出翻转瞬间的电流冲击会让电源电压塌陷反馈网络把这个塌陷又送回了输入端产生高频振荡。排查方法是用示波器看输出波形如果翻转沿附近出现几十兆赫兹的衰减振荡先把电源去耦做好。每个运放的电源引脚都就近放一个 0.1μF 陶瓷电容再并联一个 10μF 左右的钽电容或电解电容大多数振荡问题都能解决。6.3 误区三信号源内阻与输入电阻分压当输入信号来自高内阻传感器时传感器内阻会与施密特触发器输入端的电阻形成分压导致实际到达运放输入端的电压发生变化。门限测量值看起来是对的但接上传感器后实际工作点完全偏离。排查方法是在设计时估算传感器内阻的影响。如果传感器内阻达到几千欧以上建议先加一级缓冲器隔离或者重新计算包含内阻的分压网络。6.4 调门限时值得养成的几个习惯我个人的习惯是设计阶段先在纸上把 VTH、VTL、窗口宽度全算一遍记录在原理图旁边焊接完先测 VOH 和 VOL再实测门限最后用三角波扫一遍完整回滞曲线确保波形干净利落。这个流程看起来多花了几分钟实际能省掉后面大量的调试时间。调试的时候还有一个自己的偏方把迟滞窗口调到比噪声峰峰值大两到三倍。留的余量太大窗口变宽可能把正常信号变化范围也吃掉余量太小又起不到抗干扰作用。两到三倍是经验上一个比较舒服的区间。