從系統故障或軟件故障中恢復并非易事。故障存在的時間越長,識別和恢復的難度就越大。外部監視器可以幫助系統快速應對此類故障。
外部監視器是嵌入式系統工程師工具箱中的重要和關鍵工具。但是,它們必須正確設計,以便捕獲系統故障而不會導致系統故障。在設計看門狗系統時,應該考慮五個提示。
提示1 - 監視心跳
外部監視程序可以具有的最簡單的功能是監視主應用程序處理器生成的周期性“心跳”信號,以及心跳失敗時生成錯誤信號。監測心跳應該有兩個不同的目的。首先,微控制器應僅在對軟件執行功能檢查后生成心跳,以確保軟件正常運行。其次,心跳應該能夠揭示系統的實時響應是否已經受到危害。
使用簡單的“啞”外部監視器可以監控心跳的軟件功能和實時響應。外部看門狗應該能夠分配心跳周期以及心跳必須出現在其中的窗口。心跳窗口的目的是允許監視程序檢測系統的實時響應何時受到損害。如果功能或實時檢查失敗,則看門狗會嘗試通過重置應用程序處理器來恢復系統。
技巧2 - 使用低性能MCU
可監控心跳的基于定時器的簡單外部看門狗成本相對較低,但嚴重限制了功能和恢復的可能性看門狗系統。低功耗微控制器的成本與外部看門狗定時器的成本幾乎相同,那么為什么不向看門狗增加一些智能并使用微控制器呢?可以開發微控制器固件以實現窗口心跳監視,并增加更多功能。
像這樣的“智能”監管機構有時被稱為主管或安全監督機構,實際上已經在汽車等不同行業使用了很多年。通常,基于微控制器的看門狗主要用于安全關鍵應用。鑒于現有的開發工具和硬件的低成本,這種設計在其他應用中也具有成本效益。
提示3 - 監督關鍵系統功能
決定使用一個小型微控制器作為監視器打開幾乎無限的可能性如何使用看門狗。添加到智能監視器的第一個角色之一通常是監督關鍵系統功能,例如系統電流或傳感器狀態。看門狗如何監控電流的一個例子是對電流進行獨立測量,然后將該值提供給應用處理器。然后,應用程序處理器可以將自己的讀數與看門狗的讀數進行比較。如果兩者之間存在分歧,則系統將執行被認為適合于應用程序的故障樹。
提示4 - 觀察通信信道
有時嵌入式系統看門狗和應用處理器可能會按預期運行,但對于外部觀察者來說處于無響應狀態。在這種情況下,將智能看門狗連接到通信通道(如UART)會很有用。當看門狗連接到通信通道時,它不僅可以監控通道流量,還可以接收監視器特有的命令。
這方面的一個很好的例子是為小型衛星設計的監視器,用于監控飛行計算機和地面站之間的無線電通信。如果飛行計算機對無線電無響應,則可以向看門狗發送命令,然后執行該命令并用于重置飛行計算機。
技巧5 - 考慮外部定時復位功能
使用微控制器實現具有額外功能的看門狗會給系統設計增加一些復雜性和新的軟件元素。因此,在這樣的系統中誰在監視看門狗的問題無疑是許多工程師的想法。如果看門狗本身進入雜草狀態,看門狗將如何恢復?
一種選擇是使用前面討論過的啞外部看門狗定時器。智能看門狗會產生一個心跳,以防止被愚蠢的看門狗定時器復位。另一個選擇是讓應用程序處理器充當監視程序的監視程序。需要認真考慮確保兩個處理器保持正常運行的最佳方式。
結論
智能看門狗的目的是監控系統和主微控制器,以確保它們按預期運行。在系統監視器的設計過程中,允許看門狗支持的功能數量向上爬行非常誘人。開發人員需要記住,隨著智能監視器的復雜性增加,監視器本身將包含潛在故障模式和錯誤的可能性也隨之增加。保持監視器的簡單性和最小必要的功能集將確保它可以經過詳盡的測試并證明可以正常工作。
-
看門狗
+關注
關注
10文章
565瀏覽量
70863 -
PCB打樣
+關注
關注
17文章
2968瀏覽量
21747 -
華強PCB
+關注
關注
8文章
1831瀏覽量
27821 -
華強pcb線路板打樣
+關注
關注
5文章
14629瀏覽量
43092
發布評論請先 登錄
相關推薦
評論