
1. 先搞清楚比较器到底在信号链里干什么活很多刚接触模拟电路的工程师一开始都会把比较器和运算放大器搞混。这俩东西外观相似、引脚排布也像甚至有些芯片型号都能互相代换但本质上完全是两码事。运放工作在闭环状态下核心目标是“让两个输入端的电压尽量相等”配合负反馈做放大、滤波、跟随而比较器的设计目标恰恰相反它就是要让两个输入端的电压差被放大到极端直接输出高电平或者低电平相当于一个1 bit的模数转换器。比较器在嵌入式系统、电源管理、传感器信号调理里都极其常见。比如电池电压低于某个阈值就触发断电保护温湿度传感器的模拟输出电压和基准电压做比较来判断是否超限PWM信号解调、过零检测、窗口检测都绕不开它。可以说凡是“需要把一个连续变化的模拟量变成离散逻辑电平”的地方大概率就会有一个比较器在默默工作。选比较器的时候最忌讳的就是看着型号就下单觉得“都能比电压嘛差不多就行”。实际上比较器的参数之间互相制约传输延迟、功耗、输入失调电压、滞回大小、输出结构、输入共模范围每一项都会直接决定电路能不能稳定工作。这篇文章我就从实际项目出发把比较器最关键的几个参数逐个拆开讲透再结合过压欠压检测、窗口比较、零交叉检测、方波发生这几个典型场景说说我在选型和调试过程中的真实心路。文章适合刚入门硬件设计的同学也能给做了几年嵌入式却对模拟部分不够熟的工程师提供一份可以直接参考的参数速查和选型清单。2. 比较器核心参数逐项拆解看得懂参数表才算迈出第一步2.1 输入失调电压它决定了你的检测阈值到底“偏”了多少输入失调电压Input Offset Voltage通常写作VOS是比较器数据手册里第一个要看的参数。理想情况下比较器正输入端电压高于负输入端哪怕1微伏输出就应该翻转。但现实中的芯片内部晶体管配对总存在误差导致两个输入端的电压明明相等输出却不会立刻翻转需要额外施加一个电压差才能让它达到平衡状态。这个额外的电压差就是失调电压。失调电压带来的实际影响打个比方就很好懂你想设定一个2.5V的阈值用两个电阻分压从5V电源上取基准结果因为比较器自身有±3mV的失调你的实际阈值可能是2.497V到2.503V之间某个值。3mV对2.5V来说只有0.12%的相对误差看上去不大但如果你的系统要求的是1%以内的高精度阈值检测比如锂电池过放保护要做到4.0±0.05V那这3mV失调再叠加电阻误差和基准源误差很可能就超标了。数据手册里VOS一般有两种写法。一种是常温下的典型值比如“Typ 1mV”另一种是全温范围内的最大值比如“Max ±5mV”。设计时务必按最大值来估算因为温度漂移会把失调电压越拉越偏芯片手册给的典型值往往是在25摄氏度下的理想数据真实工况一热一冷偏差就可能成倍扩大。如果你的应用对阈值精度非常敏感有两种办法一是选低失调的比较器有些精密型号能做到100微伏以下二是在软件里做校准——用高精度DAC输出一个已知电压测出实际翻转点然后反推失调值把校正量存进Flash里。2.2 输入偏置电流高阻源信号的大敌输入偏置电流Input Bias CurrentIB是指比较器正常工作时流入或流出输入端的微小电流。理想比较器的输入端是不吸电流也不吐电流的但现实中输入级晶体管必须有偏置通路所以哪怕输入的阻抗再高也会有纳安级甚至微安级的电流流过外部电阻网络产生额外压降从而影响比较阈值的精度。什么时候必须认真考虑这个参数当你的信号源是高阻抗的时候。举个例子一个光敏二极管或者pH电极内阻可能高达几十兆欧如果你直接用它对比较器输入端做比较偏置电流就会在这个巨大的源阻抗上产生一个明显的电压降相当于给真实信号叠加了一个直流偏置误差。比如IB是10nA、源阻抗是10MΩ那么光这一个误差就有0.1V足以让比较器在错误的电平上翻转。避免这个坑有几个思路。第一尽量选IB小的比较器CMOS输入级的比较器常温下IB通常只有皮安级双极型输入级的则可能有几十到几百纳安第二把外部电阻网络的阻抗压低用1k到100k级别的电阻而不是兆欧级别的大电阻第三如果必须处理高阻抗源就在比较器前面加一级高输入阻抗的运放做缓冲。顺带提醒一句IB和失调电流IOS不一样失调电流是正负输入端偏置电流的差值在计算“两个输入端电阻不均衡引起的误差”时IOS才是关键量。2.3 输入共模电压范围别让信号超出“视力范围”很多工程师选了比较器之后发现为什么阈值设得没错信号也足够强输出就是不翻转查了半天问题往往出在共模输入电压范围Input Common-Mode Voltage Range上。比较器两个输入端在正常工作状态下允许施加的电压范围是有限制的超过这个范围内部输入级晶体管就会进入不正常的偏置状态导致失调电压剧增甚至完全无法正确比较。共模范围的数据通常以两种方式给出。一种是轨到轨输入称为Rail-to-Rail Input即输入电压可以覆盖从负电源轨到正电源轨的整个范围这在单电源、低电压系统里非常方便另一种是非轨到轨比如某些老型号比较器在5V单电源下输入共模范围可能只允许0到3.5V超过3.5V比较器就不再保证精度了。很多人在单电源系统里直接拿5V电压做输入信号就没有注意到共模范围的限制结果电路工作非常怪异。实际选型的时候如果你要检测的电压经常靠近电源轨比如用5V供电去检测4.5V的高阈值那么务必看看数据手册里共模范围的上限标注尽量选轨到轨输入的比较器。另一个容易被忽略的问题是有些比较器允许输入电压略微超过电源轨但内部有钳位二极管如果输入信号源内阻比较小超过二极管导通电压后可能会有明显的电流灌入芯片产生额外的功耗甚至损坏芯片。处理外部强干扰信号时最好在比较器输入端串一个限流电阻。2.4 传输延迟决定你“反应快不快”的核心指标传输延迟Propagation DelaytPD是指输入信号跨过比较阈值之后到输出逻辑电平发生跳变之间的时间差。它直接决定了比较器的反应速度。对很多应用来说慢个几微秒无关紧要但在过流保护、电机堵转保护这些场景里延迟每多1微秒故障期间的电流冲击就可能多积攒不少焦耳能量所以这一项往往要非常谨慎。数据手册里的传输延迟会区分两种情况低到高翻转延迟tPLH和高到低翻转延迟tPHL。这两者通常不完全相等因为比较器内部对上升沿和下降沿的处理不对称。有的手册还会标注“过驱电压”Overdrive Voltage条件比如“100mV overdrivetPD300ns”。过驱电压指的是输入信号越过阈值以后继续超出的幅度过驱越大比较器翻转越快。所以如果你发现目标型号的延迟参数达标但实际电路响应还是偏慢可以先检查一下是不是过驱给得太小。想加快响应一种方法是把阈值设得更接近正常信号电平让信号跳变时能迅速跨过更大的过驱区间另一种方法是选择专门的快速比较器比如延迟在几十纳秒级别的型号不过这些芯片往往功耗也比较大。2.5 滞回消除输出抖动的“稳定器”滞回Hysteresis是差动比较中最容易忽略、也最影响实际体验的参数。它的作用简单说就是让比较器的翻转阈值分成两个不同的点当输入电压从低往高走时翻转阈值是VTH_H当从高往低走时翻转阈值是VTH_L。而且VTH_H一定大于VTH_L这个差值就称为滞回电压。为什么需要滞回因为现实世界的信号几乎都不是干净利落的。一个缓慢上升的电压信号在越过阈值附近时如果叠加了哪怕只有毫伏级的噪声比较器的输出就会在阈值附近反复翻转——高速地来回跳变后级电路比如中断引脚、计数器会把这些抖动当成一连串的有效事件导致系统行为错乱。尤其是当信号上升速度非常慢、噪声又不可避免的时候没有滞回的比较器电路几乎是一定会抖的。加一点滞回让翻转点岔开信号只要不出现大于滞回窗口的噪声输出就保持稳定锁定这是解决输出抖动的“一劳永逸”的方案。滞回的来源有两种。一种是芯片内部自带的固定滞回数据手册里会直接标出比如10mV、30mV另一种是外部通过正反馈电阻网络自己搭的后面我会在实践章节专门讲怎么计算和配置外部滞回量。内部固定滞回的好处是简单缺点是滞回量不可调有时偏大有时偏小外部滞回的好处是灵活而且可以结合具体信号噪声幅度来定制但设计时要小心不要让正反馈过于强烈导致比较器翻转后输出波形出现不希望的振荡。2.6 输出结构和逻辑电平开漏、推挽、互补输出的区别比较器输出级的结构会直接决定你后端电路怎么接。最常见的两种结构是推挽输出Push-Pull和开漏输出Open-Drain。推挽输出自带高电平驱动能力输出高时直接拉到电源轨输出低时拉到地可以直接驱动后级逻辑门或者LED。开漏输出则必须外接上拉电阻它自己只能把输出拉低或释放到高阻状态由外部上拉电阻把电平拉高。开漏输出的好处是灵活。你可以把上拉电阻接到和比较器供电电压不同的电平上去比如比较器用3.3V供电但输出要接一个5V逻辑的芯片那就可以把上拉接到5V实现电平转换。多个开漏输出还可以直接并联在一起构成线与逻辑应用在某些需要“任一条件触发即动作”的保护电路里。缺点是开漏输出本身的驱动能力有限频率较高时上拉电阻不能选得太大否则输出上升沿会因为RC延迟而变得非常缓慢。选型时除了看输出结构还要留意输出高电平和低电平的具体指标。推挽输出的高电平离电源轨有多近、低电平离地有多近往往受输出级MOS管导通电阻影响。如果是驱动容性负载或长走线还要关注输出级能提供的瞬态电流能力电流不足的情况下输出边沿可能因为电路中的寄生电容而变得圆滑影响后级逻辑的边沿检测。3. 常用比较器应用场景拆解参数不是孤立的场景才是检验标准3.1 过压/欠压检测阈值的精度、滞回和延迟都重要电源监控是最常见也比较器最常出场的任务。以电池供电的设备为例你希望当电池电压低于3.0V时系统进入低电量保护模式当电池电压高于4.2V时切断充电回路。这个场景里比较器的任务就是持续盯着电源电压越过阈值时给出一个中断信号或直接控制电源路径。设计这个电路时核心的三个参数是失调电压、滞回和传输延迟。失调电压直接决定阈值精度你算出来3.0V的阈值如果比较器有±10mV失调再加上分压电阻的误差实际保护点可能偏移到2.97V或3.03V电池寿命和安全性都会受影响。滞回用来避免电池电压在阈值附近波动时频繁触发保护和恢复——比如电池接入负载瞬间电压跌落然后恢复如果滞回不够系统可能反复进入保护状态又退出严重时甚至导致设备不断重启。传输延迟在这个场景里倒是没那么极端几百微秒的延迟通常可以接受但如果用在工业过流保护这种场景里延迟就必须压缩到纳秒到微秒级。具体设计时往往用电阻分压把电池电压衰减到比较器输入共模范围内然后用一个基准源可以是稳压管、LDO输出或参考电压芯片作为另一个输入端的阈值。分压电阻网络需要考虑流过分压电阻的静态电流电阻越大静态功耗越低但计算时也要叠加比较器输入偏置电流带来的误差这就要和前面提到的高阻抗误差问题联动考虑。一般来说在电池供电的低功耗系统里分压电阻取100k到1MΩ范围输入偏置电流最好选择pA级的CMOS比较器。3.2 窗口比较器一个迟滞窗口搞定“过高过低都要报”的场景窗口比较器是判断一个电压是否处在某个合法区间内的经典电路它通常由两个比较器组成一个负责检查“是否高于上限”另一个负责检查“是否低于下限”两个输出再做逻辑合并。比如一个工业传感器的输出范围是0到3.3V正常范围应该在0.5V到2.8V之间超出这个窗口就说明传感器故障需要产生报警信号。窗口比较器的设计有两个常见的坑。第一个坑是两个比较器共用了同一个基准分压网络但未考虑比较器输入偏置电流的影响导致上下限定得不对称。解决办法是单独给每个比较器提供低阻抗基准或者选用偏置电流极小的比较器。第二个坑是窗口边界附近的抖动在输入电压刚好停在窗口边界时噪声可能让两个比较器的输出交替翻转产生无规律的报警脉冲。处理起来最简单有效的办法就是给两个比较器都加上滞回而且滞回方向要相反——上限比较器的阈值要防止输入在边界附近来回超过下限比较器的阈值要防止输入在边界附近来回低于。滞回方向搞错的话窗口范围会被实际扩大或缩小这点我在实践中吃过亏后面会再详细说。窗口比较器输出合并的方式也需要考虑。如果两个比较器都是开漏输出可以直接把两个输出并联在一起做成线与结构——任一比较器输出低就表示报警。如果输出是推挽结构就需要加一个逻辑门或者用MOS管做合并而且要注意后级逻辑的电平匹配问题。3.3 零交叉检测相位判断和精度要求的协同零交叉检测在交流电源控制、PWM同步、电机控制里都很常见。目标是检测交流正弦波从正半周跨到负半周或从负半周跨到正半周的瞬间。这个瞬间产生一个脉冲信号用来同步其他电路的工作节奏。这个场景对比较器的要求比较特殊。交流信号经过分压后送入比较器另一个输入端接零点基准信号每一个周期都会两次跨过阈值输出方波。但交流信号过零附近往往不是干净利落的一方面它的压摆率本身就在过零处最大另一方面电源线上耦合的噪声会让过零判断出现抖动。通常做法就是加外部滞回但要特别注意滞回量不要太大因为滞回会让比较器的实际翻转点稍许偏离真正的过零点导致相位检测误差。比如50Hz的交流信号滞回造成几十微秒的偏移对应的相位误差可能只有零点几度通常可以忽略但如果应用在几百kHz的交流信号里同样几十微秒的偏移导致的相位误差就不可接受了。另一个零交叉检测的常见问题是输入保护。交流电网直接连接时由于输入信号可能有很大的共模电压或者浪涌尖峰比较器输入端需要接入限流电阻和钳位二极管把电压限制在芯片允许范围内。限流电阻选的太大又会和输入电容形成低通滤波让高频噪声被平滑掉、却也会让信号边沿变缓需要根据信号频率折中。我曾见过一个新手直接拿比较器输入接市电分压电阻没有做任何钳位保护一次雷击浪涌就烧了一片。3.4 用比较器做简易方波发生器滞回和延迟共同决定频率比较器加正反馈电阻和RC网络就构成了经典的弛豫振荡器Relaxation Oscillator可以输出方波信号。虽然现在大部分场景直接用MCU的定时器输出PWM更方便但在某些简单场景里——比如产生一个可调频率的低成本时钟、给隔离电路提供激励信号、或者做一个简易的PWM发生器——比较器振荡器仍然有用武之地。这个电路的原理是让比较器的输出在高电平和低电平之间反复切换通过RC电路的充放电让输入电压在滞回窗口的两个阈值之间来回摆动。振荡频率由RC时间常数、滞回窗口宽度和输出高/低电平幅度共同决定。设计时常见的误区是只算RC常数却忽略比较器的传输延迟和输出压摆率对频率上限的影响。频率很高时比较器的延迟会占掉周期的一大部分导致实际频率低于理论计算值波形也可能不再是理想的方波。这个场景里滞回参数就是振荡频率设计的一部分。滞回窗口越宽电容充放电需要的时间越长频率就越低滞回窗口越窄频率越高但也更容易受噪声干扰导致频率抖动。如果用可调电阻来改造滞回量就能做出一个频率可调的简易信号发生器这个我在实际做传感器激励信号时用过配合一个电阻分压网络调整滞回频率调节范围能做到1kHz到100kHz稳定度对于非精密场合足够用。4. 实战教学一个过压欠压保护电路的完整选型与参数计算4.1 设计目标和系统约束拿一个具体的例子来串一遍所有参数这样比零散讲理论要直观得多。假设手头有一个电池供电的便携设备电池是单节锂离子电池正常工作电压范围是3.0V到4.2V。设计要求当电池电压高于4.25V时切断充电通路防止过充当电池电压低于2.9V时切断负载防止过放。整个监控电路从电池直接取电静态功耗希望控制在10微安以内。输出信号直接送给MCU的GPIO。这个设计要求其实很典型。阈值有两个滞回要加功耗要低精度要够。基于这些需求我选择了轨到轨输入/推挽输出的低功耗CMOS比较器供电电压支持1.8V到5.5V静态电流约几百纳安输入偏置电流是皮安级失调电压典型值1mV。这个选择基本锁定了CMOS工艺的比较器而不是双极型的。4.2 分压电阻网络设计计算假设比较器内部没有集成基准或者我们需要灵活设定两个不同的阈值那么通常的做法是用一个电阻分压网络把电池电压按比例缩小到某一基准电压附近再用外部基准电压源比如2.5V的基准作为另一个输入端的参考。为了让分压网络同时满足两个阈值可以考虑这样的结构电池电压VBAT经过R1和R2分压后送入比较器的同相输入端反相输入端接2.5V基准。比较器翻转条件就是分压电压等于2.5V。假设我们想让翻转点在3.0V那分压比就是2.5/3.00.833也就是R2/(R1R2)0.833可以取R110kΩ、R250kΩ。但这样算的是理想比较器实际上还要加入失调电压、电阻精度、基准误差的影响。一个简单的误差预算计算可以这么做。比较器失调电压±1mV分压点换算到电池端约1.2mV电阻用1%精度分压比误差约2%基准电压芯片精度一般能到±0.5%折算到电池端大约15mV温度漂移按基准10ppm/°C温升30°C就是0.3%折算到电池端约9mV。把这几项做平方和开根号RSS总误差大约在20mV左右也就是实际翻转点可能是2.98V到3.02V之间。对于大多数消费级产品这个精度已经够用如果需要更准就只能换精度更高的电阻、基准和更低失调的比较器。4.3 滞回量的计算和配置接下来要设计滞回。假设电池在接入大负载时电压会瞬间跌落几百毫伏我们希望比较器不要因为这种瞬态跌落而产生误触发那么滞回量至少应该大于这个瞬态跌落幅度。但滞回也不能太大否则会过度延迟系统的恢复判断比如电池电压明明已经恢复正常却因为滞回窗口还没走出来保护状态迟迟不解除。外部滞回的标准做法是通过一个正反馈电阻从输出端引到同相输入端。具体阻值的计算公式是RH R1 // R2 × (VOH - VOL) / VHYS这里R1和R2是同相输入端的分压电阻VOH和VOL是比较器输出高电平和低电平的电压值VHYS是期望的滞回电压。假定VHYS100mVR1//R210k//50k8.33kΩ输出摆幅是4.2V高电平时约等于电池电压减去0.1V低电平时约等于地那RH大约是8.33k × 4.1 / 0.1 341kΩ取标准值330kΩ。这个正反馈电阻的作用原理是这样的当比较器输出翻转到高电平同相输入端的电压会被上拉一些相当于阈值电压抬高了当输出翻转到低电平同相输入端电压又被拉低一些相当于阈值降低了。两个方向的翻转点就自然错开形成滞回。实际调试时不要迷信计算值因为比较器的输入电容、PCB寄生电容、输出级的非线性都会让实际滞回量和计算值有偏差建议先用计算值搭电路再用示波器实测翻转点微调电阻。4.4 输出上拉和接口电路注意事项如果选用的是开漏输出比较器那么上拉电阻的选择就有讲究。上拉电阻太小静态功耗大太大输出上升沿会变缓因为上拉电阻和负载电容构成了RC电路。比如负载等效电容约50pF上拉电阻100k那么上升时间常数就是100k×50pF5微秒这个上升沿对MCU的GPIO来说可能还能接受但如果你用它去驱动一个告诉计数器就会缺脉冲。一般建议在几百纳秒到几微秒的应用中选择1k到10k的上拉电阻具体看你对功耗和边沿速度的权衡。如果是推挽输出则不需要上拉电阻但要注意输出高电平的电压值。有些比较器的推挽输出高电平并不是严格等于电源轨而是略有压降这会影响到后级逻辑的判断阈值。用5V电源驱动3.3V逻辑门时要仔细看逻辑门的输入容忍能力必要时加一个电阻分压或者电平转换芯片避免输出高电平信号超过后级芯片的绝对最大额定值。4.5 选型对比我实际对比过的几款常见型号为了让大家有个直观的选型参考我把自己做这个电路时对比过的几款典型型号列一下。这些型号都是市面上容易买到的价格也不贵。型号供电范围静态电流典型失调电压典型传输延迟输出结构适用场景型号A1.8~5.5V约 0.5µA1mV5µs推挽低功耗电池监控型号B2.7~5.5V约 30µA0.5mV300ns推挽高速保护、过流检测型号C1.8~5.5V约 0.4µA2mV20µs开漏低功耗窗口比较型号D2.0~36V约 1mA5mV80ns推挽工业级宽压高速检测表格是我个人的使用印象具体参数务必以型号数据手册为准。从这个表格能看出延迟和功耗是一对矛盾追求低功耗往往要牺牲速度高速型号的静态电流普遍偏高。选型的思路是先把应用对延迟的上限约束出来再在功耗允许的范围内找延迟最短的。5. 调试中的常见问题与排查技巧5.1 输出在阈值附近反复抖动先检查滞回再检查电源这是比较器电路最常见的现象信号缓慢接近阈值时输出不是干净地翻转一次而是在阈值附近抖成一片毛刺。很多人第一反应是换更贵的芯片其实先做两件事第一用示波器看比较器供电引脚是不是电源上存在明显的纹波——如果比较器用的基准端和电源直接相连电源纹波会直接耦合到阈值点上信号本身没抖阈值在抖第二确认滞回是否有效如果芯片没有内部滞回外部又没有加正反馈电阻那么抗噪能力就约等于零加一个几百千欧的正反馈电阻往往能立竿见影。还有一种抖动情况是信号本身的实际噪声比预期大比如来自开关电源的耦合干扰频率很高、幅度不小。这时除了加滞回还要考虑在比较器输入端加RC低通滤波把高频噪声滤掉。滤波的截止频率要根据信号的最高频率来定滤过头了会把信号测慢反而影响响应速度。5.2 阈值精度不达标别全赖比较器有时实测翻转点和计算值差了很大先别急着怀疑芯片参数。比较器外围电阻的精度、基准电压源的精度和温度系数、PCB上的漏电流这些因素叠加起来的误差往往比比较器本身大得多。一个实用的排查方法是用高精度万用表直接测比较器两个输入端的电压看它们在实际翻转瞬间是否等于设计阈值。如果输入端电压明显偏离理论值问题大概率出在外围电阻网络的精度或基准上如果两个输入端电压关系是对的输出却没在预期位置翻转那才需要怀疑比较器本身。另外别忘了比较器输入端的电压是“在分压网络和源阻抗共同作用下的结果”高阻值分压电阻配合微小的PCB污染就可能带来你意料之外的漏电流这在潮湿环境里尤其明显。低功耗设计用1MΩ以上的大分压电阻要格外小心必要时可以给PCB加涂覆或者用聚四氟乙烯柱支撑高阻节点。5.3 比较器输出驱动容性负载时振铃或畸形输出直接接一个较大的电容比如长走线情况下等效电容能达到几百pF或者驱动MOSFET栅极推挽输出的比较器可能会因为驱动能力和负载电容之间形成非常陡峭的瞬间电流冲击导致输出波形出现振铃、过冲甚至局部振荡。解决思路是限制输出端的瞬态充放电电流在输出端串联一个小电阻比如几十到几百欧姆这样做会稍微增大边沿时间但能明显抑制振铃对大多数逻辑接口影响不大。如果是开漏输出的比较器容性负载导致的问题更多体现在上升沿过缓。你要么减小上拉电阻提高充放电速度要么在输出后面加一个施密特触发器整形。还有一种办法是选择本身输出级驱动能力更强的型号数据手册里的输出高/低电平电流指标能提供参考。5.4 上电顺序导致误动作用“先比后动”的思路兜底很多比较器监控电路在上电瞬间会输出一个短暂的错误电平。原因在于比较器两个输入端的电压建立速度可能不一样比如给比较器供电的电源LDO输出需要几毫秒才能稳定而外部基准可能立即可用或者分压网络在电源爬升过程中建立的电压比例和稳态时不同这些都会导致比较器在上电过程中产生不期望的翻转。处理的方法通常有三种。第一在输出到后级逻辑之间加一个简单的RC延时电路确保输出信号在上电稳定后才被认为是有效信号。第二用带“使能”引脚的比较器电压稳定后再激活比较器让它开始工作。第三如果后级是MCU可以在MCU里延长一段时间的软件滤波忽略上电后最初几十毫秒内收到的报警信号。我个人在实际项目里常用第一种和第三种组合既能保证比较器及时工作又不会因为上电抖动误触发设备动作。5.5 常见问题排查速查表故障现象可能原因排查方向解决方案输出阈值附近抖动无滞回或滞回不足看输出波形是否在翻转点来回跳动加正反馈电阻或选带内部滞回的芯片翻转过早/过晚外围电阻精度差、基准漂移测量两个输入端电压和计算值对比换高精度电阻检查基准源型号电源上电瞬间误触发供电建立时序不一致示波器看比较器电源和输入端的时序增加输出RC延时或使用使能引脚输出上升沿过缓开漏上拉电阻过大负载电容大测量输出上升时间常数减小上拉电阻加整形电路输出振铃容性负载过大驱动电流过大输出端波形有无过冲输出串小电阻调整驱动能力高阻输入时精度变差输入偏置电流在源电阻上产生压降算IB和源阻抗的乘积选CMOS比较器或加运放缓冲6. 比较器选型的几个实用心法做了几年硬件我个人的体会是比较器选型有一套比较固定的思路。先把应用的温度范围、供电电压、静态功耗、传输延迟和输入信号阻抗这几项固定下来基本就能筛掉大半的型号。然后结合数据手册里最有迷惑性的几个参数——比如典型值和最大值的差异、共模范围是否轨到轨、滞回是有内部还是需要外部搭——再做一轮挑选最后打样实测比对着数据手册一通乱挑要高效得多。关于失调电压我再多说一句。很多工程师只看25摄氏度下的典型失调电压导致批量生产时出现部分板子阈值偏差很大。量产设计务必以全温范围的最大值来做误差预算甚至在原型阶段故意用极端温度测试几块板子看看阈值漂移是否还在容忍范围内。如果超过那就该考虑更换失调更小的比较器或者改用校准方案。另一个容易被忽视的点是输入共模范围和供电电压的关系。有的比较器虽然标称“轨到轨输入”但输入电压接近正轨时失调电压会明显变大数据手册里通常会用一个“共模电压对失调电压的影响”曲线来描述。如果你的信号长期工作在接近电源轨的区间建议去翻一翻数据手册里的这个曲线图不要只看绝对最大额定值。真实项目中我曾经遇到过一颗宣称“轨到轨”的比较器在输入接近正轨2V以内时失调电压增加了近10倍虽然不至于完全失效但阈值精度已经超差对精密检测来说就已经不可接受了。7. 最后再分享几个调试小经验每次带新人做比较器电路我最喜欢让他们做的一步是用信号发生器给比较器输入一个缓慢变化的三角波然后用示波器双通道同时观察输入和输出把翻转点的电平逐一刻度读出来。这个操作虽然简单却能一次同时验证阈值精度、滞回量、传输延迟和输出摆幅比拿万用表点来点去直观得多。另外就是在PCB布局上比较器的输入端非常容易吸收噪声。输入走线要尽量短远离开关节点和时钟线如果需要用分压电阻把分压网络尽量靠近比较器引脚并且在地平面上保持完整不要在这个区域开槽割地。正反馈电阻滞回电阻要从输出端直接引到同相输入端尽量不要和输入端分压网络共用太长的走线段避免反馈信号把噪声耦合进输入回路。最后说一个很多人问过我的问题比较器的输出能不能直接驱动MOSFET或者继电器答案是要看电流。比较器的输出驱动能力通常只有几十毫安甚至更小直接驱动大电流负载很容易烧毁输出级或者因为驱动不足让MOSFET工作在放大区导致发热。正确做法是用比较器输出控制一个专门的驱动电路比如三极管/MOSFET驱动器或者继电器驱动芯片。这个原则很重要我见过不止一个项目因为贪图省事用比较器直接驱动负载结果芯片输出级烧毁整个板子都得返修。