多谐振荡器是一种自激振荡电路,该电路在接通电源后无需外接触发信号就能产生一定频率和幅值的矩形脉冲波或方波。由于多谐振荡器在工作过程中不存在稳定状态,故又称为无稳态电路。

一、门电路组成的多谐振荡器

1. 电路组成及工作原理  

由门电路组成的多谐振荡器的特点:

²        产生高、低电平的开关器件,如门电路、电压比较器、BJT等

²        具有反馈网络,将输出电压恰当的反馈给开关器件使之改变输出状态

²       有延迟环节,利用RC电路的充、放电特性可实现延时,以获得所需要的振荡频率(在许多实用电路中,反馈网络兼有延时的作用)

一种由CMOS门电路组成的多谐振荡器如图6.1所示。

图6.1由CMOS门电路组成的多谐振荡器

其原理图和工作波形图分别如图6.2a、b所示。

 

         (a)多谐振荡器原理图                               (b)多谐振荡器波形图

图6.2多谐振荡器原理图和波形图

图a中D 1 、D 2 、D 3 、D 4 均为保护二极管。

为了讨论方便,在电路分析中,假定门电路的电压传输特性曲线为理想化的折线,即:

 为开门电平,  为关门电平,  为门坎电平(阈值电平)。

(1)第一暂稳态及电路自动翻转的过程

假定在  时接通电源,电容C尚未充电,电路初始状态,即第一暂稳态

 =  ,  =  = 

此时,电源  经G1 的Tp 管、R和G2 的TN 管给电容C充电,如图6.2(a)所示。随着充电时间的增加,  的值不断上升,当  达到  时,电路发生下述正反馈过程:

这一正反馈过程瞬间完成,使G1 导通,G2 截止,电路进入第二暂稳态

 =  ,  =  。 

(2)第二暂稳态及电路自动翻转的过程

电路进入第二稳态瞬间,  由0 V上跳至  ,由于电容两端电压不能突变,则  也将上跳  ,本应升至V DD +V th ,但由于保护二极管的钳位作用,  仅上跳至  。随后,电容C通过  的  、电阻  和  的T N 放电,使  下降,当v I 降至  后,电路又产生如下正反馈过程:

从而使  迅速截止,  迅速导通,电路又回到第一暂稳步态,  ,  。此后,电路重复上述过程,周而复始地从一个稳态翻转到另一个暂稳态,在  的输出端得到方波。

由上述分析不难看出,多谐振荡器的两个暂稳态的转换过程是通过电容C充、放电作用来实现,电容的充、放电作用又集中体现在图中  的变化上。因此,在分析中要着重注意  的波形。

2.振荡周期的计算

 
状态转换:主要取决于电容的充、放电
振荡过程中 
 
  转换时刻:决定于  的数值

根据以上分析所得电路在状态转换时  的几个特征值,可以计算出图6. 2(b)中的T1 、T2 值。

(1)T1 的计算

对应于第一暂稳态,将图6.2(b)中t1 作为时间起点,

    ,  ,  ,  。

根据RC电路瞬态响应的分析,有

(2)  的计算

对应于图6.2(b),在第二暂稳态,将  作为时间起点,

 ,  , 

由此可求出          

所以         

将  代入,上式变为  

图6.1是一种最简型多谐振荡器,上式仅适于  »  [  、  分别为CMOS门中NMOS、PMOS管的导通电阻]、C远大于电路分布电容的情况。当电源电压波动时,会使振荡频率不稳定,在  时,影响尤为严重。一般可在图6.1中增加一个补偿电阻  ,如图6.3所示。  可减小电源电压变化对振荡频率的影响。当  时,取  »  (一般取  )。

图6.3  加补偿电阻的CMOS多谐振荡器

