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

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

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

3天內不再提示

AT32講堂019 | 如何使用AT32 MCU WDT和WWDT

雅特力 AT32 MCU ? 2022-08-05 10:30 ? 次閱讀

看門狗簡介

看門狗通常用來提高系統的穩定性。當因為一些特殊的情況導致程序跑飛,或者運行邏輯錯誤,而沒 有及時喂狗時,看門狗會將MCU重新復位,以達到自動從異常中恢復的效果。建議用戶在所有應用中都使用看門狗,以提高系統穩定性。

AT32單片機有兩個看門狗:看門狗(WDT)和窗口看門狗(WWDT):

  • 看門狗(WDT):一個12位的遞減計數器,當計數器從某個值遞減到0的時候,系統會產生復位,如果在計數器遞減到0之前刷新了遞減計數器,那么就不會產生復位。
  • 窗口看門狗(WWDT):一個7位的遞減計數器,當計數器從某個值遞減到0x3F的時候,系統會產生復位,如果在規定時間刷新了計數器(窗口時間內),那么就不會產生復位。

各個型號差異

各型號的窗口看門狗(WWDT)相同,程序兼容。

各型號的看門狗(WDT)基本功能相同,只是各個型號之間,可能去掉了更高級的窗口功能或者低功耗下可選的停止運行功能,其余功能相同并且程序兼容。

表1. 各型號看門狗(WDT)差異314bc356-1439-11ed-9ade-dac502259ad0.png√:表示支持該功能,且功能相同。×:表示不支持該功能。

使用場景對比

看門狗(WDT)和窗口看門狗(WWDT)作為兩種不同類型的看狗,有著不用的適用環境。圖1. WDT與WWDT使用場景對比317cdebe-1439-11ed-9ade-dac502259ad0.png

特點對比

圖2. WDT與WWDT特點對比31b5b1e4-1439-11ed-9ade-dac502259ad0.png

看門狗WDT

寄存器訪問

狀態寄存器看門狗功能位于兩個不同的區域,寄存器部分位于1.2V電壓域,計數邏輯部分位于VDD電壓域,所以看門狗能夠在SLEEP、DEEPSLEEP、STANDBY模式下運行。

對看門狗寄存器的寫操作位于1.2V電壓域,所以當寫了寄存器之后,還需要將寄存器值同步到VDD電壓域。每一個寄存器都有一個同步標志指示同步操作是否完成。每一次同步時間最多需要4個LICK時鐘,大約125us。當寫了寄存器之后對應的同步標志自動置1,當同步完成了之后標志自動清0,在同步標志清零之前,不允許再寫此寄存器。

圖3. 看門狗框圖31cf158a-1439-11ed-9ade-dac502259ad0.png

RLDF:當該位為1時,表示重裝載值的同步正在進行中;當為0時,表示該過程執行完成。

DIVF:當該位為1時,表示預分頻器值的同步正在進行中;當為0時,表示該過程執行完成。WINF:當該位為1時,表示窗口值的同步正在進行中;當為0時,表示該過程執行完成。

標志獲取函數:

31f5bf00-1439-11ed-9ade-dac502259ad0.png

寄存器寫保護

看門狗寄存器受到寫保護,在寫寄存器前需要先解鎖寫保護,寫命令寄存器CMD=0x5555解鎖寫保護。當寫一個其他值,將重新開啟讀保護。受讀保護的寄存器如下表所示:表2. 看門狗寄存器321a22a0-1439-11ed-9ade-dac502259ad0.png

寄存器解鎖寫保護函數:

322ed4a2-1439-11ed-9ade-dac502259ad0.png

時鐘結構

圖4. 看門狗時鐘324f3044-1439-11ed-9ade-dac502259ad0.png

看門狗計數器由LICK時鐘驅動,經過8位的預分頻器得到遞減計數器時鐘。LICK是內部RC時鐘,其典型值為40kHz,范圍為30kHz~60kHz之間(詳情請見對應型號的數據手冊)。所以超時時間也是在一定區間內,使用時應注意在超時時間配置上應該留有余量,如果需要獲得較為精確的看門狗超時時間,可以先通過定時器測量出LICK頻率,然后再根據實際的LICK頻率計算超時時間。

