伦伦影院久久影视,天天操天天干天天射,ririsao久久精品一区 ,一本大道香蕉大久在红桃,999久久久免费精品国产色夜,色悠悠久久综合88,亚洲国产精品久久无套麻豆,亚洲香蕉毛片久久网站,一本一道久久综合狠狠老

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

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

3天內不再提示

中科芯CKS32F107XX系列MCU的窗口看門狗介紹

中科芯MCU ? 來源:中科芯MCU ? 2025-11-28 14:48 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

MCU微課堂

CKS32F107XX系列窗口看門狗介紹

第六十六期 2025.11.24

中科芯CKS32F107xx系列產品內部提供兩個看門狗定時器單元,獨立型看門狗IWDG(Independent Watchdog)和窗口型看門狗WWDG(Window Watchdog),本文主要介紹WWDG的應用,關于IWDG的詳情,請參看我們的IWDG微課堂內容。

WWDG簡介

通過前面的課程,我們知道IWDG獨立看門狗的工作原理就是一個遞減計數器在LSI時鐘的驅動下不斷的往下遞減計數,當減到0之前如果沒有刷新遞減計數器的值(俗稱喂狗),便會觸發系統復位。

WWDG窗口看門狗也是一個遞減計數器不斷的往下遞減計數。但和IWDG獨立看門狗有四處不同:

(1)IWDG由獨立RC振蕩器產生的LSI驅動,不受主時鐘影響,但精度不高;WWDG由APB1分頻時鐘驅動,受主時鐘影響,精度高。

(2)IWDG直接由VDD電壓域供電,即使在MCU停止模式和待機模式下仍然能照常工作。

(3)IWDG計數器減到下限0時觸發復位,WWDG計數器減到下限0x40時觸發復位,下限值不同。

(4)IWDG計數器只有復位下限值0,WWDG計數器不僅有復位下限0x40,還有一個復位上限X(用戶設定),上限值與下限值之間形成一個復位窗口。WWDG計數器的值在減到上限X之前(窗口外)喂狗,同樣也會產生復位。因此WWDG必須在窗口上限和窗口下限之間才可以喂狗,這是窗口看門狗的特殊之處。

a2062bf4-c8d1-11f0-8c8f-92fbcf53809c.png

WWDG詳細介紹

1、WWDG功能框圖解析

下圖是獨立看門狗的功能框圖,分4個部分進行說明。

a2dd6bc8-c8d1-11f0-8c8f-92fbcf53809c.png

① WWDG時鐘:窗口看門狗的時鐘來自APB1時鐘線分頻出的PCLK1,最大42MHz,由RCC時鐘控制器控制開啟。

② 計數器時鐘和WWDG_CFR寄存器:CK計時器時鐘 = PCLK1 / 4096,計數器時鐘由CK計時器時鐘經過預分頻器分頻得到,分頻系數由配置寄存器WWDG_CFR的WWDGTB[1:0]控制,可以是0~3,因此計數器的時鐘CNT_CK = PCLK1 / 4096 / (2^WWDGTB),進而可算出一個計數周期時間是T = 1 / CNT_CK。

③ 計數器和WWDG_CR寄存器:WWDG的計數器是一個7位遞減計數器,其值存放在控制器寄存器WWDG_CR的T[6:0]中,當該計數器的值從0x40變為0x3F時,產生復位,因此計數器的值只能是在0x7F~0x40之間,有效位是T[5:0]。WWDG_CR的WDGA位則是窗口看門狗的激活位,可由軟件置1來啟動WWDG,要注意WDGA一旦置1,只能在硬件復位后才能清零。

④ 窗口上限值:WWDG的窗口下限值固定是0x40,但窗口上限值可以人為設定,具體可由WWDG_CFR配置寄存器的W[6:0]設置,其值必須大于0x40且小于0x7F,否則就失去了意義。

最后介紹的是狀態寄存器(WWDG_SR)和EWI(Early wakeup interrupt)中斷,該寄存器用來記錄當前是否有提前喚醒EWI的中斷標志。該寄存器僅有位0有效,其他都是保留位。當計數器值達到0x40時,此位由硬件置1,它必須通過軟件寫0來清除。在初始化WWDG時,一般會先通過軟件寫0清除一次。用戶可以在EWI(Early wakeup interrupt)中斷服務程序里進行一些必要的操作。

2、計算看門狗超時時間

窗口看門狗的時序圖如下。

a3406732-c8d1-11f0-8c8f-92fbcf53809c.png

假設PCLK1時鐘為36MHz,按照上述計算方法,可以得到WWDG的超時時間計算公式Twwdg =1 / PCLK1 x 4096 x 2^WDGTB x (T[5:0]+1),范圍如下表。

a3a4747a-c8d1-11f0-8c8f-92fbcf53809c.png

3、WWDG庫函數配置步驟

(1)使能WWDG時鐘

RCC_APB1PeriphClockCmd(RCC_APB1Periph_WWDG, ENABLE); // WWDG 時鐘使能

(2)設置WWDG窗口上限和WDGTB分頻系數

void WWDG_SetWindowValue(uint8_t WindowValue); //設置WWDG 窗口上限

void WWDG_SetPrescaler(uint32_t WWDG_Prescaler); //設置WDGTB分頻系數

(3)開啟WWDG中斷并分組

WWDG_ClearFlag(); //清除提前喚醒中斷標志位

NVIC_Init(); //設置中斷優先級

WWDG_EnableIT(); //開啟窗口看門狗中斷

(4)設置計數器初始值并使能看門狗

void WWDG_Enable(uint8_t Counter); //設置計數器值并使能看門狗

