比较器电路详解:从基本原理到滞回窗口设计
一、什么是比较器
比较器(Comparator)是一种用于比较两个输入电压大小的模拟电路器件。它的核心功能非常简单:
- 当V+(同相输入端)> V-(反相输入端)时,输出高电平,电压约等于供电电压 VCC(如常见的 5V);
- 当V+ < V-时,输出低电平,电压接近 0V(或 VEE)。
一句话概括:比较器的作用就是判断两个电压谁大谁小,并输出一个数字化的高低电平结果。
它的传输特性曲线如下(理想模型):
Vout | | ┌───────────── | | V+ > V- → 输出高 | | |────────┼───────────── Vin | | | | V+ < V- → 输出低 | | └────────┘比较器本质上可以看作一个开环工作的运放,或者一个1-bit 的 ADC——它只关心"大于"还是"小于",不关心"大多少"。
二、比较器的工作原理
2.1 基本电路结构
一个最简单的比较器电路如下:
┌─────┐ Vin ────┤- │ │ ├──── Vout Vref ───┤+ │ └─────┘- Vin:待比较的输入信号,接反相输入端(-)
- Vref:参考电压,接同相输入端(+)
- Vout:比较结果输出
2.2 判断逻辑
| 条件 | 输出状态 |
|---|---|
| V+ > V-(即 Vref > Vin) | 输出高电平 ≈ VCC |
| V+ < V-(即 Vref < Vin) | 输出低电平 ≈ 0V / VEE |
需要注意的是,这里的"高电平约等于 VCC"是因为比较器输出级通常是**开漏(Open-Drain)或推挽(Push-Pull)**结构,实际高电平会略低于 VCC,具体取决于输出管饱和压降。
三、输入信号的重要注意事项——共模输入范围
3.1 "输入超出供电范围"到底会发生什么?
先看一个反直觉的实际案例。
实验条件:
- 比较器供电:VCC = 5V,VEE = 0V(GND)
- 输入信号:V+ = -5V,V- = 0V
你期望的输出:V+ (-5V) < V- (0V),按理应输出低电平(0V)。
实际的输出:输出却是高电平(5V),和你预期的完全相反。
为什么?这里涉及一个关键概念——输入共模电压范围(Input Common-Mode Voltage Range)。
3.2 输入共模电压范围
每个比较器芯片的数据手册都会明确规定允许的输入电压范围。以常见的 LM393/LM339 为例:
VEE≤VIN≤VCC−1.5VV_{EE} \leq V_{IN} \leq V_{CC} - 1.5VVEE≤VIN≤VCC−1.5V
也就是说,当单电源 5V 供电时,输入电压的有效范围是0V ~ 3.5V(约值)。
而当V+ = -5V时,这个电压已经远远超出了允许的范围(比 VEE 低了 5V!)。此时比较器输入级会发生以下异常:
(1) 输入差分对管截止
比较器的输入级通常由 PNP 三极管或 P 沟道 MOSFET 构成的差分对组成。当输入电压低于 VEE(即小于 0V)时:
- 差分对管的基极/栅极电压低于发射极/源极电压
- 管子进入截止区,完全失去放大能力
- 差分对不再按照"V+ 和 V- 谁大"的规则工作
(2) 相位反转(Phase Reversal)
这是最坑的一种情况。某些比较器/运放当输入端超出共模范围时,输出极性会直接反转:
正常时: V+ > V- → 输出高 相位反转:V+ > V- → 输出低(反了!)这是由输入级晶体管的饱和/截止状态异常导致的。你的实验案例(V+ = -5V < V- = 0V,却输出 5V 高电平)正是相位反转的典型表现。
(3) ESD 保护二极管误导通
比较器内部结构简化示意:
VCC │ ┌──┴──┐ │ D1 ▲ (ESD保护二极管,正常时反偏截止) Vin ──┼──────┤ 内部输入级 │ D2 ▼ (ESD保护二极管,正常时反偏截止) └──┬──┘ │ GND当Vin = -5V时,D2 两端的电压为:GND(0V) - (-5V) = 5V,这远大于二极管的正向导通电压(~0.7V),D2正向导通。
该二极管的导通电流路径为:GND → D2 → Vin 信号源,产生从芯片内部到信号源的大电流。这不仅导致:
- 输入端被强行钳位
- 整个输入级偏置被破坏
- 输出结果完全不可预测
- 严重时可能烧毁芯片
3.3 一张图总结
输入电压范围对比较器行为的影响: -∞ ────────────────────────────────────────── +∞ │ │ ├─ 异常区 ─┤ 正常工作区 ├──── 异常区 ────┤ │ │ │ │ < VEE VEE ~ VCC > VCC │ │ │ 相位反转、 比较器正常 输入管饱和、 ESD导通、 判断逻辑 ESD导通、 可能烧毁 有效 可能烧毁核心结论:
"V+ > V- 输出高,V+ < V- 输出低"这条规则,只在输入电压处于共模允许范围内时才成立。输入一旦越界,比较器就不再是"比较器"了——输出变得不可预测,相位反转是其中最常见的一种异常。
3.4 如何保护输入端
如果输入信号可能超出供电范围,常见的保护措施:
- 串联限流电阻(如 10kΩ~100kΩ),限制流入 ESD 二极管的电流;
- 外加肖特基二极管钳位到 VCC 和 GND(肖特基的 Vf 约为 0.3V,比内部硅二极管 0.7V 更早导通,把电流引走);
- 使用电阻分压将输入信号衰减到安全范围;
- 选型时关注数据手册的 Input Common-Mode Voltage Range 参数。
Vin ──[R_limit]──┬── 到比较器输入端 │ ├──[肖特基二极管]── VCC(钳位到 VCC+0.3V) │ └──[肖特基二极管]── GND(钳位到 GND-0.3V)四、比较器的颤振现象(Chatter)
4.1 什么是颤振
在实际应用中,当输入信号在参考电压附近缓慢变化或叠加有噪声时,比较器的输出会在高低电平之间反复跳变,这种现象称为颤振(Chatter)。
Vin 信号(带噪声): ╱╲ ╱ ╲╱╲ ───╱────────── Vref ╱ ╱ Vout 输出(有颤振): ┌─┐ ┌─┐ ─────┘ └─┘ └────── 多次跳变! └───┘ └───4.2 颤振的危害
- 后续数字电路可能误触发(如计数器错误累加、中断频繁触发);
- EMI 问题:高速反复翻转产生电磁干扰;
- 功耗增加:频繁的充放电带来额外功耗;
- 如果是驱动 MOSFET 或继电器,反复开关可能导致器件过热或损坏。
五、解决方案:滞回比较器(迟滞窗口)
5.1 滞回原理
解决颤振最经典的方法就是引入正反馈,给比较器增加一个滞回窗口(Hysteresis Window),也叫做施密特触发器(Schmitt Trigger)。
核心思想:让翻转阈值在上升和下降时不一样。
- 输入电压从低到高变化时,使用一个较高的阈值(VTH_H);
- 输入电压从高到低变化时,使用一个较低的阈值(VTH_L);
- 两个阈值之间的差值就是滞回窗口(ΔV = VTH_H - VTH_L)。
Vout | | ┌─────────── | │ ↑ 当 Vin 上升超过 VTH_H 时输出变高 | │ | │ 当 Vin 下降低于 VTH_L 时输出变低 ↓ | │ └───────────┘ Vin ↑ ↑ VTH_L VTH_H ← ΔV → (滞回窗口)5.2 滞回比较器电路分析
典型的同相滞回比较器电路:
VCC │ [R3] │ ├──────── Vout │ [R2] 100K ── 正反馈电阻 │ Vin ────[R1]───┬───┤+ │ │ │ │ ├──── Vout [R4] │ │ │ │ └───┤- │ GND Vref └────┘简化后的滞回网络:
┌────[R_fb = 100K]────┐ │ │ Vin ─────┼────┤+ │ │ └───────────────┤ Vout [R_div = 1K] │ │ │ GND GND5.3 阈值电压推导
假设比较器输出高电平为 VOH ≈ VCC,输出低电平为 VOL ≈ 0V。
当 Vout = VOH(高电平)时:
同相端电压(即上门限阈值)为 Vout 经电阻分压后的结果:
VTH_H=VOH×RdivRfb+RdivV_{TH\_H} = V_{OH} \times \frac{R_{div}}{R_{fb} + R_{div}}VTH_H=VOH×Rfb+RdivRdiv
当 Vout = VOL(低电平,≈ 0V)时:
同相端电压(即下门限阈值)约为 0V(若 VOL 接近 0V):
VTH_L=VOL×RdivRfb+Rdiv≈0VV_{TH\_L} = V_{OL} \times \frac{R_{div}}{R_{fb} + R_{div}} \approx 0VVTH_L=VOL×Rfb+RdivRdiv≈0V
如果 Vref 不为 0,则需要对参考电压叠加分析,实际阈值为:
VTH=Vref±VhysV_{TH} = V_{ref} \pm V_{hys}VTH=Vref±Vhys
5.4 电阻比例与滞回大小的关系
反馈电阻(100K)和分压电阻(1K)之间的比值决定了滞回窗口的大小,比值越小,抬升越大。
这里用文档中的典型值来说明:
- Rfb = 100KΩ(反馈电阻)
- Rdiv = 1KΩ(分压电阻到地)
- 比值 = 100K / 1K = 100
滞回窗口电压 ΔV 近似为:
ΔV≈VCC×RdivRfb+Rdiv≈VCC×RdivRfb\Delta V \approx V_{CC} \times \frac{R_{div}}{R_{fb} + R_{div}} \approx V_{CC} \times \frac{R_{div}}{R_{fb}}ΔV≈VCC×Rfb+RdivRdiv≈VCC×RfbRdiv
代入数值(假设 VCC = 5V):
ΔV≈5V×1K100K=50mV\Delta V \approx 5V \times \frac{1K}{100K} = 50mVΔV≈5V×100K1K=50mV
这个 50mV 的滞回窗口意味着:
- 当输入电压从低升高,必须超过 Vref + 25mV,输出才会翻转;
- 当输入电压从高降低,必须低于 Vref - 25mV,输出才会翻转;
- 噪声幅度小于 50mV 时,不会引起颤振
5.5 比值选择的权衡
| 比值 (Rfb/Rdiv) | 滞回窗口 | 抗噪能力 | 精度损失 |
|---|---|---|---|
| 50(如 50K/1K) | 大 | 强 | 大 |
| 100(如 100K/1K) | 中等 | 中等 | 中等 |
| 200(如 200K/1K) | 小 | 弱 | 小 |
设计建议:滞回窗口应设置为预期噪声幅度的3~5 倍,既能有效消除颤振,又不过多损失比较精度。
六、实际应用场景
6.1 过零检测
检测交流信号是否穿过零点,滞回窗口可以避免零点附近噪声导致的反复触发。
6.2 欠压/过压保护
检测电源电压是否低于阈值时,加入滞回可以避免负载切换导致的电压波动引起反复动作。
6.3 温度保护
温敏电阻分压接入比较器,滞回确保加热器/风扇不会在阈值点附近频繁启停。
6.4 按键消抖
虽然通常用 RC + 软件消抖,但硬件比较器加滞回也是一种可靠的按键信号整形方案。
七、总结
| 要点 | 说明 |
|---|---|
| 基本功能 | V+ > V- 输出高(≈VCC),反之输出低 |
| 输入限制 | 输入信号不能超过比较器供电范围,必要时加保护 |
| 颤振问题 | 输入信号在阈值附近有噪声时,输出会反复跳变 |
| 滞回解决 | 正反馈电阻网络产生滞回窗口,上下阈值分离 |
| 阈值计算 | ΔV ≈ VCC × Rdiv / Rfb,比值越小滞回越大 |
| 设计权衡 | 滞回窗口 = 噪声幅度的 3~5 倍,兼顾抗噪与精度 |
比较器看似简单,但实际工程中颤振现象和输入保护是两个最容易踩坑的地方。理解了滞回窗口的设计原理,就能让比较器在噪声环境中稳定可靠地工作。
本文基于模拟电路基础整理,欢迎交流讨论。
参考阅读:
- 运放虚短虚断原理
- 同向/反向放大电路设计
- MOSFET 体二极管与双向导通特性