晶振

之所以说晶振是数字电路的心脏,就是因为所有的数字电路都需要一个稳定的工作时钟信号,最常见的就是用晶振来解决,可以说只要有数字电路的地方就可以见到晶振。

常见种类

我们常说的晶振,包含两种。

一种需要加驱动电路才能产生频率信号,这类晶振叫晶振谐振器,比如常见的49S封装、两脚封装的SMD3225 5032、少量四脚SMD封装。

一种不用加驱动电路,只需要加上电压信号,就能够产生频率信号,这种叫做晶振振荡器,基本上都是4脚封装,含有电源引脚、地引脚、频率输出引脚等。

主要参数选择

这里我们主要针对晶振谐振器。一般晶振的主要参数有,核心频率、工作温度、精度值、等效串联阻抗、匹配电容、封装形式等等。

晶振的核心频率,一般核心频率的选择取决于频率需求元件的要求,比如时钟芯片就需要32.768KHz的晶振,MCU一般是一个范围,基本上从4M到几十M都有。

晶振的工作温度,之所以把工作温度单独拿出来,主要是由于晶振是个物理的器件,工作温度与价格是成正比,工作温度要求越高,价格越高,所以选择晶振时也需要重点考虑工作温度。

晶振的精度值,精度一般常见的有0.5ppm、±5ppm、±10ppm、±20ppm、±50ppm等等。其中0.5ppm国内的目前只有通过数字补偿的才能做到,国外的有在3225甚至2016上实现高精度。精度的选择一般要参考频率需求器件对精度的要求。比如高精度的时钟芯片一般在±5ppm以内,普通的应用都选择在±20ppm左右。

晶振的等效串联阻抗,这个参数主要是与驱动能力有关系,也就是说跟驱动电流有关系。等效电阻小则需要的驱动电流就小。对外部驱动电路的适应能力就越高。

晶振的匹配电容,通过改变匹配电容的参数值,可以改变晶振的核心频率,也就是说可以通过调整晶振的匹配电容来对精度做微调。这也是目前国内做高精度温补晶振的主要办法。

封装形式

目前晶振的封装形式是多样的,需要根据自己的实际情况来进行选择,主要是根据板子的空间、加工方式、成本等方面来考虑。

常见注意事项

一般来说,晶振是一个系统的核心器件。晶振的好坏直接关系整个系统的稳定性。需要注意的主要有以下几点。

与加工工艺有关系的有以下两个方面:

① 一个是过高温的回流焊,由于晶振是个物理器件,在过回流焊的时候高温可能会对晶振的频率造成一定的影响,偏离核心频率,这个在使用K级别晶振的时候需要特别注意。

② 一个是清洗流程中的超声波清洗,这个主要是超声波频率如果落在晶振的工作频率上就可能引起晶振的共振,导致晶振内部的晶片碎掉,出现不良。

通常应用上需要注意的是让晶振工作在稳定状态,很多出现晶振失效的情况都是晶振长期工作在过驱动或者是欠驱动状态,这个可以通过查看晶振的输出引脚波形可以分析。过驱动可能导致晶振达不到正常的使用寿命,欠驱动可能导致晶振的抗干扰能力减弱,系统常常无故丢时钟。

抗干扰设计

由于晶振是个小信号器件,很容易受到外部的干扰,从而导致系统时钟出现问题。

这块主要从两个方面处理:
一个是layout上注意晶振时钟信号的处理,常用的是包地处理。
一个是对板上其他频率器件的处理,这个就需要做好不同频率间的隔离处理。

围观 34

有关51单片机有关晶振的问题一并总结出来,希望对学51的童鞋来说能有帮助。

一、为什么51单片机爱用11.0592MHZ晶振?

其一:因为它能够准确地划分成时钟频率,与UART(通用异步接收器/发送器)量常见的波特率相关。特别是较高的波特率(19600,19200),不管多么古怪的值,这些晶振都是准确,常被使用的。

其二:用11.0592晶振的原因是51单片机的定时器导致的。用51单片机的定时器做波特率发生器时,如果用11.0592Mhz的晶振,根据公式算下来需要定时器设置的值都是整数;如果用12Mhz晶振,则波特率都是有偏差的,比如9600,用定时器取0XFD,实际波特率10000,一般波特率偏差在4%左右都是可以的,所以也还能用STC90C516 晶振12M 波特率9600,倍数时误差率6.99%,不倍数时误差率8.51%,数据肯定会出错。这也就是串口通信时大家喜欢用11.0592MHz晶振的原因,在波特率倍速时,最高可达到57600,误差率0.00%。用12MHz,最高也就4800,而且有0.16%误差率,但在允许范围,所以没多大影响。

