晶振

有关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略低一些,如果其中一个或全部引脚为电源电压或零就表明没起振。那个引脚长些一般不会有什么影响,相比之下接地更关键些,两个谐振电容接地端到单片机的电源地要尽量近些。

来源:玩转单片机

围观 95

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


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

如上图是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兆。

来源:单片机仿真

围观 1026

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

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

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

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

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

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

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

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

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

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

围观 25

振荡电路用于实时时钟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的晶体稳定度等各方面都不错,形成了一个工业标准, 比较容易做高。

来源:玩转单片机

围观 174

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

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

各种逻辑芯片的晶振引脚可以等效为电容三点式振荡器。晶振引脚的内部通常是一个反相器,或者是奇数个反相器串联。在晶振输出引脚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过回流焊都是多拼板,在分板的时候产生的机械张力会对晶振有影响,可能产生不良。

转自:电子发烧友网

围观 544

前言

目前很多用户在使用 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

围观 770

如何确定晶振正常起振?

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为基本节拍协调单片机各部分有效工作的。

转自:单片机精讲吴鉴鹰

围观 435

电源

我们在学习过程中,很多指标都是直接用的概念指标,比如我们说 +5 V 代表1,GND 代表0等等。但在实际电路中的电压值并不是完全精准的,那这些指标允许范围是什么呢?随着我们所学的内容不断增多,大家要慢慢培养一种阅读数据手册的能力。

比如,我们要使用 STC89C52RC 的时候,找到它的数据手册第11页,看第二项——工作电压:5.5 V~3.4 V(5 V 单片机),这个地方就说明这个单片机正常的工作电压是个范围值,只要电源 VCC 在 5.5 V~3.4 V 之间都可以正常工作,电压超过 5.5 V 是绝对不允许的,会烧坏单片机,电压如果低于 3.4 V,单片机不会损坏,但是也不能正常工作。而在这个范围内,最典型、最常用的电压值就是 5V,这就是后面括号里“5 V 单片机”这个名称的由来。除此之外,还有一种常用的工作电压范围是 2.7 V~3.6 V、典型值是 3.3 V 的单片机,也就是所谓的“3.3 V 单片机”。日后随着大家接触更多的器件,对这点会有更深刻的理解。

现在我们再顺便多了解一点,大家打开 74HC138 的数据手册,会发现 74HC138 手册的第二页也有一个表格,上边写了 74HC138 的工作电压范围,最小值是 4.75 V,额定值是 5 V,最大值是 5.25 V,可以得知它的工作电压范围是 4.75 V~5.25 V。这个地方讲这些目的是让大家清楚的了解,我们获取器件工作参数的一个最重要、也是最权威的途径,就是查阅该器件的数据手册。

晶振

晶振通常分为无源晶振和有源晶振两种类型,无源晶振一般称之为 crystal(晶体),而有源晶振则叫做 oscillator(振荡器)。

有源晶振是一个完整的谐振振荡器,它是利用石英晶体的压电效应来起振,所以有源晶振需要供电,当我们把有源晶振电路做好后,不需要外接其它器件,只要给它供电,它就可以主动产生振荡频率,并且可以提供高精度的频率基准,信号质量也比无源信号要好。

无源晶振自身无法振荡起来,它需要芯片内部的振荡电路一起工作才能振荡,它允许不同的电压,但是信号质量和精度较有源晶振差一些。相对价格来说,无源晶振要比有源晶振价格便宜很多。无源晶振两侧通常都会有个电容,一般其容值都选在 10 pF~40 pF 之间,如果手册中有具体电容大小的要求则要根据要求来选电容,如果手册没有要求,我们用 20 pF 就是比较好的选择,这是一个长久以来的经验值,具有极其普遍的适用性。

我们来认识下比较常用的两种晶振的样貌,如图8-1和图8-2所示。

单片机最小系统解析
图8-1 有源晶振实物图

单片机最小系统解析
图8-2 无源晶振实物图

有源晶振通常有4个引脚,VCC,GND,晶振输出引脚和一个没有用到的悬空引脚(有些晶振也把该引脚作为使能引脚)。无源晶振有2个或3个引脚,如果是3个引脚的话,中间引脚接是晶振的外壳,使用时要接到 GND,两侧的引脚就是晶体的2个引出脚了,这两个引脚作用是等同的,就像是电阻的2个引脚一样,没有正负之分。对于无源晶振,用我们的单片机上的两个晶振引脚接上去即可,而有源晶振,只接到单片机的晶振的输入引脚上,输出引脚上不需要接,如图8-3和图8-4所示。

