MCU有哪些復位因素


在調試MCU時,經常會遇到復位的情況。要找到復位的原因,我們就需要了解到有哪些因素會導致MCU復位。

 

1. 外部輸入復位

當我們改變MCU的reset引腳的電平,並保持一段時間,就可以復位MCU。

外部輸入復位是重啟MCU最有效的方式了。

 

2.上電復位  (LVD)

我們發現MCU不接外部復位電路,也能正常啟動起來,這就是上電復位在發揮作用。

如下圖,當電源電壓達到POR釋放電壓后,MCU開始內部初始化,一定時間后開始執行用戶程序。

當然,如果電源電壓掉到了POR檢測電壓以下時,MCU會被復位住。

 

3.低電壓復位(LVD)

 當我們希望MCU不在某一電壓以下運行時,開啟LVD是一個很好的選擇。

當電源電源下降到LVD檢測電壓以下時,MCU會被復位住。

當電源電壓上升的LVD釋放電壓以上時,MCU會被釋放,重啟運行。

 

4.看門狗復位(WDT)

當MCU因為干擾等因素導致進入死循環,這個時候需要一種機制讓MCU重新啟動,這種機制就是看門狗。

在開啟看門狗后,如果不及時喂狗,那么它將毫不猶豫的復位MCU,使其重新開始執行用戶程序。

 

5.系統時鍾復位

如果系統時鍾的設置,使MCU進入死鎖狀態,那么就會發生系統時鍾復位。

 

6.修整數據復位

低電壓復位(LVD)的檢測值是可以由用戶的選擇的。

根據用戶選擇,得到修整數據,從而調整電阻梯以形成不同電壓的比較值。

如果這個修整數據因為噪聲等原因發生改變,那么將發生修整數據復位。

 

7.閃存待機復位

當設置閃存flash進入待機狀態,如果這個時候試圖去讀取閃存flash中的數據,那么就會發生閃存待機復位。

 

除了第一種外部輸入復位為外部因素外,其他復位都是內部因素。

當發生復位時,我們如何判斷是哪一種因素導致的呢?

如果是使用東芝TLCS-870/C1系列的TMP89FM42或TMP89FS60,可以通過它寄存器IRSTSR來判斷。

IRSTSR是一個特殊只讀寄存器,它只能被外部輸入復位或者上電復位(POR)初始化。

 

當發生復位時,我們去查看這個寄存器哪個位被置位了,就能知道是哪種內部因素導致的復位了。

如果發生復位后,這個寄存器沒有被置位,那么我們就要去考慮是外部輸入復位導致的,還是上電復位(POR)導致的了。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM