1. 先想清楚为什么这颗老掉牙的比较器还值得单独拿出来拆一遍LM311比较器这颗片子我第一次正经用它是在一块把工业现场 ±10V 信号送进单片机的采集板上。当时图省事拿 LM358 当比较器用结果在输入缓慢越过阈值的那一段输出在高低之间来回抽搐后级计数器直接乱跳。换成 LM311、加了 20mV 回差之后世界瞬间安静。从那以后凡是遇到信号慢、环境脏、还要跨电平域的场合我都会先把它从料架上拿下来看看。LM311比较器的定位很清楚单通道、开集电极输出、输入共模范围能一路压到负电源轨、响应时间在 200ns 量级、输出管能灌几十毫安电流。它不是精密比较器也不是高速比较器但它把够快、够皮实、够灵活这三件事凑在了一起。做工业控制板、电机驱动、电源监控、光耦隔离接口、把 24V 现场信号搬到 3.3V 逻辑域的人基本绕不开它。刚入门的同学看它引脚少、外围简单容易掉以轻心实际上它的坑大多藏在引脚定义和输出结构里不看手册直接抄图翻车概率很高。下面我把这几年用它踩过的坑、算过的参数、改过的板子按照先看结构、再算参数、然后抄电路、最后排查问题的顺序完整铺一遍。不管你是在校做课设还是在公司画第一版原理图都能直接拿去用。1.1 它到底是个什么东西一句话说透电压比较器做的事情只有一件比较两个输入端的电位谁高就输出对应状态。LM311比较器的同相端电位高于反相端时输出管关断输出脚被外部上拉电阻拉高反过来输出管导通把输出脚拉到接近地。就这么简单没有任何线性放大的义务也没有内部补偿电容所以它能做得比运放快得多。关键差别在于输出。普通运放是推挽输出你什么都不接它也能自己输出高电平和低电平LM311比较器的输出是一个孤零零的 NPN 管集电极引到第 7 脚发射极引到第 1 脚两个脚都在外面。这意味着不接上拉电阻它永远给不出高电平输出脚就是悬空的。这一点是新手最容易犯的错我在论坛上回答过不下二十次我的 LM311 输出一直是低的问题最后十有八九是忘了上拉。1.2 拿运放当比较器问题到底出在哪很多人第一反应是运放也能比较干嘛要多花钱买比较器。这话在小信号、慢速、干净的场合成立但在真实板子上会暴露三个问题。第一是恢复时间。运放开环工作时输入一旦越过阈值内部差分对会进入饱和退出饱和需要时间典型运放可能要几微秒到几十微秒才能恢复。如果你的信号是 1kHz 以上的方波或者带毛刺的开关量运放根本跟不上输出会出现明显的拖尾和脉宽失真。第二是输出摆幅与电平域。运放输出摆幅受供电轨限制想直接把 24V 域的信号搬到 3.3V 域中间还得再加一级电平转换。而 LM311比较器的集电极是独立引出的上拉电阻想接哪路电源就接哪路电源只要不超过输出管耐压一根电阻就完成了电平搬移这是它最讨人喜欢的地方。第三是确定性。运放没有内部迟滞输入信号在阈值附近带一点点噪声输出就会在高低之间高频抖动比较器虽然也没有内部迟滞但它响应快、边沿陡配合外部正反馈做迟滞非常容易收敛。而且比较器的输入失调、共模范围这些参数是照着开关判断这个用途标的你按手册用不会出意外。1.3 该用它和不该用它的分界线我把自己的判断标准整理成下面这张表基本上照着对号入座就不会选错场景特征建议理由需要把高压侧信号搬到低压逻辑域优先 LM311集电极独立上拉直接接目标电压轨信号边沿慢、带噪声、需要迟滞优先 LM311响应快外部正反馈好设计不易抖要直接驱动光耦、小继电器、LED优先 LM311灌电流能力强省一级三极管多路信号一起判断需要线与优先 LM311 或 LM339开集电极输出可以直接并联要求失调小于 1mV别用它手册最大值 7.5mV 量级得选精密型要求纳秒级响应别用它200ns 量级高速场合要换专用器件电池供电、静态功耗敏感慎重静态电流 5mA 量级比微功耗比较器高一个数量级输入信号会顶到正电源轨慎重共模上限大约在 V 减 1.5V 到 2V这张表里最后一行特别值得展开说。很多人看到输入共模范围包含负电源轨就以为它轨到轨其实只有下限好上限是够不着的。5V 单电源供电时输入超过 3.5V 左右内部差分对就退出线性区输出状态可能反过来也可能卡住不动。这个现象非常像芯片坏了实际只是用超范围了。2. 引脚和内部结构三个必须吃透的细节LM311比较器常见的 8 脚封装引脚定义不复杂但有三处地方跟直觉不一样必须掰开讲。2.1 第 1 脚不是地是输出管的发射极大部分人看到第 4 脚标着 V-就默认第 1 脚是电源地随手接到 GND 完事。在单电源场合这么接确实没问题因为 V- 本来就是地。但在双电源 ±15V 的场合第 1 脚和第 4 脚是两个不同的节点第 4 脚接 -15V第 1 脚接系统的模拟地。为什么因为第 1 脚是输出管的发射极它决定了输出低电平的参考点。发射极接地输出低电平就是 0V 附近后级逻辑电路能直接认如果把第 1 脚接到 -15V输出低电平就跑到 -15V 附近去了后级直接被拉爆。我见过一块板子把这两个脚接反上电之后输出端一直挂着 -14V把后面的 CMOS 门电路全带走了。注意双电源供电时第 1 脚接模拟地第 4 脚接负电源。这个顺序不能凭感觉画原理图时把这两个网络名写清楚别都用 GND 符号糊过去。顺便说一个冷门用法既然发射极和集电极都引出来了把这两个脚对调着接就能得到一路射极跟随的输出能主动拉电流而不是只灌电流。驱动容性负载或者需要快速拉高的时候有点用但绝大多数场合没必要这么折腾接错就是短路风险大于收益。2.2 第 6 脚平衡和选通挤在一个脚上第 5 脚和第 6 脚是一对手册里叫 BALANCE / STROBE。这两个脚有两个用途一是外接电位器做失调调零二是第 6 脚单独还能当输出使能/关断用。调零的标准接法大致是10k 电位器跨接在 5、6 两脚之间滑动端串一只几十 k 的电阻接到正电源轨也有资料接成到地两种接法都能调只是调零范围不同。动手前建议翻一眼手上那颗片子对应厂家的手册里 Offset Balancing 那一页阻值标注各家略有出入。调零的代价是会增加一点输入偏置电流的不对称所以只有在真的需要压失调时才用普通开关判断场合让这两个脚悬空就行。真正要命的是选通功能。第 6 脚的电位被拉到比第 1 脚发射极低大约 1V 以下时输出管被强制关断输出进入高阻态不管输入是什么状态。单电源供电时第 1 脚就是地那么第 6 脚只要接到地输出就被永久关断。表现出来是什么输出脚被上拉电阻拉高永远高输入怎么变都不动。新手一看输出不动第一反应是芯片坏了换一片还是这样最后发现第 6 脚在画图时被顺手连到了地网络。注意不用调零和选通时第 5、6 脚悬空处理。千万不要为了防干扰把它们接地或者接电源尤其是第 6 脚接地等于给自己关了个死开关。如果确实需要选通功能比如多路比较器分时复用一根输出线那就用一个小逻辑门或者三极管去拉第 6 脚注意拉低时要低于发射极电位 1V 以上才可靠触发。2.3 输入级下限很宽容上限很吝啬LM311比较器的输入级是 PNP 差分对这个结构决定了共模范围的下限能一直延伸到负电源轨甚至略微超出手册里在 ±15V 供电时下限能到 -14.7V 左右上限则止步于正电源轨下方 1.5V 到 2V 的位置。换算成实际数字5V 单电源输入有效共模范围大约是 0 到 3.5V12V 单电源大约是 0 到 10.5V±15V 双电源大约是 -14.7V 到 13V。你在设计分压网络的时候必须把这个上限当成硬约束来算。举个具体的例子。某块板子用 12V 供电要检测一路 0 到 10V 的传感器输出是否超过 8V。如果直接把信号送进同相端8V 还没到 10.5V 的上限看着没问题但只要传感器输出瞬间窜到 11V工业现场很常见输入级就退出线性区输出可能翻转到错误状态而且这个错误状态会一直保持到信号回落。正确做法是用两只电阻把 0 到 12V 分压到 0 到 4V 再送进去阈值相应折算同时在高输入端并一只钳位二极管到 12V 轨把异常高压挡在外面。共模范围之外还有两个隐性参数容易被忽略。一个是输入失调电压手册最大值在 7.5mV 量级意味着两个输入端即使看起来一样高实际也可能有 7.5mV 的判断偏差。另一个是输入偏置电流典型值在 100nA 到 150nA 量级这个电流流过信号源内阻会产生额外压降。如果信号源内阻是 100kΩ150nA 乘上去就是 15mV 的额外失调比芯片本身的失调还大。提示信号源内阻超过 10kΩ 时一定要把偏置电流的影响算进去并且尽量让两个输入端的等效源阻抗接近让偏置电流产生的误差互相抵消。温度升高时偏置电流还会成倍增长85℃ 环境下 100kΩ 源阻抗带来的误差可能达到几十毫伏高温场合尤其要留余量。3. 参数怎么算上拉电阻、迟滞窗口、功耗、延迟这一节是全文最干货的部分我把平时算参数的过程原样写出来你照着代数字就行。3.1 上拉电阻从上升沿倒推别凭手感上拉电阻选多大取决于三件事后级要的边沿速度、输出能灌多少电流、以及你愿不愿意为这点速度付功耗。先说边沿。开集电极输出的高电平是靠上拉电阻给负载电容充电建立的上升时间近似等于 2.2 乘以 R 乘以 C这里的 C 是输出节点所有电容之和后级输入电容、布线电容、调试时探头电容。10% 到 90% 的上升时间基本上就是这个量级。场景一接 3.3V 单片机输入负载电容按 15pF 输入电容 10pF 布线 10pF 探头算合计 35pF。要求上升时间小于 100ns那么 R 要小于 100ns 除以2.2 × 35pF约等于 1.3kΩ。取 1kΩ 标准值输出低电平按 0.3V 算灌电流约 3mA远在器件的几十毫安能力之内上拉电阻本身耗电约 9mW可以接受。场景二驱动光耦。假设用常见的晶体管光耦正向电流要 5mA发光管压降 1.2V上拉接到 12V。电阻等于12 − 1.2 − 0.5除以 5mA约 2.06kΩ取 2kΩ实际灌电流约 5.15mA。这里减掉的 0.5V 是输出管饱和压降的估计值实际值会随灌电流变化手册里灌 8mA 时典型饱和压降在 0.75V 左右所以驱动电流大的时候要按实际曲线再核一遍。场景三信号要经过 5 米排线送到另一块板线缆电容按每米 100pF 估总共 500pF。要求上升时间小于 1μsR 要小于 1μs 除以2.2 × 500pF约 909Ω取 820Ω灌电流约 4mA。这种场合还要考虑反射最好在接收端串 33Ω 到 100Ω 的阻尼电阻。注意上拉电阻不是越小越好。电阻越小输出低电平时流过输出管的电流越大芯片内部耗散越多同时低电平会被饱和压降抬得更高后级的电平容限可能就不够了。手册里那个 0.75V 的饱和压降是实打实的别拿它当 0V 用。3.2 迟滞窗口两个阈值的手算过程迟滞比较器的原理是在同相端引入正反馈让输出翻转后把阈值往反方向推一把形成上下两个不同的门限。这样输入信号在门限附近抖动时只要抖动幅度小于回差输出就不会反复翻转。我拿一组实际用过的参数来算。设参考电压 2.5V 由基准源给出同相端经 R1 10kΩ 接参考经 R2 100kΩ 接输出输出上拉到 5V。输出高时接近 5V输出低时接近 0.2V。输出为高时的上门限VTH_H (Vref × R2 Vout_H × R1) / (R1 R2) (2.5 × 100k 5 × 10k) / 110k (250 50) / 110 2.727V。输出为低时的下门限VTH_L (2.5 × 100k 0.2 × 10k) / 110k (250 2) / 110 2.29V。回差等于 2.727 减 2.29约 0.44V。这个回差很宽适合信号带大量毛刺的场合。但如果信号本身很干净、你又想要精确的翻转点0.44V 就太粗了得把 R2 调大。反过来算如果 R2 取 1MΩ上门限变成 (2.5 × 1M 5 × 10k) / 1.01M (2500 50) / 1010 2.525V下门限是 (2500 2) / 1010 2.477V回差只有 48mV。这时候如果输入噪声峰峰值有 100mV输出照样会抖回差不够用。中间值怎么找按需要的回差倒推。假设输入噪声最大 100mV 峰峰我一般留两倍余量取 200mV 回差。回差公式可以简化成 (Vout_H − Vout_L) 乘以 R1 除以 (R1 R2)把已知量代进去0.2 4.8 × 10k / (10k R2)解出 R2 约 230kΩ取 220kΩ。这时候回差约 209mV正好覆盖噪声并留了余量。注意回差的大小跟输出高电平直接相关。同一套电阻上拉到 5V 和上拉到 12V回差能差出一倍多。如果你后期改板把上拉电压从 5V 换到 12V迟滞窗口会跟着变宽翻转点会偏移一定要重算。我吃过这个亏改了个上拉网络结果整套阈值判定全部错位。还有一个容易被忽略的问题反馈电阻 R2 会把输出端的电压往参考节点上灌如果参考是用两只电阻分压得到的分压点的等效内阻会被 R2 拉偏。举例来说12V 经 10kΩ 和 3.3kΩ 分压得到约 2.97V等效源阻抗是两只电阻并联约 2.48kΩ你接一个 100kΩ 的反馈电阻上去直流工作点立刻偏移百分之几阈值全错。解决办法有两个一是把分压电阻取小比如 1kΩ 和 330Ω代价是静态电流涨到 9mA二是用一只基准源或者运放缓冲把源阻抗压到几欧姆。我更倾向后者多花几分钱换来阈值不用反复调。3.3 输出级功耗与结温别让上拉电阻把芯片烤了LM311比较器自身的静态电流在 5mA 量级双电源 ±15V 供电时静态功耗约 150mW。这个数字看起来不大但要注意输出级的额外功耗输出低电平时上拉电流全部从输出管流过这部分功率完全消耗在芯片内部。算一笔账。上拉接 30V电阻 1kΩ输出低时电流约 30mA假设饱和压降 1.5V大电流下会明显高于 0.75V输出管上的功耗就是 45mW。加上静态的 150mW总共接近 200mW。8 脚封装的热阻按 150℃/W 估结温会比环境高 30℃。如果环境本身就有 70℃结温冲到 100℃参数漂移、寿命下降都会跟着来。所以大电流驱动场合我会做三件事一是把上拉电阻加大到刚好够用的程度别为了追求边沿速度一路往下压二是尽量让输出管的占空比低别让它长期处于导通状态三是如果确实要长时间灌大电流干脆在外面加一只三极管或者 MOS 管让 LM311 只负责判断功率交给外面的管子。3.4 延迟与过驱200ns 是有条件的手册标的响应时间 200ns 左右这个数字有前提输入过驱是毫伏级的小信号。所谓过驱就是输入超出阈值的幅度。过驱越大内部节点充放电越快延迟越短过驱只有几毫伏时输出可能要几百纳秒才动。实际设计时我按这个经验取值过驱 5mV 到 20mV延迟按 200ns 到 300ns 估过驱 100mV 以上延迟能压到 100ns 以内如果是大幅度的阶跃信号几十纳秒就能建立。这个特性带来一个副作用如果你的信号是缓慢上升的斜坡输入刚好越过阈值那一刻过驱几乎为零输出翻转会拖得很慢边沿上容易出现台阶甚至振荡。加迟滞能解决大部分问题因为迟滞让输入在翻转瞬间有一个明确的过驱量等于人为把过驱做大了。还有一个隐性延迟是输出级的。开集电极输出加上拉电阻本质是一个 RC 充电过程前面算过1kΩ 配 35pF 是 77ns 量级。所以系统总延迟大致等于器件延迟加上拉建立时间两者量级相当谁都不能忽略。想把总延迟压到 100ns 以内上拉电阻必须往 500Ω 以下走这时候就得重新算功耗了。4. 四个可以直接抄的电路下面这几个电路都是我在实际板子上用过的参数是最终版可以直接照搬改供电时记得重算阈值。4.1 过零检测加 3.3V 电平搬移用途把一路以地为参考的交流信号比如电流互感器二次侧经过整流的脉动信号转换成 3.3V 逻辑方波送给单片机做频率测量或者相位判断。接法反相端接信号同相端接一个由两只 10kΩ 电阻从 3.3V 分压得到的 1.65V 偏置输出经 1kΩ 上拉到 3.3V 送进单片机。信号幅度要限制在 0 到 3.3V 之间超范围时前面加分压和钳位。为什么用 1.65V 而不是 0V 做阈值因为单电源供电时输入共模下限虽然是地但信号在 0V 附近时输入级工作状态很差加个中点偏置让输入始终待在舒适区同时也能检测双向信号。上拉为什么是 1kΩ按前面算的接 3.3V 逻辑、35pF 负载1kΩ 给出 77ns 上升时间足够 100kHz 以下的信号使用。如果信号频率更高把上拉降到 470Ω同时确认单片机引脚的灌电流承受能力。调试要点这个电路最容易出的问题是地线。信号源和比较器不在同一个接地点共模电压会把阈值顶偏。我的做法是信号进来先过一个 100Ω 电阻再并在输入端一只 100nF 到地把高频共模滤掉同时保留直流判断。4.2 反相迟滞比较器一组能直接用的完整参数用途把一路缓慢变化的模拟量比如热敏电阻分压、电池电压采样转换成干净的开关信号用于告警或者状态切换。完整参数供电 12V参考 2.5V用基准源给出源阻抗小于 1ΩR1 10kΩ 从参考到同相端R2 220kΩ 从输出到同相端输出经 4.7kΩ 上拉到 12V 送给后级 MOS 管栅极反相端接被检测信号。算一遍阈值输出高时接近 12V上门限等于 (2.5 × 220k 12 × 10k) / 230k (550 120) / 230 2.91V输出低时接近 0.2V下门限等于 (550 2) / 230 2.4V。回差约 0.51V。等等这里有个细节要注意输出上拉到 12V输出高电平就是 12V直接送 MOS 管栅极是可以的但如果后级是 3.3V 逻辑就必须改成上拉到 3.3V此时阈值全部要重算。这就是前面强调过的上拉电压影响回差。MOS 管栅极那一侧串一只 100Ω 电阻限流栅源之间并一只 10kΩ 下拉防止比较器输出高阻态时栅极悬空误导通。如果驱动的是感性负载继电器线圈线圈两端必须并续流二极管否则关断瞬间的反电动势会顺着栅极倒灌。4.3 两片做窗口比较器输出直接线与用途判断一路信号是否落在 [下限, 上限] 区间内比如电池电压在 10.5V 到 14.5V 之间算正常超出任一边界就报警。接法第一片负责下限信号接反相端下限参考接同相端信号低于下限时输出被拉低第二片负责上限信号接同相端上限参考接反相端信号高于上限时输出被拉低。两片的输出脚直接连在一起共用一只 10kΩ 上拉到 3.3V再接到单片机。这就是开集电极输出的价值所在两只输出管并联任何一只导通都会把线拉低天然实现或逻辑一行代码都不用写。如果用推挽输出的比较器两个输出脚直接并联会打架一个想拉高一个想拉低轻则输出错乱重则烧管子。实际接线时有一个坑两片的参考电压必须由同一个基准源分压得到不能各用各的分压电阻否则两路参考的温漂方向不一致窗口会随温度呼吸。我一般用一只可调基准再用精密电阻分成两路中间加点去耦。另外线与的节点上如果有长线引出要在靠近比较器的地方串一只 100Ω 电阻防止外部干扰直接打到输出管上。上拉电阻放在接收端还是发送端我习惯放在比较器这一侧这样线断了接收端就是低电平是安全状态。4.4 单电源上电延时与光耦驱动用途一上电延时。系统上电后某些电路需要等电源稳定再使能。做法是用 RC 网络V 经 100kΩ 电阻给一只 10μF 电容充电电容电压送到同相端反相端接 1.2V 参考用两只电阻从 5V 分压。上电瞬间电容电压为 0输出被拉低电容充到 1.2V 时输出翻高延时时间约等于 100k × 10μF × ln(5 / (5 − 1.2))大约 0.27 秒。经验公式是 1.1 倍 RC 这个量级实际受电容容差和阈值精度影响误差能到 30%要求精确就用 NE555 或者单片机。用途二光耦驱动。输出经 2kΩ 上拉到 12V接光耦发光管阳极阴极接地发光管两端反并一只保护二极管。输出低时光耦导通把信号传到隔离侧。注意 LM311 只能灌电流所以光耦必须接成阳极接上拉、阴极接输出的灌电流形式不能反过来接成拉电流形式。这里有个细节光耦关断时发光管结电容和上拉电阻构成 RC关断沿会比开通沿慢。传高速信号时要选高速光耦或者把上拉电阻减小到 1kΩ 以下同时确认比较器的灌电流能力够用。5. 从面包板到能出厂的板子布线与调试面包板上能跑通的电路画成 PCB 之后跑不通这在比较器电路上特别常见因为它涉及模拟阈值和数字边沿两种特性。5.1 布局布线的五条硬规矩第一条电源去耦必须靠近芯片。第 8 脚和第 4 脚单电源时是地之间并一只 100nF 陶瓷电容距离控制在 5mm 以内再在整板电源入口放一只 10μF 电解或者钽电容。比较器翻转瞬间会有几十毫安的瞬态电流去耦不到位电源上会出现尖峰尖峰又会耦合回输入端形成自激。第二条输入端和输出端走线尽量垂直不要平行走太长。开集电极输出的边沿很陡dV/dt 大平行走线容易通过寄生电容耦合到高阻抗输入端造成误翻转。如果实在躲不开中间加一根地线隔离。第三条参考电压节点单独走线不要和数字信号共用一根地。分压电阻的地要接到模拟地最后单点汇合。第四条输入信号线尽量短如果必须长距离引入串电阻加对地电容做低通把高频干扰挡在芯片外面。串阻取 100Ω 到 1kΩ电容取 100pF 到 1nF时间常数不要影响到有用信号的带宽。第五条输出驱动大电流负载时负载电流回路要单独走不要从比较器地线上借道。灌电流那几十毫安如果流经输入端的参考地会在地线上产生压降直接串进阈值里。我见过一块板子光耦一动作比较器就误翻转最后查出来就是负载地和信号地共用了一段走线。5.2 调试时的测量方法示波器看比较器输出最忌讳用长地线夹子。探头的地线夹子有十几纳亨电感测快速边沿时会看到一堆振铃误以为电路自激。正确做法是把探头帽拔掉用接地弹簧直接顶在输出脚旁边最近的地过孔上。测上升沿时要注意探头本身的影响。普通的 10 倍探头输入电容在 10pF 量级接到输出节点上等于给上拉电阻增加了负载你测到的上升沿会比实际电路慢。如果实测边沿和你算的理论值差得多先想想探头的影响。判断有没有自激别只看输出的高低状态要把示波器时基调到微秒级看输出边沿上有没有叠加高频振荡成分。有时候输出看起来是高的实际上是在高速抖动万用表测出来是个中间电压骗人不浅。验证迟滞窗口时用一个可调直流源慢慢扫输入同时用万用表测输出记录翻转点的输入电压上下各扫一遍两个点的差值就是实际回差。如果实测回差和你算的差很多先检查参考节点的源阻抗是不是被反馈电阻拉偏了。5.3 上电顺序与端口保护LM311比较器在双电源系统里有上电顺序问题。如果正电源先到、负电源后到输入端可能承受超出范围的电压。稳妥的做法是在两个输入端各串一只 1kΩ 到 10kΩ 电阻再各接一只肖特基二极管钳位到正负电源轨把异常电压泄放到电源网络里。输出端如果连到外部连接器要假设它会被人手摸、被静电打。串一只 100Ω 电阻再加一只 TVS 或者钳位二极管到地是最低配置。上拉电阻本身也有保护作用它限制了输出管的最大灌电流。还有一点是热插拔。板子插拔瞬间外部信号可能先于电源建立形成输入有信号、芯片没上电的状态这时电流会通过输入端的 ESD 结构倒灌进电源网络。如果设备要支持热插拔输入端必须串限流电阻并且确认倒灌电流在芯片允许范围内。6. 排查实录那些让人怀疑芯片坏了的现场我把自己和同事遇到过的问题整理成下面这几组基本上覆盖了 LM311比较器在量产板上的大多数故障模式。6.1 输出永远是高怎么都不翻转第一个怀疑对象是上拉电阻接错了位置接到了输入端而不是输出端。第二个怀疑对象是第 6 脚被误接到地触发了强制关断。第三个是输入端接反了同相和反相互换逻辑整个倒过来看起来像不翻转。第四个是输入信号没有真正到达芯片中间有隔直电容或者虚焊。排查顺序我一般是这样先用万用表量输出脚对地的电压如果一直是电源电压说明输出管从来没导通然后把第 6 脚撬起来或者断开它的接地再看输出是否恢复还没好的话把输入两端短接同时手动加一个明确的高低电平到同相端强制制造一个翻转条件。这三步走完问题基本定位到具体节点。还有一种很隐蔽的情况芯片是假的或者翻新的。市面上流通过的拆机件参数可能已经漂移失调电压大到几十毫伏你以为的阈值和实际的阈值差了老远。批量化产品尽量走正规渠道样机阶段遇到怎么调都不对的片子换一片同型号对比一下最快。6.2 边沿抖动、多次翻转典型现象是输入信号缓慢变化输出在翻转点附近连跳好几下。原因只有一个没有迟滞或者迟滞不够。先量实际回差。用可调源慢慢扫记录上下翻转点。如果两点几乎重合说明反馈电阻没起作用检查 R2 是不是虚焊或者接成了负反馈。如果回差有但比设计值小很多检查输出高电平的实际值。上拉电阻如果选得太大输出高电平可能被后级负载拉低导致回差缩小。还有一种可能是输出带的负载是感性的边沿上出现振铃振铃穿过阈值就造成多次翻转这时候要在输出端加 RC 吸收。输入端干扰也会造成多翻。信号线附近有继电器、电机、开关电源干扰通过空间耦合进来。解决办法是输入端加 RC 低通把干扰频段滤掉同时加大回差。两个手段一起上最稳。6.3 温度一高就误动作低温又好了这是偏置电流和失调电压温漂的典型表现。LM311比较器的输入偏置电流在高温下成倍增长如果你用了高源阻抗的分压网络比如几百 kΩ高温时偏置电流产生的误差能到几十毫伏甚至更多直接把阈值顶偏。对策是把源阻抗降下来。分压电阻从 100kΩ 级别降到 10kΩ 级别静态电流增加一点但换来温度稳定性。如果功耗不允许那就改用低偏置电流的比较器或者在前端加一级运放缓冲。另一个温度相关的坑是输出饱和压降。低温时饱和压降会变大输出低电平抬高如果后级的低电平门限卡得紧就会出现低温时后级识别不到低电平的怪现象。留 0.3V 以上的电平余量比较稳妥。6.4 常见问题速查表现象最可能原因快速验证处理办法输出恒高输入变化无反应第 6 脚接地触发关断断开第 6 脚再看第 5、6 脚悬空输出恒低忘接上拉电阻量输出脚对电源是否有电阻补上拉1kΩ 到 10kΩ输出高电平低于预期上拉电阻太大或负载太重空载测高电平减小上拉或加缓冲翻转点附近多次抖动无迟滞或回差不足扫输入测实际回差减小反馈电阻加大回差翻转点与设计值偏差大参考源内阻被反馈电阻拉偏量参考点实际电压用基准源或降低分压电阻高温误动作偏置电流在高源阻抗上产生误差加热后测阈值降低源阻抗或换低 Ib 器件一驱动负载就误翻转负载电流污染地线断开负载再看分开功率地与信号地上电瞬间输出乱跳电源建立过程中输入超范围看上下电波形输入端加钳位与串阻输出边沿有振铃长线反射或探头地线太长换接地弹簧再测串阻尼电阻缩短地线双电源下输出低电平跑到负压第 1 脚接到负电源量第 1 脚电位第 1 脚接模拟地这张表我打印出来贴在工位上遇到问题先对一遍八成的故障五分钟内能定位。7. 选型与替换什么时候该把它换掉LM311比较器不是万能的下面这张对比表帮你在几个常见型号之间做选择。数据是量级值具体项目还是以手上器件的手册为准。型号通道数响应时间量级输入共模范围输出形式静态电流量级适合场景LM3111200ns含负轨上限约 V 减 1.5V开集电极灌流能力强5mA电平搬移、快速开关、驱动光耦LM39321.3μs含负轨上限约 V 减 1.5V开集电极灌流中等0.8mA通用双路判断、成本敏感LM33941.3μs同上开集电极0.8mA多路信号集中判断宽温版本1200ns同上开集电极5mA工业宽温环境高速比较器1几 ns 到几十 ns视型号推挽或差分几十 mA高速采样、时钟整形替换时有几个地方必须重新核。第一是引脚定义不同系列的比较器引脚排布不一样LM393 是双路引脚完全是另一套不能直接插。第二是输出结构从开集电极换成推挽原来的上拉电阻要拆掉否则输出高电平时会有灌电流冲突。第三是共模范围换型号后如果新器件的上限更靠近正轨原来的分压网络可能要重算。第四是输入偏置电流从双极型换成 CMOS 输入偏置电流会小好几个数量级原来为了补偿偏置电流做的阻抗匹配可能反而引入问题。还有一个替换方向值得提如果项目里只是做一路简单的阈值判断对速度没要求其实可以用单片机内部的模拟比较器省一颗芯片、省几路布线。但要注意单片机内部比较器的输入范围通常限制在电源轨内而且没有开集电极那种跨域能力外部有高压或者需要线与的时候还是得用分立比较器。我个人在实际操作中的体会是LM311比较器这类结构简单但细节多的器件最省时间的做法不是反复试错而是把三个数字提前算清楚上拉电阻对应的上升时间、迟滞窗口对应的回差、输出灌电流对应的功耗。这三个数字定下来电路基本就定型了剩下的布线、去耦、保护都是围绕它们做加固。反过来如果这三个数字是拍脑袋定的后面调试时会用十倍的 time 去补。最后再分享一个小习惯每次用 LM311比较器画完原理图我会在图旁边手写三个值——上拉电阻、上下门限电压、最大灌电流然后让同事照着图算一遍看能不能算出同样的数字。算不出来说明图上哪里标错了或者漏标了。这个笨办法帮我拦下过好几次把第 6 脚接到地、把上拉接到输入端的低级错误比事后飞线强得多。