单片机最小系统解析
图8-3 无源晶振接法

单片机最小系统解析
图8-4 有源晶振接法

复位电路

我们先来分析一下 KST-51 开发板上的复位电路,如图8-5所示。

单片机最小系统解析
图8-5 单片机复位电路

当这个电路处于稳态时,电容起到隔离直流的作用,隔离了 +5 V,而左侧的复位按键是弹起状态,下边部分电路就没有电压差的产生,所以按键和电容 C11 以下部分的电位都是和 GND 相等的,也就是 0 V。我们这个单片机是高电平复位,低电平正常工作,所以正常工作的电压是 0 V,没有问题。

我们再来分析从没有电到上电的瞬间,电容 C11 上方电压是 5 V,下方是 0 V,根据我们初中所学的知识,电容 C11 要进行充电,正离子从上往下充电,负电子从 GND 往上充电,这个时候电容对电路来说相当于一根导线,全部电压都加在了 R31 这个电阻上,那么 RST端口位置的电压就是 5 V,随着电容充电越来越多,即将充满的时候,电流会越来越小,那 RST 端口上的电压值等于电流乘以 R31 的阻值,也就会越来越小,一直到电容完全充满后,线路上不再有电流,这个时候 RST 和 GND 的电位就相等了也就是 0 V 了。

从这个过程上来看,我们加上这个电路,单片机系统上电后,RST 引脚会先保持一小段时间的高电平而后变成低电平,这个过程就是上电复位的过程。那这个“一小段时间”到底是多少才合适呢?每种单片机不完全一样,51单片机手册里写的是持续时间不少于2个机器周期的时间。复位电压值,每种单片机不完全一样,我们按照通常值 0.7 VCC 作为复位电压值,复位时间的计算过程比较复杂,我这里只给大家一个结论,时间 t=1.2 RC,我们用的 R 是4700欧,C 是0.0000001法,那么计算出 t 就是 0.000564秒,即 564 us,远远大于2个机器周期(2 us),在电路设计的时候一般留够余量就行。

按键复位(即手动复位)有2个过程,按下按键之前,RST 的电压是 0 V,当按下按键后电路导通,同时电容也会在瞬间进行放电,RST 电压值变化为 4700 VCC/(4700+18),会处于高电平复位状态。当松开按键后就和上电复位类似了,先是电容充电,后电流逐渐减小直到 RST 电压变 0 V 的过程。我们按下按键的时间通常都会有几百毫秒,这个时间足够复位了。

按下按键的瞬间,电容两端的 5 V 电压(注意不是电源的 5 V 和 GND 之间)会被直接接通,此刻会有一个瞬间的大电流冲击,会在局部范围内产生电磁干扰,为了抑制这个大电流所引起的干扰,我们这里在电容放电回路中串入一个18欧的电阻来限流。

如果有的同学已经想开始 DIY 设计自己的电路板,那单片机的设计现在已经有了足够的理论依据了,可以考虑尝试了。基础比较薄弱的同学先不要着急,继续跟着往下学,把课程都学完了再动手操作也不迟,磨刀不误砍柴工。

来源: 单片机教程(二)

围观 451

我们常把晶振比喻为数字电路的心脏,这是因为,数字电路的所有工作都离不开时钟信号,晶振直接控制着整个系统,若晶振不运作那么整个系统也就瘫痪了,所以晶振是决定了数字电路开始工作的先决条件。

我们常说的晶振,是石英晶体振荡器和石英晶体谐振器两种,他们都是利用石英晶体的压电效应制作而成。在石英晶体的两个电极上施加电场会使晶体产生机械变形,反之,如果在晶体两侧施加机械压力就会在晶体上产生电场。并且,这两种现象是可逆的。利用这种特性,在晶体的两侧施加交变电压,晶片就会产生机械振动,同时产生交变电场。这种震动和电场一般都很小,但是在某个特定频率下,振幅会明显加大,这就是压电谐振,类似于我们常见到的LC回路谐振。

电子电路的心脏-晶振的应用与合理的PCB设计

作为数字电路中的心脏,晶振在智能产品中是如何发挥作用的呢?以智能家居如空调、窗帘、安防、监控等产品来说,都需要无线传输模块,它们通过蓝牙、WIFI或ZIGBEE等协议,将模块从一端发到另一端,或直接通过手机控制,而晶振就是无线模块里的核心元件,影响着整系统的稳定性,所以选择好系统使用的晶振,决定了数字电路的成败。

