色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > MCU獨(dú)立看門狗 vs 窗口看門狗

          MCU獨(dú)立看門狗 vs 窗口看門狗

          作者:焉知新能源汽車 時(shí)間:2023-03-10 來源:搜狐科技 收藏

          早期的沒有,就容易引起有些產(chǎn)品死機(jī)了不能重啟工作。為了避免這個(gè)問題,后期的在內(nèi)部集成了的功能。

          本文引用地址:http://cafeforensic.com/article/202303/444265.htm

          為了滿足更多使用場(chǎng)景,現(xiàn)在很多都集成了兩個(gè):獨(dú)立看門狗與窗口看門狗 。

          拿現(xiàn)在大家熟悉的STM32來說,都集成了獨(dú)立看門狗和窗口看門狗,下面就展開來講講這個(gè)兩個(gè)看門狗以及它們的區(qū)別。

          獨(dú)立看門狗

          獨(dú)立看門狗,顧名思義,就是獨(dú)立的一個(gè)看門狗,由其專用低速時(shí)鐘 (LSI) 驅(qū)動(dòng),因此,即便在主時(shí)鐘發(fā)生故障時(shí)仍然保持工作狀態(tài)。

          IWDG 最適合應(yīng)用于那些需要看門狗作為一個(gè)在主程序之外,能夠完全獨(dú)立工作,并且對(duì)時(shí)間精度要求較低的場(chǎng)合。

          獨(dú)立看門狗特性:

          • 自由運(yùn)行遞減計(jì)數(shù)器

          • 時(shí)鐘由獨(dú)立 RC 振蕩器提供(可在待機(jī)和停止模式下運(yùn)行)

          • 當(dāng)遞減計(jì)數(shù)器值達(dá)到 0x000 時(shí)產(chǎn)生復(fù)位(如果看門狗已激活)

          窗口看門狗

          窗口看門狗,之所以稱為窗口,是因?yàn)槠湮构窌r(shí)間是一個(gè)有上下限的范圍內(nèi),你可以通過設(shè)定相關(guān)寄存器,設(shè)定其上限時(shí)間和下限時(shí)間: 喂狗的時(shí)間不能過早也不能過晚。

          窗口型看門狗

          窗口看門狗的上窗口就是配置寄存器WWDG->CFR里設(shè)定的W[6:0];下窗口是固定的0x40;當(dāng)窗口看門狗的計(jì)數(shù)器在上窗口值之外,或是低于下窗口值都會(huì)產(chǎn)生復(fù)位。

          窗口型看門狗工作原理

          上窗口的值可以只有設(shè)定,7位二進(jìn)制數(shù)最大只可以設(shè)定為127(0x7F),最小又必須大于下窗口的0x40,所以其取值范圍為64~127(即:0x40~0x7F);配置寄存器WWDG->CFR中為計(jì)數(shù)器設(shè)定時(shí)鐘分頻系數(shù),確定這個(gè)計(jì)數(shù)器可以定時(shí)的時(shí)間范圍,從而確定窗口的時(shí)間范圍。

          窗口看門狗的時(shí)鐘來自于PCLK1,在時(shí)鐘配置中,其頻率為外部時(shí)鐘經(jīng)倍頻器后的二分頻時(shí)鐘,即為36MHz,根據(jù)手冊(cè)可以知道其定時(shí)時(shí)間計(jì)算方法:

          兩者對(duì)比

          1.使用條件對(duì)比

          2.特點(diǎn)對(duì)比

          兩者的區(qū)別

          獨(dú)立看門狗與窗口看門狗的區(qū)別如下:

          獨(dú)立看門狗沒有中斷,窗口看門狗有中斷。

          獨(dú)立看門狗有硬件軟件之分,窗口看門狗只能軟件控制。

          獨(dú)立看門狗只有下限,窗口看門狗有下限和上限。

          獨(dú)立看門狗是12位遞減的,窗口看門狗是7位遞減的。

          獨(dú)立看門狗是用的內(nèi)部大約40KHz的RC振蕩器,窗口看門狗是用的系統(tǒng)時(shí)鐘APB1ENR

          獨(dú)立看門狗沒有中斷功能,只要在計(jì)數(shù)器減到0(下限)之前,重新裝載計(jì)數(shù)器的值,就不會(huì)產(chǎn)生復(fù)位。

          要注意看門狗和外接復(fù)位IC同時(shí)存在的情況 ,外部電路可能會(huì)阻止看門狗復(fù)位。

          窗口看門狗有中斷,這個(gè)中斷的作用是在計(jì)數(shù)器達(dá)到下限0x40的時(shí)候,產(chǎn)生中斷,讓你喂狗;如果你不喂狗,計(jì)數(shù)器的值變?yōu)?x3f的時(shí)候,將會(huì)產(chǎn)生系統(tǒng)復(fù)位;即使是喂狗,也應(yīng)該在中斷里快速喂狗,要不時(shí)間長(zhǎng)了計(jì)數(shù)器減1也會(huì)變成0x3f產(chǎn)生復(fù)位。

          窗口看門狗還有一個(gè)上限值,這個(gè)值如果大于計(jì)數(shù)器的初始值,那么就沒有任何作用了;這個(gè)值小于計(jì)數(shù)器初始值的時(shí)候,當(dāng)計(jì)數(shù)器的值大于上限值時(shí)你對(duì)計(jì)數(shù)器進(jìn)行裝載,將會(huì)產(chǎn)生復(fù)位,只有在計(jì)數(shù)器減到小于上限值時(shí),你才能重新裝載計(jì)數(shù)器。意思就是說只有計(jì)數(shù)器的值在上限值和下限值之間你才能裝載計(jì)數(shù)器,否則就會(huì)產(chǎn)生系統(tǒng)復(fù)位,當(dāng)上限值小于下限值,也沒有意義。

          最后,拓展一下基于STM32、FreeRTOS實(shí)現(xiàn)硬件看門狗+軟件看門狗監(jiān)測(cè)多任務(wù)的思路 。



          關(guān)鍵詞: MCU 看門狗

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