色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

安利給工程師!看門狗相關知識

青山老竹農 ? 來源:jf_82863998 ? 作者:jf_82863998 ? 2024-12-31 14:29 ? 次閱讀

看門狗能夠及時檢測并采取相應措施,從而避免系統長時間處于故障狀態。本文將詳細介紹看門狗的工作原理及其正確使用方法。

同時通過具體示例解析,教你如何在一個簡單的LuatOS項目中集成看門狗定時器,設置適當的參數來確保系統在正常運行和故障場景下都能自動恢復。?

▼ 看門狗簡介 ▼

看門狗(Watch Dog Timer,WDT)——是一種監控電路,主要應用于嵌入式系統,目的是為了提高系統的可靠性和穩定性。在看門狗電路的幫助下,當系統出現異常,如程序跑飛或死循環時,能夠自動復位并重新啟動系統。

工作原理:

看門狗電路通常包括一個定時器、一個喂狗信號和一個復位(Reset)輸出。在正常的系統運行過程中,主控制器(MCU)會定期向喂狗信號發送一個脈沖,以“喂”看門狗,防止其計時到達預設值。如果MCU由于某種原因未能在規定時間內喂狗,看門狗定時器將會計滿并輸出一個復位信號,將MCU復位。

應用架構:

在實際應用中,看門狗芯片通常連接到MCU的一個GPIO端口。MCU在其正常運行期間會定期向該端口寫入一個高電平或低電平信號,以此告訴看門狗它仍然正常工作。如果MCU未能按時發出信號,看門狗將觸發復位操作。

芯片引腳功能:

某些看門狗芯片,如TPV6823具有多個引腳:包括供電引腳(VCC)、喂狗信號引腳(WDI)、復位輸出引腳(RESETn)和手動復位輸入引腳(MRn)。這些引腳提供了多種復位方式和時間設置,以適應不同的應用需求。

定時時間:

看門狗的定時時間通常需要保持在一個相對較長的周期,例如200毫秒左右。這樣的設置是為了確保在正常運行中,即使MCU由于干擾而未能及時喂狗,看門狗也不會立即復位系統,從而給MCU足夠的時間來響應和處理問題。

軟硬件看門狗的區別:

硬件看門狗利用獨立的定時器電路來實現監控功能,具有較高的可靠性。軟件看門狗則使用處理器內部的定時器或其他機制來實現,雖然在一定程度上可以簡化硬件設計,但在可靠性方面通常不如硬件看門狗。

WDT庫提供了一系列用于管理和操作看門狗定時器的API函數,開發者可以通過Air201方便地在LuatOS系統中管理看門狗定時器,從而提高設備的穩定性。

軟硬件相關準備工作及最新示例源碼下載詳見:

??https://docs.openluat.com/air201/luatos/app/service/wdt/??

一、看門狗示例解析

本文示例分為兩個部分:

正常運行情況和故障場景模擬

在正常運行情況下,示例代碼會初始化看門狗庫,并設置超時時間和喂狗周期。然后,創建一個任務,該任務會定期喂狗,以防止看門狗定時器超時。如果看門狗定時器超時,系統將自動重啟。

在故障場景模擬部分,我們添加了一個新的任務fault_task,該任務進入一個死循環,不進行喂狗操作。這樣,當看門狗定時器超時后,系統將自動重啟,模擬了設備在故障場景下的自動恢復能力。

1.1 程序正常運行

1.1.1 示例代碼介紹

項目信息

在開頭定義了項目名稱(PROJECT)和版本(VERSION),并通過日志輸出這些信息。

引入系統庫:

通過require("sys") 引入了sys庫,這是LuatOS中常用的系統庫。

任務初始化:

使用sys.taskInit函數創建一個新的任務。在任務中檢查wdt庫是否可用,如果不可用,則進入一個無限循環,每秒鐘輸出一次提示信息。

WDT配置:

初始化wdt庫,設置超時時間為9秒。設置一個定時器每3秒喂一次看門狗,確保設備在正常運行的情況下不會重啟;若發生軟件崩潰或硬件故障,最多18秒后將自動重啟設備。

運行系統:

最后通過sys.run() 啟動系統,后面不應添加任何其他語句。

1.1.2 完整代碼展示

wKgZO2dyP1iAOrMJAATrj7x_ANc937.png

1.1.3 運行結果展示

通過Luatools工具查看日志:

