比较器与R-S触发器在电力电子中的关键应用:从保护到互锁

比较器与R-S触发器在电力电子中的关键应用:从保护到互锁 前阵子调一块小功率DC-DC样机母线过压保护一直不触发后来查明是软件保护的中断响应太慢开关管已经扛不住了。最后换回两颗比较器加一颗R-S触发器几毛钱的器件把故障信号在几十纳秒内锁死问题彻底解决。这件事让我觉得很多做数字电源的同行把比较器和R-S触发器当成简单逻辑一带而过实际上它们在电力电子里承担着保护、互锁、振荡、阈值判断这些最不能出错的工作。这篇就顺着我这些年调试电源、逆变器和电机驱动的经验把比较器与R-S触发器在电力电子里的典型应用场景拆开讲透。1. 先弄明白两件事比较器负责快R-S触发器负责锁1.1 为什么软件保护快不过功率管的故障形态很多刚入门电力电子的朋友习惯用MCU的ADC采样母线电压然后在中断里做判断再关PWM。这个方案的缺点是时间尺度不匹配。典型MCU的ADC采样加判断加PWM更新少说要几十微秒如果软件里还跑了通信任务、状态机响应时间就更难保证。可是功率管在过压、过流条件下的损坏往往发生在微秒甚至纳秒量级。IGBT的短路耐受时间通常只有10微秒左右MOSFET虽然稍好但母线过压一次可能直接击穿栅氧化层那种损坏是瞬间的。这就是比较器存在的意义它的输出翻转延迟通常在几十纳秒到几百纳秒之间比如常见的高速比较器LM311、TL3016传播延迟能做到纳秒级。比较器本质上是一个高增益开环放大器不需要软件参与输入电压一跨越参考阈值输出逻辑电平立刻变化这种硬连线的判断是整个保护链路里最前端、最可靠的一环。1.2 R-S触发器为什么在故障锁存里这么关键R-S触发器是一个存储单元它能记住最后一次被触发时的状态。电力电子里经常出现这种情况母线过压只是一瞬间的事件比如负载突然断开母线电压尖峰持续几十微秒就回落了。如果只把比较器输出接到控制芯片的使能脚过压消失后系统会自动恢复这个过程中故障原因还没查清楚再次启动可能又会过压功率管在反复冲击下很容易提前失效。R-S触发器解决的就是故障必须钉在板上的问题。当过压信号来了触发器锁定故障状态哪怕故障源已经消失输出依然保持故障电平直到人工去按复位键、或者上位机发一个明确的复位指令。这种锁住故障的逻辑在工业驱动、UPS、光伏逆变器里都是标准做法不是工程师想不想用的问题而是安规和可靠性要求必须这样设计。顺带说一句很多人在看电路图时容易混淆R-S触发器和D触发器的区别。D触发器是边沿触发采样R-S触发器是电平敏感锁存。电力电子里的故障信号往往是电平型而不是脉冲型所以R-S触发器在这种场景下更自然。后面我会用实际的与非门电路来说明怎么搭一个适合电力电子的锁存器。2. 过压欠压保护里比较器的滞回设计没有正反馈的保护电路就是摆设2.1 单限比较器的抖动问题被忽略的临界区很多人第一次用比较器做电压窗口保护时会直接搭一个最简单的单限比较器反相端接参考电压同相端接采样分压。从原理上看输入电压超过参考电压输出翻转逻辑很简单。但实际一上电就出问题——当输入电压刚好在参考值附近时输出电压并不是乖乖呆在某个电平而是来回跳动频率可以到几百千赫甚至更高。原因有两个层面。一个是噪声母线电压本身有纹波SPWM控制下还有开关噪声这些噪声迭加到采样信号上只要幅度跨越参考阈值输出就会跟着抖动。另一个是开环增益过高比较器的直流增益通常在上万倍以上输入信号在阈值附近哪怕只有几个毫伏的波动输出也会被放大到饱和区来回翻转。这个抖动对保护电路来说是致命的因为过压保护点附近抖动的结果就是系统在临界区来回开关管子的应力比持续过压还大。2.2 滞回比较器用正反馈把临界区变成死区解决抖动的标准方案是给比较器加正反馈电阻构成滞回比较器也叫施密特触发器结构。原理很简单把输出信号通过一个电阻反馈到同相输入端让阈值本身跟着输出状态移动。输出为高时阈值被抬高输出为低时阈值被压低这样输入信号必须越过一个窗口宽度才能引起翻转窗口内的噪声根本不可能触发输出。以母线过压保护为例我一般这样设计。假设母线正常工作电压是48V过压保护点设为60V。采样分压比用1:10也就是比较器输入端实际是6V。参考电压用TL431精确到2.5V。如果想让过压释放点即电压跌到多少才解除过压状态为58V输入对应5.8V那滞回窗口就是0.2V折算到比较器输入端就是200mV。这个窗口对母线纹波来说绰绰有余同时又不至于让保护点过于迟钝。计算正反馈电阻的方法我习惯用叠加定理。设同相输入端有三个源输入采样电压、参考电压和输出反馈电压。高阈值和低阈值分别对应输出高电平和低电平时的两个状态。如果参考电压是2.5V输出高电平约5V低电平约0V希望窗口上下限是5.8V和6.0V折算到比较器输入端这里直接用采样后的电压计算可以列出两个方程输出高时输入端电压 2.5 (5 - 2.5) × R_in ÷ (R_in R_fb)这个值对应6V输出低时输入端电压 2.5 - 2.5 × R_in ÷ (R_in R_fb)这个值对应5.8V设输入源内阻为10kΩ解出来反馈电阻大约在几十千欧量级具体值看实际实现的窗口要求。实际设计时不必算得太精确先搭个仿真看窗口宽度再用电阻箱调一次确定后换成固定电阻即可。我个人的习惯是反馈电阻用可调电阻串联固定电阻方便现场调试时微调保护点。2.3 TL431在窗口保护里的特殊地位比较器需要稳定的参考电压TL431是电力电子里一个极其实用的器件。它本身是个可调的精密稳压源同时内部的比较器结构也让它可以直接充当阈值判断器件。在过压保护里最常见的电路是TL431配合光耦母线电压分压后接TL431的参考脚当电压超过设定值时TL431阴极电流增大光耦输出翻转后面的逻辑电路收到故障信号。这个方案的精妙之处在于TL431和光耦的组合直接完成了电压比较和电气隔离两件事不用再额外隔离放大。不过TL431的响应速度比专用比较器慢典型延迟在微秒级适合对响应速度要求不那么苛刻的场合。如果要做快速短路保护还是得用专用比较器。我在实际方案里通常的做法是快速过流保护用比较器加RS触发器慢速过压电压保护用TL431加光耦加比较器双保险两条链路并行互不干扰。3. 故障锁存电路的设计细节R-S触发器不是随便接两个门就能用3.1 用与非门搭出低有效锁存结构R-S触发器最经典的实现是用两个与非门交叉耦合S置位端和R复位端都是低电平有效。在电力电子保护电路里我通常把故障源设计成高有效信号然后经过一个反相器接到S端。比如比较器输出过压信号为高电平这个高电平经过反相后变成低电平触发置位Q端输出故障锁存状态这个Q端再接续流控制逻辑封锁PWM输出。为什么用低有效而不是高有效主要是抗噪。保护电路里的故障信号链路往往穿过功率区容易耦合干扰低电平有效的线路上干扰要拉到地电位才能误触发比高电平有效更容易设防。另外很多逻辑器件的输入端内部都有上拉悬空时为高电平低有效结构在系统上电初始时天然处于非触发状态更安全。3.2 上电时序里最容易踩的坑复位信号必须覆盖电源爬坡期R-S触发器在应用中最隐蔽的坑是上电瞬间的状态不确定。电源电压从0爬到额定值时两个与非门的输入输出电位同时上升谁先到达阈值不确定触发器的输出可能随机锁存在一个故障状态。如果这个状态是故障系统一上电就被封锁查半天都找不到原因。解决办法是给R端加一个上电复位网络。典型做法是在R端接一个RC延时电路R端通过电阻接地通过电容接电源上电时电容电压从0开始爬升R端先保持低电平对于低有效复位低电平就是复位状态等电容充到高电平后复位信号释放触发器允许响应置位。这个RC时间的取值我一般选在5毫秒到50毫秒之间既要等母线电压稳定又要等控制芯片完成初始化。另外还有一个细节如果复位信号和故障信号来自不同的电源域必须处理电平转换。我遇到过RS触发器锁存了莫名其妙的故障后来发现是复位按钮的5V信号和触发器供电的3.3V信号电平不匹配低电平判定标准不一样复位根本不起作用。对这种跨电源域接口最稳妥的方式是统一用同一颗逻辑芯片或者加电平转换缓冲器。3.3 实际电路里的组合逻辑窗口比较器锁存完整的母线过压欠压保护电路我的习惯做法是两个比较器组成窗口比较器过压和欠压输出经过一个或门或者直接接成线与送入RS触发器的置位端故障锁存输出再接PWM驱动器的使能脚。窗口的上限用滞回比较器做下限用另一个滞回比较器做两个比较器共用一个参考电压源避免参考电压分歧导致窗口漂移。一个典型参数例系统工作电压范围标称48V允许波动范围42V到58V保护动作点设为60V过压、36V欠压释放窗口各留2V左右。分压比选择1:10后对应比较器输入点是6.0V过压、3.6V欠压参考电压2.5V。在这个例子里窗口设计的关键点不是上下的动作值而是动作之后如何解除必须等故障排除后复位不能靠电压自然回落自动恢复。4. 比较器R-S触发器组成的振荡器从保护逻辑切换到控制逻辑4.1 用滞回比较器和RC网络构成方波振荡器比较器的滞回特性不仅用来抗噪还能直接构成方波振荡器。把RC网络接到反相输入端同相输入端接到由输出反馈和基准分压组成的滞回网络输出就会自动在高低电平之间来回切换形成一个自激振荡器。原理说起来一句话电容充电到高阈值比较器翻转为低电平电容开始放电放到低阈值比较器又翻转为高电平如此循环。振荡频率取决于RC时间常数和滞回窗口宽度。这个电路在很多电源管理芯片内部都存在甚至连大名鼎鼎的555定时器内部结构就是两个比较器加一个RS触发器。理解了比较器和RS触发器555定时器就不再是黑盒。在电力电子里这种振荡器最常见的用途是给隔离电源提供高频方波或者给模拟PWM电路提供载波。我做过一个简单的推挽隔离电源用一颗比较器搭振荡器产生100kHz方波驱动变压器初级次级通过整流得到隔离电源整套电路的成本远低于用单片机生成PWM的方案而且频率稳定性在常温下完全够用。4.2 R-S触发器在振荡器里扮演的角色可控启停如果只有比较器和RC振荡器一旦上电就一直工作停不下来。这不行。实际控制里经常需要让振荡器按需启动比如轻载时让开关电源进入低频率打嗝模式重载时才连续工作。R-S触发器在这里的价值是可以做使能闸门。用触发器的Q端控制比较器参考电压的通断或者控制RC充电通路需要振荡时置位触发器不需要时复位触发器。这种结构比单纯在电源引脚上做开关更精细因为参考电压和RC网络的状态可以平滑过渡不会产生电压突变引起的振铃。更高级的用法是用R-S触发器做同步外部时钟的边沿经过整形后触发R-S触发器让振荡器的翻转与外部时钟对齐。这在多路PWM同步的场景下很有用。不过说句实话真到了多路PWM同步的需求大多数人直接上数字芯片比用模拟逻辑划算单靠模拟逻辑做同步调试成本不低。4.3 一个实用方波振荡器的参数计算实例给一个我常用的参数设计过程。假设要设计一个50kHz方波振荡器电源电压5V比较器输出高电平约4.5V低电平约0.2V考虑饱和压降滞回窗口设计为1V同相输入阈值在高电平时2.5V0.5V3V低电平时2.5V-0.5V2V反相输入端RC网络的时间常数就是充放电到这两个阈值所需的时间。估算公式可以这样理解电容电压从低阈值充到高阈值的时间是RC×ln((Vfinal-VL)/(Vfinal-VH))。以RC10kΩ和1nF为例时间常数是10μs理论上充放电一次约14μs对应频率约70kHz然后根据实际需要的频率微调电阻或电容值。实际做的时候比较器的输出转换速率、输入偏置电流都会影响频率精度所以设计值只能作为起点最终用示波器频率计校正。5. H桥互锁R-S触发器防止上下管直通的硬件级保障5.1 直通是怎么发生的比软件死区更底层的问题逆变器、全桥DC-DC电机驱动器里的H桥同一桥臂的上下两个开关管如果同时导通母线电压直接短路电流在几微秒内就能冲到几百安。软件上PWM模块有死区设置可以保证互补输出之间有一段空白时间但并不能覆盖所有异常情况。为什么因为控制信号从MCU出来经过隔离芯片、栅极驱动器、到功率管的栅极每一个环节都有延迟而且上下管的延迟不一定对称。如果上管驱动芯片的延迟比下管短信号边沿到达栅极的时间差可能吃掉软件死区。这种情况尤其在极端温度下更明显。硬件互锁的意义在于不管软件怎么配置逻辑层面就保证同一桥臂两个信号不可能同时为导通电平。5.2 用R-S触发器做互锁的电路结构用两个与非门组成交叉耦合R-S触发器可以实现硬件互锁。把上管的PWM信号和经过反相的下管PWM信号分别接到两个与非门的输入端触发器输出经过驱动级后控制上下管。由于触发器的特性任何时刻输出状态只能是上管导通、下管断开或者下管导通、上管断开绝不可能出现两边都导通的状态。这在实际操作中有一点需要注意RS触发器的互锁解决的是逻辑上不允许同时导通但真正的功率管还有一个导通时间也就是输出从低到高的过程栅极电压穿越米勒平台需要时间。如果互锁逻辑的输出上跳变太快下管还没完全关断上管就开始开依然会有短时间的直通。所以硬件互锁通常还要配合驱动级内部的死区双层保护。我在做全桥移相电源时上位机程序里同时输出四路PWM中间两个桥臂的移相角可以调整但无论移相角怎么调都先把硬件互锁逻辑串在驱动链路最前端软件死区从1.5μs慢慢往下压压到500ns后继续往下就靠示波器观察直通电流波形来确定极限。没有互锁的时候一旦软件死区设小了示波器上就能看到母线电流尖峰飞速涨高那是功率管正在承受不必要的应力。5.3 死区时间的RC实现与局限这里补充一种简单的死区产生方法用RC延时后接施密特比较器。给驱动信号串一个RC低通网络信号边沿被延缓再通过滞回比较器整形输出信号的边沿就会比输入信号晚一段时间这就是死区。滞回比较器在这里的作用是把被RC缓变污染的信号重新整形成陡峭的逻辑电平否则驱动级会把中间电平当成模拟信号处理后果不堪设想。死区时间约等于RC时间常数。设死区需要1μs选R10kΩ那么C100pF实际上考虑到比较器阈值电容要稍大一些用150pF比较合理。这个方案的局限在于上下管的RC参数一致性很难控制分立元件误差加上温度漂移死区时间会有不小散布。比较高端的做法是直接用带死区功能的栅极驱动器芯片内部集成了精密延迟调试方便得多。简单的RC方案在低成本小功率电机驱动里仍然有市场但要清楚它的精度上限。6. 外部比较器法无感方波控制比较器在电机驱动里的高频应用6.1 反电动势过零检测的基本原理无感方波控制梯形波控制里电机转子位置的判断依赖反电动势过零点。电机端电压包含反电动势和母线电压两部分在导通相和悬空相之间做减法可以提取出反电动势的过零时刻。传统的做法是在MCU里用ADC采样三相端电压然后用软件计算过零点。但采样时刻必须避开PWM开关噪声且软件需要实时计算环路延迟大转速高了以后相位误差明显。外部比较器法是把过零检测放到硬件里。三相端电压经过分压后接到三个比较器上每个比较器的另一个输入接一个虚拟中点电压。虚拟中点用三个等值电阻分别接三相端电压后在中点汇合得到。当某一相的端电压相对于虚拟中点穿越零电平时对应比较器输出翻转MCU只要在比较器输出边沿触发中断读取当前时间点就能得到换相时刻。整个过程是硬件完成的延迟是纳秒级不需要软件持续采样。6.2 外部比较器法容易遇到的问题这个方案看起来简单实际做起来有两个常踩的坑。一个是分压电阻的选择三相端电压直接接比较器输入比较器输入共模范围必须能覆盖母线电压否则比较器内部输入级饱和过零检测就会偏。出于安全考虑通常会先经过电阻分压再进比较器但分压会降低信号幅度过零点的比较精度也随之下降。另一个是对噪声的敏感度。PWM开关瞬间端电压上有高频振荡比较器可能多次翻转输出的过零信号全是毛刺。解决办法是接入RC低通滤波滤掉高频开关纹波保留转矩频率附近的信号成分。但滤波会引入延迟高速时就会产生过零相位滞后需要通过软件补偿。另外比较器输出尽量选择推挽结构带施密特触发输入更好能减少噪声引起的抖动。这个应用场景里比较器选型比前面讲的保护电路要高一个档次重点看传播延迟、输入失调电压和共模输入范围三项参数。6.3 把比较器的过零信号接进R-S触发器的状态机在无感方波控制中换相状态本身可以用R-S触发器来管理。三相六步换相每一步都是开路换相六块扇区对应六种开关状态。用三个比较器的输出边沿来置位触发器状态机在硬件上就搭起来了。这样做的好处是不依赖MCU软件的实时性MCU只需要在状态变化后去更新PWM比较值即可。当然全硬件状态机做六步换相在灵活性上不如纯软件一般用在几百瓦级别的小电机驱动里比如风机泵类。更大的电机驱动还是会用软件状态机但比较器过零检测这个前端还是会保留因为软件再快也快不过硬件的电平翻转。我在实际项目里见过只靠软件过零检测在转速到3000转时相位误差失控换成外部比较器后同样的转速下补偿量几乎可以忽略这个差异在实际调试示波器上看得一清二楚。7. 从仿真到量产比较器电路调试里的隐藏细节7.1 仿真能帮你验证什么不能帮你验证什么我习惯在这个阶段花点篇幅讲一下仿真工具的边界。PLECS这类电力电子仿真软件优点是系统级仿真快适合验证保护逻辑、控制环路、开关管时序。但PLECS里的比较器模型通常理想化传播延迟为零输出轨到轨这些参数在实物上都是不存在的。所以用PLECS验证逻辑没问题但要拿它预测保护电路的实际响应时间一般会有几十纳秒到几百纳秒的偏差。SPICE类的仿真能建模比较器的实际传输特性、失调电压和噪声比较接近真实。但SPICE里的噪声模型和实际PCB上的噪声源差别很大板上几个dv/dt极高的功率节点耦合过来的噪声模型根本体现不出来。我的综合建议是逻辑和环路用PLECS这类快速系统仿真比较器器件的模拟特性用SPICE评估选型最终以实测为准。仿真救不了布线错误也救不了参考源纹波。7.2 实测里三个最常见的故障现象和排查思路第一个是保护电路误触发。表现为系统一上电还没加载就报过压过流。排查顺序先看比较器参考电压是否稳定有时基准源的旁路电容没加或容量太小参考电压本身纹波大比较器输入端直接被纹波打过阈值。这个用示波器一看便知解决方法是参考源引脚就近加100nF和10μF两级去耦电容。第二个是锁存电路不复位。表现为过压故障消除后按复位键也没反应。排查重点看RS触发器的R端信号如果RC复位电路时间常数设太长比如RC乘积达到秒级按一下复位键只有极其短暂的低电平脉冲判断阈值和实际输入电平之间只要有一点电压差锁存就不会释放。这种情况可以用示波器直接探R端波形按下复位的同时看R端电压有没有低于逻辑低电平阈值。第三个是高速开关噪声串进比较器输入端导致保护电路在开关边沿瞬间误动作。这个在布局上最容易解决比较器输入走线远离功率开关节点和栅极驱动走线参考电压的走线加宽输入分压电阻靠近比较器引脚放置。如果布局没法彻底改可以在比较器输入端加一个几十皮法的小电容到地把高频噪声滤掉但要注意这个电容会降低响应速度需要权衡。7.3 PCB布局对比较器和RS触发器电路的影响常规的PCB布局经验是小信号地和大电流地要单点连接比较器周围器件尽可能靠近芯片引脚。对于滞回比较器来说反馈电阻的反馈支路要直接从输出引脚连接到同相输入端不能绕远路去接否则反馈路径上拾取的噪声会重新注入输入。RS触发器芯片的去耦电容必须紧贴电源引脚容量先1μF再并100nF两种容值各管高频和低频纹波。另外提一个容易被忽视的点比较器输入端悬空等于把噪声放大器接在天线上。不用比较器的通道输入必须接到确定的电位要么接地要么接参考电压不能扔着不管。我遇到过一块板子四路比较器用了其中三路剩下那路输入悬空结果整个板子干扰异常大万用表都测不准电压把悬空输入接地后所有问题都消失了。这种小事在调试中最耗时间写出来提醒一下。7.4 经验检查清单做保护板时的默认项目我每次做带保护逻辑的控制板时会走一个默认的检查清单第一所有故障源过压比较器、过流比较器、温度比较器的输出是否都并入库存锁存输入第二复位路径是否覆盖所有故障包括Power-on复位和手动复位第三比较器的基准源是否用同一颗稳压器避免多个基准源之间的温度漂移不一致导致窗口偏移第四滞回电阻是否预留了可调位置第五比较器输出到锁存器输入之间有没有加RC滤波滤波常数会不会影响保护响应时间。一条条检查下来一般能避免90%的上电就坏和保护失灵问题。8. 写在最后几个小建议比较器和R-S触发器在电力电子里看起来是最基础的器件但我这些年做项目下来发现把它们用好的人并不多。很多工程师习惯了一上来就选一颗带内置比较器的MCU或者DSP软件里把所有判断写完觉得硬件逻辑冗余。但功率电路的安全边际不是靠软件就能撑住的硬件保护链路的意义在于它不依赖程序是否跑飞、不依赖中断是否及时也不依赖寄存器是否配置正确。一套好的硬件保护是功率系统最后一道防线。如果今天这篇让你有一点收获我建议你下一步自己动手搭一个小板一颗比较器搭滞回窗口保护两颗与非门搭RS锁存再配一个复位RC网络用它去保护一片Buck电路。整个过程最多一个晚上但它会帮你建立起对这两颗器件特性的直觉。我自己每次做新电路都会坚持先在示波器上把保护链路的每个波形抓出来看一遍确认故障时真正触发的是你想让它触发的那一环。这个习惯救过我很多次。