STMCU小助手
发布时间:2022-2-21 20:36
|
前言 本篇讨论了 一个 STM32F2 在用户产品进行高低温测试死机的例子。 - f/ c. H6 B8 t5 g& W# v _ + w* v6 s. V D* l0 p 问题:% u; S$ t; l) E1 R 某用户使用 STM32F2 进行产品设计。当进行高低温试验时,发现高温时产品死机。 - V5 a4 V' F& Y9 k5 z8 ] 分析: 首先,芯片的工作范围是在温度 85 摄氏度以下。经了解,客户实测的温箱温度在 70 摄氏度左右,并未超过限制。然而,客户也表示芯片表面温度较高,有可能恰好达到了 85 摄氏度。此点需要进一步排查。 进一步了解,在产品中芯片工作在 120MHz。而当频率降低到 60MHz 时也一切正常。由此推测,此问题可能并非由温度导致。7 i1 ]; J- L& N" W% ] 分析原理图,发现 Vcap 引脚上电容接的过小,没有达到 2.2uF。而产品手册中明确标明了这一点:0 p" f |" i# |7 E" k 8 N$ _: F$ V" ]! j' _0 a3 x) I
+ t( Y8 ]5 s( |$ i9 @! _4 P' b 不论此问题是否是导致这个问题的原因,这点都必须加以改进,消除隐患。 ( V; _" H( W. n+ y# X7 A. { 进一步了解软件,发现客户的代码中没有对 Flash 等待周期进行设置。 查询手册可得知,只有当芯片工作于较低频率时,才可以不加等待周期。而具体这个频率是多少,和芯片的工作电压也有关系。
根据客户产品上芯片的实际工作条件,将 Flash 等待周期调整为 4。 经过以上措施,高温试验时一切正常。/ B8 l# e% }8 E9 Y: o% S+ t 由此可以看出,对于一些表面很象的原因还需要仔细分析、耐心查找,才能找到真正的症结所在。9 a. f; u( l9 G s ! ?/ C9 F: [0 U# e |
微信公众号
手机版