任何嵌入式設計中最重要的功能之一是確保正確保存重要數(shù)據(jù),并在電源故障時系統(tǒng)達到安全/已知狀態(tài)。具有電壓檢測輸入的CPU監(jiān)控器可以監(jiān)控上游電壓電源,并向微處理器提供警告信號,指示電源故障。這允許微處理器有時間保存關鍵數(shù)據(jù),并在CPU監(jiān)控器(也將監(jiān)視處理器的電源)重置處理器之前達到安全/已知狀態(tài)。本應用筆記介紹了如何在上游電源的跳變電平上增加遲滯,以防止電源故障警告信號因噪聲而顫振。該電路為生產(chǎn)復雜的電源監(jiān)控系統(tǒng)提供了很好的工具,有助于產(chǎn)生魯棒的嵌入式設計。
CPU 管理引擎基礎知識
基本 CPU 管理引擎監(jiān)視處理器的 VCC,并在 VCC 降至預定級別 VCCTP 以下時重置處理器。VCCTP通常比標稱VCC值低5-20%。此功能可防止處理器在 VCC 低于處理器的指定電源電壓范圍時運行。大多數(shù) CPU 監(jiān)控器還提供復位延遲,在 VCC 達到其指定值后,處理器的復位線保持活動狀態(tài)幾毫秒。這允許在向處理器通電后,復位在短時間內保持活動狀態(tài),以便外設準備好進行通信,并且它為電源提供了在處理器開始執(zhí)行之前穩(wěn)定的機會。
這些功能本身有助于產(chǎn)生相當強大的電力監(jiān)控系統(tǒng);但是,當電源出現(xiàn)故障時,仍然會出現(xiàn)問題,因為一旦VCC降至VCCTP以下,復位線將立即設置為活動狀態(tài)。由于沒有警告信號允許處理器保存重要數(shù)據(jù)并達到安全狀態(tài),因此無法確保系統(tǒng)已準備好進行復位。
電壓檢測輸入
CPU監(jiān)控器內的電壓檢測輸入是具有內部溫度和電壓補償基準的比較器。內部基準電壓(在下面的公式中以VREF為基準)通常為1.25V或2.5V。通過將電壓檢測輸入與外部分壓器一起使用,監(jiān)控器可以提供可調節(jié)的跳閘電平監(jiān)視器,可以檢測高電壓。圖1所示為無遲滯的經(jīng)典電壓監(jiān)控器。在該電路中,每當VIN降至使用公式1計算的VIN跳變電平(VINTP)以下時,不可屏蔽的中斷輸出(“NMI-bar”)就會被置位。
圖1.經(jīng)典的電壓檢測電路。
在利用穩(wěn)壓器產(chǎn)生微處理器V的系統(tǒng)中抄送從上游電源,可以使用具有電壓檢測輸入的CPU監(jiān)控器來監(jiān)控上游電源。當上游電源的電壓開始下降時,會在微處理器的穩(wěn)壓器輸出超出規(guī)格之前檢測到。這為微處理器準備即將發(fā)生的電源故障提供了時間。
在達拉斯半導體的CPU監(jiān)控器上,電壓檢測輸入通常標記為IN,其相應的輸出(旨在路由到微處理器的不可屏蔽中斷輸入)標記為“NMI-bar”。應該注意的是,這些設備的“NMI-bar”輸出并不總是互補輸出。例如,DS1831具有漏極開路輸出,在“RST-bar”和“NMI-bar”上都需要一個上拉電阻。有關帶電壓檢測輸入的監(jiān)控器列表,請參見圖2。
DS1231 | DS1238 | DS1238A | DS1239 |
DS1705 | DS1706 | DS1707 | DS1708 |
DS1831 | DS1831A | DS1831B | DS1831C |
DS1831D | DS1831E |
向CPU監(jiān)控器電壓檢測輸入添加遲滯
達拉斯半導體CPU監(jiān)控器上的電壓檢測輸入不提供任何內部遲滯,但通過增加一個反饋電阻(如圖3所示),可以增加遲滯。等式 2 和 3 計算 V在具有附加滯后的跳變點。電壓高于 VINTP_PG將導致“NMI-bar”被取消斷言,因為電源處于足夠的水平。電壓低于 VINTP_PF將斷言“NMI-bar”以指示電源故障。公式4計算反饋電阻增加到電路中的遲滯量。這表明減小反饋電阻的值會增加遲滯量。圖4顯示了作為V函數(shù)的遲滯在.
圖3.帶遲滯的高壓監(jiān)視器。
圖4.“NMI-bar”輸出滯后作為V的函數(shù)在.
示例電路顯示MAX1615穩(wěn)壓器,配置為使用5/“0 bar”輸入提供5.3V電源。穩(wěn)壓器的電壓輸入,V在,由電壓檢測輸入(DS1707的V裁判= 1.25V,典型值)的DS1707。DS1707由圖3所示的電阻配置,允許在V時工作在> VINTP_PG= 8.32V。當 V在< VINTP_PF= 8.04V,“NMI-bar”輸出將被置位,以通知處理器V在供應失敗。此設置提供 280mV 的遲滯,以防止 “NMI-bar” 輸出在 V在,可能會有中度噪音,會在較長時間內保持在監(jiān)控跳變點附近。除了監(jiān)控 V在,DS1707監(jiān)測MAX1615的輸出(V抄送),以確保其保持在DS1707的5.0V 10%跳變電平之上。
處理“NMI-bar”中斷
在這種情況下,“NMI-bar”中斷的目的是確保處理器在上游電源發(fā)生故障時正常關閉自身,這最終將導致 3.3V/5V 電源發(fā)生故障。一種簡單的方法是保存應用程序的所有數(shù)據(jù),使應用程序進入安全狀態(tài),并停止執(zhí)行,直到電源恢復。圖 5 顯示了完成此任務的偽代碼。
圖5.“NMI-bar”中斷服務例程的偽代碼
- 保存應用程序的數(shù)據(jù)
- 關機應用程序(將系統(tǒng)置于安全關機狀態(tài),通知用戶等)
-
如果(“NMI-bar”> = 1)
則電源已恢復:從上次中斷的位置繼續(xù)執(zhí)行或重新啟動應用程序
否則 上行功率仍低于跳閘電平:繼續(xù)輪詢“NMI-bar”,直到 3.3V/5V 電源故障或上游功率回升至跳閘電平以上。
如圖5所示,可以輪詢“NMI-bar”引腳以確定電源是否已恢復或仍低于跳變電平(VINTP_PG).如果它低于行程水平,它可以表示 V在仍在下降,但處于足夠高的電壓水平,穩(wěn)壓器可以保持V抄送,或者電源處于“變電”狀態(tài)。如果下降得足夠遠,穩(wěn)壓器將無法再提供V抄送到DS1707容差范圍內的系統(tǒng),這將復位處理器。如果上游功率回升至以上(VINTP_PG),應用程序可以從頭開始重新啟動,也可以從中斷的位置重新啟動,具體取決于系統(tǒng)的要求。在對該算法進行編程時要記住的關鍵事項是情況的時機。當電源故障時,處理器保存數(shù)據(jù)并達到安全狀態(tài)所需的時間將取決于系統(tǒng)。因此,該算法應盡可能短,并經(jīng)過廣泛測試,以確保該例程在DS1707關斷應用之前關閉應用并輪詢“NMI-bar”引腳,因為V抄送失敗了。
結論
遲滯可以通過利用反饋電阻器添加到任何電壓檢測輸入。如果輸入電壓懸停在跳變點附近,遲滯可防止CPU監(jiān)控器的“NMI-bar”輸出因噪聲而顫振。這提高了“NMI-bar”輸出信號的質量,該信號用作電源故障的預警。當處理器收到“NMI-bar”中斷時,它可以保存關鍵數(shù)據(jù)并達到定義的狀態(tài),然后隨著電壓繼續(xù)下降而最終復位。通過允許處理器在電源故障之前每次達到相同的安全狀態(tài),電源故障情況下的系統(tǒng)行為變得可預測且可靠。
審核編輯:郭婷
-
電源
+關注
關注
184文章
17704瀏覽量
249959 -
處理器
+關注
關注
68文章
19259瀏覽量
229651 -
cpu
+關注
關注
68文章
10854瀏覽量
211578
發(fā)布評論請先 登錄
相關推薦
評論