|
STM32F2高低温死机问题 ( @) X, M1 n, N/ D# r 前言4 _% J3 r/ E+ m6 J8 K9 G 本篇讨论了 一个STM32F2在用户产品进行高低温测试死机的例子。 问题: 某用户使用STM32F2进行产品设计。当进行高低温试验时,发现高温时产品死机。7 j8 a9 N$ ?3 R9 {. E0 b 分析:) \2 B& Y( p- B* R- v( \: c9 C 首先,芯片的工作范围是在温度85摄氏度以下。经了解,客户实测的温箱温度在70摄氏度左右,并未超过限制。然而,客户也表示芯片表面温度较高,有可能恰好达到了85摄氏度。此点需要进一步排查。; O! j, y2 u1 G; N5 T% ^ 进一步了解,在产品中芯片工作在120MHz。而当频率降低到60MHz时也一切正常。由此推测,此问题可能并非由温度导致。5 Z6 m+ ~+ c! l! e 分析原理图,发现Vcap引脚上电容接的过小,没有达到2.2uF。而产品手册中明确标明了这一点:3 N3 }. y7 s! P; c1 @
不论此问题是否是导致这个问题的原因,这点都必须加以改进,消除隐患。 进一步了解软件,发现客户的代码中没有对Flash等待周期进行设置。4 D9 }5 H! N: j" u3 [5 c' k 查询手册可得知,只有当芯片工作于较低频率时,才可以不加等待周期。而具体这个频率是多少,和芯片的工作电压也有关系。
根据客户产品上芯片的实际工作条件,将Flash等待周期调整为4。 经过以上措施,高温试验时一切正常。 F3 {* J; M; R: ^/ P! p. W# U+ R 由此可以看出,对于一些表面很象的原因还需要仔细分析、耐心查找,才能找到真正的症结所在。( i7 m2 v$ @0 S* T 文档下载地址:5 e$ b4 Z' K: ]: v7 c5 N https://www.stmcu.org.cn/document/list/index/category-10333 e; u9 Z6 O. Q' C9 A: F( m 实战经验汇总:/ P) }! k7 ?, O% P https://www.stmcu.org.cn/module/forum/thread-576401-1-1.html |
| 请问下,STM32怎样设置flash的等待周期,之前没有设置过这个 |
| 非常有用,谢谢! |
| 我在低温-25°时 出现了CAN外设无法正常初始化导致 超时卡死。 主芯片也是F2,120Mhz ,主芯片外面没有接任何can芯片,但是有CAN通讯任务在进行,虽然CAN无法通讯,但常温下一切正常。-上电运行正常,但是手动复位或软件复位后启动时会出现出现 CAN外设无法正常初始化导致 超时卡死,这会是什么原因呢? |
微信公众号
手机版