wKgZO2dyP2WAMfbsAAMoa4r1Jcw219.png

1.2 添加死循環模擬故障場景

1.2.1 示例代碼介紹

我們在原有示例代碼中創建了一個新的任務,命名為fault_task,它將進入一個死循環。由于這個新任務不會喂看門狗,設備將在超時后自動重啟。這樣,我們就可以有效地模擬看門狗的超時情況。

wKgZO2dyP3aAYQBkAAEWpwMIeAM783.png

1.2.2 完整代碼展示

wKgZPGdyP46AXVAQAAOFKd8u_I8599.png

1.2.3 運行結果展示

wKgZO2dyP6OAUkPUAATeOubucu4417.png

二、看門狗的擴展

2.1 看門狗定時器的應用場景

看門狗定時器廣泛應用于各種嵌入式系統和物聯網設備中,特別是在需要高可靠性的應用場景中。

一些典型的應用場景包括:

工業控制系統:

工業生產過程中,控制系統需要高度穩定和可靠,看門狗定時器可以確保系統在受到干擾或異常情況時能夠迅速恢復。

車載電子系統:

車載電子系統面臨著復雜的電磁環境和振動,看門狗定時器可以幫助系統在上電復位后保持穩定運行,防止因軟件或硬件故障導致的系統死機。

醫療設備:

醫療設備對穩定性和可靠性有很高的要求,看門狗定時器可以確保設備在長時間運行過程中不會因為故障而停止工作,從而保障患者的安全和設備的連續性。

通信設備:

在通信系統中,看門狗定時器可以用于監控和保護網絡設備,確保數據傳輸的穩定性和可靠性。

2.2 看門狗定時器的設計考慮因素

在設計和實現看門狗定時器時,需要考慮以下幾個關鍵因素:

超時時間:

超時時間是指看門狗定時器從開始計時到觸發復位信號的時間間隔。這個時間需要根據具體應用的需求來設定,通常需要平衡系統的穩定性和響應速度。

喂狗周期:

喂狗周期是指主控制器向看門狗芯片發送脈沖的時間間隔。喂狗周期應該設置得足夠短,以防止看門狗定時器在正常運行中誤觸發復位。

看門狗復位輸出:

看門狗定時器通常具有一個復位輸出引腳,用于向主控制器提供復位信號。在設計時,需要確保復位輸出引腳的電平和主控制器的復位輸入引腳兼容。

看門狗功耗:

在設計看門狗定時器時,需要考慮其功耗,特別是在低功耗應用中。選擇低功耗的看門狗芯片和合理的電源設計對于系統的整體功耗至關重要。

兼容性和可擴展性:

在設計看門狗定時器時,需要考慮其與其他系統的兼容性和可擴展性。確保看門狗定時器能夠與其他硬件和軟件組件無縫集成,并在未來需要時能夠輕松擴展或升級。

通過綜合考慮這些因素,開發者可以設計和實現一個穩定、可靠且高效的看門狗定時器解決方案,以確保嵌入式系統的正常運行和數據傳輸的穩定性。

三、看門狗的常見問題

3.1 看門狗定時器是如何工作的?

看門狗定時器通過主控制器定期向其發送脈沖信號來保持計時。如果主控制器在規定時間內未能發送脈沖,看門狗定時器將觸發復位信號,將主控制器復位。

3.2 如何配置看門狗定時器的超時時間和喂狗周期?

在LuatOS等嵌入式操作系統中,看門狗定時器的超時時間和喂狗周期通常通過API函數進行配置。可以根據具體應用的需求來設置合適的時間間隔。

若使用本文中所提到的watchdog操作庫,可按照以下步驟進行配置:

1)初始化看門狗:

使用wdt.init(timeout) 函數來初始化看門狗定時器,timeout參數是超時時長,單位為毫秒。

例如,如果你希望看門狗的超時時間為9000毫秒,可以這樣調用:

wKgZPGdyP7mAacykAAAHhr8S5i4126.png

2)設置看門狗超時時間(可選):

如果設備支持,可以調用:

wdt.setTimeout(timeout)

重新設置看門狗的超時時長,單位同樣為毫秒。

例如:

wKgZO2dyP8aABMazAAAOIpsJCGg767.png

3)定期喂狗:

使用wdt.feed() 函數來喂狗,以重置超時計時。建議使用定時器定期調用這個函數。