完成以上4個步驟之后,我們就可以使用窗口看門狗了。之后在程序里面就必須周期性的在窗口上下限范圍內進行喂狗(一般調用WWDG_SetCounter函數),否則將導致系統復位。

4、WWDG的應用場景

WWDG一般被用來監測由外部干擾或不可預見的邏輯條件造成的應用程序背離正常的運行序列而產生的軟件故障。比如一個十分關鍵的程序段正常運行的時間是58ms以內,在運行完這個段程序之后緊接著進行喂狗,如果在規定的時間窗口內還沒有喂狗,那就說明我們監控的程序并沒有在預期的58ms內運行完成,可以認為出故障了或跑飛了,那么此時產生系統復位來解除這個故障,讓程序重新運行。

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

    關注

    147

    文章

    19017

    瀏覽量

    400780
  • 看門狗
    +關注

    關注

    10

    文章

    610

    瀏覽量

    73111
  • 計數器
    +關注

    關注

    32

    文章

    2319

    瀏覽量

    98379
  • 定時器
    +關注

    關注

    23

    文章

    3369

    瀏覽量

    124181

原文標題:MCU微課堂|CKS32F107XX系列窗口看門狗介紹

文章出處:【微信號:中科芯MCU,微信公眾號:中科芯MCU】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    中科CKS32F107XX系列MCU的獨立看門狗介紹

    中科CKS32F107xx系列產品內部提供兩個看門狗定時器單元,獨立型看門狗IWDG(Inde
    的頭像 發表于 11-28 14:51 ?3932次閱讀
    <b class='flag-5'>中科</b><b class='flag-5'>芯</b><b class='flag-5'>CKS32F107XX</b><b class='flag-5'>系列</b><b class='flag-5'>MCU</b>的獨立<b class='flag-5'>看門狗</b><b class='flag-5'>介紹</b>

    中科CKS32F107XX系列MCU的bxCAN介紹

    CKS32F107xx系列產品的bxCAN支持CAN協議2.0A和2.0B標準。 該CAN 控制器支持最高的通訊速率為1Mb/s;可以自動地接收和發送CAN報文,支持使用標準ID和擴展ID的報文
    的頭像 發表于 01-22 09:06 ?3243次閱讀
    <b class='flag-5'>中科</b><b class='flag-5'>芯</b><b class='flag-5'>CKS32F107XX</b><b class='flag-5'>系列</b><b class='flag-5'>MCU</b>的bxCAN<b class='flag-5'>介紹</b>

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

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

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

    早期的MCU沒有看門狗,就容易引起有些產品死機了不能重啟工作。為了避免這個問題,后期的MCU在內部集成了看門狗的功能。
    發表于 03-03 09:18 ?1514次閱讀

    如何使用AT32F4xx系列窗口看門狗(WWDT)

    AT32F4xx窗口看門狗的使用本示例展示了如何使用AT32F4xx系列窗口
    發表于 10-26 07:20

    STM32F0xx_看門狗 (獨立+窗口)配置詳細過程

    STM32F0xx_看門狗(獨立+窗口)配置詳細過程
    的頭像 發表于 04-07 14:33 ?4566次閱讀
    STM32<b class='flag-5'>F0xx</b>_<b class='flag-5'>看門狗</b> (獨立+<b class='flag-5'>窗口</b>)配置詳細過程

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

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

    MCU】基于STM32CubeMX 實現窗口看門狗 WWDG

    基于STM32CubeMX 實現窗口看門狗 WWDG第一部分 基礎理論基礎理論部分主要參考 STM32F10X 參考手冊1. WWDG 簡介(1)WWDG 窗口
    發表于 11-01 16:24 ?10次下載
    【<b class='flag-5'>MCU</b>】基于STM32CubeMX 實現<b class='flag-5'>窗口</b><b class='flag-5'>看門狗</b> WWDG

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

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

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

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

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

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

    CKS32F107xx系列時鐘系統具體配置方法講解

    上一章節對CKS32F107xx系列時鐘做了整體介紹,本章節以使用HSI內部高速時鐘為例對時鐘具體配置方法進行講解。
    的頭像 發表于 05-28 10:05 ?1661次閱讀
    <b class='flag-5'>CKS32F107xx</b><b class='flag-5'>系列</b>時鐘系統具體配置方法講解

    CKS32F107xx系列MCU中ADC介紹

    CKS32F107xx系列產品提供2個12位的模擬/數字轉換器(ADC),每個ADC共用多達16個外部通道,各通道的A/D轉換可以單次、連續、掃描或間斷模式執行。ADC的結果可以左對齊或右對齊方式存儲在16位數據寄存器中。
    的頭像 發表于 06-22 11:04 ?1961次閱讀

    CKS32F107xx系列USART的LIN模式

    CKS32F107xx系列在支持正常USART功能的同時,亦支持LIN(局域互聯網)模式。
    的頭像 發表于 02-18 17:18 ?1253次閱讀
    <b class='flag-5'>CKS32F107xx</b><b class='flag-5'>系列</b>USART的LIN模式

    中科CKS32F107XX系列MCU的電源控制介紹

    CKS32F107xx的工作電壓(VDD)為2.0~3.6V,通過內置的電壓調節器提供內核所需的1.5V電源,圖1為電源系統框架。
    的頭像 發表于 03-25 16:34 ?286次閱讀
    <b class='flag-5'>中科</b><b class='flag-5'>芯</b><b class='flag-5'>CKS32F107XX</b><b class='flag-5'>系列</b><b class='flag-5'>MCU</b>的電源控制<b class='flag-5'>介紹</b>