在之前的《单片机中如果没有了晶振会怎么样?》一文中,小编着重讲解的是石英晶振在单片机中的重要性,然而,作为一种精密的频率元件,单片机中的晶振却很容易出现问题,轻微的碰撞都可能导致晶振损坏,因此,遇到单片机晶振不起振是很常见的一种现象。小编的几个做单片机的客户也就这方面问题咨询过,今天小编就单片机晶振经常遇到的问题及处理方法为大家做一个简单的介绍。
首先,我们分析引起单片机晶振不起振的原因有哪些。1、PCB布线错误,现在的PCB不再是单一功能电路(数字或模拟电路),而是由数字电路和模拟电路混合组成的。因此,PCB布线的时候可能出现问题导致晶振不起振;2、单片机或晶振的质量问题;3、负载二极管或匹配电容与晶振不匹配或者电容质量有问题;4、PCB板受潮,导致阻抗失配而不能起振;5、晶振电路的走线过长或两脚之间有走线导致晶振不起振,通常我们在PCB布线时晶振电路的走线应尽量短且尽可能靠近振荡器,严禁在晶振两脚间走线;6、晶振受外围电路的影响而不起振。
其次,晶振除了不起振的严重问题之外,还有一些其他的问题。
一、晶振的选型,选择合适的晶振对单片机来说非常重要,我们在选择晶振的时候至少必须考虑谐振频点、负载电容、激励功率、温度特性长期稳定性等参数。合适的晶振才能确保单片机能够正常工作。
二、电容引起的晶振不稳定,晶振电路中的电容C1和C2两个电容对晶振的稳定性有很大影响,每一种晶振都有各自的特性,所以我们必须按晶振生产商所提供的数值选择外部元器件。通常在许可范围内,C1,C2值越低越好,C值偏大虽有利于振荡器的稳定,但将会增加起振时间。一般情况下我们使得C2值大于C1值,这样可使得上电时加快晶振起振。
三、单片机晶振被过驱动引起的问题,晶振被过分驱动会渐渐损耗晶振的接触电镀从而引起晶振频率的上升。我们可用一台示波器来检测,OSC,输出脚,如果检测一非常清晰的正弦波且正弦波的上限值和下限值都符合时钟输入需要,则晶振未被过分驱动,相反,如果正弦波形的波峰,波谷两端被削平,而使波形成为方形,则晶振被过分驱动,这时就需要用电阻RS来防止晶振被过分驱动,判断电阻RS值大小的最简单的方法就是串联一个5k或10k的微调电阻,从0开始慢慢调高,一直到正弦波不再被削平为止,通过此办法就可以找到最接近的电阻RS值。
四、画PCB的时候,要求晶振离它的放大电路(IC管脚)越近越好。这是由于晶振的输出能力有限,它仅仅输出以毫瓦为单位的电能量。在IC(集成电路)内部,通过放大器将这个信号放大几百倍甚至上千倍才能正常使用。晶振和IC间一般是通过铜走线相连的,这根走线可以看成一段电容或数段导线,导线在切割磁力线的时候会产生电流,导线越长,产生的电流越强。
晶振好比是单片机的心脏!我们都知道,单片机晶振的作用是为系统提供基本的时钟信号。通常一个系统共用一个晶振,便于各部分保持同步。不同型号的单片机使用的石英晶振型号及频率也可能是不一样的。单片机中的晶振若是出了问题,单片机也就无法正常工作了。因此,若是发现你的单片机无法正常工作,很大程度上可能是晶振问题造成的。