电子电路的心脏-晶振的应用与合理的PCB设计

由于晶振在数字电路中的重要性,在使用和设计的时候我们需要小心处理:

1、晶振内部存在石英晶体,受到外部撞击或跌落时易造成石英晶体断裂破损,进而造成晶振不起振,所以在设计电路时要考虑晶振的可靠安装,其位置尽量不要靠近板边、设备外壳等。

2、在手工焊接或机器焊接时,要注意焊接温度。晶振对温度比较敏感,焊接时温度不能过高,并且加热时间尽量短。

合理的晶振布局可以抑制系统辐射干扰

一、问题描述

该产品为野外摄像机,内分核心控制板、sensor 板、摄像头、SD 存储卡和电池五部分组成,外壳为塑胶壳,小板仅有两个接口:DC5V 外接电源接口和数据传输的USB 接口。经过辐射测试发现有33MHz 左右的谐波杂讯辐射问题。

原始测试数据如下:

电子电路的心脏-晶振的应用与合理的PCB设计

二、分析问题

该产品外壳结构塑胶外壳,是非屏蔽材料,整机测试只有电源线和USB 线引出壳体,难道干扰频点是由电源线和USB 线辐射出来的吗?故分别作了一下几步测试:

( 1 ) 仅在电源线上加磁环,测试结果:改善不明显;
( 2 ) 仅在USB 线上加磁环,测试结果:改善仍然不明显;
( 3 ) 在USB 线和电源线都加磁环,测试结果:改善较明显,干扰频点整体有所下降。

从上可得,干扰频点是从两个接口带出来的,并非是电源接口或USB 接口的问题,而是内部干扰频点耦合到这两个接口所导致的,仅屏蔽某一接口不能解决问题。

经过近场量测发现,干扰频点来之于核心控制板的一个32.768KHz 的晶振,产生很强的空间辐射,使得周围的走线和GND 都耦合了32.768KHz 谐波杂讯,再通过接口USB 线和电源线耦合辐射出来。而该晶振的问题在于以下两点问题所导致的:

( 1 ) 晶振距离板边太近,易导致晶振辐射杂讯。
( 2 ) 晶振下方有布信号线,,这易导致信号线耦合晶振的谐波杂讯。
( 3 ) 滤波器件放在晶振下方,且滤波电容与匹配电阻未按照信号流向排布,使得滤波器件的滤波效果变差。

电子电路的心脏-晶振的应用与合理的PCB设计

三、解决对策

根据分析得出以下对策:

(1)晶体的滤波电容与匹配电阻靠近CPU 芯片优先放置,远离板边;
(2)切记不能在晶体摆放区域和下方投影区内布地;
(3)晶体的滤波电容与匹配电阻按照信号流向排布,且靠近晶体摆放整齐紧凑;
(4)晶体靠近芯片处摆放,两者间的走线尽量短而直。

可以参考如下图布局方式:

电子电路的心脏-晶振的应用与合理的PCB设计

经整改后,样机测试结果如下:

电子电路的心脏-晶振的应用与合理的PCB设计

四、结论

现今很多系统晶振现今很多系统晶振时钟频率高,干扰谐波能量强;干扰谐波除了从其输入与输出两条走线传导出来,还会从空间辐射出来,若布局不合理,容易造成很强的杂讯辐射问题,而且很难通过其他方法来解决,因此在PCB 板布局时对晶振和CLK 信号线布局非常重要。

晶振的PCB设计注意事项

(1) 耦合电容应尽量靠近晶振的电源引脚,位置摆放顺序:按电源流入方向,依容值从大到小依次摆放,容值最小的电容最靠近电源引脚。

(2) 晶振的外壳必须接地,可以晶振的向外辐射,也可以屏蔽外来信号对晶振的干扰。

(3) 晶振下面不要布线,保证完全铺地,同时在晶振的300mil范围内不要布线,这样可以防止晶振干扰其他布线、器件和层的性能。

(4) 时钟信号的走线应尽量短,线宽大一些,在布线长度和远离发热源上寻找平衡。

(5) 晶振不要放置在PCB板的边缘,在板卡设计时尤其注意该点。

转自: 硬件十万个为什么

围观 396

页面

订阅 RSS - 晶振