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