通過寄存器DIV[2:0]配置配置不同的預分頻值,可配置預分頻值為4、8、16、32、64、128、256。

3267200a-1439-11ed-9ade-dac502259ad0.png

分頻設置函數:

3273c4a4-1439-11ed-9ade-dac502259ad0.png

計數器

看門狗的計數器是一個12位的遞減計數器,最大值為0xFFF。當開啟看門狗后,計數值將從設定的值開始遞減,當遞減到0時,產生系統復位。圖5. 看門狗重載328785ca-1439-11ed-9ade-dac502259ad0.png

計數值通過重載寄存器RLD設置,在分頻值確定的情況下,該值的大小決定了看門狗復位的時間長 短,每當往命令寄存器WDT_CMD寫入0xAAAA時,該寄存器的值便會更新到遞減計數器中(此操作通常稱為喂狗),喂狗的操作需要在計數器遞減到0之前進行,不然會發生復位。

看門狗復位時間計算如下:

329f1974-1439-11ed-9ade-dac502259ad0.png

表3. 看門狗復位時間(LICK=40kHz)

32ba5766-1439-11ed-9ade-dac502259ad0.png

重載值設置函數:

32df13e4-1439-11ed-9ade-dac502259ad0.png

重載看門狗計數器(喂狗)函數:

32ee28fc-1439-11ed-9ade-dac502259ad0.png

窗口功能

當WIN[11:0]設置為非默認值(0xFFF)將開啟窗口功能。當在計數值大于窗口值時重載計數器值將會產生系統復位,例如將WIN值設置成800時允許重載的窗口時間如下圖所示。圖6. 窗口功能32fd6a42-1439-11ed-9ade-dac502259ad0.png

窗口設置函數:

3328da9c-1439-11ed-9ade-dac502259ad0.png

低功耗停止計數

看門狗能夠在SLEEP、DEEPSLEEP、STANDBY模式下運行,用戶可選擇進入DEEPSLEEP、STANDBY模式后計數器是否停止計數,可由用戶系統數據區中的nWDT_DEPSLP、nWDT_STDBY位配置。

如果設置了停止計數,當進入了DEEPSLEEP、STANDBY模式后,看門狗計數器停止遞減,意味著看門狗在這兩種低功耗模式下不會發生復位,當從這兩種模式喚醒后,計數器從進入時的值繼續遞減。

圖7. 低功耗停止計數功能

3345690a-1439-11ed-9ade-dac502259ad0.png

用戶系統數據擦除函數:

336576c8-1439-11ed-9ade-dac502259ad0.png

用戶系統數據配置函數:

3385c1ee-1439-11ed-9ade-dac502259ad0.png

低功耗停止功能使用示例:

3398c41a-1439-11ed-9ade-dac502259ad0.png

啟動看門狗

看門狗啟動方式分為硬件啟動和軟件啟動,當看門狗啟動了之后不能被關閉,除非發生復位。

軟件啟動方式

向命令寄存器寫入0xCCCC,啟用看門狗。

看門狗軟件使能函數:

33b817b6-1439-11ed-9ade-dac502259ad0.png

硬件啟動方式

硬件啟動則需通過配置用戶系統數據區的nWDT_ATO_EN位來實現,使能硬件看門狗后,看門狗將在上電復位后自動開始運行。

硬件啟動看門狗使用示例:

33de80c2-1439-11ed-9ade-dac502259ad0.png

使用方法

看門狗一般用于檢測程序跑飛或者死循環,比如一個正常的程序運行完的時間是10ms,可以設置看門狗超時的時間為20ms,當程序運行完便立即進行喂狗操作,這樣便不會產生復位,超過20ms還未喂狗時,說明產生了故障,此時會復位MCU。

例如:要設置WDT超時時間為20ms,那么可以設置預分頻值為4,計數值為200

33fc0926-1439-11ed-9ade-dac502259ad0.png

配置步驟:1. 禁止寄存器寫保護3418b5e4-1439-11ed-9ade-dac502259ad0.png

2. 設置預分頻值為4

