历史上的今天
今天是:2025年03月17日(星期一)
2020年03月17日 | 51 单片机晶振电路原理
2020-03-17 来源:eefocus
XTAL1和XTAL2指的是8051系单片机上常见的用于接“晶振”(晶体谐振器-Crystal Resonator”)的两个引脚。从原理上来说,这两个引脚和MCU内部一个反相器相连接。这个反相器与外部的“晶振”组成一个构成一个皮尔斯振荡器(Pierce oscillator)。因为这个振荡器集成在器件内部的组件实在是不能更简单啦,就一个反相器和一个电阻,非常合适于各种数字IC的设计制造流程。
深入地分析这个皮尔斯振荡器的工作原理时,不妨把它表述成以下理想的电路形式:
模电知识告诉我们,当期望得到一个输出信号频率为的振荡电路时,这个电路在必须满足两个条件:2kπ的环路相移
闭环增益为1
在上面的皮尔斯振荡器的电路原理图中,不难发现反相器U1对任意的频率分量均提供了180°,即的相移量。同时,反相器在输入输出之间可以看作是一个buffer,因此通过对反相器的输出特性进行调教,较容易得到1的loop gain。
到这里有人会问了,相移量只有,上面的两个条件连一个都没达到,这哪能起振呢?问题的关键在于电路中的其它元件上。
首先,对电路中的一颗“晶振”来说,石英晶体本身具有压电效应,对石英晶体进行适当处理后可以得到一种压电谐振器件,这就是常见的石英晶体谐振器(以下简称QCR)。对QCR的物理特性进行分析,可以发现QCR的压电谐振过程可以用以下的理想电路模型近乎完美地表示出来。
右图的电路模型中,L1-C1-R1组成了一个RLC串联谐振电路,再加上一个实际很小的C0,整个QCR电路模型有两个很接近的谐振点。QCR在电路中与反相器并联,充当的是一个选频网络的作用。整个振荡电路在上电时可以看作是反相器的输出端打进去了一个阶跃信号,QCR把阶跃中谐振点频率的信号挑出来,其他没用的踢掉,在环路增益为1的情况下整个电路趋于稳态平衡。
模电的知识告诉我们,在QCR // inverter的组合下,这个皮尔斯振荡器已经具备了一个理想的振荡电路中的两大网络(选频+放大)。貌似振荡器中的R1和C1//C2没有什么卵用啊。且慢,这个R1和C1//C2,正是这个电路中最美妙的地方。
把R1与C1//C2单独抽出来配合反相器的电路组合貌似并不好理解,假如我们换种方式呢?
(图中引进R’是为了方便理解反相器中的loop voltage gain)
右边的运放电路除了反相结构本身提供的-180°相移外,R-C组合也提供了额外的相位延迟。更加奇妙的是这个电路组合在设计得当的情况下能够根据实际电路中各元件的误差自动调整相移大小与反相结构相互匹配(当然了谐振频率也会有少许改变),进而保证整个loop的相移满足条件1。这个“自动调整”的过程推导起来很占篇幅,在这里略过不表。
在上面的图中,还有一个很巧妙的地方,即R1是并联在反相器的输入输出端的。这个小小的电阻和反相器构成了一个反馈通路,进而使得人们能将各种模拟电路的分析设计方法用在这样一个逻辑门电路上,比如通过反馈的方法提高反相器的线性度。在这里将现实电路中反相器的非理想特性引入设计考虑的同时,却又能使电路图保持简洁易懂。
实际的MCU振荡电路是“Isolated” Pierce-Gate Oscillator,要考虑的因素比这个理论模型复杂得多,但根本原理都是一样的。振荡电路输出的波形,通过下一级的时钟发生电路(Clock Generator)进行整形调整后,得到具有稳定形状的矩形信号并输出至时钟树,作用于整个MCU的同步逻辑。
上一篇:51单片机播放音乐(一):蜂鸣器
下一篇:51单片机—用蜂鸣器播放音乐
史海拾趣
|
目前在做一个SRAM驱动,写成的是流驱动,驱动写好了! 但是在做MMU地址映射表时出问题了!具体如下: 原来的g_oalAddressTable[DATA] 表为 g_oalAddressTable DCD 0x80000000, ...… 查看全部问答> |
|
公司交给我让我先了解下pos机,但是我对Pos机一点不了解,公司做的pos机是和银行没有关系的。就是给本公司的会员使用 想问下大虾: 1:Pos机的相关硬件有什么设备 2:用什么语言开发,能运行到什么系统,是否认能兼容 3:软硬件两者怎么相互嵌 ...… 查看全部问答> |
|
SD WiFi 插拔之后工作不正常(Wince 5.0) Urgent SD WiFi在首次插入后均可以与指定AP(Access Point)成功连接,后经过一次拔插后,就无法工作了,只有重新系统才可以。经Trace log可知,无法得到BSSI List,其列表为空,由此可知,WiFi Adapter处于异常状态,至今没有找到具体原因,曾试过NdisReset ...… 查看全部问答> |
|
STM32 ,用固件库写一个流水灯的程序需要哪些库?我知道肯定要用GPIO,RCC要用到USART,NVIC吗?为什么啊? 初学者求助… 查看全部问答> |
|
方法和技术——《使用2790型数字源表开关系统测试双安全气囊充气机模块》 机械臂接口 – 数字I/O 2790内置的数字接口能够直接控制器件机械臂。数字接口包含五路TTL兼容数字输出和两路输入,以及外部供电的继电器和地线连接。五路输出提供测试通过/失败通知。可以定义两个上限和两个下限用于任何数字万用表测试。每个测 ...… 查看全部问答> |
|
本帖最后由 paulhyde 于 2014-9-15 03:39 编辑 有谁用过CC430及CC1111的吗?有没有相关的资料,最好是中文的 … 查看全部问答> |
|
今天调新板子,程序从JTAG和AS口都下不进去,且提示不同。 加载JTAG,程序烧到48%,出ERROR: CFG_DONE pin failed to go high. 用万用表测,CFG_DONE 角经电阻10K接到3.3V,且 CFG_nCE 已接地。 换成AS口,在选择目标POF文件时就出错 ...… 查看全部问答> |




