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