3427531a-1439-11ed-9ade-dac502259ad0.png

3. 設置重載值為200

34390f9c-1439-11ed-9ade-dac502259ad0.png

4. 啟用看門狗

344945ec-1439-11ed-9ade-dac502259ad0.png

5. 在應用程序中重載計數器

345ec7aa-1439-11ed-9ade-dac502259ad0.png

窗口看門狗WWDT

窗口看門狗(WWDT)主要作用是用來檢測軟件邏輯是否按照預期執行,其喂狗時間是一個有上下范圍內,可以通過相關的寄存器,設定其上限時間和下限時間,喂狗的時間不能過早也不能過晚(當遞減計數器的值小于0x40,或者當遞減計數器在窗口外被刷新時產生復位)。

時鐘結構

圖8. 窗口看門狗時鐘346e7538-1439-11ed-9ade-dac502259ad0.png

窗口看門狗時鐘由APB1時鐘分頻而來,由于APB1_CLK的精確性,因此窗口看門狗時間精度很高。APB1時鐘先經過4096分頻后,再送到預分頻器,最后提供給7位遞減計數器CNT[6:0]。可以配置不同的預分頻值來獲得不同的時鐘,通過DIV[1:0]可配置預分頻值取值范圍為1、2、4、8。

348c1cdc-1439-11ed-9ade-dac502259ad0.png

分頻設置函數:

34b21bda-1439-11ed-9ade-dac502259ad0.png

計數器

窗口看門狗的計數器是一個7位的遞減計數器,最大值為0x7F,當開啟看門狗后,計數值將從設定的值開始遞減,當遞減到0x3F時,產生系統復位。

34c52c16-1439-11ed-9ade-dac502259ad0.png

表4. 窗口看門狗復位時間(PCLK=72MHz)

34df690a-1439-11ed-9ade-dac502259ad0.png

計數值設置函數:

35077364-1439-11ed-9ade-dac502259ad0.png

窗口功能

窗口的值(WIN[6:0])可以自由設定,最大值為(0x7F),最小值必須大于下窗口的0x40,所以取值范圍為64~127(即:0x40~0x7F);只有當遞減計數器的值小于等于窗口值時,才允許刷新遞減計數器,否則將會產生復位。

為了便于喂狗,應用程序也可以利用重載計數器中斷(RLDIEN)進行喂狗。當遞減計數器到達0x40時,則產生中斷,在相應的中斷服務程序中重新設置計數器。

圖9. 窗口功能351ffcd6-1439-11ed-9ade-dac502259ad0.png

如上圖所示當配置窗口值為0x4F時,不允許刷新的窗口為0x7F~0x50,允許刷新的窗口為0x4F~0x40。

重載標志清除函數:

3541d63a-1439-11ed-9ade-dac502259ad0.png

重載標志獲取函數:

355fdeaa-1439-11ed-9ade-dac502259ad0.png

重載中斷使能函數:

35819040-1439-11ed-9ade-dac502259ad0.png

窗口設置函數:

359af53a-1439-11ed-9ade-dac502259ad0.png

看門狗使能

設置WWDTEN=1使能窗口看門狗,當窗口看門狗被打開后不能被關閉,直到復位。為了避免使能看門狗后立即發生復位,在使能看門狗時,應該同時配置看門狗計數值。窗口看門狗使能函數:35bf3008-1439-11ed-9ade-dac502259ad0.png

使用方法

窗口看門狗一般用于檢測邏輯運行是否正常,比如一個正常的程序執行完的時間是10ms,當程序在10ms以前執行完說明出現了邏輯錯誤,可以設置看門狗窗口值為9ms,當程序在9ms以前進行喂狗時,說明程序產生了故障,此時會產生一個復位。

例如:當PCLK1=36MHz時,要設置WWDT超時時間為9ms,那么可以設置預分頻值為4,總的分頻為 4x4096=16384。計數值為127,窗口值為108,此時從計數值減到窗口值時間約為9.1ms。

35d827fc-1439-11ed-9ade-dac502259ad0.png

35fda23e-1439-11ed-9ade-dac502259ad0.png