二、在设计51单片机系统PCB时,晶振为何被要求紧挨着单片机?

原因如下:晶振是通过电激励来产生固定频率的机械振动,而振动又会产生电流反馈给电路,电路接到反馈后进行信号放大,再次用放大的电信号来激励晶振机械振动,晶振再将振动产生的电流反馈给电路,如此这般。当电路中的激励电信号和晶振的标称频率相同时,电路就能输出信号强大,频率稳定的正弦波。整形电路再将正弦波变成方波送到数字电路中供其使用。

问题在于晶振的输出能力有限,它仅仅输出以毫瓦为单位的电能量。在 IC(集成电路) 内部,通过放大器将这个信号放大几百倍甚至上千倍才能正常使用。

晶振和 IC 间一般是通过铜走线相连的,这根走线可以看成一段导线或数段导线,导线在切割磁力线的时候会产生电流,导线越长,产生的电流越强。现实中,磁力线不常见, 电磁波却到处都是,例如:无线广播发射、电视塔发射、手机通讯等等。晶振和IC之间的连线就变成了接收天线,它越长,接收的信号就越强,产生的电能量就越强,直到接收到的电信号强度超过或接近晶振产生的信号强度时,IC内的放大电路输出的将不再是固定频率的方波了,而是乱七八糟的信 号,导致数字电路无法同步工作而出错。

所以,画PCB(电路板)的时候,晶振离它的放大电路(IC管脚)越近越好。

三、单片机电路晶振不起振原因分析

遇到单片机晶振不起振是常见现象,那么引起晶振不起振的原因有哪些呢?

① PCB板布线错误;②单片机质量有问题;③ 晶振质量有问题;④负载电容或匹配电容与晶振不匹配或者电容质量有问题;⑤PCB板受潮,导致阻抗失配而不能起振;⑥ 晶振电路的走线过长;⑦晶振两脚之间有走线;⑧外围电路的影响。

解决方案,建议按如下方法逐个排除故障:

① 排除电路错误的可能性,因此可以用相应型号单片机的推荐电路进行比较。② 排除外围元件不良的可能性,因为外围零件无非为电阻,电容,很容易鉴别是否为良品。③ 排除晶振为停振品的可能性,因为不会只试了一二个晶振。④试着改换晶体两端的电容,也许晶振就能起振了,电容的大小请参考晶振的使用说明。⑤在PCB布线时晶振电路的走线应尽量短且尽可能靠近IC,杜绝在晶振两脚间走线。

四、51单片机时钟电路用12MHZ的晶振时那电容的值是怎样得出来的?拿内部时钟电路来说明吧!

其实这两个电容没人能够解释清楚到底怎么选值,因为22pF实在是太小了。这个要说只能说和内部的振荡电路自身特性有关系,搭配使用,用来校正波形,没有人去深究它到底为什么就是这么大的值。

五、单片机晶振电路中两个微调电容不对称会怎样?相差多少会使频率怎样变化?在检测无线鼠标的接受模块时,发现其频率总是慢慢变化(就是一直不松探头的手,发现频率慢慢变小)晶振是新的!

电容不对称也不会引起频率的漂移,说的频率漂移可能是因为晶振的电容的容量很不稳定引起的,可以换了试,换两电容不难,要不就是的晶振的稳定性太差了,或者测量的方法有问题。

六、单片机晶振与速度的疑问,执行一条指令的周期不是由晶振决定的吗。那么比如51单片机和MSP430,给51接高速晶振,430接低速的,是不是51跑的要快?是不是速度单片机速度仅仅与晶振有关,关键是单片机能不能支持那么大的晶振?

每个单片机的速度是受到内部逻辑门电平跳变速度限制的。两个芯片同时使用同样的晶振,比如12M的。因为AVR是RISC指令集,它在同样外部晶振频率下,比51要快。

比如,51最快能接40M,AVR是16M的晶振。

STC89C52大都用12MHz晶振,但由于其12个时钟周期才是一个机器周期,相当于其主频只有1MHz。

MSP430采用RISC精简指令集, 430单片机若采用内部DCO震荡可达21MHz主频。单个时钟周期就可以执行一条指令,相同晶振,速度较51快12倍。

对于一个51,给它用更高的晶振,速度会快些。但是对于高级的单片机就不一样了。高级单片机内部,一般都是有频率控制寄存器的,所以,简单的增加晶振,可能达到单片机的极限,导致跑飞。

七、请问:有什么方法可以确定某一款单片机在某一大小的晶振下是否能正常工作?

