一个与STM32F2高低温死机相关的话题
前言
本篇讨论了一个STM32F2在用户产品进行测试死机的例子。
问题:
某用户使用STM32F2进行产品设计。当进行高低温试验时,发现高温时产品死机。
分析:
首先,芯片的工作范围是在温度85摄氏度以下。经了解,客户实测的温箱温度在70摄氏度左右,并未超过限制。然而,客户也表示芯片表面温度较高,有可能恰好达到了85摄氏度。此点需要进一步排查。
进一步了解,在产品中芯片工作在120MHz。而当频率降低到60MHz时也一切正常。由此推测,此问题可能并非由温度导致。
分析原理图,发现Vcap引脚上电容接的过小,没有达到2.2uF。而产品手册中明确标明了这一点:
不论此问题是否是导致这个问题的原因,这点都必须加以改进,消除隐患。
进一步了解软件,发现客户的代码中没有对Flash等待周期进行设置。
查询手册可得知,只有当芯片工作于较低频率时,才可以不加等待周期。而具体这个频率是多少,和芯片的工作电压也有关系。
根据客户产品上芯片的实际工作条件,将Flash等待周期调整为4。
经过以上措施,高温试验时一切正常。
由此可以看出,对于一些表面很象的原因还需要仔细分析、耐心查找,才能找到真正的症结所在。
编辑:admin 最后修改时间:2019-01-03