你了解MCU的技術原理嗎?MCU為何會產生復位?


對於電子電器專業的朋友來說,MCU是十分熟悉的器件之一。在充分運用MCU的情況下,我們能夠打造出諸多實用設備。為增進大家對MCU的認識,本文將對MCU的技術原理以及導致MCU產生復位的原因予以介紹。如果你對MCU具有興趣,不妨繼續往下閱讀哦。

一、MCU的技術原理

MCU同溫度傳感器之間通過I2C總線連接。I2C總線占用2條MCU輸入輸出口線,二者之間的通信完全依靠軟件完成。溫度傳感器的地址可以通過2根地址引腳設定,這使得一根I2C總線上可以同時連接8個這樣的傳感器。本方案中,傳感器的7位地址已經設定為1001000。MCU需要訪問傳感器時,先要發出一個8位的寄存器指針,然后再發出傳感器的地址(7位地址,低位是WR信號)。傳感器中有3個寄存器可供MCU使用,8位寄存器指針就是用來確定MCU究竟要使用哪個寄存器的。本方案中,主程序會不斷更新傳感器的配置寄存器,這會使傳感器工作於單步模式,每更新一次就會測量一次溫度。

要讀取傳感器測量值寄存器的內容,MCU必須首先發送傳感器地址和寄存器指針。MCU發出一個啟動信號,接着發出傳感器地址,然后將RD/WR管腳設為高電平,就可以讀取測量值寄存器。

為了讀出傳感器測量值寄存器中的16位數據,MCU必須與傳感器進行兩次8位數據通信。當傳感器上電工作時,默認的測量精度為9位,分辨力為0.5 C/LSB(量程為-128.5 C至128.5 C)。本方案采用默認測量精度,根據需要,可以重新設置傳感器,將測量精度提高到12位。如果只要求作一般的溫度指示,比如自動調溫器,那么分辨力達到1 C就可以滿足要求了。這種情況下,傳感器的低8位數據可以忽略,只用高8位數據就可以達到分辨力1 C的設計要求。由於讀取寄存器時是按先高8位后低8位的順序,所以低8位數據既可以讀,也可以不讀。只讀取高8位數據的好處有二,第一是可以縮短MCU和傳感器的工作時間,降低功耗;第二是不影響分辨力指標。

MCU讀取傳感器的測量值后,接下來就要進行換算並將結果顯示在LCD上。整個處理過程包括:判斷顯示結果的正負號,進行二進制碼到BCD碼的轉換,將數據傳到LCD的相關寄存器中。

數據處理完畢並顯示結果之后,MCU會向傳感器發出一個單步指令。單步指令會讓傳感器啟動一次溫度測試,然后自動進入等待模式,直到模數轉換完畢。MCU發出單步指令后,就進入LPM3模式,這時MCU系統時鍾繼續工作,產生定時中斷喚醒CPU。定時的長短可以通過編程調整,以便適應具體應用的需要。

二、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)的檢測值是可以由用戶的選擇的。

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

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

以上便是此次小編帶來的“MCU”相關內容,通過本文,希望大家對MCU的技術原理以及MCU產生復位的原因具備一定的了解。如果你喜歡本文,不妨持續關注我們網站哦,小編將於后期帶來更多精彩內容。最后,十分感謝大家的閱讀,have a nice day!


免責聲明!

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



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