所以允許喂狗時間為9.1~29.1ms,不允許喂狗時間為0~9.1ms。

配置步驟:

1. 開啟窗口看門狗APB1時鐘3611d024-1439-11ed-9ade-dac502259ad0.png

2. 設置預分頻值為4,總的分頻為4096x4=16384

36226b28-1439-11ed-9ade-dac502259ad0.png

3. 設置窗口值為108

36469110-1439-11ed-9ade-dac502259ad0.png

4. 啟用看門狗

3656c3fa-1439-11ed-9ade-dac502259ad0.png

5. 在應用程序中重載計數器

366fe880-1439-11ed-9ade-dac502259ad0.png

備注:需要在0x3F<遞減計數器<=窗口值執行

案例 看門狗WDT使用

功能簡介

演示看門狗(WDT)功能使用。

資源準備

1) 硬件環境:對應產品型號的AT-START BOARD

2) 軟件環境

project\at_start_f4xx\examples\wdt\wdt_reset

注:所有project都是基于keil 5而建立,若用戶需要在其他編譯環境上使用,請參考AT32xxx_Firmware_Library_V2.x.x\project\at_start_xxx\templates中各種編譯環境(例如IAR6/7,keil 4/5)進行簡單修改即可。

軟件設計

1) 配置流程

  • 初始化看門狗
  • 在主程序中喂狗

2) 代碼介紹

  • main函數代碼描述

367ed7be-1439-11ed-9ade-dac502259ad0.png

實驗效果

  • 正常運行時看門狗不會復位,當按下按鍵后,停止喂狗,導致MCU復位。
  • 復位后,如果檢查到是看門狗復位則LED4點亮,否則LED4不亮。

案例 窗口看門狗WWDT使用

功能簡介

演示窗口看門狗(WWDT)功能使用。

資源準備

1) 硬件環境:對應產品型號的AT-START BOARD

2) 軟件環境

project\at_start_f4xx\examples\wwdt\wwdt_reset

注:所有project都是基于keil 5而建立,若用戶需要在其他編譯環境上使用,請參考AT32xxx_Firmware_Library_V2.x.x\project\at_start_xxx\templates中各種編譯環境(例如IAR6/7,keil 4/5)進行簡單修改即可。

軟件設計

1) 配置流程

  • 初始化窗口看門狗
  • 在主程序中喂狗

2) 代碼介紹

  • main函數代碼描述

36b4dee0-1439-11ed-9ade-dac502259ad0.png

實驗效果

  • 正常運行時窗口看門狗不會復位,當按下按鍵后,停止喂狗,導致MCU復位。
  • 復位后,如果檢查到是窗口看門狗復位則LED4點亮,否則LED4不亮。

關于雅特力雅特力科技于2016年成立,是一家致力于推動全球市場32位微控制器(MCU)創新趨勢的芯片設計公司,專注于ARM Cortex-M4/M0+的32位微控制器研發與創新,全系列采用55nm先進工藝及ARM Cortex-M4高效能或M0+低功耗內核,締造M4業界最高主頻288MHz運算效能,并支持工業級別芯片工作溫度范圍(-40°~105°)。雅特力目前已累積相當多元的終端產品成功案例:如微型打印機、掃地機、光流無人機、熱成像儀、激光雷達、工業縫紉機、伺服驅控、電競周邊市場、斷路器、ADAS、T-BOX、數字電源、電動工具等終端設備應用,廣泛地覆蓋5G物聯網、消費、商務及工控等領域。

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

    關注

    146

    文章

    17135

    瀏覽量

    351031