晶振选择太高不太合适,具体晶振上限是多少,恐怕测不出来,只能按照人家单片机的要求,一般STC系列单片机上限是35M或40M,stc单凭上写的有,如STC11F16XE 35I-LQFP44G其中35I就是晶振最高35M的工业级芯片。

超过上限会出现什么样的问题,没有测试过,一般晶振选择12M的比较多,如果选择STC 1T指令的,就相当于12*12=144M的晶振。如果用于串口通信,建议选用11.0592M的或22.184M,选择晶振最主要还是参照人家的说明书。

八、4个AT89C51单片机能否用一个12M的晶振使其都正常工作?一个采用内部时钟方式,其余三个用外部方式...那四个都用内部方式可以不(将4个单片机都并联在一个晶振上)?

可以,其中一个正常接晶振,他的XTAL2输出接到另外三个的XTAL1输入上。

九、单片机的运行速度和晶振大小的关系,若单片机的最高工作频率是40M,晶振是否可以选择24M或更高,但不超过40M,这样单片机的运行速度是否大增?长期在此工作频率下对单片机是否有不良影响?单片机对晶振的选择的原则是怎样的?

当然是有影响的,单片机的工作速度越快,功耗也越大,受干扰也会越厉害,总之最高能跑40M的,跑不超过40M的是没有问题的,只是对相关的技术(如PCB的设计元件的选取等)会高去很多。

十、89c51单片机的复位电路中常采用12MHZ的晶振,实际上市场上稍小于12MHZ,为什么呢?

答:需要串口通讯时一般是用11.0582MHZ的,这样波特率才好算。

用12MHZ的工作周期就容易计算。

十一、单片机晶振上电不起振,但是手碰一下晶振就起振了,为什么?怎么判断单片机晶振是否起振呀?

看看晶振配的电容焊了没有,值有没有错误?

最简单是用示波器,另外可以看一下电源是否正常。

十二、怎样判断单片机外部晶振有没有起振?STC89C52单片机本来是好好的后来不行了,换了个晶振就好了。但是过了几个小时后又不行了,是怎么回事。还有就是怎样判断晶振是否起振?

①先换一块单片机试试,问题还在则排除单片机;②可能是虚焊造成的,这点要注意;③用STC89C52也碰到过类似的问题,换了块晶振就OK 了,好像STC起振不橡AT89S52那么顺。其实对于STC89C52可以直接看30脚(ALE),接个灯,起振一下子就能看出来了。

十三、51单片机晶振上接的电容大小该如何选择?是晶振越大,电容值也要大一些吗,一般常用多大的。有人说常用的从15-33pf,具体如何选择效果最好?比如分别用一个6M和12M的晶振,用多大电容更合适?

15-33pf都可以,一般用的是15P和30P 晶振,大小影响不大。常用的4M 和12M 以及11.0592M和20M 24M 都用的30P,单片机内部有相应的整形电路,不必担心。

十四、没有程序的空白单片机,外部晶振能起振么?

没有内部晶振的单片机,外部晶振可以起振,如传统类MS51系列单片机有内部晶振的单片机,外部晶振不会起振,需要对外部晶振进行配置后才会起振,如果不对外部晶振进行配置仍使用内部晶振,如silicon lab系列C8051F020单片机。

十五、为什么at89c52 P1.0输出2.5v电压,单片机好像未工作,晶振波形是不规则的正弦波可不可以?线路板没有达到预想效果,发光二极管一直亮,感觉还是单片机的问题,P1.0输出2.5v电压,看门狗用的X5045,怎么回事?

将看门狗拿掉,暂时做成最小系统,既只有电源、8952、晶振和两只30P左右的电容。

①将P1.0口置1,测试该口的电压是否在2.5V以上;

②将P1.0口置0,测试改口电压是否约为0V。

是的话就是OK的,否则就要看看电源电压、晶振、8952了。电源电压是5+、-0.25V,且纹波一定要小

十六、制作max232下载单片机,工作电压都正常,要外加晶振嘛?

当然要加,如果没有外加晶振,那么单片机的时钟电路就没有了,导致单片机串口就不能进行数据传输了,最终这个下载器具就不能下载程序了。

十七、若89c52单片机使用外接晶振,应如何设置?

晶振的两个管脚各接一个20~30pf的电容后分别接入单片机的XTAL1和XTAL2,两个电容的另一端并接后接地即可,不再需要任何设置

十八、晶振的原理,如何产生正弦信号的,详细一点,从电路方面分析?

晶体可以等效为一个电感,与里面的电容形成振荡回路,能量从电感慢慢到电容,再从电容慢慢到电感,周而复始形成振荡。正半周是电容的充放电过程,负半周是电感的充放电过程。

