24小時聯(lián)系電話:18217114652、13661815404
中文
技術專題
設計智能看門狗的5條提示
設計智能看門狗的5條提示
從系統(tǒng)故障或軟件故障中恢復并非易事。故障發(fā)生的時間越長,識別和恢復故障就越困難。外部看門狗的使用是嵌入式系統(tǒng)工程師工具箱中的重要工具。設計看門狗系統(tǒng)時,應考慮五個技巧。
提示#1 –監(jiān)視心跳
外部看門狗可以具有的最簡單功能是監(jiān)視由主應用程序處理器產生的心跳。監(jiān)測心跳應有兩個不同的目的。首先,微控制器應僅在對軟件執(zhí)行功能檢查以確保其正常工作后才生成心跳。其次,心跳應該能夠揭示系統(tǒng)的實時響應是否受到威脅。
可以使用簡單的“啞”外部看門狗來監(jiān)視心跳中的軟件功能和實時響應。外部看門狗應具有分配心跳周期以及心跳必須出現(xiàn)在其中的窗口的功能。心跳窗口的目的是允許看門狗檢測到系統(tǒng)的實時響應受到損害。如果功能檢查或實時檢查失敗,則看門狗然后嘗試通過重置應用程序處理器來恢復系統(tǒng)。
技巧2 –使用低性能的MCU
可以監(jiān)視心跳的外部看門狗的成本相對較低,但會嚴重限制看門狗系統(tǒng)的功能和恢復可能性。低能力的微控制器的成本與外部看門狗定時器的成本幾乎相同,因此為什么不向看門狗添加一些智能并使用微控制器??梢蚤_發(fā)微控制器固件,以實現(xiàn)窗口式心跳監(jiān)視功能,而且還要增加更多功能。像這樣的“智能”看門狗有時被稱為主管或安全看門狗,實際上已經在諸如汽車等不同行業(yè)中使用了很多年。通常,微控制器看門狗已被保留用于安全關鍵型應用,但是考慮到開發(fā)工具和硬件成本,它在其他應用中也可能具有成本效益。
提示#3 –監(jiān)督關鍵的系統(tǒng)功能
使用小型微控制器作為看門狗的決定為看門狗的使用方式提供了幾乎無限的可能性。智能看門狗的第一個角色通常是監(jiān)督關鍵的系統(tǒng)功能,例如系統(tǒng)電流或傳感器狀態(tài)??撮T狗如何監(jiān)視電流的一個示例是進行獨立測量,然后將該值提供給應用處理器。然后,應用處理器可以將自己的讀數(shù)與看門狗的讀數(shù)進行比較。如果兩者之間存在分歧,則系統(tǒng)將執(zhí)行一棵認為適合該應用程序的故障樹。
提示#4 –觀察交流渠道
有時,嵌入式系統(tǒng)似乎可以按看門狗和應用程序處理器的預期運行,但是從外部觀察者來看,它們處于無響應狀態(tài)。在這種情況下,將智能看門狗綁定到諸如UART之類的通信通道可能會很有用。當看門狗連接到通信通道時,它不僅監(jiān)視通道流量,而且還監(jiān)視看門狗的特定命令。一個很好的例子是為小型衛(wèi)星設計的看門狗,它監(jiān)視飛行計算機和地面站之間的無線電通信。如果飛行計算機對無線電無響應,可以向看門狗發(fā)送命令,然后執(zhí)行該命令并將其用于重置飛行計算機。
提示5 –考慮外部定時復位功能
當使用微控制器作為看門狗時,毫無疑問,誰在看門狗的問題在許多工程師的腦海中浮現(xiàn)。使用微控制器實現(xiàn)額外的功能會增加系統(tǒng)的復雜性和新的軟件元素。如果看門狗掉入雜草中,看門狗將如何恢復?一種選擇是使用前面討論過的外部看門狗定時器。智能看門狗將生成心跳,以防止自己被看門狗定時器重置。另一種選擇是讓應用處理器充當看門狗的看門狗。需要仔細考慮最好的方法,以確保兩個處理器都保持預期的功能。
智能看門狗的目的是監(jiān)視系統(tǒng)和主微控制器,以確保它們按預期運行。在系統(tǒng)看門狗的設計過程中,允許支持的功能數(shù)量不斷增加可能非常誘人。開發(fā)人員需要記住,隨著智能看門狗的復雜性增加,看門狗本身將包含潛在的故障模式和錯誤的可能性也隨之增加。保持看門狗簡單并盡可能減少必要的功能集,將確??梢詫λM行詳盡的測試并證明其可以正常工作。