经典的多功能555在许多中低频振荡器应用中大显身手。其中一些要求能够根据需要选择性地打开和关闭振荡,而555的RESET引脚可以很方便地用于此目的,如图1所示。
图1 典型门控555非稳态多谐振荡器(通过RESET引脚)。
当复位时(逻辑电平为零),RESET将输出保持为低电平,并将频率设置RC保持在已知且精确可重复(放电)的状态。但当RESET返回逻辑1并恢复振荡时,会出现“gotcha”(疑难杂症)。该问题如图2所示。
图2 由于C1完全放电,振荡重启时出现的第一个脉冲过长。
重新启动时生成的第一个脉冲明显长于后面的脉冲。这是因为在振荡关闭的间隔时间里,定时电容C1可以完全放电至0V。这与稳态振荡期间应用的1/3V+“触发”电平不同,导致斜坡间隔更长,这在某些应用中会造成问题。
令人高兴的是,好在有一个简单的解决方法,如图3所示。
图3 当RESET返回高电平时,添加的定时电容器C2会立即将C1预充电至V+/3的触发电平,从而使第一个振荡周期的持续时间正常化。
原来的C1定时电容被分成两个串联/并联的电容,这样新的C1等于原来的C1的2/3,C2等于原来的C1的1/3。新的振荡启动序列如图4所示,请注意振荡启动时电压急速转换为1/3V+。
图4 振荡启动时C2电荷的注入均衡了脉冲长度。
为了使该方案准确工作,RESET的信号源必须提供完整的0到V+电压步长,并在V+时提供一个与所产生的定时斜坡兼容的低阻抗。如果没有这样的信号源,则可能需要如图5所示的缓冲器。典型的缓冲器可选择类似于74HC04。
图5 可能需要缓冲器来提供全电压偏移RESET信号。
振荡器设计方程与通常的555数据手册的数学公式相同,只是所使用的定时电容应为C1+C2之和。
Fosc = 1.44/((2R1 + R2)(C1 + C2))
此外,RESET还必须持续并且在栅极间至少几个R1(C1+C2)时间常数(如5或6)的时间内暂停振荡,从而使得定时电容器的放电准确地完成。
(原文刊登于EDN美国版,参考链接:Gated 555 astable hits the ground running,由Ricardo Xie编译)