十九、现在要用52单片机做一个交通灯电路。要求是红灯,绿灯30s,黄灯3s。循环变化。那么外界晶振怎样选择?单指令周期多少比较合适?图中外接的两个电容的作用是什么?大小多少合适?

如果选择晶振的话,那两个电容值可以选择:30加减10PF左右的(频率在0~33MHZ之间);

如果选择陶瓷晶振的话,电容值可以选择:40加减10PF左右的(频率在1.2~12MHZ)振荡器应尽量靠近电容。指令周期是可以算的,这个是有公式的!

二十、89c52单片机 晶振频率才12兆,太小了,怎样能改大晶振频率?

外接18.432或者24MHz的晶振。或者换4T的W77E58单片机,这样相当于把工作频率提高3倍。或者换1T的DS89C4XX单片机,这相当于把工作频率提高8倍!用1T的STC12C5A60S2单片机也有这样的效果。

二十一、单片机不能正常工作,晶振问题?如何去检查晶振正常还是不正常?另外看到说晶振跟两个小电容要离得很近,几乎都没剪引脚(就是买回来多长就多长)就插上去了,这个也有关系吗?

用万用表测量单片机连接晶振的两个引脚,正常起振的状态下电压大概比供电电压的1/2略低一些,如果其中一个或全部引脚为电源电压或零就表明没起振。那个引脚长些一般不会有什么影响,相比之下接地更关键些,两个谐振电容接地端到单片机的电源地要尽量近些。

来源:玩转单片机

围观 145

平时我们看到的单片机最小系统中一般都是有时钟电路,见得太多以至于习以为常,突然之间问起来为什么要有晶振呢?一般我们就答晶振就像人的心跳,哈哈,但是到底他是怎么工作的呢,本期我们一探究竟。


一、晶振旁边的电容是什么用?可不可以不要?

如上图是51单片机晶振的典型应用电路,一般晶振旁边会带两个30pf或者20pf的电容,这个电容叫做负载电容,这个电容不加也是可以使用的。如果电路不加负载电容,则电路会工作在晶体谐振频率上。这里我们假设晶体的谐振频率为Fr,而加了电容的谐振频率为有载谐振频率我们设为FL,则晶体谐振频率Fr与晶体有载谐振频率FL的关系是:FL=Fr + Ts*CL,其中Ts为晶体的牵引量,单位为ppm/pF。CL为晶体的负载电容,即晶体旁边加的那个电容,单位为pF。所以说不加电容也是可以的,只是电路会工作在晶体谐振频率上即FL=Fr;

当晶体发生谐振后,会呈现为纯电阻,即谐振阻抗。在有载谐振中,谐振电阻一般会与负载电容呈反比例关系。也就是说负载电容越小,电路的谐振阻抗越高,就越不容易起振,输出波形幅度就越小。但是电路直接工作在晶体谐振频率的状态是非常理想化的,我们一般的电路都或多或少的有一些杂散电容,当电路振荡时,这些杂散电容便被视为晶体的负载电容进行工作。由于这些杂散电容一般都很小,且不稳定,这就造成晶体振荡频率不稳定,且谐振阻抗增高,不同的人设计的地电路走线不一样,杂散电容也不同。

既然有杂散电容存在,那么上面的公式实际应该是:FL = Fr + Ts*(Cy+CL),其中Cy为杂散电容,那么根据不同的电容可以调整CL值,直到电路工作在你所要的频率上,比如51单片机的12MHz。一般时候这个负载电容CL值不要太小,上面说过电容太小,谐振阻抗会变高,不利于起振且输出幅度小。所以这个电容值一般选取在10至30pF之间,22或30pf也是一种经验数值,此时由于负载电容CL值远远大于杂散电容Cy值,因此对杂散电容的不稳定性可以忽略不计,那么加了负载电容的电路就会更稳定,频率更准确。

二、晶振的作用

通过上面的介绍我们了解了晶振的典型电路,而平时我们也有看到晶振和电容封装在一起的,也有的单片机不需要接外部晶振而是直接使用内部晶振,总之,无论我们看见看不见,单片机工作是需要晶振的,这是单片机能正常工作的必要条件之一。

晶振,一般我们指的是石英晶体振荡器,是一种高精度和高稳定度的振荡器。通过一定的外接电路来,可以生成频率和峰值稳定的正弦波,它是一种无源晶振。而单片机在运行的时候,需要一个脉冲信号,作为自己执行指令的触发信号,可以简单的想象为:单片机收到一个脉冲,就执行一次或多次指令,这也就是所谓的心跳。无论是简单的51单片机,还是手机里的ARM处理器都是需要晶振的,只是晶振的种类和频率不同。我们本期侧重点是51单片机晶振,别的都类似。 

