chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

淺談STM8S_008_WDG獨(dú)立看門狗和窗口看門狗

黃工的嵌入式技術(shù)圈 ? 來源:黃工的嵌入式技術(shù)圈 ? 2020-03-20 09:39 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Ⅰ寫在前面

STM8S看門狗WDG分為兩類:

IWDG:Independent WatchDog獨(dú)立看門狗

WWDG:Window WatchDog窗口看門狗

獨(dú)立看門狗模塊可以用于解決處理器因?yàn)橛布蜍浖墓收纤l(fā)生的錯誤。它由一個內(nèi)部的128kHz的LSI阻容振蕩器作為時鐘源驅(qū)動,因此即使是主時鐘失效時它仍然照常工作。

窗口看門狗用于監(jiān)測由于外部干擾或不可預(yù)知的邏輯條件所產(chǎn)生的軟件錯誤,這樣的軟件錯誤通常會導(dǎo)致應(yīng)用程序不按照預(yù)期的方式運(yùn)行。

大概意思主要是:IWDG主要防止硬件問題引起的復(fù)位,WWDG主要防止軟件問題引起的復(fù)位.

為方便大家閱讀,本文內(nèi)容已經(jīng)整理成PDF文件:

http://pan.baidu.com/s/1i5uWhJR

Ⅱ看門狗知識

1.看門狗結(jié)構(gòu)圖

STM8S的獨(dú)立看門狗IWDG比窗口看門狗WWDG結(jié)構(gòu)看起來要簡單一點(diǎn),其實(shí)寄存器都只有那么兩個,軟件配置起來也比較簡單。不管是獨(dú)立還是窗口看門狗,自己看結(jié)構(gòu)圖基本就能理解到它們。具體請看下面結(jié)構(gòu)圖進(jìn)行對比。

獨(dú)立看門狗IWDG結(jié)構(gòu)圖:

當(dāng)向下計(jì)數(shù)器“8-bit down-counter”等于0時,就會產(chǎn)生看門狗復(fù)位“WDG reset”。因此,就需要在計(jì)數(shù)器等于0之前通過重載寄存器“IWDG_RLR”更新計(jì)數(shù)器的值。

窗口看門狗WWDG結(jié)構(gòu)圖:

窗口看門狗有兩地方會引起復(fù)位:

1.當(dāng)7位(T[6:0])遞減計(jì)數(shù)器從0x40翻轉(zhuǎn)到0x3F(T6位清零)時。這種和上面IWDG類似,遞減到“0”就會復(fù)位。

2.當(dāng)更新的計(jì)數(shù)值大于窗口值(T6:0 > W6:0)時。

這兩種復(fù)位的情況如下圖:

2.IWDG獨(dú)立看門狗功能

當(dāng)在鍵寄存器(IWDG_KR)中寫入數(shù)值0xCC后,獨(dú)立看門狗就被啟動了,計(jì)數(shù)器開始從它的復(fù)位值0xFF開始遞減計(jì)數(shù),當(dāng)計(jì)數(shù)減到0x00時就會產(chǎn)生一個復(fù)位信號(WDG RESET)。

如果在IWDG_HW選擇字節(jié)中使能了硬件看門狗的功能,在芯片上電時看門狗的功能被自動開啟,如果軟件不能及時操作鍵寄存器,則在計(jì)數(shù)器達(dá)到0x00時產(chǎn)生復(fù)位。

看門狗復(fù)位的超時值是由你的配置(分頻值和計(jì)數(shù)值)決定的,大概如下(默認(rèn)LSI = 128 kHz 會隨溫度變化有所偏差):

3.WWDG獨(dú)立看門狗功能

● 可編程的自由運(yùn)行遞減計(jì)數(shù)器

● 有條件的復(fù)位

─ 如果開啟了看門狗,當(dāng)遞減計(jì)數(shù)器的數(shù)值小于 0x40 時產(chǎn)生復(fù)位

─ 如果開啟了看門狗,當(dāng)在指定的時間窗口之外重加載遞減計(jì)數(shù)器的數(shù)值時產(chǎn)生復(fù)位

● 硬件或軟件啟動看門狗(由選擇字節(jié)指定)

● 可在HALT指令時產(chǎn)生復(fù)位(由選擇字節(jié)配置)

● 開啟看門狗:

