日本語 - Microchip

注意 : この日本語版文書は参考資料としてご利用ください。最新情報は必ずオリジ
ナルの英語版をご参照願います。
セクション 7. リセット
ハイライト
本セクションには下記の主要項目を記載しています。
はじめに ........................................................................................................................ 7-2
制御レジスタ ................................................................................................................ 7-3
動作モード .................................................................................................................... 7-6
リセットの影響 ........................................................................................................... 7-10
関連アプリケーション ノート .................................................................................... 7-12
改訂履歴 ...................................................................................................................... 7-13
© 2012 Microchip Technology Inc.
DS61118F_JP - p. 7-1
リセット
7.1
7.2
7.3
7.4
7.5
7.6
7
PIC32 ファミリ リファレンス マニュアル
Note:
ファミリ リファレンス マニュアルの本セクションは、デバイス データシートの補
足を目的としています。本セクションの内容は PIC32 ファミリの一部のデバイス
には対応していません。
本書の内容がお客様のご使用になるデバイスに対応しているかどうかは、最新デ
バイス データシート内の「リセット」の冒頭に記載している注意書きでご確認く
ださい。
デバイス データシートとファミリ リファレンス マニュアルの各セクションは、マ
イクロチップ社のウェブサイト (http://www.microchip.com) でご覧になれます。
7.1
はじめに
リセット モジュールは全てのリセット要因を集約し、システムリセット信号 SYSRST を制御
します。下記のデバイスリセット要因が存在します。
• POR: パワーオン リセット
• MCLR: ピンリセット
• SWR: ソフトウェア リセット
• WDTR: ウォッチドッグ タイマリセット
• BOR: ブラウンアウト リセット
• CMR: コンフィグレーション不一致リセット
リセット モジュールの概略ブロック図を図 7-1 に示します。全てのリセット要因は、発生時に
システムリセット信号をアクティブにします。この際、CPU と周辺モジュールに関連する各種
レジスタは既知の「リセット状態」へ強制的にリセットされます。ほとんどのレジスタはリセッ
トに影響されません (POR 以外のリセットでは状態は変化せず POR 時の状態は未知です )。
Note:
レジスタのリセット時の状態については、PIC32 ファミリ リファレンス マニュア
ル の 各 周 辺 モ ジュールに関連するセクションまたはセクション 2.「CPU」
(DS61113) を参照してください。
図 7-1: システムリセットのブロック図
MCLR
Glitch Filter
SLEEP or IDLE
MCLR
WDTR
WDT
Time-Out
Voltage
Regulator
Enabled
Power-up
Timer
POR
SYSRST
VDD
VDD Rise
Detect
Configuration
Mismatch
Reset
Software Reset
DS61118F_JP - p. 7-2
Brown-out
Reset
BOR
CMR
SWR
© 2012 Microchip Technology Inc.
セクション 7. リセット
制御レジスタ
7.2
表 7-1: リセット関連 SFR の要約
名称
RCON(1,2,3)
RSWRST(1,2,3)
ビット
レンジ
Bit
31/23/15/7
Bit
30/22/14/6
Bit
29/21/13/5
Bit
28/20/12/4
Bit
27/19/11/3
Bit
26/18/10/2
Bit
25/17/9/1
Bit
24/16/8/0
31:24
—
—
—
—
—
—
—
—
23:16
—
—
—
—
—
—
—
—
15:8
—
—
—
—
—
—
CMR
VREGS
7:0
EXTR
SWR
—
WDTO
SLEEP
IDLE
BOR
POR
31:24
—
—
—
—
—
—
—
—
23:16
—
—
—
—
—
—
—
—
15:8
—
—
—
—
—
—
—
—
7:0
—
—
—
—
—
—
—
SWRST
凡例 :
— = 未実装、「0」として読み出し、アドレス オフセット値は 16 進表記
Note 1:
このレジスタに対応するクリアレジスタのアドレスは 0x4 バイト オフセットしています。クリアレジスタは、対応す
るレジスタの名前の後に「CLR」を追加した名前を持ちます ( 例 : RCONCLR)。クリアレジスタの任意のビットに「1」
を書き込むと、対応するレジスタの対応するビットがクリアされます。クリアレジスタからの読み出しは無視されます。
このレジスタに対応するセットレジスタのアドレスは 0x8 バイト オフセットしています。セットレジスタは、対応す
るレジスタの名前の後に「SET」を追加した名前を持ちます ( 例 : RCONSET)。セットレジスタの任意のビットに「1」
を書き込むと、対応するレジスタの対応するビットがセットされます。セットレジスタからの読み出しは無視されます。
このレジスタに対応する反転レジスタのアドレスは 0xC バイト オフセットしています。反転レジスタは、対応するレ
ジスタの名前の後に「INV」を追加した名前を持ちます ( 例 :RCONINV)。反転レジスタの任意のビットに「1」を書き
込むと、対応するレジスタの対応するビットが反転します。反転レジスタからの読み出しは無視されます。
2:
3:
© 2012 Microchip Technology Inc.
DS61118F_JP - p. 7-3
7
リセット
全てのタイプのデバイスリセットは、発生時に RCON レジスタ内の対応するステータスビット
をセットし、発生したリセットのタイプを示します ( レジスタ 7-1 参照 )。パワーオン リセッ
トは、BOR および POR ビット (RCON<1:0>) 以外の全てのビットをクリアします。ユーザ ソ
フトウェアはコード実行中にいつでも任意のビットをセット / クリアできます。RCON ビット
はステータスビットとしてのみ機能します。ソフトウェアで特定のリセット ステータスビット
をセットしても、システムリセットは発生しません。
RCON レジスタは、ウォッチドッグ タイマとデバイスの省電力状態に関連するビットも格納し
ます。これらのビットの機能については 7.4.3「RCON ステータスビットの使い方」を参照し
てください。
RSWRST 制御レジスタでは 1 つのビット (SWRST ビット ) だけを使います。このビットは、
ソフトウェア リセット条件を有効にするために使います。
リセット モジュールは下記の特殊機能レジスタ (SFR) を備えています。
• RCON: リセット制御レジスタ
• RSWRST: ソフトウェア リセットレジスタ
表 7-1 に、リセットに関連する全てのレジスタの要約を示します。この表の後に、各レジスタ
の詳細な説明を記載しています。
PIC32 ファミリ リファレンス マニュアル
レジスタ 7-1: RCON: リセット制御レジスタ
ビット
Bit
Bit
Bit
レンジ 31/23/15/7 30/22/14/6 29/21/13/5
31:24
23:16
15:8
7:0
U-0
U-0
U-0
Bit
Bit
28/20/12/4 27/19/11/3
U-0
U-0
Bit
26/18/10/2
Bit
25/17/9/1
Bit
24/16/8/0
U-0
U-0
U-0
—
—
—
—
—
—
—
—
U-0
U-0
U-0
U-0
U-0
U-0
U-0
U-0
—
—
—
—
—
—
—
—
U-0
U-0
U-0
U-0
U-0
U-0
R/W-x
R/W-x
—
—
—
—
—
—
CMR(1,3)
VREGS
R/W-0
R/W-0
U-0
R/W-0
R/W-0
R/W-0
R/W-1
R/W-1
(1,3)
EXTR
SWR
(1,3)
—
WDTO
(1,3)
(1,3)
SLEEP
IDLE
(1,3)
BOR
(1,3)
POR(1,2,3)
凡例 :
R = 読み出し可能ビット
W = 書き込み可能ビット U = 未実装ビット、「0」として読み出し
-n = POR 時の値
1 = ビットはセット
0 = ビットはクリア
x = ビットは未知
bit 31-10 未実装 :「0」として読み出し
bit 9
CMR: コンフィグレーション不一致フラグビット (1,3)
1 = コンフィグレーション不一致リセットが発生した
0 = コンフィグレーション不一致リセットは発生していない
bit 8
VREGS: 電圧レギュレータ スタンバイ イネーブルビット
1 = レギュレータを有効にする ( スリープモード中にレギュレータは動作する )
0 = レギュレータを無効にする ( スリープモード中にレギュレータは動作しない )
bit 7
EXTR: 外部リセット (MCLR) ピン フラグビット (1,3)
1 = マスタクリア ( ピン ) リセットが発生した
0 = マスタクリア ( ピン ) リセットは発生していない
bit 6
SWR: ソフトウェア リセット フラグビット (1,3)
1 = ソフトウェア リセットが実行された
0 = ソフトウェア リセットは実行されていない
bit 5
未実装 :「0」として読み出し
bit 4
WDTO: WDT タイムアウト フラグビット (1,3)
1 = WDT タイムアウトが発生した
0 = WDT タイムアウトは発生していない
bit 3
SLEEP: スリープからの復帰フラグビット (1,3)
1 = デバイスはスリープモードから復帰した
0 = デバイスはスリープモードから復帰したのではない
bit 2
IDLE: アイドルからの復帰フラグビット (1,3)
1 = デバイスはアイドルモードから復帰した
0 = デバイスはアイドルモードから復帰したのではない
bit 1
BOR: ブラウンアウト リセット フラグビット (1,2,3)
次回の発生に備えるために、このビットはユーザ ソフトウェアでクリアする必要があります。
1 = ブラウンアウト リセットが発生した
0 = ブラウンアウト リセットは発生していない
bit 0
POR: パワーオンリセット フラグビット (1,2,3)
次回の発生に備えるために、このビットはユーザ ソフトウェアでクリアする必要がありま
す。
1 = パワーオン リセットが発生した
0 = パワーオン リセットは発生していない
Note 1:
2:
3:
RCON フラグビットはステータスビットとしてのみ機能します。ソフトウェアで特定のリセット ステー
タス ビットをセットしても、デバイスリセットは発生しません。
BOR ビットはパワーオンリセット後にもセットされます。
このビットはハードウェアでセットされ、ソフトウェアでのみクリア (=0) できます。
DS61118F_JP - p. 7-4
© 2012 Microchip Technology Inc.
セクション 7. リセット
レジスタ 7-2: RSWRST: ソフトウェア リセットレジスタ
ビット
Bit
Bit
Bit
Bit
Bit
レンジ 31/23/15/7 30/22/14/6 29/21/13/5 28/20/12/4 27/19/11/3
31:24
23:16
15:8
7:0
U-0
U-0
U-0
U-0
U-0
Bit
26/18/10/2
Bit
25/17/9/1
Bit
24/16/8/0
U-0
U-0
U-0
—
—
—
—
—
—
—
—
U-0
U-0
U-0
U-0
U-0
U-0
U-0
U-0
—
—
—
—
—
—
—
—
U-0
U-0
U-0
U-0
U-0
U-0
U-0
U-0
—
—
—
—
—
—
—
—
U-0
U-0
U-0
U-0
U-0
U-0
U-0
W-0
—
—
—
—
—
—
—
SWRST(1)
7
凡例 :
W = 書き込み可能ビット U = 未実装ビット、「0」として読み出し
-n = POR 時の値
1 = ビットはセット
0 = ビットはクリア
x = ビットは未知
bit 31-1
bit 0
未実装 :「0」として読み出し
SWRST: ソフトウェア リセット トリガビット (1)
1 = ソフトウェア リセットイベントを有効にする
0 = ソフトウェア リセットイベントを有効にしない
Note 1:
SWRST ビットに書き込む前に、システムのロック解除シーケンスを実行する必要があります。リセット
を生成するには、このビットへの書き込み後に、このビットを読み出す必要があります。詳細は 7.3.4「ソ
フトウェア リセット (SWR)」を参照してください。
© 2012 Microchip Technology Inc.
DS61118F_JP - p. 7-5
リセット
R = 読み出し可能ビット
PIC32 ファミリ リファレンス マニュアル
7.3
動作モード
7.3.1
システムリセット (SYSRST)
PIC32 の内部システムリセット (SYSRST) は、下記を含む各種のリセット要因により生成され
ます。
• POR ( パワーオンリセット )
• BOR ( ブラウンアウト リセット )
• MCLR ( マスタクリア リセット )
• WDTO ( ウォッチドッグ タイムアウト リセット )
• SWR ( ソフトウェア リセット )
• CMR ( コンフィグレーション不一致リセット )
最初の POR 時にシステムリセットがアクティブになります。その後、デバイス コンフィグレー
ション設定が読み込まれ、オシレータクロック源が安定するまでシステムリセット状態が維持
されます。システムリセットが終了してからシステムクロック (SYSCLK) の 8 サイクル後に、
CPU によるコードのフェッチが可能になります。
BOR、MCLR、WDTO リセットは非同期イベントですが、SFR と RAM の破損を防ぐために、
システムリセットはシステムクロックに同期します。その他のリセットイベントは全てクロッ
クに同期します。
7.3.2
パワーオン リセット (POR)
VDD が上昇して VPOR を超えると、パワーオンイベントによって内部 POR パルスが生成され
ます。デバイスの電源電圧特性は、POR パルスの生成に要求される初期電圧と立ち上がり速度
の仕様条件を満たしている必要があります。VDD が再度 VPOR よりも低下しない限り、新たに
POR を開始する事はできません。VPOR と VDD 立ち上がり速度の詳細な仕様値については、各
デバイスデータシートの「電気的特性」を参照してください。
電圧レギュレータを内蔵した PIC32 デバイスでは、電圧レギュレータを有効にするとパワー
アップタイマ (PWRT) が自動的に無効になります。これらの PIC32 デバイスで電圧レギュレー
タを無効にした場合、コアには外部から電源が供給され、起動シーケンスの時間を延長するた
めにパワーアップタイマが自動的に有効になります。PWRT はデバイス起動時に公称値 64 ms
の固定遅延時間を追加します。従ってデバイスの起動遅延時間は、内蔵電圧レギュレータの出
力遅延 (TPU) またはパワーアップタイマ遅延 (TPWRT) のいずれかとなります。
起動遅延後に POR イベントは終了しますが、デバイス コンフィグレーション設定を読み込み、
クロック オシレータソースを設定している間、デバイスはリセット状態を維持します。クロッ
ク監視回路はオシレータソースが安定するまで待機します。リセット完了時に、PIC32 デバイ
スは常に FNOSC<2:0> ビット (DEVCFG1<2:0>) で選択されているクロック源を使います。こ
の追加の遅延には、使用するクロックに応じて各種の遅延時間 (TOSC、TLOCK、TFSCM) が含ま
れます。オシレータ、PLL、フェイルセーフ クロック監視機能 (FSCM) の詳細は、セクション
6.「オシレータ」(DS61112) の 6.3.5「フェイルセーフ クロック監視機能の動作」を参照して
ください。
これらの遅延時間が経過した後に、システムリセット (SYSRST) が終了します。CPU による
コードの実行が可能になる前に (CPU コアに対する同期されたリセットが無効になる前に )、
8 システムクロック サイクルが必要です。
パワーオンイベントが発生すると、BOR および POR ステータスビット (RCON<1:0>) がセッ
トされます。
遅延パラメータ値の詳細については、各デバイスデータシートの「電気的特性」を参照してく
ださい。
Note:
DS61118F_JP - p. 7-6
デバイスがリセット状態を終了して通常の動作を開始する際に、デバイスの動作
パラメータ ( 電圧、周波数、温度等 ) が動作レンジ内に入っていないと、デバイス
が正常に機能しない可能性があります。ユーザ ソフトウェアは、動作開始時に全
ての動作パラメータが仕様レンジ内に入るように、電源投入からシステムリセッ
トが解除されるまでに十分な遅延時間を確保する必要があります。
© 2012 Microchip Technology Inc.
セクション 7. リセット
7.3.3
マスタクリア (MCLR) リセット
マスタクリアピン (MCLR) が LOW に駆動されると、リセットイベントはシステムクロック
(SYSCLK) に同期した後にシステムリセット (STSRST) を生成します (MCLR ピンの入力パル
ス幅は、各デバイスデータシートの「電気的特性」に記載されている最小パルス幅よりも長い
事が必要です )。
無用なリセットイベントを防ぐために、MCLR ピンにはノイズの影響を最小限に抑えるための
フ ィ ル タ が 備 わ っ ています。MCLR リセットが発生すると、 EXTR ステータスビット
(RCON<7>) がセットされます。
7.3.4
ソフトウェア リセット (SWR)
例 7-1:
ソフトウェア リセットのコマンドシーケンス
/* The following code illustrates a software Reset */
// assume interrupts are disabled
// assume the DMA controller is suspended
// assume the device is locked
/* perform a system unlock sequence */
// starting critical sequence
SYSKEY = 0x00000000; //write invalid key to force lock
SYSKEY = 0xAA996655 //write key1 to SYSKEY
SYSKEY = 0x556699AA //write key2 to SYSKEY
// OSCCON is now unlocked
/* set SWRST bit to arm reset */
RSWRSTSET = 1;
/* read RSWRST register to trigger reset */
unsigned int dummy;
dummy = RSWRST;
/* prevent any unwanted code execution until reset occurs*/
while(1);
7.3.5
ウォッチドッグ タイマリセット
ウォッチドッグ タイマ (WDT) リセットイベントは、システムクロック (SYSCLK) に同期した
後にシステムリセットを生成します。
Note:
スリープまたはアイドルモード中に WDT タイムアウトが発生した場合、プロセッ
サは復帰して PIC32 のリセットベクタへ分岐します。この場合、プロセッサはリ
セットされません。
RCON レジスタ内の WDTO ビットと、SLEEP または IDLE ビットだけが影響を受けます。WDT
リセットの詳細はセクション 9.「ウォッチドッグ タイマとパワーアップ タイマ」(DS61114) を
参照してください。
© 2012 Microchip Technology Inc.
DS61118F_JP - p. 7-7
7
リセット
PIC32 CPU コアには特別な RESET 命令は用意されていません。しかしソフトウェア リセット
コマンド シーケンス ( ソフトウェア リセット ) を実行する事により、ソフトウェアからハード
ウェア リセットを実行できます。ソフトウェア リセットは MCLR リセットのように動作しま
す。ソフトウェア リセット シーケンスを実行する場合、SWRST ビット (RSWRST<0>) に書
き込む前に、システムロック解除シーケンスを実行する必要があります。システムロック解除
の詳細は、セクション 6.「オシレータ」(DS61112) の 6.3.6「クロック切り換え動作」を参照
してください。
ソフトウェア リセットの実行手順は下記の通りです。
1. システムロック解除シーケンスを実行する
2. SWRST ビット (RSWRST<0>) を「1」にセットする
3. RSWRST レジスタを読み出す
この後に「while(1);」または 4 回の「NOP」命令をコードに挿入します。
RSWRST レジスタに「1」を書き込むと、ソフトウェア リセットの生成が可能になります。こ
れに続いて RSWRST レジスタを読み出すと、読み出し動作の次のクロックサイクルで、ソフ
トウェア リセットがトリガされます。リセットイベントが発生する前に他のユーザコードが実
行されないようにするために、
「while(1);」文または 4 回の「NOP」命令を READ 命令の後に
挿入する事を推奨します。
ソフトウェア リセットが発生すると、SWR ステータスビット (RCON<6>) がセットされます。
PIC32 ファミリ リファレンス マニュアル
7.3.6
ブラウンアウト リセット (BOR)
PIC32 ファミリのデバイスは、シンプルなブラウンアウト リセット (BOR) 機能を備えています。
レギュレータに供給される電圧が不足して適正なレギュレート電圧レベルを維持できなくなる
と、レギュレータ リセット回路が BOR イベントを生成します。BOR イベントは、システムク
ロック (SYSCLK) に同期した後にシステムリセットを生成します。
BOR イベントが発生すると、
BOR フラグビット (RCON<1>) がセットされます。詳細は各デバイスデータシートの「電気的
特性」を参照してください。
7.3.7
コンフィグレーション不一致リセット (CMR)
保存されているコンフィグレーション値の整合性を保つために、全てのデバイス コンフィグ
レーション ビットが読み込まれ、それらのビットの相補的ビットセットとして保存されます。
コンフィグレーション ワードを読み込む際に、
「1 」( または「0」) として読み込まれた各ビッ
トに対しては、その反対の「0」( または「1」) が対応するバックグラウンド ワード位置に保
存されます。コンフィグレーション ワードが読み込まれるたびに、これらのビットペアが比較
されます ( スリープモード時も含む )。この比較中に、値が互いに反対ではないコンフィグレー
ション ビットペアが見つかると、コンフィグレーション不一致イベントが生成され、これによ
りデバイスリセットが発生します。
コンフィグレーション不一致の結果としてデバイスリセットが発生すると、CMR ステータス
ビット (RCON<9>) がセットされます。
7.3.8
デバイスリセット要因の特定
デバイスリセットが発生した後に、初期化コードで RCON レジスタの値を読み出す事により、
リセットの要因を確認できます。アプリケーションによっては、この情報に基づいてリセット
の原因となった問題を修正します。
RCON レジスタ内の全てのリセット ステータスビットは、読み出し後にリセットする必要があ
ります。これにより、次回のデバイスリセット時も RCON 値から正しい情報を得る事ができま
す。
例 7-2 に、RCON レジスタを使ってデバイスリセットの要因を特定する方法を示します。
DS61118F_JP - p. 7-8
© 2012 Microchip Technology Inc.
セクション 7. リセット
例 7-2:
デバイスリセット要因の特定
int main(void)
{
//... perform application specific startup tasks
// next, check the cause of the Reset
if(RCON & 0x0003)
{
// execute a Power-on Reset handler
// ...
}
else if(RCON & 0x0002)
{
// execute a Brown-out Reset handler
// ...
}
else if(RCON & 0x0080)
{
// execute a Master Clear Reset handler
// ...
}
else if(RCON & 0x0040)
{
// execute a Software Reset handler
// ...
}
else if (RCON & 0x0200)
{
// execute a Configuration Mismatch Reset handler
// ...
}
else if (RCON & 0x0010)
{
// execute Watchdog Time-out Reset handler
// ...
}
7
リセット
//... perform other application specific tasks
while(1);
}
© 2012 Microchip Technology Inc.
DS61118F_JP - p. 7-9
PIC32 ファミリ リファレンス マニュアル
7.4
リセットの影響
表 7-2 に示すように、リセット制御レジスタ (RCON) のリセット値は、デバイスリセットのタ
イプによって異なります。
プログラム
カウンタ
EXTR
SWR
WDTO
SLEEP
IDLE
CMR
BOR
POR
表 7-2: リセット後の RCON レジスタ内ステータスビットの値
0xBFC0_0000
0
0
0
0
0
0
1
1
ブラウンアウト リセット
0
0
0
0
0
0
1
u
通常動作中の MCLR リセット
1
u
u
u
u
u
u
u
アイドルモード中の MCLR リセット
1
u
u
u
1(1)
u
u
u
スリープモード中の MCLR リセット
1
u
u
1(1)
u
u
u
u
ソフトウェア リセットコマンド
u
1
u
u
u
u
u
u
リセット条件
パワーオン リセット
コンフィグレーション ワード不一致リセット
u
u
u
u
u
1
u
u
通常動作中の WDT タイムアウト リセット
u
u
1
u
u
u
u
u
アイドルモード中の WDT タイムアウト リセット
u
u
1
u
1(1)
u
u
u
1
(1)
u
u
u
u
u
u
(1))
u
u
u
u
(1)
u
u
u
u
スリープモード中の WDT タイムアウト リセット
割り込みによるアイドルモードからの復帰
割り込みによるスリープモードからの復帰
凡例 :
Note 1:
u
ベクタ
u
u
u
u
u
1
1
1
u = ビットは変更されない
SLEEP および IDLE ビットの状態は、直前に実行された WAIT 命令によって決まります。
7.4.1
特殊機能レジスタ (SFR) のリセット状態
PIC32 の CPU と周辺モジュールに関連する SFR の大部分は、デバイスリセット時に特定の値
にリセットされます。表 7-2 に示したように、リセット制御レジスタ (RCON) のリセット値は
デバイスリセットのタイプによって異なります。
7.4.2
コンフィグレーション ワードレジスタのリセット状態
どのタイプのリセットが発生しても、コンフィグレーション設定がリロードされます。POR が
発生した場合、コンフィグレーション設定をリロードする前に、コンフィグレーション ワード
レジスタの全てのビットが「1」にセットされます。その他の全てのリセットでは、リロードの
前にコンフィグレーション ワードレジスタのビットはリセットされません。このような挙動の
違いにより、デバッグモード中は、デバッグ動作の状態に影響する事なく MCLR の生成が可能
です。
リセット要因が何であれ、システムクロック (FNOSC<2:0> ビット (DEVCFG<2:0>) で指定 ) は
常にリロードされます。デバイスがコードを実行中であっても、ユーザ ソフトウェアは
OSCCON レジスタを使ってプライマリ システムクロック源を切り換える事ができます。詳細
はセクション 6.「オシレータ」(DS61112) を参照してください。
DS61118F_JP - p. 7-10
© 2012 Microchip Technology Inc.
セクション 7. リセット
RCON ステータスビットの使い方
7.4.3
システムリセット後にユーザソフトウェアで RCON レジスタを読み出す事により、リセットの
原因を特定できます。表 7-3 に、リセット フラグビットの動作の要約を示します。
Note:
次回のデバイスリセットに備えるために、RCON レジスタ内のステータスビット
は読み出し後にクリアする必要があります。
表 7-3: リセット フラグビットの動作
フラグビット (1)
ビットをセットする要因
ビットをクリアする要因
POR
ユーザ ソフトウェア
POR (RCON<0>)
BOR (RCON<1>)
POR、BOR
ユーザ ソフトウェア
EXTR (RCON<7>)
MCLR リセット
ユーザ ソフトウェア、POR、BOR
ソフトウェア リセット コマンド ユーザ ソフトウェア、POR、BOR
SWR (RCON<6>)
ユーザ ソフトウェア、POR、BOR
WDT タイムアウト
ユーザ ソフトウェア、POR、BOR
SLEEP (RCON<3>)
WAIT 命令
ユーザ ソフトウェア、POR、BOR
IDLE (RCON<2>)
WAIT 命令
ユーザ ソフトウェア、POR、BOR
Note 1:
ユーザ ソフトウェアは全てのリセット フラグビットをセット / クリアできます。
7.4.4
デバイスリセットからコード実行開始までの遅延時間
リセットイベントの終了からデバイスが実際にコード実行を開始するまでの遅延時間は、主に
2 つの要因 ( リセットのタイプとリセット後に使用するシステムクロック源 ) によって決まりま
す。各タイプのデバイスリセットにおけるコード実行開始までの遅延時間を表 7-4 に示します。
これらの遅延の特性値については、各デバイスデータシートの「電気的特性」を参照してくだ
さい。
表 7-4: 各タイプのデバイスリセットにおけるコード実行開始までの遅延時間
起動遅延 (1,2,3,4)
システム
クロック
遅延 (1,5,6)
FSCM
遅延 (1,7)
POR
EC, FRC, FRCDIV, LPRC
(TPU または TPWRT) + TSYSDLY
—
—
ECPLL, FRCPLL
(TPU または TPWRT) + TSYSDLY
TLOCK
TFSCM
XT, HS, SOSC
(TPU または TPWRT) + TSYSDLY
TOST
TFSCM
BOR
XTPLL, HSPLL
(TPU または TPWRT) + TSYSDLY TOST+TLOCK
TSYSDLY
—
クロック源
EC, FRC, FRCDIV, LPRC
MCLR,
CMR,
SWR,
WDTO
Note 1:
2:
3:
4:
5:
6:
7:
© 2012 Microchip Technology Inc.
TFSCM
—
ECPLL, FRCPLL
TSYSDLY
TLOCK
TFSCM
XT, HS, SOSC
TSYSDLY
TOST
TFSCM
XTPLL
TSYSDLY
TOST+TLOCK
TFSCM
全てのクロック
TSYSDLY
—
—
パラメータの仕様値については、各デバイス データシートの「電気的特性」を参
照してください。
TPU = 内蔵電圧レギュレータを有効にした場合の起動時間
TPWRT = 内蔵電圧レギュレータを無効にした場合の起動時間 ( パワーアップ タイマ )
TSYSDLY = デバイス コンフィグレーション ヒューズのリロードに要する時間
+ 8 SYSCLK サイクル
TOST = オシレータ起動タイマ
TLOCK = PLL ロック時間
TFSCM = フェイルセーフ クロック監視遅延
DS61118F_JP - p. 7-11
リセット
コンフィグレーション不一致
WDTO (RCON<4>)
CMR (RCON<9>)
リセット
タイプ
7
PIC32 ファミリ リファレンス マニュアル
7.5
関連アプリケーション ノート
本セクションに関連するアプリケーション ノートの一覧を以下に記載します。一部のアプリ
ケーション ノートは PIC32 デバイスファミリ向けではありません。ただし、概念は共通して
おり、変更が必要であったり制限事項が存在するものの利用が可能です。リセットに関連する
最新のアプリケーション ノートは下記の通りです。
タイトル
アプリケーション ノート番号
現在、関連するアプリケーション ノートはありません。
Note:
DS61118F_JP - p. 7-12
N/A
PIC32 デバイス ファミリ関連のアプリケーション ノートとサンプルコードはマ
イクロチップ社のウェブサイト (www.microchip.com) でご覧になれます。
© 2012 Microchip Technology Inc.
セクション 7. リセット
7.6
改訂履歴
リビジョン A (2007 年 9 月 )
• 本書の初版
リビジョン B (2007 年 10 月 )
• 機密扱いのステータスを解除して内容を更新
リビジョン C (2008 年 4 月 )
• ステータスを「Preliminary」に変更、U-0 を r-x に変更
7
リビジョン D (2008 年 6 月 )
リビジョン E (2008 年 7 月 )
• 7.3.2/7.3.3/7.3.6/7.4.4. の内容を変更
リビジョン F (2012 年 9 月 )
このリビジョンでの変更内容は以下の通りです。
• 補足文書に関する情報を記載した注釈を本書の冒頭に追加
• 本書のヘッダを「PIC32MX ファミリ リファレンス マニュアル」から「PIC32 ファミリ リ
ファレンス マニュアル」に変更
• 「PIC32MX」を全て「PIC32」に変更
• 下記のクリア、セット、反転レジスタに関する説明を削除 :
- RCONCLR: リセット制御クリアレジスタ
- RCONSET: リセット制御セットレジスタ
- RONINV: リセット制御反転レジスタ
- RSWRSTCLR: ソフトウェア リセット クリアレジスタ
- RSWRSTSET: ソフトウェア リセット セットレジスタ
- RSWRSTINV: ソフトウェア リセット 反転レジスタ
• レジスタ 7-1 とレジスタ 7-2 にセット、クリア、反転レジスタに関する Note を追加
• レジスタ 7-1 とレジスタ 7-2 内の「r-x」を全て「U-0」に更新
• 例 7-1 を更新
• 7.5「設計のヒント」を 7.3.8「デバイスリセット要因の特定」に移動し、表題を変更
• 表現および体裁の変更等、本書全体の細部を修正
© 2012 Microchip Technology Inc.
DS61118F_JP - p. 7-13
リセット
• 図 7-2 を変更、図 7-3 を削除、7.3.2/7.3.3/7.3.4 の内容を変更、表 7-4 を変更、図 7-2 を削除、
予約済みビットを「Maintain as」から「Write」に変更
PIC32 ファミリ リファレンス マニュアル
NOTE:
DS61118F_JP - p. 7-14
© 2012 Microchip Technology Inc.
マイクロチップ社製デバイスのコード保護機能に関して次の点にご注意ください。
•
マイクロチップ社製品は、該当するマイクロチップ社データシートに記載の仕様を満たしています。
•
マイクロチップ社では、通常の条件ならびに仕様に従って使用した場合、マイクロチップ社製品のセキュリティ レベルは、現
在市場に流通している同種製品の中でも最も高度であると考えています。
•
しかし、コード保護機能を解除するための不正かつ違法な方法が存在する事もまた事実です。弊社の理解ではこうした手法は、
マイクロチップ社データシートにある動作仕様書以外の方法でマイクロチップ社製品を使用する事になります。このような行
為は知的所有権の侵害に該当する可能性が非常に高いと言えます。
•
マイクロチップ社は、コードの保全性に懸念を抱くお客様と連携し、対応策に取り組んでいきます。
•
マイクロチップ社を含む全ての半導体メーカーで、自社のコードのセキュリティを完全に保証できる企業はありません。コー
ド保護機能とは、マイクロチップ社が製品を「解読不能」として保証するものではありません。
コード保護機能は常に進歩しています。マイクロチップ社では、常に製品のコード保護機能の改善に取り組んでいます。マイクロ
チップ社のコード保護機能の侵害は、デジタル ミレニアム著作権法に違反します。そのような行為によってソフトウェアまたはそ
の他の著作物に不正なアクセスを受けた場合は、デジタル ミレニアム著作権法の定めるところにより損害賠償訴訟を起こす権利が
本書に記載されているデバイス アプリケーション等に関する
情報は、ユーザの便宜のためにのみ提供されているものであ
り、更新によって無効とされる事があります。お客様のアプ
リケーションが仕様を満たす事を保証する責任は、お客様に
あります。マイクロチップ社は、明示的、暗黙的、書面、口
頭、法定のいずれであるかを問わず、本書に記載されている
情報に関して、状態、品質、性能、商品性、特定目的への適
合性をはじめとする、いかなる類の表明も保証も行いません。
マイクロチップ社は、本書の情報およびその使用に起因する
一切の責任を否認します。マイクロチップ社の明示的な書面
による承認なしに、生命維持装置あるいは生命安全用途にマ
イクロチップ社の製品を使用する事は全て購入者のリスクと
し、また購入者はこれによって発生したあらゆる損害、クレー
ム、訴訟、費用に関して、マイクロチップ社は擁護され、免
責され、損害をうけない事に同意するものとします。暗黙的
あるいは明示的を問わず、マイクロチップ社が知的財産権を
保有しているライセンスは一切譲渡されません。
商標
マイクロチップ社の名称とMicrochipロゴ、
dsPIC、FlashFlex、
KEELOQ、KEELOQ ロゴ、MPLAB、PIC、PICmicro、PICSTART、
PIC32 ロゴ、rfPIC、SST、SST ロゴ、SuperFlash、UNI/O は、
米国およびその他の国におけるマイクロチップ・テクノロ
ジー社の登録商標です。
FilterLab、Hampshire、HI-TECH C、Linear Active Thermistor、
MTP、SEEVAL、Embedded Control Solutions Company は、
米国におけるマイクロチップ・テクノロジー社の登録商標で
す。
Silicon Storage Technology は、その他の国におけるマイクロ
チップ・テクノロジー社の登録商標です。
Analog-for-the-Digital Age、Application Maestro、BodyCom、
chipKIT、chipKIT
ロ ゴ、CodeGuard、dsPICDEM、
d s P I C D E M . n e t 、d s P I C w o r k s 、d s S P E A K 、E C A N 、
ECONOMONITOR、FanSense、HI-TIDE、In-Circuit Serial
Programming、ICSP、Mindi、MiWi、MPASM、MPF、MPLAB
認 証ロ ゴ、MPLIB、MPLINK、mTouch、Omniscient Code
Generation、PICC、PICC-18、PICDEM、PICDEM.net、PICkit、
PICtail、REAL ICE、rfLAB、Select Mode、SQI、Serial Quad
I/O、Total Endurance、TSHARC、UniWinDriver、WiperLock、
ZENA、Z-Scale は、米国およびその他の国におけるマイクロ
チップ・テクノロジー社の登録商標です。
SQTP は、米国におけるマイクロチップ・テクノロジー社の
サービスマークです。
GestICとULPPは、その他の国におけるMicrochip Technology
Germany II GmbH & Co. & KG ( マイクロチップ・テクノロ
ジー社の子会社 ) の登録商標です。
その他、本書に記載されている商標は各社に帰属します。
©2012, Microchip Technology Incorporated, Printed in the
U.S.A., All Rights Reserved.
ISBN: 978-1-62076-550-0
QUALITY MANAGEMENT SYSTEM CERTIFIED BY DNV == ISO/TS 16949 == © 2012 Microchip Technology Inc.
マイクロチップ社では、Chandler および Tempe ( アリゾナ州 )、
Gresham ( オレゴン州 ) の本部、設計部およびウェハー製造工場そし
てカリフォルニア州とインドのデザインセンターが
ISO/TS16949:2009 認証を取得しています。マイクロチップ社の品質システ
ム プロセスおよび手順は、PIC® MCU および dsPIC® DSC、KEELOQ®
コード ホッピング デバイス、シリアル EEPROM、マイクロペリフェ
ラル、不揮発性メモリ、アナログ製品に採用されています。さらに、
開発システムの設計と製造に関するマイクロチップ社の品質システ
ムは ISO 9001:2000 認証を取得しています。
DS61118F_JP - p. 7-15
各国の営業所とサービス
北米
アジア / 太平洋
アジア / 太平洋
ヨーロッパ
本社
2355 West Chandler Blvd.
Chandler, AZ 85224-6199
Tel:480-792-7200
Fax:480-792-7277
技術サポート :
http://www.microchip.com/
support
URL:
www.microchip.com
アジア太平洋支社
Suites 3707-14, 37th Floor
Tower 6, The Gateway
Harbour City, Kowloon
Hong Kong
Tel:852-2401-1200
インド - バンガロール
Tel:91-80-3090-4444
Fax:91-80-3090-4123
オーストリア - ヴェルス
Tel:43-7242-2244-39
インド - ニューデリー
Tel:91-11-4160-8631
Fax:91-11-4160-8632
デンマーク - コペンハーゲン
Tel:45-4450-2828
Fax:45-4485-2829
Fax:852-2401-3431
インド - プネ
Tel:91-20-2566-1512
Fax:91-20-2566-1513
フランス - パリ
Tel:33-1-69-53-63-20
Fax:33-1-69-30-90-79
アトランタ
Duluth, GA
Tel:678-957-9614
Fax:678-957-1455
中国 - 北京
Tel:86-10-8569-7000
Fax:86-10-8528-2104
日本 - 大阪
Tel:81-66-152-7160
Fax:81-66-152-9310
ドイツ - ミュンヘン
Tel:49-89-627-144-0
Fax:49-89-627-144-44
日本 - 横浜
Tel:81-45-471- 6166
Fax:81-45-471-6122
イタリア - ミラノ
Tel:39-0331-742611
Fax:39-0331-466781
韓国 - 大邱
Tel:82-53-744-4301
Fax:82-53-744-4302
オランダ - ドリューネン
Tel:31-416-690399
Fax:31-416-690340
中国 - 杭州
Tel:86-571-2819-3187
Fax:86-571-2819-3189
韓国 - ソウル
Tel:82-2-554-7200
Fax:82-2-558-5932 または
82-2-558-5934
スペイン - マドリッド
Tel:34-91-708-08-90
Fax:34-91-708-08-91
中国 - 香港 SAR
Tel:852-2401-1200
Fax:852-2401-3431
マレーシア - クアラルンプール
Tel:60-3-6201-9857
Fax:60-3-6201-9859
中国 - 南京
Tel:86-25-8473-2460
Fax:86-25-8473-2470
マレーシア - ペナン
Tel:60-4-227-8870
Fax:60-4-227-4068
中国 - 青島
Tel:86-532-8502-7355
Fax:86-532-8502-7205
フィリピン - マニラ
Tel:63-2-634-9065
Fax:63-2-634-9069
中国 - 上海
Tel:86-21-5407-5533
Fax:86-21-5407-5066
シンガポール
Tel:65-6334-8870
Fax:65-6334-8850
中国 - 瀋陽
Tel:86-24-2334-2829
Fax:86-24-2334-2393
台湾 - 新竹
Tel:886-3-5778-366
Fax:886-3-5770-955
中国 - 深圳
Tel:86-755-8203-2660
Fax:86-755-8203-1760
台湾 - 高雄
Tel:886-7-213-7828
Fax:886-7-330-9305
中国 - 武漢
Tel:86-27-5980-5300
Fax:86-27-5980-5118
台湾 - 台北
Tel:886-2-2508-8600
Fax:886-2-2508-0102
中国 - 西安
Tel:86-29-8833-7252
Fax:86-29-8833-7256
タイ - バンコク
Tel:66-2-694-1351
Fax:66-2-694-1350
ボストン
Westborough, MA
Tel:774-760-0087
Fax:774-760-0088
シカゴ
Itasca, IL
Tel:630-285-0071
Fax:630-285-0075
クリーブランド
Independence, OH
Tel:216-447-0464
Fax:216-447-0643
ダラス
Addison, TX
Tel:972-818-7423
Fax:972-818-2924
デトロイト
Farmington Hills, MI
Tel:248-538-2250
Fax:248-538-2260
インディアナポリス
Noblesville, IN
Tel:317-773-8323
Fax:317-773-5453
ロサンゼルス
Mission Viejo, CA
Tel:949-462-9523
Fax:949-462-9608
サンタクララ
Santa Clara, CA
Tel:408-961-6444
Fax:408-961-6445
トロント
Mississauga, Ontario,
Canada
Tel:905-673-0699
Fax:905-673-6509
オーストラリア - シドニー
Tel:61-2-9868-6733
Fax:61-2-9868-6755
中国 - 成都
Tel:86-28-8665-5511
Fax:86-28-8665-7889
中国 - 重慶
Tel:86-23-8980-9588
Fax:86-23-8980-9500
Fax:43-7242-2244-393
イギリス - ウォーキンガム
Tel:44-118-921-5869
Fax:44-118-921-5820
中国 - 厦門
Tel:86-592-2388138
Fax:86-592-2388130
中国 - 珠海
Tel:86-756-3210040
Fax:86-756-3210049
10/26/12
DS61118F_JP - p. 7-16
© 2012 Microchip Technology Inc.