91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

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

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

掃碼添加小助手

加入工程師交流群

MCU微課堂

CKS32F107XX系列窗口看門狗介紹

第六十六期 2025.11.24

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

WWDG簡介

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

WWDG窗口看門狗也是一個遞減計(jì)數(shù)器不斷的往下遞減計(jì)數(shù)。但和IWDG獨(dú)立看門狗有四處不同:

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

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

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

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

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

WWDG詳細(xì)介紹

1、WWDG功能框圖解析

下圖是獨(dú)立看門狗的功能框圖,分4個部分進(jìn)行說明。

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

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

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

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

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

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

2、計(jì)算看門狗超時時間

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

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

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

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

3、WWDG庫函數(shù)配置步驟

(1)使能WWDG時鐘

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

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

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

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

(3)開啟WWDG中斷并分組

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

NVIC_Init(); //設(shè)置中斷優(yōu)先級

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

(4)設(shè)置計(jì)數(shù)器初始值并使能看門狗

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

完成以上4個步驟之后,我們就可以使用窗口看門狗了。之后在程序里面就必須周期性的在窗口上下限范圍內(nèi)進(jìn)行喂狗(一般調(diào)用WWDG_SetCounter函數(shù)),否則將導(dǎo)致系統(tǒng)復(fù)位。

4、WWDG的應(yīng)用場景

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

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    147

    文章

    18917

    瀏覽量

    397863
  • 看門狗
    +關(guān)注

    關(guān)注

    10

    文章

    610

    瀏覽量

    72925
  • 計(jì)數(shù)器
    +關(guān)注

    關(guān)注

    32

    文章

    2315

    瀏覽量

    98164
  • 定時器
    +關(guān)注

    關(guān)注

    23

    文章

    3368

    瀏覽量

    123532

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

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

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

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    中科CKS32F107XX系列MCU的獨(dú)立看門狗介紹

    中科CKS32F107xx系列產(chǎn)品內(nèi)部提供兩個看門狗定時器單元,獨(dú)立型看門狗IWDG(Inde
    的頭像 發(fā)表于 11-28 14:51 ?3848次閱讀
    <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>的獨(dú)立<b class='flag-5'>看門狗</b><b class='flag-5'>介紹</b>

    中科CKS32F107XX系列MCU的bxCAN介紹

    CKS32F107xx系列產(chǎn)品的bxCAN支持CAN協(xié)議2.0A和2.0B標(biāo)準(zhǔn)。 該CAN 控制器支持最高的通訊速率為1Mb/s;可以自動地接收和發(fā)送CAN報文,支持使用標(biāo)準(zhǔn)ID和擴(kuò)展ID的報文
    的頭像 發(fā)表于 01-22 09:06 ?3022次閱讀
    <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中的獨(dú)立看門狗窗口看門狗是什么

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

    MCU獨(dú)立看門狗窗口看門狗的區(qū)別

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

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

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

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

    stm32自帶兩個看門狗模塊,獨(dú)立看門狗IWDG和窗口看門狗WWDG。看門狗主要作用是可用來檢測和解決由軟件錯誤引起的故障;當(dāng)計(jì)數(shù)器達(dá)到給定
    發(fā)表于 11-09 17:17 ?8835次閱讀
    STM32<b class='flag-5'>看門狗</b>配置(獨(dú)立<b class='flag-5'>看門狗</b>IWDG和<b class='flag-5'>窗口</b><b class='flag-5'>看門狗</b>WWDG)

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

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

    MCU獨(dú)立看門狗窗口看門狗的區(qū)別

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

    MCU】基于STM32CubeMX 實(shí)現(xiàn)窗口看門狗 WWDG

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

    STM32:獨(dú)立看門狗、窗口看門狗的配置

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

    STM32中的獨(dú)立看門狗窗口看門狗

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

    STM32中的獨(dú)立看門狗窗口看門狗

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

    CKS32F107xx系列時鐘系統(tǒng)具體配置方法講解

    上一章節(jié)對CKS32F107xx系列時鐘做了整體介紹,本章節(jié)以使用HSI內(nèi)部高速時鐘為例對時鐘具體配置方法進(jìn)行講解。
    的頭像 發(fā)表于 05-28 10:05 ?1599次閱讀
    <b class='flag-5'>CKS32F107xx</b><b class='flag-5'>系列</b>時鐘系統(tǒng)具體配置方法講解

    CKS32F107xx系列MCU中ADC介紹

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

    CKS32F107xx系列USART的LIN模式

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