如果(通過選擇字節(jié))選擇了軟件看門狗,在系統(tǒng)復(fù)位后看門狗處于關(guān)閉狀態(tài)。設(shè)置WDGCR寄存器中的WDGA位將開啟看門狗,隨后在下次復(fù)位之前將不能關(guān)閉看門狗。

如果(通過選擇字節(jié))選擇了硬件看門狗,看門狗將始終開啟,而WDGA位將不起作用。

● 控制遞減計(jì)數(shù)器:

遞減計(jì)數(shù)器是自由運(yùn)行計(jì)數(shù)器:即使未開啟看門狗,它依然不斷地遞減計(jì)數(shù)。當(dāng)開啟看門狗時,必須設(shè)置T6位以避免立刻產(chǎn)生復(fù)位。

T[5:0]位中包含了看門狗產(chǎn)生復(fù)位前允許的時間延遲;因?yàn)閷懭隬DGCR寄存器時,預(yù)分頻器的狀態(tài)是不可知的,所以這個時間延遲介于一個最小和最大數(shù)值之間。

窗口寄存器(WDGWR)的數(shù)值是指定窗口的高限:為防止復(fù)位,必須在遞減計(jì)數(shù)器的數(shù)值小于窗口寄存器的數(shù)值并大于0x3F時刷新遞減計(jì)數(shù)器。

提示: T6位可以用于產(chǎn)生一個軟件復(fù)位(即設(shè)置WDGA位同時清除T6位

● 在停止時產(chǎn)生看門狗復(fù)位

如果開啟了看門狗,并且選擇了停止時產(chǎn)生看門狗復(fù)位的選項(xiàng),則執(zhí)行HALT指令將產(chǎn)生復(fù)位。

Ⅲ軟件工程源代碼

1、關(guān)于工程

本文提供兩個版本的工程代碼:

STM8S-A08_IWDG獨(dú)立看門狗

STM8S-A08_WWDG窗口看門狗

本文提供的工程代碼是基于前面軟件工程“STM8S-A04_UART基本收發(fā)數(shù)據(jù)”增加WDG看門狗修改而來。初學(xué)的朋友可以參看我前面對應(yīng)的基礎(chǔ)文章,那些文章講的比較詳細(xì)。

2.IWDG獨(dú)立看門狗代碼分析

A.IWDG_Initializes初始化

voidIWDG_Initializes(void)

{

IWDG_Enable();

IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable);

IWDG_SetPrescaler(IWDG_Prescaler_256);

IWDG_SetReload(250);

IWDG_ReloadCounter();

}

預(yù)分頻值為IWDG_Prescaler_256,參數(shù)為枚舉類型:

typedef enum

{

IWDG_Prescaler_4 = (uint8_t)0x00,

IWDG_Prescaler_8 = (uint8_t)0x01,

IWDG_Prescaler_16 = (uint8_t)0x02,

IWDG_Prescaler_32 = (uint8_t)0x03,

IWDG_Prescaler_64 = (uint8_t)0x04,

IWDG_Prescaler_128 = (uint8_t)0x05,

IWDG_Prescaler_256 = (uint8_t)0x06

} IWDG_Prescaler_TypeDef;

重裝計(jì)數(shù)值為8位寄存器,最大255,我們設(shè)置為250.

我在初始化看門狗時,將復(fù)位超時值設(shè)置為1000ms,具體計(jì)算為如下:

128K/2 = 64K (輸入時鐘)

64K / 256 = 250(分頻后時鐘)

250 / 250 = 1 (重載值為250)

B.功能測試代碼

voidmain(void)

{

System_Initializes();

UART1_Printf((uint8_t*)"Start...");

while(1)

{

LED_REVERSE;

TIMDelay_Nms(990);

IWDG_ReloadCounter();

}

}

第一:如果復(fù)位,會打印“Start...";

第二:我們配置復(fù)位超時值為1000ms,理論小于1000ms內(nèi)喂狗都不會復(fù)位,由于LSI有偏差,我們設(shè)定在990ms喂狗一次。

