STMCU小助手
发布时间:2022-2-21 20:36
|
前言' ?) j) t- O9 g7 G 本篇讨论了 一个 STM32F2 在用户产品进行高低温测试死机的例子。3 s3 t5 \ q. D ' S" P: q, y* E6 |, c 问题: 某用户使用 STM32F2 进行产品设计。当进行高低温试验时,发现高温时产品死机。 4 D* P. K% P8 E! B- {9 U3 A' \0 o& q0 W 分析:- i% @, e- S( P2 A ` 首先,芯片的工作范围是在温度 85 摄氏度以下。经了解,客户实测的温箱温度在 70 摄氏度左右,并未超过限制。然而,客户也表示芯片表面温度较高,有可能恰好达到了 85 摄氏度。此点需要进一步排查。7 t) p, x, S: L* k% _0 L/ Z' g 进一步了解,在产品中芯片工作在 120MHz。而当频率降低到 60MHz 时也一切正常。由此推测,此问题可能并非由温度导致。0 E0 A: W" O2 u6 l; L& h$ V& _ 分析原理图,发现 Vcap 引脚上电容接的过小,没有达到 2.2uF。而产品手册中明确标明了这一点:$ i& Z0 W& }- [5 k- X/ ]& D! j
不论此问题是否是导致这个问题的原因,这点都必须加以改进,消除隐患。/ A+ A- c' D0 ^0 ^1 c0 w: V1 ? 进一步了解软件,发现客户的代码中没有对 Flash 等待周期进行设置。 查询手册可得知,只有当芯片工作于较低频率时,才可以不加等待周期。而具体这个频率是多少,和芯片的工作电压也有关系。) V; y/ u; h) ~6 v+ T# [
6 h: i5 M. K6 `' V9 Y# B" X: y) Z8 T8 M 根据客户产品上芯片的实际工作条件,将 Flash 等待周期调整为 4。6 ^6 D8 ?2 K; Z6 a9 h) I& l, R ! y2 l0 j! {) s/ _5 K$ t+ \3 E 经过以上措施,高温试验时一切正常。 由此可以看出,对于一些表面很象的原因还需要仔细分析、耐心查找,才能找到真正的症结所在。 5 s2 I3 V+ P8 x/ w |
微信公众号
手机版