一個與STM32F2高低溫死機相關(guān)的話題
前言
本文引用地址:http://butianyuan.cn/article/201609/296662.htm本篇討論了一個STM32F2在用戶產(chǎn)品進(jìn)行測試死機的例子。
問題:
某用戶使用STM32F2進(jìn)行產(chǎn)品設(shè)計。當(dāng)進(jìn)行高低溫試驗時,發(fā)現(xiàn)高溫時產(chǎn)品死機。
分析:
首先,芯片的工作范圍是在溫度85攝氏度以下。經(jīng)了解,客戶實測的溫箱溫度在70攝氏度左右,并未超過限制。然而,客戶也表示芯片表面溫度較高,有可能恰好達(dá)到了85攝氏度。此點需要進(jìn)一步排查。
進(jìn)一步了解,在產(chǎn)品中芯片工作在120MHz。而當(dāng)頻率降低到60MHz時也一切正常。由此推測,此問題可能并非由溫度導(dǎo)致。
分析原理圖,發(fā)現(xiàn)Vcap引腳上電容接的過小,沒有達(dá)到2.2uF。而產(chǎn)品手冊中明確標(biāo)明了這一點:
不論此問題是否是導(dǎo)致這個問題的原因,這點都必須加以改進(jìn),消除隱患。
進(jìn)一步了解軟件,發(fā)現(xiàn)客戶的代碼中沒有對Flash等待周期進(jìn)行設(shè)置。
查詢手冊可得知,只有當(dāng)芯片工作于較低頻率時,才可以不加等待周期。而具體這個頻率是多少,和芯片的工作電壓也有關(guān)系。
根據(jù)客戶產(chǎn)品上芯片的實際工作條件,將Flash等待周期調(diào)整為4。
經(jīng)過以上措施,高溫試驗時一切正常。
由此可以看出,對于一些表面很象的原因還需要仔細(xì)分析、耐心查找,才能找到真正的癥結(jié)所在。
評論