单片机工作时,是一条一条地从ROM中取指令,然后一步一步地执行。单片机访问一次存储器的时间,称之为一个机器周期,这是一个时间基准。—个机器周期包括12个时钟周期。如果一个单片机外接了一个12MHz的晶振,那么它的时钟周期就是1/12us,它的一个机器周期是12×(1/12)us,也就是1us。

在51单片机的所有指令中,有一些完成比较快的指令,只要一个机器周期就行了,有一些完成得比较慢,得要2个机器周期,还有两条指令要4个机器周期才可以运行完毕。为了衡量指令执行时间的长短,又引入一个新的概念:指令周期。所谓指令周期就是指执行一条指令的时间。

例如,当需要计算DJNZ指令完成所需要的时间时,首先必须要知道晶振的频率,假如我们使用12兆赫兹晶振,那么一个机器周期就是1us,而DJNZ指令是双周期指令,所以执行一次就要2us。如果该指令需要执行500次,那就是1000us,也就是1ms。

机器周期不仅对于指令执行有着重要的意义,而且它也是单片机定时器和计数器的时间基准。比如我们常见的51单片机,通常晶振选择12兆赫兹,那么当定时器的数值加1时,实际经过的时间就是1us,这就是单片机的定时原理。

说白了,晶振就是给单片机提供工作信号脉冲,这个脉冲就是单片机的工作速度,比如12兆晶振,单片机工作速度就是每秒12兆。

来源:单片机仿真

围观 1142

很多人都知道晶振是电子元器件中的的一种频率元件,是用电损耗很小的、经过精密切割磨削并镀上电极焊上引线做成的。它是时钟电路中最重要的部件,是向显卡、网卡、主板等其它配件各部分提供基准频率。石英晶振也像个标尺,其工作频率不稳定会造成相关设备工作频率不稳定,自然而然就容易出现问题。但由于现代制造工艺不断提高,现在的频率偏差、温度稳定性、老化率、密封性等重要技术指标都是很好的,已经不容易出现故障。但我们还是需要注意一下晶振的存放条件,以免出现不必要的意外。

根据我们对晶振的了解,总结出以下几点保存注意事项:

1、要考虑周围环境的潮湿度,并做好防挤压措施。放在干燥通风的地方,让晶体避免受潮导致其他参数发生变化。

2、晶振是一种易碎的元器件,所以防震措施也是很重要的。不宜放在较高的货架上,在使用的过程中,也不宜让晶振跌落。一般来说,从高空跌落的石英晶振不应再次使用。

3、对于需要剪脚的圆柱晶振,应该注意机械应力的影响。

4、石英晶振在焊锡过程中,其焊锡的温度不宜过高,焊锡时间也不宜过长,防止晶体因此发生变化而导致各种参数不稳定。

5、焊锡之后要对晶振进行清洗,以免绝缘电阻不符合要求。

6、要保证两条引脚的焊锡点不相连,否则也会导致晶体停振。

7、晶振外壳接地时,要确外壳和引脚不被意外连通而导致短路,从而使得晶振不起振。

本文转载自:张飞实战电子论坛(版主:zkjdz)

围观 29

振荡电路用于实时时钟RTC,对于这种振荡电路只能用32.768KHZ 的晶体,晶体被连接在OSC3 与OSC4 之间而且为了获得稳定的频率必须外加两个带外部电阻的电容以构成振荡电路。

32.768KHZ的时钟晶振产生的振荡信号经过石英钟内部分频器进行15次分频后得到1HZ秒信号,即秒针每秒钟走一下,石英钟内部分频器只能进行15次分频,要是换成别的频率的晶振,15次分频后就不是1HZ的秒信号,时钟就不准了。32.768K=32768=2的15次方,数据转换比较方便、精确。

绝大多数的 MCU 爱好者对 MCU 晶体两边要接一个22pF附近的电容不理解,因为这个电容有些时候是可以不要的。参考很多书籍,讲解的很少,往往提到最多的是起稳定作用,负载电容之类的话,都不是很深入理论的分析。 问题是很多爱好者不去关心这两个电容,他们认为按参考设计做就行了,本人也是如此,直 到有一次一个手机项目就因为这个电容出了问题,损失了几百万之后,才开始真正的考虑这个电容的作用。 其实 MCU 的振荡电路的真名叫“三点式电容振荡电路”,请参考图片。

晶体,相当于三点式里面的电感,C1 和 C2 就是电容,5404 和 R1 实现一个 NPN 的三 极管,大家可以对照高频书里的三点式电容振荡电路。接下来分析一下这个电路。

