ウィンドウウォッチドッグ (WWDG)
- 7bit減算カウンタ
- カウンタが一定の範囲内の時にドッグフィードしなければリセット
- リセット直前に割り込みを発生させる早期通知機能 (EWI)
- クロックソースは HCLK
ドッグフィード可能な範囲
ウィンドウウォッチドッグは、カウンタ値が定められた範囲(ウィンドウ)にある時にドッグフィード(カウンタのリフレッシュ)を行わなければならない。早すぎても遅すぎてもウォッチドッグリセットが発生する。
- 上限時間:W[6:0] で設定した値
- 下限時間:カウンタ値 T[6:0]が 0x3f
W[6:0] > カウンタ値 T[6:0] > 0x3f (減算カウンタ)
の範囲(ウィンドウ)でドッグフィードを行わなければならない。
- ドッグフィードが行われず、カウンタ値が 0x40から 0x3fに変化した時点でウォッチドッグリセットが発生する。
- ウィンドウ範囲外の早すぎるドッグフィードでウォッチドッグリセットが発生する。
レジスタ
CH32V00x.hでは、WWDGレジスタ群は構造体として定義されていて、各レジスタには以下のような C言語の識別子が割り当てられている。
WWDG->CTLR
WWDG->CFGR
WWDG->STATR
CTLR コントロールレジスタ 初期値 0x007f
[15: 8] RO Reserved
[ 7] WDGA RW1 ウィンドウウォッチドッグリセット有効化ビット
[ 6: 0] T[6:0] RW 減算カウンタ 0x40から 0x3fに変化した時点でリセット
一度ウィンドウウォッチドッグリセットを有効化すると、ソフトウェアで無効化することはできない。
CFGR コンフィギュレーションレジスタ 初期値 0x007f
[15:10] RO Reserved
[ 9] EWI RW1 EWI有効化ビット
[ 8: 7] WDGTB RW WWDGクロック分周比
00:HCLK/4096 10:HCLK/4096/4
01:HCLK/4096/2 11:HCLK/4096/8
[ 6: 0] W[6:0] RW ウィンドウ値
STATR ステータスレジスタ 初期値 0x0000
[15: 1] RO Reserved
[ 0] EWIF RW0 EWI割り込みフラグ
この文章のライセンス
2026-02-19作成 2026-02-19更新 佐藤恭一 kyoutan.jpn.org