例如,使用系統定時器每3000毫秒喂一次狗,可以這樣設置:

wKgZPGdyP9GAY-YcAAAKV_16bPw036.png

通過以上步驟,你可以成功配置看門狗定時器的超時時間和喂狗周期,確保設備不會因為未喂狗而重啟。

今天的內容就分享到這里了~

審核編輯 黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 看門狗
    +關注

    關注

    10

    文章

    565

    瀏覽量

    70828
  • 物聯網
    +關注

    關注

    2909

    文章

    44697

    瀏覽量

    373932
收藏 人收藏

    評論

    相關推薦

    獨立看門狗(IWDG)的基礎知識

      STM32F10xxx系列內置兩個看門狗(獨立看門狗和窗口看門狗),提供了更高的安全性、時間的精確性和使用的靈活性。兩個看門狗設備(獨立看門狗
    發表于 10-19 17:10 ?4271次閱讀
    獨立<b class='flag-5'>看門狗</b>(IWDG)的基礎<b class='flag-5'>知識</b>

    STM32中的獨立看門狗和窗口看門狗是什么

    在早期的MCU中是沒有看門狗這種東西的,所以產品就很容易出現死機,跑飛的情況。為了避免這種情況的出現,后期的MCU都集成了看門狗的功能。但是目前看門狗發展到今天基本上分為兩大類:獨立看門狗
    的頭像 發表于 02-20 17:47 ?2763次閱讀
    STM32中的獨立<b class='flag-5'>看門狗</b>和窗口<b class='flag-5'>看門狗</b>是什么

    獨立看門狗( IWDG)和窗口看門狗( WWDG)

    一個熱愛代碼的工程師,唯有憑借雙手不斷敲打,才可以快速提升實力!本文謹以記錄,日后相忘時再作復習,代碼沒有貴賤,既來之則安之。 STM32F1內部自帶了 2 個看門狗:獨立看門狗( IWDG)和窗口
    發表于 08-02 10:55

    什么是看門狗電路

    看門狗電路 看門狗電路一般有軟件看門狗和硬件看門狗兩種。軟件看門狗不需外接硬件電路,但系統需要出讓一個定時器資源,這在許多系統中很
    發表于 10-21 01:40 ?8191次閱讀

    stm32看門狗時間計算 獨立看門狗和窗口看門狗的特性是什么

    本文為您講解STM看門狗時間計算(時限)與頻率計算,獨立看門狗和窗口看門狗的特性、區別與聯系。
    發表于 10-10 10:41 ?8773次閱讀

    什么是stm32看門狗?獨立看門狗和窗口看門狗工作原理解析

    stm32有兩個看門狗,獨立看門狗和窗口看門狗,其實兩者的功能是類似的,只是喂狗的限制時間不同。 獨立看門狗
    的頭像 發表于 11-06 11:48 ?2.8w次閱讀
    什么是stm32<b class='flag-5'>看門狗</b>?獨立<b class='flag-5'>看門狗</b>和窗口<b class='flag-5'>看門狗</b>工作原理解析

    STM32看門狗配置(獨立看門狗IWDG和窗口看門狗WWDG)

    stm32自帶兩個看門狗模塊,獨立看門狗IWDG和窗口看門狗WWDG。看門狗主要作用是可用來檢測和解決由軟件錯誤引起的故障;當計數器達到給定的超時值時,觸發一個中斷(僅適用于窗口型
    發表于 11-09 17:17 ?8454次閱讀
    STM32<b class='flag-5'>看門狗</b>配置(獨立<b class='flag-5'>看門狗</b>IWDG和窗口<b class='flag-5'>看門狗</b>WWDG)

    avr看門狗原理知識資料下載

    電子發燒友網為你提供avr看門狗原理知識資料下載的電子資料下載,更有其他相關的電路圖、源代碼、課件教程、中文資料、英文資料、參考設計、用戶指南、解決方案等資料,希望可以幫助到廣大的電子工程師
    發表于 04-17 08:45 ?9次下載
    avr<b class='flag-5'>看門狗</b>原理<b class='flag-5'>知識</b>資料下載

    單片機看門狗有兩種:分別為獨立看門狗和窗口看門狗,它們有什么區別?資料下載

    電子發燒友網為你提供單片機看門狗有兩種:分別為獨立看門狗和窗口看門狗,它們有什么區別?資料下載的電子資料下載,更有其他相關的電路圖、源代碼、課件教程、中文資料、英文資料、參考設計、用戶
    發表于 04-18 08:41 ?2次下載
    單片機<b class='flag-5'>看門狗</b>有兩種:分別為獨立<b class='flag-5'>看門狗</b>和窗口<b class='flag-5'>看門狗</b>,它們有什么區別?資料下載

    MCU獨立看門狗與窗口看門狗的區別

    早期的MCU沒有看門狗,就容易引起有些產品死機了不能重啟工作。為了避免這個問題,后期的MCU在內部集成了看門狗的功能。為了滿足更多使用場景,現在很多MCU都集成了兩個看門狗:獨立看門狗
    發表于 10-28 20:06 ?8次下載
    MCU獨立<b class='flag-5'>看門狗</b>與窗口<b class='flag-5'>看門狗</b>的區別

    STM32:獨立看門狗、窗口看門狗的配置

    STM32單片機的看門狗有獨立看門狗和窗口看門狗之分,這兩者的工作原理卻完全不同。
    發表于 02-08 16:15 ?18次下載
    STM32:獨立<b class='flag-5'>看門狗</b>、窗口<b class='flag-5'>看門狗</b>的配置

    STM32中的獨立看門狗和窗口看門狗

    一、前言 在早期的MCU中是沒有看門狗這種東西的,所以產品就很容易出現死機,跑飛的情況。為了避免這種情況的出現,后期的MCU都集成了看門狗的功能。但是目前看門狗發展到今天基本上分為兩大類:獨立
    的頭像 發表于 12-22 16:58 ?2163次閱讀

    詳解獨立看門狗的實現原理

    這里以大家熟悉的STM32為例大家講解一下獨立看門狗的配置以及工作過程。STM32F10xxx內置兩個看門狗:獨立看門狗和窗口看門狗,提供
    發表于 12-22 17:01 ?3257次閱讀

    STM32中的獨立看門狗和窗口看門狗

    在早期的MCU中是沒有看門狗這種東西的,所以產品就很容易出現死機,跑飛的情況。為了避免這種情況的出現,后期的MCU都集成了看門狗的功能。但是目前看門狗發展到今天基本上分為兩大類:獨立看門狗
    的頭像 發表于 01-30 14:38 ?1392次閱讀
    STM32中的獨立<b class='flag-5'>看門狗</b>和窗口<b class='flag-5'>看門狗</b>

    窗口看門狗的基礎知識

    隨著窗口看門狗變得越來越普遍,對其操作有一個基本的了解非常重要。本應用筆記介紹了窗口看門狗的幾個特性,供讀者了解MAX20478和MAX20480產品系列的一般知識。這些功能包括可編程擴展窗口
    的頭像 發表于 06-15 14:20 ?1250次閱讀
    窗口<b class='flag-5'>看門狗</b>的基礎<b class='flag-5'>知識</b>
    主站蜘蛛池模板: 欧美美女论坛| 无码任你躁久久久久久久| 伊人久久国产免费观看视频| 久久久黄色片| 97在线观看免费| 色多多涩涩屋下载软件| 国产嫩草影院精品免费网址| 亚洲区偷拍自拍29P| 年轻的朋友4在线看中文字幕| 大胸女晃奶动态图| 亚洲午夜精品久久久久久抢| 嫩草影院久久国产精品| 国产成人在线观看免费网站| 一个吃奶两个添下面H| 欧美最新色p图| 海角社区在线视频播放观看 | 视频一区国产第一页| 国产又粗又猛又爽又黄的免费视频 | 国产人妻人伦精品久久久| 中俄两军在日本海等上空战略巡航| 热巴两次用约老师屁股发底线球| 国产精品亚洲精品久久品| 中文字幕AV在线一二三区| 日日碰狠狠躁久久躁77777| 久久精品嫩草影院免费看| 工口肉肉彩色不遮挡| 最近更新2019中文字幕免费| 天天看学生视频| 哪里能看毛片| 国产综合欧美区在线| 成人永久免费视频网站在线观看| 一个人免费观看完整视频日本| 色呦呦人人视频| 暖暖视频免费观看社区| 国内精品欧美久久精品| 超碰免费视频公开97| 中文字幕人成人乱码亚洲影视| 无羞耻肉动漫在线观看| 亲爱的妈妈6韩国电影免费观看| 久久精品热老司机| 国产亚洲精品久久777777|