使用反相器的rc振荡电路的更多相关文章

  1. RC振荡电路

    RC振荡电路,由电阻R和电容C构成的适用于产生低频信号的电路 1.原理---简介 RC振荡电路,采用RC选频网络构成,适用于低频振荡,一般用于产生1Hz~1MHz(fo=1/2πRC)的低频信号.对于 ...

  2. 外部晶振的使用原因与内部RC振荡器的使用方法 _

    原因一 早些年,芯片的生产制作工艺也许还不能够将晶振做进芯片内部,但是现在可以了.这个问题主要还是实用性和成本决定的.   原因二 芯片和晶振的材料是不同的,芯片 (集成电路) 的材料是硅,而晶体则是 ...

  3. 外部晶振的使用原因与内部RC振荡器的使用方法

    原因一 早些年,芯片的生产制作工艺也许还不能够将晶振做进芯片内部,但是现在可以了.这个问题主要还是实用性和成本决定的.   原因二 芯片和晶振的材料是不同的,芯片 (集成电路) 的材料是硅,而晶体则是 ...

  4. 如何为编程爱好者设计一款好玩的智能硬件(三)——该选什么样的MCU呢?

    一.我的构想:如何为编程爱好者设计一款好玩的智能硬件(一)——即插即用.积木化.功能重组的智能硬件模块构想 二.别人家的孩子:如何为编程爱好者设计一款好玩的智能硬件(二)——别人是如何设计硬件积木的! ...

  5. 如何来看单片机外设A/D转换器ADC0804时序图

    如图,为单片机AD转换器的一种: ADC0804单片集成A/D转换器.它采用CMOS工艺20引脚集成芯片,分辩率为8位,转换时间为100µs,输入电压范围为0-5V.芯片内具有三态输出数据锁存器,可直 ...

  6. 5.IAP - FLASH

    一.Flash与时钟系统的关系            STM32系统时钟:                 HSE 高速外部时钟,电路上焊接的外部时钟,一般是4Mhz-16Mhz,板子上的是8Mhz ...

  7. RCC—使用 HSE/HIS 配置时钟

    RCC :reset clock control  复位和时钟控制器:特别是要着重理解时钟树,理解了时钟树,F429 的一切时钟的来龙去脉都会了如指掌. STM32F4系列有5个时钟源: LSIRC( ...

  8. stm32 单片机

    STM32系列基于专为要求高性能.低成本.低功耗的嵌入式应用专门设计的ARM Cortex-M3内核(ST's product portfolio contains a comprehensive r ...

  9. 0.96寸OLED显示屏驱动手册(SSD1306)

    MCU IIC接口 IIC通信接口由从地址位SA0,IIC总线数据信号SDA(输出SDAout/D2和输入SDAin /D1)和IIC总线时钟信号SCL(D0).不管是数据线还是时钟线都需要连接上拉电 ...

随机推荐

  1. 由angular命令行工具(angular-cli)生成的目录和文件

    e2e目录:是端到端的测试目录,包含基本的测试桩.是用来做自动测试的. src:应用源代码目录.我们写的所有代码都应该在这里面. app:包括应用的组件和模块.我们自己写的绝大部分代码都是写在这个目录 ...

  2. IEnumerable<T>作为方法返回值类型——建议通过yield return返回

    若IEnumerable<T>作为方法返回值的类型,则建议使用“迭代”模式(yield return) private IEnumerable<TwoLevelTreeNodeVie ...

  3. Ubuntu 14.04配置虚拟主机

    虚拟主机常用于在一个单独的IP地址上提供多个域名的网站服务.如果有人想在单个VPS的单个IP地址运行多个网站,这是非常有用的.在这个教程中,让我告诉你如何设置在Ubuntu 14.04 LTS的Apa ...

  4. poj1113凸包

    就是求凸包的周长加以l为半径的圆周长,证明略 由于之前写过叉积,所以graham扫描算法不是很难理解 #include<map> #include<set> #include& ...

  5. program发展史及以后预测

    三个阶段:第一个阶段是1950年代到1960年代,是程序设计阶段,基本是个体手工劳动的生产方式.这个时期,一个程序是为一个特定的目的而编制的,软件的通用性是很有限的,软件往往带有强烈的个人色彩.早期的 ...

  6. 搞懂分布式技术3:初探分布式协调服务zookeeper

    搞懂分布式技术3:初探分布式协调服务zookeeper 1.Zookeepr是什么 Zookeeper是一个典型的分布式数据一致性的解决方案,分布式应用程序可以基于它实现诸如数据发布/订阅,负载均衡, ...

  7. POJ 2369 Permutations (置换的秩P^k = I)

    题意 给定一个置换形式如,问经过几次置换可以变为恒等置换 思路 就是求k使得Pk = I. 我们知道一个置换可以表示为几个轮换的乘积,那么k就是所有轮换长度的最小公倍数. 把一个置换转换成轮换的方法也 ...

  8. ubuntu14.04 改变系统默认Python解释器

    今天刚安装了anaconda,摸索了一阵子,现做个相关记录. 虽然安装的时候,会通知你是否加入环境变量(加到.bashrc尾部),但是调用的解释器仍然是系统自带默认的Python2.7.6,我们在/r ...

  9. Mycat跨分片Join

    1 前言 Mycat目前版本支持跨分片的join,主要实现的方式有四种. 全局表 ER分片 HBT(参考MyCAT人工智能解决跨分片SQL.docx) ShareJoin ShareJoin在开发版中 ...

  10. laravel中新建文件并保存数据到文件中

    //base_path()获取当前的绝对路径 $path=base_path().'\config\web.php'; $str='abcdefg'; //要声明的字符串 file_put_conte ...