STM32F7 WWDG(ウィンドウウォッチドッグ)
- 2020.11.29
- STM32F7
最近ずっとSTM32マイコンのペリフェラルの記事を書いているが、今回で終わりだ。最後はWWDG(独立ウォッチドッグ)について。機能が少なくとても単純なのでリファレンスマニュアル(RM0410 Rev4)を見ればすぐに使えるだろう。ここでは特徴や注意点を書こうと思う。
概要
WWDGはダウンカウンタとして動作する。APB1のペリフェラルクロックで動作するため精度は良いが、バスのクロックが停止すると一緒に止まってしまう。
リセット要因
以下のいずれかが発生するとマイコンがリセットされる。
・カウンタの値が0x40未満になる
・カウンタの値がウィンドウ期間中以外にリロード(特定の値に戻す)される
ウィンドウ期間とはカウンタの値がWWDG_CFRレジスタのWビットで設定される値以下、かつ0x40以上の期間のことをいう。
動作
カウンタの値が0x40になった時点で割込み(EWI割込み)を発生させることが可能。
WWDGのダウンカウンタは常に動作しており、例えWWDGが無効化されていてもカウントされている。WWDGを一旦有効にすると無効にする方法は無い。
WDG_CRレジスタのTビットに書き込む際、書き込み直後にリセットしてしまうのを防ぐために常に0x40以上の値を書き込むこと。
DBGMCU_APB1_FZレジスタのDBG_WWDG_STOPビットがクリアされている場合はCPUコアがHalt状態でもWWDGのカウントは止まらない。
DBGMCU_APB1_FZレジスタのDBG_WWDG_STOPビットがセットされている場合はCPUコアがHalt状態になるとWWDGのカウントは止まる。
-
前の記事
STM32F7 IWDG(独立ウォッチドッグ) 2020.10.28
-
次の記事
Qtでプログラミング 2020.12.27