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