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