5404 必需要一个电阻,不然它处于饱和截止区,而不是放大区,R1 相当于三极管的偏置作用,让 5404 处于放大区域,那么 5404 就是一个反相器,这个就实现了 NPN 三极管的作用, NPN 三极管在共发射极接法时也是一个反相器。

接下来用通俗的方法讲解一下这个三点式振荡电路的工作原理,大家也可以直接看书。 大家知道一个正弦振荡电路要振荡的条件是,系统放大倍数大于 1,这个容易实现,相位满足 360°,接下来主要讲解这个相位问题: 5404 因为是反相器,也就是说实现了 180°移相,那么就需要 C1,C2 和 Y1 实现 180°移相 就可以,恰好,当 C1,C2,Y1 形成谐振时,能够实现 180 移相,这个大家最简单的可以以地作为参考,谐振的时候,C1、C2 上通过的电流一样,地在 C1、C2 中间,所以恰好电压相反,实现 180 移相。 当 C1增大时,C2 端的振幅增强,当 C2 降低时,振幅也增强。

有些时候 C1,C2 不焊也能起振,这个不是说没有 C1,C2,而是因为芯片引脚的分布电容 引起的,因为本来这个 C1,C2 就不需要很大,所以这一点很重要。接下来分析这两个电容 对振荡稳定性的影响。 因为 7404 的电压反馈是靠 C2 的,假设 C2 过大,反馈电压过低,这个也是不稳定,假设 C2 过小,反馈电压过高,储存能量过少,容易受外界干扰,也会辐射影响外界。C1 的作用 对 C2 恰好相反。因为我们布板的时候,假设双面板,比较厚的,那么分布电容的影响不是 很大,假设在高密度多层板时,就需要考虑分布电容,尤其是 VCO 之类的振荡电路,更应 该考虑分布电容。

有些用于工控的项目,建议不要用晶体的方法振荡,二是直接接一个有源的晶振 很多时候大家会用到 32.768K 的时钟晶体来做时钟,而不是用单片机的晶体分频后来做时钟,这个原因很多人想不明白,其实这个跟晶体的稳定度有关,频率越高的晶体,Q 值一般难以做高,频率稳定度不高,32.768K的晶体稳定度等各方面都不错,形成了一个工业标准, 比较容易做高。

来源:玩转单片机

围观 233

单片机晶振旁边两个对地电容叫晶振的负载电容,分别接在晶振的两个脚上和对地的电容,一般在几十皮发。它会影响到晶振的谐振频率和输出幅度,一般订购晶振时候供货方会问你负载电容是多少。

一般单片机的晶振工作于并联谐振状态,也可以理解为谐振电容的一部分。它是根据晶振厂家提供的晶振要求负载电容选值的,换句话说,晶振的频率就是在它提供的负载电容下测得的,能最大限度的保证频率值的误差。也能保证温漂等误差。两个电容的取值都是相同的,或者说相差不大,如果相差太大,容易造成谐振的不平衡,容易造成停振或者干脆不起振。晶振负载电容值指的是晶振的交流电路中参与振荡与晶振串联或者并联的负载电容值。晶振的电路频率主要是有晶振自身决定,既然负载电容参与电路振荡,肯定会对频率多少起到微调作用。负载电容值越小,振荡电路就会反而越高。

各种逻辑芯片的晶振引脚可以等效为电容三点式振荡器。晶振引脚的内部通常是一个反相器,或者是奇数个反相器串联。在晶振输出引脚XO和晶振输入引脚XI之间用一个电阻连接,对于CMOS芯片通常是数M到数十M欧之间。很多芯片的引脚内部已经包含了这个电阻,引脚外部就不用接了。这个电阻是为了使反相器在振荡初始时处与线性状态,反相器就如同一个有很大增益的放大器,以便于起振。石英晶体也连接在晶振引脚的输入和输出之间,等效为一个并联谐振回路,振荡频率应该是石英晶体的并联谐振频率。晶体旁边的两个电容接地,实际上就是电容三点式电路的分压电容,接地点就是分压点。以接地点即分压点为参考点,振荡引脚的输入和输出是反相的,但从并联谐振回路即石英晶体两端来看,形成一个正反馈以保证电路持续振荡。在芯片设计时,这两个电容就已经形成了,一般是两个的容量相等,容量大小依工艺和版图而不同,但终归是比较小,不一定适合很宽的频率范围。外接时大约是数PF到数十PF,依频率和石英晶体的特性而定。需要注意的是:这两个电容串联的值是并联在谐振回路上的,会影响振荡频率。当两个电容量相等时,反馈系数是0.5,一般是可以满足振荡条件的,但如果不易起振或振荡不稳定可以减小输入端对地电容量,而增加输出端的值以提高反馈量。

