实际应用中发现,这一现象在上电复位时并不十分明显,这是由于上电时电路有足够的扰动,振荡很容易建立起来。在 MCU 被从睡眠中唤醒时,此时电路的扰动要比上电时小得多,起振变得很不容易。
在振荡回路中,晶体既不能过激励,过激励易于与高次谐波同步;也不能欠激励,欠激励导致不容易起振。因此,晶体的选择应考虑下述几个要素:谐振频点、负载电容、激励功率、温度特性、长期稳定性。
这就是说,晶振的可靠性工作不仅仅受到负载电容的影响,这一点是我们应用中的一个误区。
对于负载电容的选择,应根据晶振供应商提供的 Datasheet 的数值选择。在许可范围内,负载电容值越低越好。容值偏大虽有利于振荡器的稳定,但将会增加起振时间。有些晶振的推荐电路甚至需要串联电阻 RS,它一般用来来防止晶振被过分驱动。过分驱动晶振会渐渐损耗减少晶振的接触电镀,这将引起频率的上升,造成频率偏移,加速老化。
那么如何计算晶振的负载电容?可以根据下式获得:
Ce = 2 * CL - Cs – Ci
这里, Ce---外接负载电容值(External Load Capacitor Value)
CL---指定的晶体的容性负载(Specified Crystal Capacitive Load)
Cs---PCB板上连线的电容,包括晶体焊盘的电容(PCB Trace Capacitance(include crystal pad capacitance))
Ci---IC 引脚的电容(IC pin Capacitance)
举个例子:
Ce = 2 * 20pF - 7.3pF - 6pF = 26.7pF = 27pF
电阻RS常用来防止晶振被过分驱动。过分驱动晶振会渐渐损耗减少晶振的接触电镀,这将引起频率的上升。可用一台示波器检测OSC输出脚,如果检测一非常清晰的正弦波,且正弦波的上限值和下限值都符合时钟输入需要,则晶振未被过分驱动;相反,如果正弦波形的波峰,波谷两端被削平,而使波形成为方形,则晶振被过分驱动。这时就需要用电阻RS来防止晶振被过分驱动。判断电阻RS值大小的最简单的方法就是串联一个5k或10k的微调电阻,从0开始慢慢调高,一直到正弦波不再被削平为止。通过此办法就可以找到最接近的电阻RS值。