关于MSP430 32kHz 晶体振荡器的相关问题
客户在使用MSP430时经常遇到32KHz晶振不起振或停振等问题,现在将之前收藏的总结和相关文档和大家分享一下。若是有描述不确切的地方,欢迎大家指正。
对于一个稳定的晶体振荡器,选择合适的晶振、正确的负载电路、和适当的电路板布局布线至关重要。下面详细说明一下相关的内容。
晶振的选择
选择晶振时最重要的参数为:
- 晶振所需的有效负载电容值(对于 32kHz 晶振,通常为 6pF 至 15pF)
- 晶振的 ESR(对于 32kHz 晶振,通常为 30kΩ 至 100kΩ)
- 调整频差(通常为 5ppm 至 30ppm)
所有这些晶振参数由晶振数据表指定,但也可在使用诸如晶振阻抗桥、矢量电压计、或者一个网络分析仪在 真实晶振上测量。 知道这些参数十分重要,否则就无法设计一个稳定的振荡器。
晶振的负载
晶振的正常工作需要一定的激励功率来维持,晶振可以看做一个负载。如果负载超过激励功率的能力,这个系统就是不稳定的,可能会停振。通常出现问题的主要是PCB layout不合理或者是负载电容容值不合适。
PCB layout
在晶振、外部电容(如果用到的话)和MSP430 之间的信号线应尽量越短越好。极低的电流会流入MSP430 的晶振,因此,长信号线将使它对EMC、ESD 和交调失真变得敏感。长信号线还会增加振荡器的寄生电容。如果将MSP430 安置在插座上:请注意这会增加振荡器的寄生电容。尽量保持其他的时钟线和常变换的信号线远离晶振,越远越好。
用接地走线(护圈)保护晶振走线。 这个接地护圈必须为独立接地。 这意味着应该没有电流经护圈流进 流出其它器件。 这个护圈应该使用一个短走线被连接至 MSP430 的 AVSS。 永远不要将接地护圈连接至 任何其它电路板的接地信号上。 也避免了执行接地环路。。
将晶振外壳接地。 在焊接晶振外壳前,请与晶振制造商联系以确保不会损坏晶振。 使晶振外壳过热会导致晶振损坏。
负载电容
晶体振荡器频率在很大程度上取决于连接的负载电容。错误选择负载电容器的一个结果就是会导致一个不正确的振荡频率。匹配电容偏大,会使起振时间偏长,振幅降低。匹配电容偏小,频率会不稳定,同时低温会停振。 下图1给出了一个 显示频率与负载电容间关系的典型曲线。
图1频率与负载电容间关系的典型曲线
可以通过测量振荡器频率可以检验使用的负载电容器是否与晶振要求相匹配。
测量方法 :强烈建议不要在晶振引脚上直接测量振荡器频率。不同的匹配电容,对应的XTAL的振荡频率是不同的。通常让XTAL达到标称频率点,是晶振比较健康的工作状态。 实际可以把XTAL配置成ACLK,然后从MCU的 ACLK引脚输出,通过频率计/示波器来观察XTAL的频率,然后调整匹配电容值。 以32.768K XTAL为例,如果发现ACLK 频率偏大,就减少匹配电容值,反之亦然。
如何评估晶振系统是否稳定?
在量产之前是完全可以评估晶振电路的风险的。 需要关注一个关键值, SF(Safe Factor,安全因子),SF可以衡量激励功率的裕度。通俗来讲,如果搬一个10斤的重物,你的力气是30斤,那么SF = 30 /10 = 3. 如果你的力气是50斤,那么SF = 50 / 10 = 5; 那么搬一个10斤的重物绰绰有余了。
SF 越大越好, MSP430的SF可以设计到5以上,不太会出晶振方面的问题。
SF的测试方法 : 在晶振引脚和MCU 引脚之间串入一个电阻RQ,比如100Kohm, 观察ACLK的稳定度,如果ACLK稳定,那么增加RQ,比如150Kohm,再观察ACLK,持续增加RQ,直到ACLK异常为止。 SF = 1 + (RQ/ 晶振谐振阻抗)。晶振谐振阻抗可以在晶振的spec中查到,常见的有25Kohm ,35Kohm,50Kohm,70Kohm
如果板子SF < 3,就有很大风险。 SF >5 ,通常会比较安全了。
参考文献:
MSP430™ 32-kHz Crystal Oscillators
http://www.ti.com/lit/an/slaa322d/slaa322d.pdf
MSP430™ LFXT1 Oscillator Accuracy
http://www.ti.com/cn/lit/an/slaa225a/slaa225a.pdf
MSP430 32kHz 晶体振荡器
http://www.ti.com/cn/lit/an/zhca445b/zhca445b.pdf
SimpleLink SDK调试打印
SimpleLink SDK调试打印:SDK 调试打印.docx
使用EnergyTrace™来测量功耗
使用EnergyTrace™来测量功耗:MSP432功耗测量.docx