第三:修改延時值為1010,則會發(fā)現(xiàn)系統(tǒng)復(fù)位(打印“Start...")。

3.WWDG窗口看門狗代碼分析

A.WWDG_Initializes初始化

#define WWDG_WINDOW_VALUE 0x7F //窗口值

#define WWDG_COUNTER_INIT 0x7F //計(jì)數(shù)值

voidWWDG_Initializes(void)

{

WWDG_Init(WWDG_COUNTER_INIT, WWDG_WINDOW_VALUE);

}

為了方便測試,我們這里將窗口值和計(jì)數(shù)值定義為宏,范圍:0x40 - 0x7F.

B.功能測試代碼

voidmain(void)

{

System_Initializes();

UART1_Printf((uint8_t*)"Start...");

WWDG_Initializes();

while(1)

{

LED_REVERSE;

TIMDelay_Nms(49);

WWDG_SetCounter(WWDG_COUNTER_INIT);

}

}

第一:同理,如果復(fù)位,會打印“Start...";

第二:我們配置復(fù)位超時值為49.152ms,如果這個延時大于49(設(shè)定為50及以上),就會復(fù)位(打印“Start...")。

第三:如果我們修改延時值(假如為TIMDelay_Nms(10);),修改窗口值為#define WWDG_WINDOW_VALUE 0x4F。則不在喂狗窗口范圍內(nèi),會發(fā)現(xiàn)系統(tǒng)復(fù)位(打印“Start...")。

提醒大家:多測試驗(yàn)證才能更容易理解和記住功能的要點(diǎn)。

Ⅳ下載

STM8S資料:

http://pan.baidu.com/s/1o7Tb9Yq

軟件源代碼工程兩版本(STM8S-A08_xWDGxx看門狗):

http://pan.baidu.com/s/1c2EcRo0

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

    關(guān)注

    10

    文章

    611

    瀏覽量

    73190
  • STM8S
    +關(guān)注

    關(guān)注

    16

    文章

    149

    瀏覽量

    32736
  • IWDG
    +關(guān)注

    關(guān)注

    0

    文章

    23

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    SGM858xQ汽車窗口看門狗定時器:設(shè)計(jì)與應(yīng)用深度解析

    SGM858xQ汽車窗口看門狗定時器:設(shè)計(jì)與應(yīng)用深度解析 在汽車電子系統(tǒng)中,可靠的監(jiān)控和復(fù)位機(jī)制對于確保微控制器(MCU)的穩(wěn)定運(yùn)行至關(guān)重要。SG Micro Corp推出的SGM858xQ汽車窗口
    的頭像 發(fā)表于 03-24 10:55 ?196次閱讀

    SGM819SxQ 汽車應(yīng)用看門狗定時器電路解析

    SGM819SxQ 這款獨(dú)立看門狗定時器電路。 文件下載: SGM819SxQ.pdf 一、概述 SGM819SxQ 是一款獨(dú)立看門狗定時器電路,它就像系統(tǒng)的“守護(hù)者”,能有效防范
    的頭像 發(fā)表于 03-24 10:10 ?192次閱讀

    SGM819S看門狗定時器電路:設(shè)計(jì)與應(yīng)用詳解

    有效的解決方案。下面我們就來詳細(xì)了解一下這款產(chǎn)品。 文件下載: SGM819S.PDF 產(chǎn)品概述 SGM819S是一款獨(dú)立看門狗定時器電路,可防范因硬件(如外設(shè)錯誤、總線占用)或軟件
    的頭像 發(fā)表于 03-24 09:40 ?155次閱讀

    【瑞薩RA × Zephyr評測】多線程和看門狗

    本文章旨在評估使用 Zephyr RTOS 在 Renesas FPB-RA6E2 開發(fā)板上實(shí)現(xiàn)多線程調(diào)度與硬件看門狗功能的應(yīng)用。評估內(nèi)容包括任務(wù)調(diào)度、看門狗初始化流程、主程序邏輯的詳細(xì)解析,以及實(shí)驗(yàn)現(xiàn)象與數(shù)據(jù)分析。
    的頭像 發(fā)表于 01-10 10:23 ?2651次閱讀
    【瑞薩RA × Zephyr評測】多線程和<b class='flag-5'>看門狗</b>

    怎樣開始去啟用獨(dú)立看門狗呢?

    看門狗的原理是什么呢? 怎樣開始去啟用獨(dú)立看門狗呢?
    發(fā)表于 01-08 06:33

    什么是ADC模擬看門狗

    模擬看門狗功能,支持將 ADC 轉(zhuǎn)換結(jié)果與用戶設(shè)定的閾值進(jìn)行比較,支持上閾值、下閾值、區(qū)間值比較,通過閾值寄存器 ADC_VTH 和 ADC_VTL 設(shè)置比較閾值。 模擬看門狗功能只在單通道模式
    發(fā)表于 12-12 06:15

    IWDT窗口看門狗的配置

    :配置 IWDT_ARR,配置看門狗的重載值; 步驟 6:配置 IWDT_WINR,配置窗口大小,注意 IWDT_WINR 必須小于 IWDT_ARR 重載值; 步驟 7:等待 IWDT_SR.ARRF
    發(fā)表于 12-10 06:10

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

    中科芯CKS32F107xx系列產(chǎn)品內(nèi)部提供兩個看門狗定時器單元,獨(dú)立看門狗IWDG(Independent Watchdog)和窗口看門狗
    的頭像 發(fā)表于 11-28 14:51 ?4004次閱讀
    中科芯CKS32F107XX系列MCU的<b class='flag-5'>獨(dú)立</b><b class='flag-5'>看門狗</b>介紹

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

    中科芯CKS32F107xx系列產(chǎn)品內(nèi)部提供兩個看門狗定時器單元,獨(dú)立看門狗IWDG(Independent Watchdog)和窗口看門狗
    的頭像 發(fā)表于 11-28 14:48 ?4311次閱讀
    中科芯CKS32F107XX系列MCU的<b class='flag-5'>窗口</b><b class='flag-5'>看門狗</b>介紹

    “喂狗”的藝術(shù):看門狗不叫,才是系統(tǒng)好

    看門狗選哪只好呢? 中間那只看起來不錯。 咳咳搞錯了,自動化項(xiàng)目中說的看門狗是PLC的看門狗,那這個有什么用呢?難道真的是看大門的?
    的頭像 發(fā)表于 11-25 10:50 ?418次閱讀
    “喂狗”的藝術(shù):<b class='flag-5'>看門狗</b>不叫,才是系統(tǒng)好

    既然有獨(dú)立看門狗了,為啥還要窗口看門狗(WWDT),窗口看門狗的特色是什么?

    既然有獨(dú)立看門狗了,為啥還要窗口看門狗(WWDT),窗口看門狗的特色是什么?
    發(fā)表于 11-21 06:42

    看門狗定時器、復(fù)位源、異常處理機(jī)制科普

    的作用、原理與應(yīng)用。一、看門狗定時器(WatchdogTimer)1.原理看門狗定時器本質(zhì)上是一個獨(dú)立定時器,持續(xù)倒計(jì)時:軟件在規(guī)定時間內(nèi)“喂狗”(重置看門狗計(jì)數(shù)器
    的頭像 發(fā)表于 11-17 10:53 ?1666次閱讀
    <b class='flag-5'>看門狗</b>定時器、復(fù)位源、異常處理機(jī)制科普

    小安派BW21-CBV-Kit入門教程之看門狗簡介

    這是一個簡單的看門狗定時器(WDT)示例,演示了看門狗 API 的用法。 有關(guān)看門狗的定義和工作原理,請參閱以下信息。
    的頭像 發(fā)表于 11-13 17:22 ?5208次閱讀
    小安派BW21-CBV-Kit入門教程之<b class='flag-5'>看門狗</b>簡介

    德州儀器TPS3436-Q1汽車級窗口看門狗定時器技術(shù)解析

    Texas Instruments TPS3436-Q1精密窗口看門狗定時器是一款超低功耗(250nA典型值)器件,提供可編程窗口看門狗定時器。TPS3436-Q1可提供具有多種功能的
    的頭像 發(fā)表于 08-18 14:54 ?1937次閱讀
    德州儀器TPS3436-Q1汽車級<b class='flag-5'>窗口</b><b class='flag-5'>看門狗</b>定時器技術(shù)解析

    第二十四章 WWDG——窗口看門狗

    W55MH32的窗口看門狗是7位遞減計(jì)數(shù)器,有上下窗口值,時鐘來自PCLK1用于監(jiān)測軟件故障,代碼演示了其配置、中斷測試與復(fù)位測試。
    的頭像 發(fā)表于 06-20 14:00 ?1387次閱讀
    第二十四章 WWDG——<b class='flag-5'>窗口</b><b class='flag-5'>看門狗</b>