收藏 人收藏

    評論

    相關推薦

    STM32轉AT32代碼轉換

    1.引言在嵌入式開發中,我們經常會遇到更換單片機芯片的事情,若芯片是同一廠家的還好說,若是不同廠家的則需要重新寫,重新調,重新去學習其底層驅動程序,比較費時費力。如:ST32轉AT32、ST32轉
    的頭像 發表于 09-28 08:09 ?321次閱讀
    STM32轉<b class='flag-5'>AT32</b>代碼轉換

    AT32講堂088 | 雅特力AT32F402/F405時鐘配置

    簡介時鐘是芯片正確高效運行的基礎,正確的時鐘配置是芯片能正確運行的必要條件,其重要性不言而喻。AT32各系列產品的時鐘配置部分可能存在細微的差異和需要注意的事項,本文檔就著重針對各系列的情況來詳細
    的頭像 發表于 09-15 08:08 ?487次閱讀
    <b class='flag-5'>AT32</b><b class='flag-5'>講堂</b>088 | 雅特力AT32F402/F405時鐘配置

    AT32講堂087 | 雅特力AT32 IDE快速入門指南

    新建項目新項目向導AT32ID提供支持雅特力MCU的C語言項目模板,方便用戶快速創建項目。菜單欄【File】>【New】>【CProject】。新建項目向導的對話框將出現。在對
    的頭像 發表于 09-15 08:08 ?436次閱讀
    <b class='flag-5'>AT32</b><b class='flag-5'>講堂</b>087 | 雅特力<b class='flag-5'>AT32</b> IDE快速入門指南

    基于雅特力AT32 MCU的洗衣機電機控制驅動方案,解鎖智能家居新體驗

    配置、超薄嵌入、極致靜音體驗以及衣物護理功能作為產品競爭力的核心要素,同步響應行業政策對能效要求的提升,這一系列要求無疑對電機控制技術提出了更高的挑戰。MCU作為
    的頭像 發表于 09-15 08:07 ?557次閱讀
    基于雅特力<b class='flag-5'>AT32</b> <b class='flag-5'>MCU</b>的洗衣機電機控制驅動方案,解鎖智能家居新體驗

    雅特力AT32 MCU的隨機數生成

    概述產品和生態系統安全性的需求比以往任何時候都更加重要。真隨機數是所有安全系統的核心,其質量會影響設計的安全性。因此在沒有內置硬件TRNG的AT32的微控制器系列中,如何提高隨機數的有效,來符合
    的頭像 發表于 08-30 12:26 ?544次閱讀
    雅特力<b class='flag-5'>AT32</b> <b class='flag-5'>MCU</b>的隨機數生成

    AT32講堂085 | 雅特力AT32 MCU HICK時鐘校準

    簡介AT32系列MCU內部都有提供適合運行的內部高速時鐘(HICK),其本質就是內置于芯片的RC振蕩器。在25℃下,其典型值頻率8MHz的精度由工廠校準到±1%,在-40到105℃,該內部高速時鐘
    的頭像 發表于 08-30 12:26 ?613次閱讀
    <b class='flag-5'>AT32</b><b class='flag-5'>講堂</b>085 | 雅特力<b class='flag-5'>AT32</b> <b class='flag-5'>MCU</b> HICK時鐘校準

    TPD7S019用于VGA端口的7通道集成ESD解決方案

    電子發燒友網站提供《TPD7S019用于VGA端口的7通道集成ESD解決方案.pdf》資料免費下載
    發表于 07-10 10:39 ?0次下載
    TPD7S<b class='flag-5'>019</b>用于VGA端口的7通道集成ESD解決方案

    雅特力攜多款AT32 MCU新品與應用方案亮相2024慕尼黑上海電子展

    AT32MCU與應用方案齊亮相,呈現了多款電機控制、工業控制、汽車電子、智能家居、消費、商務,及新能源等應用方案。現場人流攢動、氛圍熱烈!多元產品布局助力產業升級
    的頭像 發表于 07-09 08:15 ?652次閱讀
    雅特力攜多款<b class='flag-5'>AT32</b> <b class='flag-5'>MCU</b>新品與應用方案亮相2024慕尼黑上海電子展

    雅特力AT32 MCU通過IEC 60730功能安全認證,為家電產品提供安全保障

    ??近日,雅特力AT32MCU安全庫順利通過IEC60730功能安全認證,為家電產品提供安全質量保證。國際公認的測試、檢驗和認證機構SGS為雅特力科技頒發了IEC60730認證證書,彰顯了雅特力
    的頭像 發表于 05-20 08:15 ?559次閱讀
    雅特力<b class='flag-5'>AT32</b> <b class='flag-5'>MCU</b>通過IEC 60730功能安全認證,為家電產品提供安全保障

    STM32H7的工程出現找不到rtconfig.h的錯誤如何解決?

    舊工程是能正常編譯和運行的。在拉取最新代碼后,編譯出錯,提示有些宏定義缺失。進入menuconfig配置后,AT32的工程是能正常編譯的,STM32H7的工程出現找不到rtconfig.h的錯誤
    發表于 03-05 07:12

    雅特力AT32 MCU與SEGGER攜手合作,開發量產事半功倍

    近日,雅特力與SEGGER共同宣布J-Link仿真調試器與Flasher在線燒錄器全面支持AT32 MCU產品,SEGGER工具鏈的加持使AT32 MCU開發如虎添翼。 雅特力自201
    的頭像 發表于 02-23 10:27 ?410次閱讀

    雅特力AT32 MCU與SEGGER攜手合作,開發量產事半功倍

    近日,雅特力與SEGGER共同宣布J-Link仿真調試器與Flasher在線燒錄器全面支持AT32MCU產品,SEGGER工具鏈的加持使AT32MCU開發如虎添翼。雅特力自2018年對外銷售以來
    的頭像 發表于 02-22 08:13 ?479次閱讀
    雅特力<b class='flag-5'>AT32</b> <b class='flag-5'>MCU</b>與SEGGER攜手合作,開發量產事半功倍

    Pic18F26K40 WDT是什么意思?

    ,CLRWDT 指令必須在 WDT 周期的允許窗口內執行。在此窗口之外發生的任何 CLRWDT 指令都將觸發窗口沖突,并導致 WWDT 重置,類似于 WWDT 超時。 這是什么意思?根據定義,
    發表于 01-22 06:09

    AT32 定時器配置中pr和div的作用

    AT32定時器是51系列單片機中的一種定時器,可以實現多種定時功能。在AT32定時器中,pr和div是兩個相關的參數,用于配置定時器的工作參數。 首先,需要了解pr和div分別代表什么含義。pr
    的頭像 發表于 01-08 10:12 ?1301次閱讀

    雅特力AT32 MCU HOGP開發指南

    HOGP概述HOGP(HIDoverGATT)是由BluetoothSIG維護的藍牙配置文件規范,通過低功耗藍牙實現HID的配置文件并作為與計算器之間的接口,消除HID中對電線或物理連接的需求。HID角色在HID中,以及在HOGP的延伸中,定義了兩個角色,這些角色是HID主機和HID設備。HID設備一次只能主動連接到單個HID主機;然而一個HID主機可以連接
    的頭像 發表于 12-30 08:14 ?647次閱讀
    雅特力<b class='flag-5'>AT32</b> <b class='flag-5'>MCU</b> HOGP開發指南
    主站蜘蛛池模板: 色偷偷7777www| 亚洲视频在线免费看| 4hu四虎免费影院www| 国产欧美一区二区精品性色tv| 男人插女人逼逼| 亚洲视频无码中字在线| 国产3级在线观看| 男人到天堂a在538线| 一个色夫导航| 国产乱人伦AV麻豆网| 日本枯瘦娇小| 99re久久精品在线播放| 久草在线福利视频在线播放| 四虎国产精品免费观看视频| 最近中文字幕在线中文高清版| 国内一级一级毛片a免费| 视频一区亚洲视频无码| jk制服喷水| 麻豆精品2021最新| 一个人免费完整观看日本| 国产亚洲欧美在线观看三区| 天天干夜夜叭| 第一次处破女高清电影| 欧美嫩freexxxhddvd| 97人妻精品全国免费视频| 久久久久亚洲精品影视| 亚洲视频免费在线观看| 国产在线一区观看| 亚洲qvod图片区电影| 国产精品美女久久久网站动漫| 漂亮妈妈中文字幕版| 99精品视频免费观看| 美国CERANETWORK超清| 伊人影院香蕉久在线26| 精品久久久久久久国产潘金莲| 亚洲精品第一综合99久久| 国产三级视频在线| 亚洲AV无码一区二区三区乱子伦| 国产剧情麻豆mv| 性色AV乱码一区二区三区视频| 俄罗斯6一9泑女网站|