CMOS与非门振荡器原理与分析

问题背景

CMOS与非门振荡器原理与分析_第1张图片
上图是一个简易的电子门铃电路,主要是采用两个CMOS与非门74HC00和一些阻容产生振荡信号,再由一个NPN型的双极结型三极管驱动小喇叭来实现的。分析这个电路需要对逻辑门和电容的特性有一定的了解。

原理分析

电路中的C2、C3是滤波电容,R1是BJT的基极限流电阻不需要多做分析,我们主要关注由两个与非门构成的振荡电路。
R3是一个下拉电阻,在按键没有按下时,确保U1A的一个输入端是低电平,从而保持一个稳定的初始状态。
U1B直接将与非门的两个输入短接其实就是一个反相器,也就是输出总是和输入保持相反的电平。
初始状态的主体电路可以表示为:
CMOS与非门振荡器原理与分析_第2张图片

上图中用标示出了电路中各个节点的电位,这里的“L”表示低电平0V,“H”表示高电平,也就是电路中的“5V”。值得注意的是,这是电容两端是有压差的,电容的B端比A端高一个VCC的电压,这里以“U”表示。
CMOS与非门振荡器原理与分析_第3张图片

在开关按下的瞬间,逻辑门的信号能够快速地传递,但是电容两端的电压不能突变,A节点的电势变为5V,再加上电容上的电压,B节点的电势则为10V,因此用“2H”表示。这个时候的状态肯定是不稳定的,电容上的电荷会通过R1和R2放电。
大家可以观察发现,R2两端的电势差比R1两端的电势差小,而且R2一般取得非常大,比如“1MΩ”,因此流过R2的电流将会非常小,电容主要通过R1放电。
那么电容放电放到什么程度呢?
要回答这个问题,首先要知道节点C的电势如何变化。刚已经说流过R2的电流会非常小,而这部分小电流会往C节点上的寄生电容充电,这个寄生电容也非常小,很快C节点和B节点就能够等势,R2上就不再有电流流过。
CMOS与非门振荡器原理与分析_第4张图片
当节点C上的电势低到一定程度时,就会触发逻辑门翻转,我们可以把这个阈值定为一半的VCC,即“U/2”。上图是一个CMOS反相器的传输特性曲线,即在输入电压小于“U/2”时,输出为高电平;而输入电压大于“U/2”时,输出电压为低电平。因此我们这个假设是合理的,但是实际情况下,需要参考具体器件手册中的“VIH”和“VIL”,就是输入高电平或者低电平的逻辑阈值,它们往往是不同的,我们这里为了简便起见还是以VIH=VIL=U/2进行分析。
还有一个问题是,这里明明是一个与非门,为什么会提到CMOS反相器?这个其中一端接高电平的与非门实际上和反相器类似,可以看作一个受控的反相器。当它的其中一端输入高电平时,它就像一个反相器一样工作;而接低电平时,它就不工作。

B节点上的电压从“2U”放电到“U/2”就会触发逻辑门翻转
我们知道了这个条件后就可以对所需的时间进行计算,后面关于电容充放电的分析可以参考任意的电路原理的书,或者电赛教材《基础和测量系统设计篇》中的2.5.1节,有详细的分析,这里直接给出结论。
电容充放电过程中的电压和时间的关系可以表示为:
U ( t ) = U 末 − ( U 末 − U 初 ) e − t / τ U(t)=U_末-(U_末-U_初)e^{-t/\tau} U(t)=U(UU)et/τ
这里的 τ \tau τ就是我们电路中的 R 1 R_1 R1 C 1 C_1 C1的乘积,首先假设电容可以无限长时间地放电,确定 U 末 = 0 V U_末=0V U=0V, U 初 = 2 U U_初=2U U=2U,并令 U ( t ) = U / 2 U(t)=U/2 U(t)=U/2可得:
U / 2 = 2 U e − t / τ U/2=2Ue^{-t/\tau} U/2=2Uet/τ
从而可以解得 t = 1.39 τ t=1.39\tau t=1.39τ。这是电容第一次充放电所花的时间。后面我们继续分析。
CMOS与非门振荡器原理与分析_第5张图片
可以看到,在触发逻辑门翻转前,电容C1上已经有了U/2的电压,而且是A端电势比B端电势高。而在逻辑门翻转后的一瞬间,因为C1上的电势不能突变,因此B点的电势从之前的“U/2”变为了“-U/2”,这时候就产生了电容的第二次充放电。根据同样的方法我们可以知道,这时的 U 末 = U U_末=U U=U, U 初 = − U / 2 U_初=-U/2 U=U/2,并令 U ( t ) = U / 2 U(t)=U/2 U(t)=U/2可得:
U / 2 = U − ( U − ( − U / 2 ) ) e − t / τ U/2=U-(U-(-U/2))e^{-t/\tau} U/2=U(U(U/2))et/τ
可以解得: t = 1.10 τ t=1.10\tau t=1.10τ。这是电容第二次充放电所花的时间,我们接着分析。
CMOS与非门振荡器原理与分析_第6张图片
类似地,我们可以得到:
U / 2 = 0 − ( 0 − ( 3 U / 2 ) ) e − t / τ U/2=0-(0-(3U/2))e^{-t/\tau} U/2=0(0(3U/2))et/τ
解得也是: t = 1.10 τ t=1.10\tau t=1.10τ。之后就是一个不断重复的过程了,振荡器的周期是输出电压由高到低再由低到高的过程,因此振荡器的周期可以估计为 T = 2.2 τ T=2.2\tau T=2.2τ,也就是 T = 2.2 R 1 C 1 T=2.2R_1C_1 T=2.2R1C1,振荡器的频率为 1 / ( 2.2 R 1 C 1 ) 1/(2.2R_1C_1) 1/(2.2R1C1)

你可能感兴趣的:(日常调试记录)