施密特触发器在数字电路里是个非常实用的小器件,专门用来对付信号边沿缓慢或者有噪声的情况。很多新手遇到按键抖动、信号整形这些问题,第一反应是用软件消抖,其实一个施密特触发器就能搞定,简单可靠。今天聊聊施密特触发器的原理和仿真应用。
施密特触发器跟普通的比较器不一样,它有两个阈值电压:上限阈值V_T+和下限阈值V_T-,两者之差叫回差电压V_H。当输入电压超过V_T+时输出翻转,当输入电压降到V_T-以下时输出才翻回来。这种迟滞特性就是施密特触发器的核心——只要输入信号的波动幅度不超过回差电压,输出就不会误触发。
举个最典型的例子:按键消抖。机械按键按下和松开的瞬间,触点会有几毫秒的抖动,直接接到单片机IO口会产生多个脉冲,软件得写消抖程序。如果在按键和IO之间加一个施密特触发器,抖动的幅度通常只有零点几伏,只要回差电压设得比抖动大,输出就是一个干净的脉冲,软件连消抖都省了。
施密特触发器可以用运放搭,也可以用专用的集成芯片。用运放搭的话,通过正反馈电阻设置回差电压,公式很简单。常用的集成施密特触发器有74HC14(六反相施密特触发器)、74HC132(四2输入与非施密特触发器),这些芯片内部已经做好了回差,拿来直接用就行。
仿真施密特触发器的话,用LTspice或者Multisim都很方便。搭一个运放加正反馈的电路,输入加一个缓慢变化的三角波或者带噪声的方波,看输出是不是干净的方波。调整反馈电阻的阻值,观察回差电压的变化对输出的影响,这样能直观地理解迟滞特性。仿真跑通了再上板,心里就有数了。
实际应用中还有个小技巧:如果输入信号特别慢(比如温度传感器的输出),直接用普通比较器可能会在阈值附近反复翻转,加个施密特触发器就稳了。另外施密特触发器也常用来做脉冲整形,把不规则的脉冲信号整形成标准的数字脉冲,方便后级电路处理。虽然它是个小器件,但用好了能省不少事。