MICROCHIP dsPIC33 デュアル ウォッチドッグ タイマー
導入
このセクションでは、dsPIC33/PIC24 デュアル ウォッチドッグ タイマー (WDT) について説明します。 図 1 を参照してください。
WDT のブロック図については、図 1 を参照してください。
WDT を有効にすると、内部低消費電力 RC (LPRC) オシレータ クロック ソースまたは実行モードで選択可能なクロック ソースから動作します。 WDT がソフトウェアで定期的にクリアされない場合、WDT を使用してデバイスをリセットすることにより、システム ソフトウェアの誤動作を検出できます。 WDT は、ウィンドウ モードまたは非ウィンドウ モードで構成できます。 WDT ポスト スケーラーを使用して、さまざまな WDT タイムアウト期間を選択できます。 WDT は、デバイスをスリープまたはアイドル モード (省電力モード) から復帰させるためにも使用できます。
以下は、WDT モジュールの主な機能の一部です。
- 構成またはソフトウェア制御
- 実行モードとスリープ/アイドル モードのユーザー設定可能なタイムアウト時間を個別に設定
- デバイスをスリープまたはアイドル モードから復帰させることができます
- 実行モードでユーザーが選択可能なクロック ソース
- スリープ/アイドル モードで LPRC から動作
ウォッチドッグ タイマーのブロック図
注記
- 特定のクロック切り替えイベントに続く WDT リセットの動作は、デバイスに依存します。 WDT をクリアするクロック切り替えイベントの説明については、特定のデバイス データ シートの「ウォッチドッグ タイマー」セクションを参照してください。
- 利用可能なクロック ソースはデバイスに依存します。
ウォッチドッグ タイマー制御レジスタ
WDT モジュールは、次の特殊機能レジスタ (SFR) で構成されています。
- WDTCONL: ウォッチドッグ タイマー制御レジスタ
このレジスタは、ウォッチドッグ タイマーを有効または無効にし、ウィンドウ操作を有効または無効にするために使用されます。 - WDTCONH: ウォッチドッグ タイマー キー レジスタ
このレジスタは、タイムアウトを防ぐために WDT をクリアするために使用されます。 - RCON: リセット制御レジスタ (2)
このレジスタは、リセットの原因を示します。
地図を登録する
表 2-1 に、関連する WDT モジュール レジスタの概要を示します。 対応するレジスタは概要の後に表示され、その後に各レジスタの詳細な説明が続きます。
表 2-1: ウォッチドッグ タイマーのレジスタ マップ
名前 | ビット範囲 | ビット | |||||||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | ||
WDTCONL | 15:0 | ON(3) | — | — | ランディブ[4:0](2) | CLKSEL[1:0](2) | SLPDIV[4:0](2) | WDTWINEN(3) | |||||||||
WDTCONH | 15:0 | WDTCLRKEY[15:0] | |||||||||||||||
RCON ファイル(4, 5) | 15:0 | トラップ(1) | IOPUWR(1) | — | — | — | — | CM(1) | VREG(1) | エクストラ(1) | スワロフスキー(1) | — | WDTO | 寝る | アイドル(1) | ボル(1) | ポルトガル(1) |
凡例 : — = 未実装、「0」として読み取り
注記
- これらのビットは、WDT モジュールには関連付けられていません。
- これらのビットは読み取り専用で、構成ビットの値を反映します。
- これらのビットは、設定されている場合、構成ビットのステータスを反映します。 ビットがクリアされている場合、値はソフトウェアによって制御されます。
- WDTEN[1:0] コンフィグレーション ビットが「11」 (プログラムされていない) の場合、ON (WDTCONL[15]) ビットの設定に関係なく、WDT は常に有効になります。
- すべてのリセット ステータス ビットは、ソフトウェアでセットまたはクリアできます。 これらのビットの XNUMX つをソフトウェアで設定しても、デバイスはリセットされません。
レジスタ 2-1: WDTCONL: ウォッチドッグ タイマー制御レジスタ
R/W-0 | U-0 | U-0 | ライ | ライ | ライ | ライ | ライ |
ON( 1 ,2 ) | — | — | ランディブ[4:0](3) | ||||
ビット15 | ビット8 |
ライ | ライ | ライ | ライ | ライ | ライ | ライ | R/W/HS-0 |
CLKSEL[1:0](3, 4) | SLPDIV[4:0](3) | WDTWINEN(1) | |||||
ビット7 | ビット0 |
- bit 15 ON: ウォッチドッグ タイマー イネーブル ビット (1,2)
1 = デバイス コンフィギュレーションで有効になっていない場合、ウォッチドッグ タイマーを有効にする
0 = ソフトウェアで有効になっている場合、ウォッチドッグ タイマーを無効にする - bit 14-13 未実装 : 「0」として読み出し
- bit 12-8 RUNDIV[4:0]: WDT 実行モード ポストスケーラ ステータス ビット (3)
- bit 7-6 CLKSEL[1:0]: WDT 実行モード クロック選択ステータス ビット (3,4)
11 = LPRC オシレータ
10 = FRC オシレータ
01=予約済み
00 = SYSCLK - bit 5-1 SLPDIV[4:0]: スリープおよびアイドル モード WDT ポストスケーラ ステータス ビット (3)
- bit 0 WDTWINEN: ウォッチドッグ タイマー ウィンドウ イネーブルビット (1)
1 = ウィンドウ モードを有効にする
0 = ウィンドウ モードを無効にする
注記
- ビットが設定されている場合、これらのビットはコンフィグレーション ビットのステータスを反映します。 ビットがクリアされている場合、値はソフトウェアによって制御されます。
- ユーザーのソフトウェアは、モジュールの ON ビットをクリアする命令の直後の SYSCLK サイクルでペリフェラルの SFR を読み書きしないでください。
- これらのビットは読み取り専用で、構成ビットの値を反映します。
- 利用可能なクロック ソースはデバイスに依存します。 入手可能性については、特定のデバイス データシートの「ウォッチドッグ タイマー」の章を参照してください。
レジスタ 2-2: WDTCONH: ウォッチドッグ タイマー キー レジスタ
W-0 W-0 W-0 W-0 W-0 W-0 W-0 W-0 |
WDTCLRKEY[15:8] |
ビット 15 ビット 8 |
W-0 W-0 W-0 W-0 W-0 W-0 W-0 W-0 |
WDTCLRKEY[7:0] |
ビット 7 ビット 0 |
伝説
R = 読み取り可能ビット W = 書き込み可能ビット U = 未実装ビット、「0」として読み取り
-n = POR 時の値 '1' = ビットをセット '0' = ビットをクリア x = ビットを不明
- bit 15-0 WDTCLRKEY[15:0]: ウォッチドッグ タイマー クリア キー ビット
ウォッチドッグ タイマーをクリアしてタイムアウトを防ぐには、ソフトウェアで 0 ビット書き込みを 5743 回実行して、この位置に値 16xXNUMX を書き込む必要があります。
レジスタ 2-3: RCON: リセット制御レジスタ (2)
R/W-0 | R/W-0 | U-0 | U-0 | R/W-0 | U-0 | R/W-0 | R/W-0 |
トラップ(1) | IOPUWR(1) | — | — | VREGSF(1) | — | CM(1) | VREG(1) |
ビット15 | ビット8 |
R/W-0 | R/W-0 | U-0 | R/W-0 | R/W-0 | R/W-0 | R/W-1 | R/W-1 |
エクストラ(1) | スワロフスキー(1) | — | WDTO | 寝る | アイドル(1) | ボル(1) | ポルトガル(1) |
ビット7 | ビット0 |
伝説
R = 読み取り可能ビット W = 書き込み可能ビット U = 未実装ビット、「0」として読み取り
-n = POR 時の値 '1' = ビットをセット '0' = ビットをクリア x = ビットを不明
- bit 15 TRAPR: トラップ リセット フラグ ビット (1)
1 = トラップ競合リセットが発生した
0 = トラップ競合リセットは発生していない - bit 14 IOPUWR: 不正オペコードまたは初期化されていない W レジスタ アクセス リセット フラグビット (1)
1 = 不正なオペコードの検出、不正なアドレス モード、またはアドレス ポインタとして使用される初期化されていない W レジスタによりリセットが発生した
0 = 不正なオペコードまたは初期化されていない W レジスタ リセットは発生していません - bit 13-12 未実装 : 「0」として読み出し
- bit 11 VREGSF: フラッシュ ボリュームtage スリープ中のレギュレータ スタンバイ ビット (1)
1 = フラッシュボリュームtageレギュレータはスリープ中にアクティブです
0 = フラッシュボリュームtageレギュレータはスリープ中にスタンバイモードに入ります - ビット 10 未実装: 「0」として読み出し
- bit 9 CM: コンフィグレーション不一致フラグビット (1)
1 = 構成ミスマッチ リセットが発生した
0 = 構成ミスマッチ リセットは発生していない - ビット 8 VREGS: ボリュームtage スリープ中のレギュレータ スタンバイ ビット (1)
1 = ボリュームtageレギュレータはスリープ中にアクティブです
0 = ボリュームtageレギュレータはスリープ中にスタンバイモードに入ります - bit 7 EXTR: 外部リセット (MCLR) ピンビット (1)
1 = マスター クリア (ピン) リセットが発生した
0 = マスター クリア (ピン) リセットは発生していない - ビット 6 SWR: ソフトウェア リセット (命令) フラグ ビット (1)
1 = RESET 命令が実行された
0 = RESET 命令は実行されていない - ビット 5 未実装: 「0」として読み出し
- bit 4 WDTO: ウォッチドッグ タイマー タイムアウト フラグ ビット
1 = WDT タイムアウトが発生した
0 = WDT タイムアウトは発生していない - bit 3 SLEEP: スリープからの復帰フラグ ビット
1 = デバイスはスリープ モードにある
0 = デバイスはスリープ モードではありません
注記
- これらのビットは、WDT モジュールには関連付けられていません。
- すべてのリセット ステータス ビットは、ソフトウェアでセットまたはクリアできます。 これらのビットの XNUMX つをソフトウェアで設定しても、デバイスはリセットされません。
レジスタ 2-3: RCON: リセット制御レジスタ (2)
- bit 2 IDLE: アイドル フラグからの復帰ビット (1)
1 = デバイスはアイドル モードにある
0 = デバイスはアイドル モードになっていない - bit 1 BOR: ブラウンアウト リセット フラグ ビット (1)
1 = ブラウンアウト リセットが発生した
0 = ブラウンアウト リセットは発生していない - bit 0 POR: パワーオン リセット フラグ ビット (1)
1 = パワーオン リセットが発生した
0 = パワーオン リセットは発生していない
注記
- これらのビットは、WDT モジュールには関連付けられていません。
- すべてのリセット ステータス ビットは、ソフトウェアでセットまたはクリアできます。 これらのビットの XNUMX つをソフトウェアで設定しても、デバイスはリセットされません。
ウォッチドッグタイマーの動作
ウォッチドッグ タイマー (WDT) の主な機能は、ソフトウェアの誤動作が発生した場合にプロセッサをリセットすること、またはスリープまたはアイドル中にタイムアウトが発生した場合にプロセッサをウェイクアップすることです。
WDT は XNUMX つの独立したタイマーで構成され、XNUMX つはラン モードでの動作用、もう XNUMX つはパワー セーブ モードでの動作用です。 実行モード WDT のクロック ソースはユーザーが選択できます。
各タイマーには、ユーザーがプログラム可能な独立したポストスケーラーがあります。 両方のタイマーは、単一の ON ビットを介して制御されます。 独立して操作することはできません。
WDT が有効な場合、適切な WDT カウンターは、オーバーフローまたは「タイムアウト」するまでインクリメントします。
実行モードでの WDT タイムアウトは、デバイス リセットを生成します。 実行モードでの WDT タイムアウト リセットを防ぐには、ユーザー アプリケーションが定期的に WDT を処理する必要があります。 省電力モードでタイムアウトになると、デバイスがウェイクアップします。
注記: LPRC オシレータは、WDT クロック ソースとして使用され、WDT が有効になっている場合は常に自動的に有効になります。
動作モード
WDT には、非ウィンドウ モードとプログラマブル ウィンドウ モードの 3 つの動作モードがあります。 非ウィンドウ モードでは、WDT リセットを防ぐために、ソフトウェアは WDT 周期より短い任意の時間に定期的に WDT をクリアする必要があります (図 1-0)。 ウォッチドッグ タイマー ウィンドウ イネーブル (WDTWINEN) ビット (WDTCONL[XNUMX]) をクリアすると、非ウィンドウ モードが選択されます。
プログラマブル ウィンドウ モードでは、タイムアウトが発生する前にカウンターが最後のウィンドウにある場合にのみ、ソフトウェアは WDT をクリアできます。 このウィンドウの外で WDT をクリアすると、デバイスがリセットされます (図 3-2)。 25 つのウィンドウ サイズ オプションがあります: 合計 WDT 期間の 37.5%、50%、75%、および XNUMX%。 ウィンドウ サイズは、デバイス コンフィギュレーションで設定されます。 省電力モードでは、プログラマブル ウィンドウ モードは適用されません。
図 3-1: 非ウィンドウ WDT モード
図 3-2: プログラマブル ウィンドウ WDT モード
ウォッチドッグ タイマーのプログラム可能なウィンドウ
ウィンドウ サイズは、コンフィグレーション ビット WDTWIN[1:0] と RWDTPS[4:0] によって決まります。 プログラマブル ウィンドウ モード (WDTWINEN = 1) では、ウィンドウ サイズ コンフィギュレーション ビット WDTWIN[1:0] の設定に基づいて WDT をクリアする必要があります (図 3-2 を参照)。 これらのビット設定は次のとおりです。
- 11 = WDT ウィンドウは WDT 期間の 25%
- 10 = WDT ウィンドウは WDT 期間の 37.5%
- 01 = WDT ウィンドウは WDT 期間の 50%
- 00 = WDT ウィンドウは WDT 期間の 75%
許可されたウィンドウの前に WDT がクリアされた場合、または WDT がタイムアウトを許可された場合、デバイスのリセットが発生します。 ウィンドウ モードは、コードの重要な部分が予期せず高速または低速で実行されたときにデバイスをリセットするのに役立ちます。 ウィンドウ操作は、WDT ラン モードにのみ適用されます。 WDT スリープ モードは常に非ウィンドウ モードで動作します。
WDT の有効化と無効化
WDT は、デバイス コンフィギュレーションによって有効または無効にするか、ON ビット (WDTCONL[1]) に「15」を書き込むことによってソフトウェアで制御します。 詳細については、レジスタ 2-1 を参照してください。
デバイス構成制御 WDT
FWDTEN コンフィグレーション ビットがセットされている場合、WDT は常に有効です。 ON 制御ビット (WDTCONL[15]) は、「1」を読み取ることによってこれを反映します。 このモードでは、ソフトウェアで ON ビットをクリアすることはできません。 FWDTEN コンフィグレーション ビットは、いかなる形式のリセットによってもクリアされません。 WDT を無効にするには、構成をデバイスに書き換える必要があります。 WINDIS コンフィグレーション ビットをクリアすると、ウィンドウ モードが有効になります。
注記: プログラムされていないデバイスでは、WDT はデフォルトで有効になっています。
ソフトウェア制御の WDT
FWDTEN コンフィグレーション ビットが「0」の場合、ソフトウェアで WDT モジュールを有効または無効 (デフォルト状態) にできます。 このモードでは、ON ビット (WDTCONL[15]) はソフトウェア制御下の WDT のステータスを反映します。 「1」は WDT モジュールが有効であることを示し、「0」は無効であることを示します。
WDT ポストスケーラー
WDT には、実行モード用と省電力モード用の 4 つのユーザー プログラム可能なポストスケーラがあります。 RWDTPS[0:4] コンフィグレーション ビットはラン モード ポストスケーラを設定し、SWDTPS[0:XNUMX] コンフィグレーション ビットは省電力モード ポストスケーラを設定します。
注記: ポストスケーラ値のコンフィグレーション ビット名は異なる場合があります。 詳細については、特定のデバイスのデータ シートを参照してください。
デバイス構成制御ウィンドウ モード
ウィンドウ モードは、コンフィグレーション ビット WINDIS をクリアすることで有効にできます。 デバイス コンフィギュレーションによって WDT ウィンドウ モードが有効になっている場合、WDTWINEN ビット (WDTCONL[0]) がセットされ、ソフトウェアではクリアできません。
ソフトウェア制御ウィンドウモード
WINDIS コンフィグレーション ビットが「1」の場合、WDTWINEN ビット (WDTCONL[0]) によって WDT プログラマブル ウィンドウ モードを有効または無効にできます。 「1」はプログラマブル ウィンドウ モードが有効であることを示し、「0」はプログラマブル ウィンドウ モードが無効であることを示します。
WDT ポストスケーラーと期間の選択
WDT には 5 つの独立した 1 ビット ポストスケーラがあり、1 つはラン モード用、もう 1 つはパワー セーブ モード用で、さまざまなタイムアウト期間を作成します。 ポストスケーラは、2,147,483,647:3 ~ 1:3 の分周比を提供します (表 1-XNUMX を参照)。 ポストスケーラ設定は、デバイス コンフィギュレーションを使用して選択されます。 WDT タイムアウト時間は、WDT クロック ソースとポストスケーラの組み合わせによって選択されます。 WDT 周期の計算については、式 XNUMX-XNUMX を参照してください。
式 3-1: WDT タイムアウト期間の計算
WDT Time-out Period = (WDT Clock Period) • 2Postscaler
スリープ モードでは、WDT クロック ソースは LPRC であり、タイムアウト期間は SLPDIV[4:0] ビットの設定によって決まります。 公称周波数が 32 kHz の LPRC は、ポストスケーラーが最小値にあるときに、WDT の公称タイムアウト期間を 1 ミリ秒に設定します。
実行モードでは、WDT クロック ソースを選択できます。 タイムアウト期間は、WDT クロック ソース周波数と RUNDIV[4:0] ビットの設定によって決まります。
注記: WDT モジュールのタイムアウト期間は、WDT クロック ソースの周波数に直接関連しています。 クロック ソースの公称周波数は、デバイスによって異なります。 周波数は、デバイスの動作ボリュームの関数として異なる場合がありますtageと温度。 クロック周波数の仕様については、特定のデバイスのデータシートを参照してください。 実行モードで使用できるクロック ソースは、デバイスによって異なります。 利用可能なソースについては、特定のデバイス データシートの「ウォッチドッグ タイマー」の章を参照してください。
実行モードでの WDT の動作
WDT が期限切れになるか、ウィンドウ モードのウィンドウ外でクリアされると、NMI カウンターが期限切れになるとデバイス リセットが生成されます。
WDT クロック ソース
WDT 実行モードのクロック ソースはユーザーが選択できます。 クロック ソースは、RCLKSEL[1:0] (FWDT[6:5]) デバイス ビットによって選択されます。 WDT パワー セーブ モードは、クロック ソースとして LPRC を使用します。
WDT のリセット(1)
実行モード WDT カウンターは、次のいずれかによってクリアされます。
- 任意のデバイスのリセット
- DEBUG コマンドの実行
- WDTCLRKEYx ビット (WDTCONH[0:5743]) への正しい書き込み値 (15x0) の検出 (Exampル 3-1)
- クロックスイッチ:(2)
- ファームウェアによるクロック切り替え
- XNUMX 段階の起動
- フェイルセーフ クロック モニター (FSCM) イベント
- オシレータ設定により自動クロック切り替えが発生し、デバイス設定で XNUMX 段階スタートアップが有効になっている場合のスリープからのウェイク後のクロック切り替え
スリープ モードの WDT カウンターは、スリープに入るとリセットされます。
注記
- デバイスが省電力モードに入ると、実行モード WDT はリセットされません。
- 特定のクロック切り替えイベントに続く WDT リセットの動作は、デバイスによって異なります。 WDT をクリアするクロック切り替えイベントの説明については、特定のデバイス データ シートの「ウォッチドッグ タイマー」セクションを参照してください。
Exampル 3-1:Sampファイル WDT をクリアするコード
表 3-1: WDT タイムアウト期間の設定
ポストスケーラー値 | WDT クロックに基づくタイムアウト期間 | ||
32kHz | 8 MHz | 25 MHz | |
00000 | 1ミリ秒 | 4マイクロ秒 | 1.28マイクロ秒 |
00001 | 2ミリ秒 | 8マイクロ秒 | 2.56マイクロ秒 |
00010 | 4ミリ秒 | 16マイクロ秒 | 5.12マイクロ秒 |
00011 | 8ミリ秒 | 32マイクロ秒 | 10.24マイクロ秒 |
00100 | 16ミリ秒 | 64マイクロ秒 | 20.48マイクロ秒 |
00101 | 32ミリ秒 | 128マイクロ秒 | 40.96マイクロ秒 |
00110 | 64ミリ秒 | 256マイクロ秒 | 81.92マイクロ秒 |
00111 | 128ミリ秒 | 512マイクロ秒 | 163.84マイクロ秒 |
01000 | 256ミリ秒 | 1.024ミリ秒 | 327.68マイクロ秒 |
01001 | 512ミリ秒 | 2.048ミリ秒 | 655.36マイクロ秒 |
01010 | 1.024秒 | 4.096ミリ秒 | 1.31072ミリ秒 |
01011 | 2.048秒 | 8.192ミリ秒 | 2.62144ミリ秒 |
01100 | 4.096秒 | 16.384ミリ秒 | 5.24288ミリ秒 |
01101 | 8.192秒 | 32.768ミリ秒 | 10.48576ミリ秒 |
01110 | 16.384秒 | 65.536ミリ秒 | 20.97152ミリ秒 |
01111 | 32.768秒 | 131.072ミリ秒 | 41.94304ミリ秒 |
10000 | 0:01:06 時間 | 262.144ミリ秒 | 83.88608ミリ秒 |
10001 | 0:02:11 時間 | 524.288ミリ秒 | 167.77216ミリ秒 |
10010 | 0:04:22 時間 | 1.048576秒 | 335.54432ミリ秒 |
10011 | 0:08:44 時間 | 2.097152秒 | 671.08864ミリ秒 |
10100 | 0:17:29 時間 | 4.194304秒 | 1.34217728秒 |
10101 | 0:34:57 時間 | 8.388608秒 | 2.68435456秒 |
10110 | 1:09:54 時間 | 16.777216秒 | 5.36870912秒 |
10111 | 2:19:49 時間 | 33.554432秒 | 10.73741824秒 |
11000 | 4:39:37 時間 | 0:01:07 時間 | 21.47483648秒 |
11001 | 9:19:14 時間 | 0:02:14 時間 | 42.94967296秒 |
11010 | 18:38:29 時間 | 0:04:28 時間 | 0:01:26 時間 |
11011 | 1 日 13:16:58 時間 | 0:08:57 時間 | 0:02:52 時間 |
11100 | 3 日 2:33:55 hms | 0:17:54 時間 | 0:05:44 時間 |
11101 | 6 日 5:07:51 hms | 0:35:47 時間 | 0:11:27 時間 |
11110 | 12 日 10:15:42 hms | 1:11:35 時間 | 0:22:54 時間 |
11111 | 24 日 20:31:24 hms | 2:23:10 時間 | 0:45:49 時間 |
割り込みとリセットの生成
実行モードでの WDT タイムアウト
実行モードで WDT がタイムアウトすると、デバイスのリセットが生成されます。
ファームウェアは、WDTO ビット (RCON[4]) をテストすることにより、リセットの原因が実行モードでの WDT タイムアウトであったかどうかを判断できます。
注記: 特定のデバイス データ シートの「リセット」および「割り込みコントローラ」の章を参照してください。 また、詳細は「dsPIC39712/PIC70000600 ファミリ リファレンス マニュアル」の「リセット」(DS33) および「割り込み」(DS24) セクションを参照してください。
省電力モードでの WDT タイムアウト
省電力モードで WDT モジュールがタイムアウトすると、デバイスが復帰し、WDT 実行モードがカウントを再開します。
WDT ウェイクアップを検出するには、WDTO ビット (RCON[4])、SLEEP ビット (RCON[3])、および IDLE ビット (RCON[2]) をテストできます。 WDTO ビットが「1」の場合、イベントは省電力モードでの WDT タイムアウトが原因でした。 その後、SLEEP ビットと IDLE ビットをテストして、WDT イベントがデバイスの起動中に発生したのか、それともスリープ モードまたはアイドル モードのときに発生したのかを判断できます。
注記: 特定のデバイス データ シートの「リセット」および「割り込みコントローラ」の章を参照してください。 また、詳細は「dsPIC39712/PIC70000600 ファミリ リファレンス マニュアル」の「リセット」(DS33) および「割り込み」(DS24) セクションを参照してください。
非 WDT イベントによる省電力モードからのウェイク
非 WDT NMI 割り込みによってデバイスがパワー セーブ モードから復帰すると、パワー セーブ モード WDT はリセット状態に保持され、WDT ラン モードはパワー セーブ前のカウント値からカウントを続けます。
リセットの原因と結果
リセットの原因の特定
WDT リセットが発生したかどうかを判断するには、WDTO ビット (RCON[4]) をテストします。 WDTO ビットが「1」の場合、リセットは実行モードでの WDT タイムアウトによるものです。 ソフトウェアは WDTO ビットをクリアして、後続のリセットの原因を正しく判断できるようにする必要があります。
各種リセットの影響
どのようなデバイス リセットでも、WDT はクリアされます。 リセットは WDTCONH/L レジスタをデフォルト値に戻し、WDT はデバイス コンフィギュレーションで有効にされていない限り無効になります。
注記: デバイス リセット後、WDT ON ビット (WDTCONL[15]) は FWDTEN ビット (FWDT[15]) の状態を反映します。
デバッグおよび省電力モードでの動作
省電力モードでの WDT の動作
WDT が有効な場合、スリープ モードまたはアイドル モードでも動作を継続し、デバイスのウェイクアップに使用できます。 これにより、デバイスは、WDT が期限切れになるか別の割り込みでデバイスが復帰するまで、スリープ モードまたはアイドル モードを維持できます。 ウェイクアップ後にデバイスが再びスリープ モードまたはアイドル モードに移行しない場合は、WDT ラン モード NMI を防ぐために、WDT を無効にするか定期的にサービスを提供する必要があります。
スリープ モードでの WDT の動作
WDT モジュールを使用してデバイスをスリープ モードから復帰させることができます。 スリープ モードに入ると、WDT ラン モード カウンターはカウントを停止し、パワー セーブ モード WDT はリセット状態からカウントを開始し、タイムアウトするかデバイスが割り込みによってウェイクアップされるまで続きます。 スリープ モードで WDT がタイムアウトすると、デバイスはウェイクアップしてコード実行を再開し、WDTO ビット (RCON[4]) をセットしてラン モード WDT を再開します。
アイドル モードでの WDT の動作
WDT モジュールを使用して、デバイスをアイドル モードから復帰させることができます。 アイドル モードに入ると、WDT ラン モード カウンターはカウントを停止し、省電力モード WDT はリセット状態からカウントを開始し、タイムアウトするかデバイスが割り込みによってウェイクアップされるまで続きます。 デバイスはウェイクアップしてコード実行を再開し、WDTO ビット (RCON[4]) をセットしてラン モード WDT を再開します。
ウェイクアップ中の遅延時間
スリープ中の WDT イベントとコード実行の開始の間に時間遅延があります。 この遅延の持続時間は、使用中の発振器の起動時間から構成されます。 スリープ モードからのウェイクアップとは異なり、アイドル モードからのウェイクアップに関連する時間遅延はありません。 アイドル モードの間、システム クロックは動作しています。 したがって、ウェイクアップ時のスタートアップ遅延は必要ありません。
省電力モードでの WDT クロック ソース
省電力モードの WDT クロック ソースは、ユーザーが選択することはできません。 クロックソースは LPRC です。
デバッグモードでの WDT の動作
タイムアウトを防ぐために、デバッグ モードでは WDT を無効にする必要があります。
このセクションでは、マニュアルのこのセクションに関連するアプリケーション ノートを示します。 これらのアプリケーション ノートは dsPIC33/PIC24 デバイス ファミリ専用に書かれているわけではありませんが、概念は適切であり、変更や制限付きで使用できます。 デュアル ウォッチドッグ タイマー モジュールに関連する最新のアプリケーション ノートは次のとおりです。
注記: マイクロチップをご覧ください web地点 (マイクロチップ) 追加のアプリケーション ノートとコード exampdsPIC33/PIC24 デバイス ファミリ用のファイル。
改訂履歴
リビジョン A (2016 年 XNUMX 月)
これは、このドキュメントの初版です。
リビジョン B (2018 年 XNUMX 月)
デバイス ファミリ名を dsPIC33/PIC24 に変更します。
ページ フッターから事前情報の透かしを削除します。
リビジョン C (2022 年 XNUMX 月)
表 2-1 および表 3-1 を更新。
更新レジスタ 2-1.
セクション 3.1「動作モード」、セクション 3.2「ウォッチドッグ タイマー プログラマブル ウィンドウ」、セクション 3.3「WDT の有効化と無効化」、セクション 3.4.1「デバイス
セクション 3.4.2「ソフトウェア制御ウィンドウ モード」、セクション 3.7「WDT クロック ソース」、セクション 6.1.2「アイドル モードでの WDT 動作」
ウォッチドッグ タイマーの規格では、「マスター」と「スレーブ」という用語が使用されます。 このドキュメントで使用されている対応するマイクロチップ社の用語は、それぞれ「メイン」と「セカンダリ」です。
Microchip 製品のコード保護機能に関する次の詳細に注意してください。
- Microchip 製品は、それぞれの Microchip データ シートに記載されている仕様を満たしています。
- Microchip 社は、意図された方法で、動作仕様の範囲内で、通常の条件下で使用される場合、同社の製品ファミリは安全であると考えています。
- マイクロチップは、その知的財産権を尊重し、積極的に保護します。 マイクロチップ製品のコード保護機能に違反する試みは固く禁じられており、デジタルミレニアム著作権法に違反する可能性があります。
- Microchip 社も他の半導体メーカーも、自社のコードのセキュリティを保証することはできません。コード保護は、製品が「破られない」ことを保証するものではありません。コード保護は常に進化しています。Microchip 社は、自社製品のコード保護機能を継続的に改善することに尽力しています。
この出版物およびここに記載されている情報は、Microchip製品の設計、テスト、およびアプリケーションとの統合を含め、Microchip製品でのみ使用できます。 この情報を他の方法で使用すると、これらの条件に違反します。 デバイスアプリケーションに関する情報は、お客様の便宜のためにのみ提供されており、更新によって置き換えられる場合があります。 アプリケーションが仕様を満たしていることを確認するのはユーザーの責任です。 追加のサポートについては、最寄りのMicrochip営業所にお問い合わせいただくか、次のURLで追加のサポートを受けてください。
https://www.microchip.com/en-us/support/design-help/client-supportservices.
この情報は MICROCHIP によって「現状のまま」提供されます。 マイクロチップは、非侵害、商品性、および特定の目的への適合性の黙示の保証を含むがこれらに限定されない情報に関連する、明示的または黙示的、書面または口頭、法定またはその他を問わず、いかなる種類の表明または保証も行いません。その状態、品質、または性能。
いかなる場合も、マイクロチップは、情報またはその使用に関連するいかなる間接的、特別、懲罰的、偶発的、または結果的な損失、損害、費用、経費についても、その原因が何であれ、マイクロチップがその可能性を知らされていたり、損害が予見可能であったりしても、一切責任を負いません。法律で認められる最大限の範囲で、情報またはその使用に関連するすべての請求に対するマイクロチップの全責任は、情報に対してお客様がマイクロチップに直接支払った料金の金額(ある場合)を超えないものとします。
生命維持および/または安全アプリケーションにおける Microchip デバイスの使用は、完全に購入者の責任であり、購入者は、かかる使用から生じるあらゆる損害、請求、訴訟、または費用から Microchip を防御し、補償し、免責することに同意するものとします。特に明記されていない限り、Microchip の知的財産権に基づくライセンスは、暗黙的またはその他の方法で譲渡されるものではありません。
商標
Microchip の名前とロゴ、Microchip ロゴ、Adaptec、AnyRate、AVR、AVR ロゴ、AVR Freaks、BesTime、BitCloud、CryptoMemory、CryptoRF、dsPIC、flexPWR、HELDO、IGLOO、JukeBlox、KeeLoq、Kleer、LANCheck、LinkMD、maXStylus、 maXTouch、MediaLB、megaAVR、Microsemi、Microsemi ロゴ、MOST、MOST ロゴ、MPLAB、OptoLyzer、PIC、picoPower、PICSTART、PIC32 ロゴ、PolarFire、Prochip Designer、QTouch、SAM-BA、SenGenuity、SpyNIC、SST、SST ロゴ、SuperFlash 、Symmetricom、SyncServer、Tachyon、TimeSource、tinyAVR、UNI/O、Vectron、および XMEGA は、米国およびその他の国における Microchip Technology Incorporated の登録商標です。 AgileSwitch, APT, ClockWorks, The Embedded Control Solutions Company, EtherSynch, Flashtec, Hyper Speed Control, HyperLight Load, IntelliMOS, Libero, motorBench, mTouch, Powermite 3, Precision Edge, ProASIC, ProASIC Plus, ProASIC Plus ロゴ, QuietWire, SmartFusion, SyncWorld、Temux、TimeCesium、TimeHub、TimePictra、TimeProvider、TrueTime、WinPath、および ZL は、米国における Microchip Technology Incorporated の登録商標です。 Adjacent Key Suppression、AKS、Analog-for-the-Digital Age、Any Capacitor、AnyIn、AnyOut、拡張スイッチング、BlueSky、BodyCom、CodeGuard、CryptoAuthentication、CryptoAutomotive、CryptoCompanion、CryptoController、dsPICDEM、dsPICDEM.net、動的平均マッチング、DAM、ECAN、Espresso T1S、EtherGREEN、GridTime、IdealBridge、インサーキット シリアル プログラミング、ICSP、INICnet、インテリジェント並列、チップ間接続、JitterBlocker、Knob-on-Display、maxCrypto、maxView、memBrain、Mindi、MiWi、MPASM、MPF、MPLAB認定ロゴ、MPLIB、MPLINK、MultiTRAK、NetDetach、NVM Express、NVMe、Omniscient Code Generation、PICDEM、PICDEM.net、PICkit、PICtail、PowerSmart、PureSilicon、QMatrix、REAL ICE 、リップル ブロッカー、RTAX、RTG4、SAM-ICE、シリアル クワッド I/O、simpliPHY、SmartBuffer、SmartHLS、SMART-IS、storClad、SQI、SuperSwitcher、SuperSwitcher II、Switchtec、SynchroPHY、Total Endurance、TSHARC、USBCheck、 VariSense、VectorBlox、VeriPHY、 ViewSpan、WiperLock、XpressConnect、ZENA は、米国およびその他の国における Microchip Technology Incorporated の商標です。
SQTPは米国Microchip Technology Incorporatedのサービスマークです。
Adaptec ロゴ、Frequency on Demand、Silicon Storage Technology、Symmcom、および Trusted Time は、その他の国における Microchip Technology Inc. の登録商標です。 GestIC は、Microchip Technology Inc. の子会社である Microchip Technology Germany II GmbH & Co. KG のその他の国における登録商標です。
ここに記載されているその他すべての商標は、それぞれの会社の所有物です。
© 2016-2022, Microchip Technology Incorporated およびその
子会社。
無断転載を禁じます。
ISBN: 978-1-5224-9893-3
世界的な販売とサービス
アメリカ大陸
本社
2355 ウエスト チャンドラー ブールバード
チャンドラー、アリゾナ85224-6199
電話: 480-792-7200
ファックス: 480-792-7277
テクニカルサポート:
http://www.microchip.com/support
Web 住所: マイクロチップ
ドキュメント / リソース
![]() |
MICROCHIP dsPIC33 デュアル ウォッチドッグ タイマー [pdf] ユーザーガイド dsPIC33 デュアル ウォッチドッグ タイマー、dsPIC33、デュアル ウォッチドッグ タイマー、ウォッチドッグ タイマー |