看門狗是開發(fā)健壯和故障安全嵌入式系統(tǒng)的關(guān)鍵和重要組件。在許多情況下,嵌入式開發(fā)團(tuán)隊(duì)要么沒有充分考慮他們的看門狗政策,要么禁用了他們的看門狗。為了提高系統(tǒng)的穩(wěn)健性并確保看門狗能夠檢測到系統(tǒng)故障,開發(fā)人員可以遵循以下10看門狗設(shè)計(jì)的技巧和方法來改進(jìn)他們的看門狗設(shè)計(jì)。
在啟動時(shí),確定系統(tǒng)啟動的原因。是否由于看門狗定時(shí)器復(fù)位而啟動、掉電檢測、例外、用戶交互或其他未知原因、記錄此信息對于調(diào)試偶爾會以零星和不可預(yù)測的方式出錯(cuò)的系統(tǒng)至關(guān)重要。
選擇微控制器時(shí),請選擇包含獨(dú)立看門狗的微控制器。獨(dú)立的看門狗有一個(gè)獨(dú)立于系統(tǒng)時(shí)鐘生成的時(shí)鐘,如果系統(tǒng)時(shí)鐘出現(xiàn)故障或鎖定,這提高了檢測到故障的機(jī)會。
在初始化序列的早期啟用看門狗定時(shí)器。看門狗被禁用的時(shí)間越長,當(dāng)出現(xiàn)問題時(shí)看門狗就越有可能檢測不到它。
不要在中斷服務(wù)程序中盲目地清除或?qū)檺劭撮T狗。創(chuàng)建一個(gè)監(jiān)視其他軟件任務(wù)的看門狗任務(wù),并且可以在清除計(jì)時(shí)器之前確定系統(tǒng)運(yùn)行狀況和運(yùn)行狀況是否可接受。
對于連接到 Internet 或需要在沒有人工干預(yù)的情況下自行運(yùn)行的系統(tǒng),嵌入式開發(fā)人員可以考慮添加一個(gè)外部看門狗,該看門狗會定期重置微控制器以清除任何可能發(fā)生的故障或錯(cuò)誤。
使用外部智能看門狗或監(jiān)控處理器來監(jiān)控微控制器是否正常運(yùn)行。
使用智能看門狗時(shí),提供足夠的智能,以便它可以監(jiān)控外部通信通道、接收重啟命令和發(fā)送基本確認(rèn)。
盡可能使用窗口式看門狗。窗口看門狗將確保通過嘗試連續(xù)清除看門狗而失敗的系統(tǒng)將觸發(fā)看門狗。如果在指定窗口內(nèi)沒有清除看門狗導(dǎo)致系統(tǒng)失敗,看門狗將重置系統(tǒng)。
在外部顯示器上設(shè)置一個(gè)特定的時(shí)間段,并設(shè)置一個(gè)來自微控制器的心跳,該心跳僅在處理器的健康狀況可以接受時(shí)生成。
不要忘記,智能看門狗也是基于微控制器的系統(tǒng),可能需要有自己的看門狗策略,例如啟用內(nèi)部看門狗定時(shí)器和添加外部啞看門狗定時(shí)器,以確保它們正確運(yùn)行。
以上的10個(gè)看門狗設(shè)計(jì)的技巧和方法只是嵌入式開發(fā)人員可以遵循的幾個(gè)簡單步驟,以確保他們的看門狗正常運(yùn)行。你能想到開發(fā)者應(yīng)該遵循的任何其他提示嗎?更多關(guān)于物聯(lián)網(wǎng)培訓(xùn)的問題,歡迎咨詢千鋒教育在線名師,如果想要了解我們的師資、課程、項(xiàng)目實(shí)操的話可以點(diǎn)擊咨詢課程顧問,獲取試聽資格來試聽我們的課程,在線零距離接觸千鋒教育大咖名師,讓你輕松從入門到精通。