
從系統(tǒng)故障或軟件故障中恢復(fù)并非易事 。 故障發(fā)生的時(shí)間越長 , 就越難識別和恢復(fù) 。 使用外部看門狗是嵌入式開發(fā)人員工具箱中一個(gè)重要且關(guān)鍵的工具 。 設(shè)計(jì)看門狗系統(tǒng)時(shí)應(yīng)考慮五個(gè)技巧 。
技巧1 – 監(jiān)控心跳
外部看門狗可以擁有的最簡單的功能是監(jiān)視由主應(yīng)用處理器產(chǎn)生的心跳 。 監(jiān)測心跳應(yīng)該有兩個(gè)不同的目的 。 首先 , 微控制器應(yīng)僅在對軟件執(zhí)行功能檢查以確保其正常運(yùn)行后生成心跳 。 其次 , 心跳應(yīng)該能夠揭示系統(tǒng)的實(shí)時(shí)響應(yīng)是否受到威脅 。
可以使用簡單的“啞”外部看門狗來監(jiān)控軟件功能和實(shí)時(shí)響應(yīng)的心跳 。 外部看門狗應(yīng)該能夠分配心跳周期以及心跳必須出現(xiàn)在其中的窗口 。 心跳窗口的目的是讓看門狗檢測到系統(tǒng)的實(shí)時(shí)響應(yīng)受到損害 。 如果功能或?qū)崟r(shí)檢查失敗 , 則看門狗會嘗試通過重置應(yīng)用處理器來恢復(fù)系統(tǒng) 。
技巧2 – 使用低性能 MCU
可以監(jiān)控心跳的外部看門狗成本相對較低 , 但會嚴(yán)重限制看門狗系統(tǒng)的能力和恢復(fù)可能性 。 低功能微控制器的成本幾乎與外部看門狗定時(shí)器相同 , 所以為什么不為看門狗增加一些智能并使用微控制器 。 可以開發(fā)微控制器固件以通過添加更多功能來實(shí)現(xiàn)窗口心跳監(jiān)控 。 像這樣的“智能”看門狗有時(shí)被稱為監(jiān)管者或安全看門狗 , 實(shí)際上已在汽車等不同行業(yè)使用多年 。 通常 , 微控制器看門狗是為安全關(guān)鍵型應(yīng)用預(yù)留的 , 但考慮到開發(fā)工具和硬件成本 , 它在其他應(yīng)用中也具有成本效益 。
技巧3 – 監(jiān)督關(guān)鍵系統(tǒng)功能
嵌入式開發(fā)人員使用小型微控制器作為看門狗的決定為如何使用看門狗開辟了幾乎無限的可能性 。 智能看門狗的首要角色之一通常是監(jiān)督關(guān)鍵系統(tǒng)功能 , 例如系統(tǒng)電流或傳感器狀態(tài) 。 看門狗如何監(jiān)控電流的一個(gè)示例是進(jìn)行獨(dú)立測量 , 然后將該值提供給應(yīng)用處理器 。 然后 , 應(yīng)用處理器可以將自己的讀數(shù)與看門狗的讀數(shù)進(jìn)行比較 。 如果兩者之間存在分歧 , 那么系統(tǒng)將執(zhí)行一個(gè)被認(rèn)為適合應(yīng)用程序的故障樹 。
技巧4 – 觀察溝通渠道
有時(shí) , 嵌入式系統(tǒng)可能看起來像看門狗和應(yīng)用處理器所期望的那樣運(yùn)行 , 但從外部觀察者看來 , 它處于無響應(yīng)狀態(tài) 。 在這種情況下 , 將智能看門狗連接到通信通道(例如 UART)會很有用 。 當(dāng)看門狗連接到通信通道時(shí) , 它不僅監(jiān)控通道流量 , 甚至監(jiān)控特定于看門狗的命令 。 一個(gè)很好的例子是為監(jiān)視飛行計(jì)算機(jī)和地面站之間的無線電通信的小型衛(wèi)星設(shè)計(jì)的看門狗 。 如果飛行計(jì)算機(jī)對無線電無響應(yīng) , 則可以向看門狗發(fā)送命令 , 然后執(zhí)行該命令并用于重置飛行計(jì)算機(jī) 。
技巧5 – 考慮外部定時(shí)復(fù)位功能
當(dāng)使用微控制器作為看門狗時(shí) , 誰在看門狗的問題無疑是許多工程師的想法 。 使用微控制器來實(shí)現(xiàn)額外的功能會增加系統(tǒng)的復(fù)雜性和新的軟件元素 。 如果看門狗陷入困境 , 看門狗將如何恢復(fù)?一種選擇是使用前面討論過的外部看門狗定時(shí)器 。 智能看門狗會產(chǎn)生一個(gè)心跳 , 以防止自己被看門狗定時(shí)器重置 。 另一種選擇是讓應(yīng)用處理器充當(dāng)看門狗的看門狗 。 需要仔細(xì)考慮確保兩個(gè)處理器按預(yù)期運(yùn)行的最佳方法 。
結(jié)論
【微信|嵌入式開發(fā):設(shè)計(jì)智能看門狗的5個(gè)技巧】智能看門狗的目的是監(jiān)控系統(tǒng)和主微控制器 , 以確保它們按預(yù)期運(yùn)行 。 在系統(tǒng)看門狗的設(shè)計(jì)過程中 , 允許支持的功能數(shù)量增加是非常誘人的 。 嵌入式開發(fā)人員需要記住 , 隨著智能看門狗復(fù)雜性的增加 , 看門狗本身包含潛在故障模式和錯(cuò)誤的可能性也會增加 。 保持看門狗的簡單性和最少的必要功能集將確保它可以經(jīng)過詳盡的測試并被證明可以工作 。
相關(guān)經(jīng)驗(yàn)推薦
- 微信|微信出現(xiàn)這類廣告要小心,對方可能正盯著你,你可以關(guān)掉這個(gè)功能
- 軟件|CAD這類平臺性的軟件,中國現(xiàn)在這個(gè)階段要想去開發(fā),只有兩條路
- 軟件開發(fā)|紅米、真我、一加月銷量對比,天璣8100三大主力誰更受歡迎?
- 華為|iOS16官方測試開始,開發(fā)者很頭疼
- 微信|音效顏值皆在,漫步者音箱M30點(diǎn)體驗(yàn)感受怎么樣?
- 微信|長按微信圖標(biāo)2秒,神奇的一幕出現(xiàn)!4個(gè)隱藏功能,原來這么實(shí)用了
- 麻省理工學(xué)院|麻省理工開發(fā)出一種靈活的紙質(zhì)揚(yáng)聲器
- 國產(chǎn)手機(jī)|續(xù)華為鴻蒙后再挑戰(zhàn)安卓!國產(chǎn)手機(jī)老四強(qiáng)宣布聯(lián)合騰訊開發(fā)新系統(tǒng)
- 榮耀|微信占用空間太多?教你一鍵「瘦身」
- 微信|孩子網(wǎng)課不老實(shí)?三大功能讓OPPO Pad成為學(xué)習(xí)利器,省心又高效