单片机晶振的负载电容常见问题分析

振荡电路不匹配导致晶振不起振,影响振荡电路的三个指标:频率误差、负性阻抗、激励电平。

①频率误差太大,导致实际频率偏移标称频率从而引起晶振不起振。

解决办法:选择合适的PPM值的产品。

②负性阻抗过大太小都会导致晶振不起振。晶振在工作逐渐出现停振现象,用手碰触或者用电烙铁加热晶振引脚又开始工作。

解决办法:负性阻抗过大,可以将晶振外接电容Cd和Cg的值调大来降低负性阻抗;负性阻抗太小,则可以将晶振外接电容Cd和Cg的值调小来增大负性阻抗。一般而言,负性阻抗值应满足不少于晶振标称最大阻抗3-5倍。

③激励电平过大或者过小也将会导致晶振不起振,激励电平过大则可能出现晶振在工作中发烫,逐渐出现停振现象。

解决办法:通过调整电路中的Rd的大小来调节振荡电路对晶振输出的激励电平。一般而言,激励电平越小越好,处理功耗低之外,还跟振荡电路的稳定性和晶振的使用寿命有关。

晶振PCB布线:在PCB布线时,晶振电路的走线尽可能的短直,并尽可能靠近MCU,尽量降低振荡电路中的杂散电容对晶振的影响;PCB布线的时候,尽量不要在晶振下面走信号线,避免对晶振产生电磁干扰,从而导致振荡电路不稳定。带有晶振的电路板一般不建议用超声波清洗,避免发生共振而损坏晶振导致不良。

在PCB上的位置:如果你的PCB板比较大,晶振尽量靠边一些,这是因为晶振设计在中间位置会因PCB板变形产生的机械张力而受影响,可能出现不良;如果你的PCB板比较小,晶振位置尽量往中间靠,不要设计在边沿位置,这是因为PCB板小,一般SMT过回流焊都是多拼板,在分板的时候产生的机械张力会对晶振有影响,可能产生不良。

转自:电子发烧友网

围观 562

前言

目前很多用户在使用 STM8 的时候使用了 16MHz 的内部振荡或者外部晶体来作为时钟源。事实上,STM8 家族中有些系列是支持最高 24MHz 主频的,比如 STM8S207、STM8AF52,等等。那么,需要更快的运行速度时,是否只需要使用更高的主频就可以直接运行了呢?

问题

某客户在其产品的设计中,使用了 STM8AF52A9。客户工程师称其一段以前已经验证过的代码,使用 STVP 下载后无法正常运行。但是他试过在 IAR for STM8 中是可以正常调试的,不知道为何使用 STVP 后就无法正常工作了呢?

调研

1.了解问题

使用编译好的.s19 文件使用 STVP 烧写到 STM8AF52A9,发现上电后是无法正常工作的。观察用户代码,在 IAR 中进入调试状态,可以断点调试,单步调试,都可以。不过,最后发现在线调试时,一旦运行到以下代码时,程序就死掉了。

status = CLK_ClockSwitchConfig(CLK_SWITCHMODE_AUTO, CLK_SOURCE_HSE, DISABLE,
CLK_CURRENTCLOCKSTATE_DISABLE);

2.分析问题

STM8 上电后默认的主时钟源为内部 HSI RC 时钟的 8 分频,即 fHSI/8。原因是 HSI 时钟的稳定时间短,而 8 分频可保证系统在较差的 VDD条件下安全启动。等主时钟源稳定后,用户可以自行将主时钟切换到其他时钟源上。

先来看一下刚才这个函数的原型:
ErrorStatus CLK_ClockSwitchConfig(CLK_SwitchMode_TypeDef CLK_SwitchMode,
CLK_Source_TypeDef CLK_NewClock, FunctionalState ITState, CLK_CurrentClockState_TypeDef
CLK_CurrentClockState)

它的作用在于切换时钟源。CLK_SwitchMode 代表使用的切换方式,有自动切换和手动切换;CLK_NewClock 代表新的时钟源;ITState 代表是否使能或禁用中断;CLK_CurrentClockState 代表切换后原时钟源的状态是否保持或关闭。所以,用户代码的意思就是:使用自动切换方式,切换主时钟到 HSE,不产生中断,切换后原主时钟源关闭。

