单片机内外部晶振,到底有什么区别?
如果你对于单片机硬件足够了解的话,一般都知道单片机系统里都会使用到晶振,其发挥的作用非常大。单片机带有内部晶振和外部晶振,那么如何单片机稍微内部晶振与外部晶振有何区别呢?
一、单片机晶振的作用
单片机是指一个集成在一块芯片上的完整计算机系统。尽管它的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:CPU、内存、内部和外部总线系统,目前大部分还会具有外存。
单片机晶振的作用是为系统提供基本的时钟信号。通常一个系统共用一个晶振,便于各部分保持同步。有些通讯系统的基频和射频使用不同的石英晶振,而通过电子调整频率的方法保持同步。单片机晶振提供的时钟频率越高,那么单片机运行速度就越快,单片机接的一切指令的执行都是建立在晶振提供的时钟频率。
二、单片机晶振电路原理
单片机一般采用三端式(考毕兹)交流等效振荡电路;实际的晶振交流等效电路中,其中Cv是用来调节振荡频率,一般用变容二极管加上不同的反偏电压来实现,这也是压控作用的机理;把石英晶体的等效电路代替晶体后。其中Co,C1,L1,RR是晶体的等效电路。单片机工作时,是一条一条地从RoM中取指令,然后一步一步地执行。单片机访问一次存储器的时间,称之为一个机器周期,这是一个时间基准。
分析整个振荡槽路可知,利用Cv来改变频率是有限的,决定振荡频率的整个槽路C=Cbe,Cce,Cv三个串联后和Co并联再和C1串联。可以看出:C1越小,Co越大,Cv变化时对整个槽路的作用就越小。因而能“压控”的频率范围也越小。实际上,由于C1很小(1E-15量级),Co不能忽略(1E-12量级)。所以,Cv变大时,降低槽路频率的作用越来越小,Cv变小时,升高槽路频率的作用却越来越大。这一方面引起压控特性的非线性,压控范围越大,非线性就越厉害;另一方面,分给振荡的反馈电压(Cbe上的电压)却越来越小。采用泛音次数越高的晶振,其等效C1就越小;因此频率的变化范围也就越小。
简单地说,没有晶振,就没有时钟周期,没有时钟周期,就无法执行程序代码,单片机就无法工作。
三、单片机的内部晶振与外部晶振区别
单片机的外部晶振稳定,受温度,湿度等环境因素影响比内部晶振小,精度比较高。而且当设计需要降低功耗时,比如说便携式仪表等,就需要外部晶振,因为内部晶振不能根据需要停止,而外部晶振可以适时停止,从而进入休眠状态,降低功耗。
而单片机的内部晶振一般不够准确,误差比较大。但单片机的内部晶振和外部晶振的作用都是一样的,给系统提供时钟。如果对频率要求不高的话(比如不涉及串口通信和精确定时等的话),用内部晶振就足够了,并且这样成本还低。
单片机常用电路1-晶振电路
在单片机的学习中,不光是单片机程序的编写,还有电路的设计。有些公司可能会把单片机开发分成两块:电路设计、程序设计。然后负责电路设计的人只负责电路设计,不用考虑单片机编程;程序设计的人只管单片机编程,不设计电路。
不过我个人认为,只搞电路设计的人可以不用关心单片机是怎么编程的,但是搞单片机程序设计的人,却必须要对电路很熟悉,你可以不用亲自设计电路,但是必须对单片机项目中各种电路的原理足够了解,这样才能确保设计出来的程序稳定、健壮。
举个例子来说吧,假如一个单片机系统中用到了EEPROM存储芯片,EEPROM芯片的SCL和SDA是开漏输出的,需要外接上拉电阻,假设电路板上的EEPROM芯片的SCL和SDA的上拉电阻忘记焊上或者坏掉了,这时候调试EEPROM是调不通的,如果这时候电路设计人员不在,而单片机程序设计人员又对EEPROM的原理不熟悉,就会陷入到麻烦中:因为对电路不熟悉,就会一遍一遍的查找程序的原因。可是程序明明没有问题啊,这个程序在别的项目中一直都是正常的,为什么在这个板子上就不行了呢?
还有一点,一般带有微控制器的电路板,电路功能是否正常,是需要编写一定的验证程序来测试电路板的性能的,单靠电路设计人员使用万用表、示波器等工具是无法验证电路的好坏的。
综上所述,单片机程序设计人员一定要对电路的原理熟悉,这样才能设计出正确的程序。
从本篇文章开始,我们就来简单学习一下单片机开发中常用的电路。
当然,由于本人水平有限,关于这些电路的讲解只限于简单原理的讲解。如果有错误,欢迎批评指正。
早期的单片机(比如经典的51单片机)系统,外接晶振是必须的(当然也可以外接时钟脉冲,但是很少用),因为单片机的运行必须依赖于稳定的时钟脉冲。但是随着技术的发展,现在很多单片机都已经集成了内部时钟,所以在一般的应用场合,可以不用外接晶振电路了。不过由于内部时钟容易受外界干扰,所以在要求严格的场合,晶振电路还是很有必要的。
晶振电路1
图1是典型的单片机外接晶振电路。
图1 单片机晶振电路
该电路不只是有一个晶振,还有两个电容,这两个电容有什么作用呢?
这两个电容一般称为“匹配电容”或者“负载电容”、“谐振电容”。晶振电路中加这两个电容是为了满足谐振条件。一般外接电容,是为了使晶振两端的等效电容等于或接近负载电容。只有连接合适的电容才能满足晶振的起振要求,晶振才能正常工作。
负载电容的值由如下公式计算:
负载电容无法满足的话一般会使晶体频率产生偏差,严重的话晶体无法起振。电路设计中要尽量满足晶体的负载电容需求,从而使晶体工作在最佳状态。负载电容计算公式如下:
CL = C1*C2 / (C1+C2) + CS
CL为晶振的负载电容值,一般通过查询晶振的数据手册获得。CS为电路板的寄生电容,一般取 3~5pF,取C1 = C2,那么公式可以简化成如下:
CL = C1 / 2 + CS
一般情况下,增大负载电容的值会使振荡频率下降,减小负载电容的值,会使振荡频率上升。
晶振电路2
我们有时候还会看到如图2所示的晶振电路。
图2 不带并联电阻和带并联电阻的晶振电路
该电路中晶振上又并了一个电阻,这是为什么呢?
这个电阻实际上是反馈电阻,是为了方便晶振起振的。对于COMS而言,这个电阻的阻值可以是1M以上,对于TTL则是需要视情况而定。最好的办法是看看芯片的数据手册,确认芯片晶振电路内部是否有电阻,如果没有,电路设计时最好加上。
晶振电路3
图3是有源晶振电路。
图3 有源晶振电路
有源晶振通常的用法:一脚悬空,二脚接地,三脚接输出,四脚接电压。有源晶振不需要CPU的内部振荡器,连接方式相对简单(主要是做好电源滤波,通常使用一个电容和电感构成的PI型滤波网络,输出端用一个小阻值的电阻过滤信号即可),不需要复杂的配置电路。相对于无源晶体,有源晶振的缺陷是其信号电平是固定的,需要选择好合适输出电平,灵活性较差,而且价格高。
相关问答
stc15 单片机 不用 外部晶振 可靠吗?只用内部晶振对串口通信有影响吗?单片机可以不用外部晶振,只用内部晶振对串口通讯有一定影响,因为内部晶振是RC电路,温度影响较大,所以波特率是不稳定的。单片机可以不用外部晶振,只用内部晶...
单片机 试题解答1.当CPU响应 外部 中断0后,PC的值是(A)A.0003HB...[最佳回答]一,选择题1.当CPU响应外部中断0后,PC的值是(A)A.0003HB.2000HC.000BHD.3000H2.当MCS-51复位时,下面说法准确的是(A)A.PC=0000HB....
51 单片机 连接 外部晶振的 引脚,分别为什么和什么?51单片机连接外部晶振的引脚分别为XTAL1和XTAL2。XTAL1是晶振的输入引脚,XTAL2是晶振的输出引脚。晶振通过XTAL1引脚提供时钟信号给单片机,单片机通过XTAL2引...
STC15系列,不用 外部晶振 能可靠串行通信吗?单片机可以不用外部晶振,只用内部晶振对串口通讯有一定影响,因为内部晶振是RC电路,温度影响较大,所以波特率是不稳定的。单片机可以不用外部晶振,只用内部晶...
单片机晶振 电路?单片机有内部时钟方式和外部时钟方式两种:(1)单片机的XTAL1和XTAL2内部有一片内振荡器结构,但仍需要在XTAL1和XTAL2两端连接一个晶振和两个电容才能组成时钟电...
st89c52 单片机晶振 介绍?ST89C52单片机晶振是一种用于提供时钟信号的电子元件,它可以让单片机正常运行。它的频率通常为11.0592MHz,可以通过外部电路连接到单片机的晶振管脚。晶振的工...
若外接 晶振 为12mhz时, 单片机的 时钟周期、状态周期、机器周期各是多少微秒?1.时钟周期即晶振的单位时间发出的脉冲数,12MHZ=12×10的6次方,即每秒发出12000000个脉冲信号,那么发出一个脉冲的时间就是时钟周期,即1/12微秒。2.一个机器...
32 单片机晶振的 工作原理一般叫做晶体谐振器,是一种机电器件,是用电损耗很小的石英晶体经精密切割磨削并镀上电极焊上引线做成。对于单片机来说晶振是很重要的,可以说是没有晶振就没...
单片机的 两个 晶振 引脚该肿么接才能工作?-ZOL问答单片机(Microcontrollers)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断...
51系列 单片机的晶振 取值范围?理论上来讲晶体的负载电容C=C1/2+C0(电路杂容),而在市场中晶体的负载电容C为7PF,12.5PF,16PF,18PF,20PF,33PF,所以C1会更高,如果按芯片的要求C1=5PF的......