MSP430FR5994 MCU晶振停振,及内部ADC导致卡死故障

客户使用MSP430FR5969 MCU,出现过晶振停振的情况,此时使用外部复位可以使芯片重启并正常工作,但是芯片内部的看门狗不能使MCU从卡死状态复位,感觉内部看门狗此时已失效。故障出现过2次。希望确认外部晶振停振原因。

客户指出,还有一个故指现象是,当使用内部ADC采样时,出现过一次故障,表现是ADC不工作,外置看门狗也不能完成芯片的复位。我们了解了客户遇到这个故障的概率更低,看看有没有相同问题或解决方案。

  • 晶振停振的话,一般主要是由于电路设计问题或者是晶振的匹配电容不合适造成的

    分享一下我之前收藏的帖子回答

    晶振的正常工作需要一定的激励功率来维持,晶振可以看做一个负载。如果负载超过激励功率的能力,这个系统就是不稳定的,可能会停振。特别实在低温情况下会出问题。

    这个实际的负载大小与三个因素有关:

    1. PCB layout

    2. 匹配电容容值

    3. 晶体本身的谐振阻抗

    通常问题出在1和2上面。即不好的PCB layout和不合适的匹配电容。

    那么如何保证1和2呢?

    1. PCB layout :不要冒险让XTAL到MCU PIN的距离超过8--10mm,通常小心的设计需要在5mm之内。长的引线会大大引入ESD风险。

    2.匹配电容 : 匹配电容偏大,会使起振时间偏长,振幅降低。匹配电容偏小,频率会不稳定,同时低温会停振。把一个板子放冰箱里半小时就有可能观察到了。 选择方法 : 不同的匹配电容,对应的XTAL的震荡频率是不同的。通常让XTAL达到标称频率点,是晶振比较健康的工作状态。 实际可以把XTAL配置成ACLK,然后从MCU ACLK引脚输出,通过频率计来观察XTAL的频率,然后调整匹配电容值。 以32.768K XTAL为例,如果发现ACLK 频率偏大,就减少匹配电容值,反之亦然。

    如果调整好了PCB layout和匹配电容,如何评估我的晶振系统是否稳定?

    在量产之前是完全可以评估晶振电路的风险的。 需要关注一个关键值, 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.cn/msp430

    参考链接为

    e2echina.ti.com/.../83202

     

    若是该回复回答了您的问题,请点击“确认此为答案”,谢谢

    If a post answers your question, please mark it with the "verify answer" button.

  • 这种小概率事情都是有电路或者元件本身造成的,可能使用的晶振有瑕疵。之前我遇到过类似的,换了个晶振就好了。或者是晶振电路的电容有瑕疵也可能造成停振,缺少了时钟节拍当然看门狗也死翘翘了。

    好好学习,天天向上。

  • 回复 Susan Yang:

    Hi Susan,

    感谢您的解答。

    我们从客户那里要到了部分PCB截图,您能帮忙检测一下吗?谢谢。X2是晶振,R80是0欧电阻,C95、96是匹配电容

  • 回复 Kevin Chen81:

    这个还是建议您直接参考TI Launchpad的硬件设计

    software-dl.ti.com/.../index_FDS.html

     

    若是该回复回答了您的问题,请点击“确认此为答案”,谢谢

    If a post answers your question, please mark it with the "verify answer" button.

  • 回复 Kevin Chen81:

     

    若是该回复回答了您的问题,请点击“确认此为答案”,谢谢

    If a post answers your question, please mark it with the "verify answer" button.

  • 回复 Susan Yang:

    Hi Susan,
    Thank you very much.

    Kevin Chen
  • 回复 Kevin Chen81:

    很高兴能帮到您!

     

    若是该回复回答了您的问题,请点击“确认此为答案”,谢谢

    If a post answers your question, please mark it with the "verify answer" button.

  • 回复 Susan Yang:

    学习了

    好好学习天天向上!!!