切换主时钟源后程序就出问题这种情况,看来问题很可能出在 HSE 上,必须对外部晶振进行检测。原本思考是否 HSE 外部晶体的振荡是否存在什么问题,但是在使用示波器进行检测后发现 HSE 已经是在正常的振荡当中了,而且波形很漂亮。但是,在示波器上看到频率是 24MHz。检查晶体上的标记,果然是 24MHz 的频率。所以,客户在使用 STM8AF52A9 时,为了提高性能,使用了最高主频 24MHz。

客户所遇到的问题应该就出在 24MHz 的使用上了。客户以前使用都是 16MHz 的主频。STM8 要求,如果用户使用的主时钟频率超过了 16MHz,那么 Flash 以及 EEPROM 的访问需要配置 1 个等待周期。

STM8AF52A9 数据手册可见如下:

STM8使用24MHz外部晶振无法正常运行

参考手册 RM0016 在 HSE 的描述中,也提到了:

STM8使用24MHz外部晶振无法正常运行

对于选择 0 等待周期还是 1 等待周期,必须在选项字节中选择。检查芯片的选项字节,发现选择的是 0 等待周期,所以问题就是就出在这了。

3.问题解决

使用 STVP,在 OPTION BYTE 页面修改选项字节,将等待周期设置为 1 个等待周期,如下:

STM8使用24MHz外部晶振无法正常运行

下载更新芯片的选项字节,使用之前的.hex 文件,可以正常工作了。

结论

由于使用的 24MHz 主频已经超出 16MHz,而在选项字节中并没有修改等待周期为 1 等待周期,导致在 Flash 访问上存在问题,无法正常运行程序。

处理

需要修改选项字节,将等待周期修改为 1 等待周期。

来源:ST

围观 817

如何确定晶振正常起振?

1、判断方法很多,用示波器看波形是最直接的,用数字万用表的电压档测电压也行,因晶振波形的占空比为50%,所以测得的平均电压为1/2Vcc左右,对于51单片机,在使用外置程序存储器的时候还可以测PSEN引脚或P0口引脚的电压或波形,只有晶振电路正常工作,那些引脚才会有信号输出,但现在很少采用片外扩展存储器,所以测晶体两端的电压或波形即可,只是晶振电路设计不良时,测试设备的引入有可能导致停振。

2、晶体两端的电压差不是平均电压差,虽然事实上因外电路的影响,晶体两端的电压可能会有差别,但这不是判断晶振是否起振的依据,也不是晶振电路正常工作的条件。至于一高一低没有工作是指一端为Vcc或接近Vcc,另一端为0或接近0,这时晶振电路当然没有起振,否则50%的占空比势将平均电压拉到1/2Vcc左右,但这么表达是不确切的,搞技术应该尽量定量精确描述。

3、听声音判断晶振是否起振不可靠,晶体的振荡频率远超人耳能够听见的频率上限,有时能够听到反而是有问题的,说明晶体质量不佳,更多的时候,正常工作的晶体是不会发出任何人耳能听到的声音的,有时声音来自外电路元件

4、单片机的两个信号输入脚一个是19脚(XTAL1)一个是18脚(XTAL2)对应单片机内部的电路是高增益放大器,当外面接晶振的时候,19脚对应高增益放大器的输入端,18脚对应高增益放大器的输出端,所以你测量的时候应该是高增益输出端有信号也就是18脚

51单片机振荡电路?

在MCS-51单片机片内有一个高增益的反相放大器,反相放大器的输入端为XTAL1,输出端为XTAL2,由该放大器构成的振荡电路和时钟电路一起构成了单片机的时钟方式。根据硬件电路的不同,单片机的时钟连接方式可分为内部时钟方式和外部时钟方式,如图所示

51单片机不能正常起振的原因
(a)内部方式时钟电路 (b)外接时钟电路

51单片机不能正常起振的原因
内部时钟原理图 (就是一个自激振荡电路)

在内部方式时钟电路中,必须在XTAL1和XTAL2引脚两端跨接石英晶体振荡器和两个微调电容构成振荡电路,通常C1和C2一般取30pF,晶振的频率取值在1.2MHz~12MHz之间。对于外接时钟电路,要求XTAL1接地,XTAL2脚接外部时钟,对于外部时钟信号并无特殊要求,只要保证一定的脉冲宽度,时钟频率低于12MHz即可。

晶体振荡器的振荡信号从XTAL2端送入内部时钟电路,它将该振荡信号二分频,产生一个两相时钟信号P1和P2供单片机使用。时钟信号的周期称为状态时间S,它是振荡周期的2倍,P1信号在每个状态的前半周期有效,在每个状态的后半周期P2信号有效。CPU就是以两相时钟P1和P2为基本节拍协调单片机各部分有效工作的。

转自:单片机精讲吴鉴鹰

围观 436

页面

订阅 RSS - 晶振