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