STMCU小助手
发布时间:2022-2-21 20:36
|
前言 本篇讨论了 一个 STM32F2 在用户产品进行高低温测试死机的例子。/ e1 i( s8 W2 D1 \! L8 S/ S , e4 S3 i$ [* q z 问题: 某用户使用 STM32F2 进行产品设计。当进行高低温试验时,发现高温时产品死机。: L! a, y5 t' b. ~6 y * M( I; Q3 p& F; N' O . E4 u# z1 K- a! l! K+ I& z 分析:8 R/ b% t9 o$ s! W8 h 首先,芯片的工作范围是在温度 85 摄氏度以下。经了解,客户实测的温箱温度在 70 摄氏度左右,并未超过限制。然而,客户也表示芯片表面温度较高,有可能恰好达到了 85 摄氏度。此点需要进一步排查。4 a8 |0 ?& t, D* E" L. I- ?& F 进一步了解,在产品中芯片工作在 120MHz。而当频率降低到 60MHz 时也一切正常。由此推测,此问题可能并非由温度导致。, X! {) f* M9 c) |/ f/ Z4 } 分析原理图,发现 Vcap 引脚上电容接的过小,没有达到 2.2uF。而产品手册中明确标明了这一点:
不论此问题是否是导致这个问题的原因,这点都必须加以改进,消除隐患。! f5 m% }' a V# i 6 T F6 a. O+ E$ y# L1 | 进一步了解软件,发现客户的代码中没有对 Flash 等待周期进行设置。7 L. F( c2 ?6 ]* E$ G8 j" w 查询手册可得知,只有当芯片工作于较低频率时,才可以不加等待周期。而具体这个频率是多少,和芯片的工作电压也有关系。0 C* n; @1 O: ]% C
根据客户产品上芯片的实际工作条件,将 Flash 等待周期调整为 4。5 ]5 e' v! X* M + V4 Y: x/ }# }/ S% A 经过以上措施,高温试验时一切正常。 由此可以看出,对于一些表面很象的原因还需要仔细分析、耐心查找,才能找到真正的症结所在。 ) R" R6 U" Y3 t! P |
微信公众号
手机版