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