Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
注意 : この日本語版文書は参考資料としてご利用ください。最新情報は必ずオリジナルの英語版をご参照願います。
セクション 40. ブラウンアウト リセット等のリセット
プログラマブル
BO
R等のリセット
40
ハイライト
本セクションには下記の主要項目を記載しています。
40.1 はじめに ...................................................................................................................... 40-240.2 リセット時のクロック源の選択 .................................................................................. 40-540.3 パワーオン リセット (POR) ....................................................................................... 40-540.4 MCLR リセット .......................................................................................................... 40-740.5 ソフトウェア RESET命令 (SWR) .............................................................................. 40-740.6 ウォッチドッグ タイマリセット (WDTR) .................................................................. 40-740.7 ブラウンアウト リセット (BOR) ................................................................................ 40-840.8 トラップ衝突リセット (TRAPR) .............................................................................. 40-1040.9 不正オペコードリセット (IOPUWR) ........................................................................ 40-1040.10 未初期化ワーキング レジスタリセット .................................................................... 40-1040.11 レジスタとステータスビット値 ................................................................................ 40-1140.12 デバイスリセットからコード実行開始までの遅延時間 ............................................ 40-1340.13 特殊機能レジスタ (SFR) のリセット状態 ................................................................. 40-1740.14 電気的仕様 ................................................................................................................ 40-1840.15 設計のヒント ............................................................................................................ 40-2040.16 レジスタマップ ......................................................................................................... 40-2140.17 関連アプリケーション ノート .................................................................................. 40-2240.18 改訂履歴 .................................................................................................................... 40-23
© 2009 Microchip Technology Inc. DS39728A_JP - p. 40-1
PIC24F ファミリ リファレンス マニュアル
40.1 はじめに
リセット モジュールは全てのリセット要因を集約し、デバイスのマスタリセット信号(SYSRST) を制御します。下記はデバイスリセット要因の一覧です。
• POR: パワーオン リセット • MCLR: ピンリセット • SWR: RESET命令
• WDTR: ウォッチドッグ タイマ リセット
• BOR: ブラウンアウト リセット
• TRAPR: トラップ衝突リセット
• IOPUWR: 不正オペコード / 未初期化ワーキング レジスタリセット
図 40-1 に、リセット モジュールの概略ブロック図を示します。全てのリセット要因は発生時に SYSRST 信号をアクティブにします。この際、CPU と周辺モジュールに関連する各種レジスタは既知の「リセット状態」へ強制的にリセットされます。ほとんどのレジスタはリセットに影響されません。すなわち、パワーオン リセット (POR) 以外のリセットでは状態は変化せず、パワーオン リセット (POR) 時の状態は未知です。
全てのタイプのデバイスリセットは、発生時に RCON レジスタ内の対応するステータスビットをセットし、発生したリセットのタイプを示します ( レジスタ 40-1 参照 )。パワーオン リセットは、BOR および POR ビット (RCON<1:0>) 以外の全てのビットをクリアします。ユーザ はコード実行中にいつでも任意のビットをセット / クリアできます。RCON ビットはステータスビットとしてのみ機能します。ソフトウェアでいずれのリセット ステータスビットをセットしても、デバイスリセットは発生しません。
RCON レジスタは、ウォッチドッグ タイマ (WDT) とデバイスの省電力状態に関連するビットも格納します。これらのビットの詳細はセクション 40.11.1「RCON ステータスビットの使用」を参照してください。
図 40-1: リセットシステムのブロック図
Note: レジスタのリセット状態の詳細については、本ファミリ リファレンス マニュアルの各周辺モジュールまたは CPU のセクションを参照してください。
MCLR
Vdd
Vdd RiseDetect
POR
Sleep or Idle
Brown-outReset
RESETInstruction
WDTModule
Glitch Filter
BOR
Trap Conflict
Illegal Opcode
Uninitialized W Register
SYSRST
Boren<1:0>
00
0110
11
0
SBOREN (RCON<13>)SLEEP
1
DS39728A_JP - p. 40-2 © 2009 Microchip Technology Inc.
セクション 40. プログラマブル BOR 等のリセットプログラマブル
B
OR等のリセット
40
レジスタ 40-1: RCON: リセット制御レジスタ (1)
R/W-0 R/W-0 R/W-0 U-0 U-0 R/C-0 U-0 R/W-0
TRAPR IOPUWR SBOREN — — DPSLP — PMSLPbit 15 bit 8
R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-1 R/W-1
EXTR SWR SWDTEN(2) WDTO SLEEP IDLE BOR PORbit 7 bit 0
凡例 : C = クリア可能ビット
R = 読み出し可能ビット W = 書き込み可能ビット U = 未実装ビット、「0」として読み出し
-n = POR 時の値 1 = ビットをセット 0 = ビットをクリア x = ビットは未知
bit 15 TRAPR: トラップリセット フラグビット
1 = トラップ衝突リセットが発生した0 = トラップ衝突リセットは発生していない
bit 14 IOPUWR: 不正オペコードまたは未初期化ワーキング レジスタ アクセスによるリセット フラグビット
1 = 不正オペコードを検出した、またはアドレスモードが不正、または未初期化ワーキング レジスタをアドレスポインタとして使用したためにリセットが発生した
0 = 上記のリセットは発生していないbit 13 SBOREN: BOR のソフトウェア イネーブル / ディセーブル ビット
1 = BOR はソフトウェアで有効化されている
0 = BOR はソフトウェアで無効化されている
bit 12-11 未実装 :「0」として読み出し
bit 10 DPSLP: ディープスリープ モード フラグビット
1 = ディープスリープが発生した0 = ディープスリープは発生していない
bit 9 未実装 :「0」として読み出し
bit 8 PMSLP: スリープ / アイドル時プログラムメモリ電源ビット
1 = スリープ / アイドル中もプログラムメモリのバイアス電圧を維持する0 = スリープ / アイドル中はプログラムメモリのバイアス電圧を維持しない
bit 7 EXTR: 外部リセット (MCLR) ピンビット
1 = マスタクリア ( ピン ) リセットが発生した
0 = マスタクリア ( ピン ) リセットは発生していない
bit 6 SWR: ソフトウェア リセット ( 命令 ) フラグビット
1 = RESET命令が実行された0 = RESET命令は実行されていない
bit 5 SWDTEN: WDT ビットのソフトウェア イネーブル / ディセーブル ビット (2)
1 = WDT は有効0 = WDT は無効
bit 4 WDTO: ウォッチドッグ タイマ タイムアウト フラグビット
1 = WDT タイムアウトが発生した0 = WDT タイムアウトは発生していない
Note 1: 全てのリセット ステータスビットはソフトウェアでセット / クリアできます。これらのステータスビットをソフトウェアでセットしても、デバイスリセットは発生しません。
2: FWDTEN コンフィグレーション ビットが「1」( 未プログラム状態 ) の場合、SWDTEN ビットの設定に関係なく WDT は常に有効です。
© 2009 Microchip Technology Inc. DS39728A_JP - p. 40-3
PIC24F ファミリ リファレンス マニュアル
bit 3 SLEEP: スリープからのウェイクアップ フラグビット
1 = デバイスはスリープモードからウェイクアップした0 = デバイスはスリープモードがウェイクアップしたのではない
bit 2 IDLE: アイドルからのウェイクアップ フラグビット
1 = デバイスはアイドルモードからウェイクアップした0 = デバイスはアイドルモードからウェイクアップしたのではない
bit 1 BOR: ブラウンアウト リセット フラグビット
1 = ブラウンアウト リセットが発生した (BOR ビットはパワーオンリセット後にもセットされます )0 = ブラウンアウト リセットは発生していない
bit 0 POR: パワーオン リセット フラグビット
1 = パワーオン リセットが発生した0 = パワーオン リセットは発生していない
レジスタ 40-1: RCON: リセット制御レジスタ (1)
Note 1: 全てのリセット ステータスビットはソフトウェアでセット / クリアできます。これらのステータスビットをソフトウェアでセットしても、デバイスリセットは発生しません。
2: FWDTEN コンフィグレーション ビットが「1」( 未プログラム状態 ) の場合、SWDTEN ビットの設定に関係なく WDT は常に有効です。
DS39728A_JP - p. 40-4 © 2009 Microchip Technology Inc.
セクション 40. プログラマブル BOR 等のリセットプログラマブル
B
OR等のリセット
40
40.2 リセット時のクロック源の選択
クロック切り換えが有効 (OSWEN) な場合、デバイスリセット時のシステムクロック源の選択は表 40-1 に従います。クロック切り換えが無効な場合、システムクロック源は常にオシレータコンフィグレーション ビットの設定に従って選択されます。詳細はセクション 6.「オシレータ」を参照してください。
表 40-1: 各種リセット時のクロック源の選択 ( クロック切り換え有効時 )
40.3 パワーオン リセット (POR)POR は、チップの正常動作を確保するためにコア電源の電圧レベルを監視します。POR は 2つのしきい値電圧を使用します。1 つはデバイスしきい値電圧 VPOR です。電源電圧がこのしきい値電圧に達すると、POR モジュールが動作可能となります。もう 1 つは POR 回路しきい値電圧です。電源電圧がこのしきい値電圧に達するとパワーオン イベントが発生し、POR モジュールは休止して電流消費を最小限に抑えます。
パワーオン イベントは、VDD が POR 回路しきい値電圧に達した時に内部 POR パルスを生成します。POR パルスを生成するには、デバイスの電源電圧特性が初期電圧と立ち上がり速度の仕様要件を満たしている必要があります。VDD が再度 VPOR よりも低下しない限り、新たにPOR を開始する事はできません。VPOR と VDD 立ち上がり速度の仕様詳細は、各デバイス データシート内の「電気的特性」を参照してください。
POR パルスは POR タイマをリセットし、デバイスをリセット状態にします。POR はオシレータ コンフィグレーション ビットの設定に従ってデバイスクロック源を選択します。
POR パルスを生成後、POR 回路は短い遅延時間 TPOR ( 公称値 5 μs) を適用してデバイスのバイアス回路を安定させます。対応するコンフィグレーション ワードでパワーアップ タイマを有効にした場合、TPOR 経過後に遅延時間 TPWRT が追加されます。
パワーアップ タイマ (PWRT) が有効な場合、パワーダウン後にデバイスが動作を再開する前に必ず TPWRT が適用されます (PWRTはデバイス起動時に公称値 64 msの遅延時間を追加します)。このようにして PWRT は起動シーケンスを遅延させ、コアが動作を開始する前に VDD 電圧を安定させます。
パワーオン イベントは、BOR および POR ステータスビット (RCON<1:0>) をセットします。全ての遅延時間が経過した後にシステムクロックの供給が開始され、コード実行が可能となります。
遅延パラメータの値についてはセクション 40.14「電気的仕様」を参照してください。
リセットタイプ クロック源の選択に使用するビット
POR オシレータ コンフィグレーション ビットFNOSC<2:0>BOR
MCLR
COSC 制御ビット OSCCON<14:12>
WDTR
SWR
TRAPR
IOPUWR
© 2009 Microchip Technology Inc. DS39728A_JP - p. 40-5
PIC24F ファミリ リファレンス マニュアル
図 40-2: VDD 立ち上がり時の POR モジュールのタイミング シーケンス
Note: デバイスがリセット状態を終了して通常動作を開始する際に、デバイスの動作パラメータ ( 電圧、周波数、温度等 ) が動作レンジ内に入っていないと、デバイスが正常に機能しない可能性があります。ユーザは、動作開始時に全ての動作パラメータが仕様範囲内に入るように、電源投入から SYSRST が非アクティブになるまでの間に十分な遅延時間を確保する必要があります。
TPOR
VDD VPOR
POR 回路しきい値電圧
SYSRST
TPWRT(1)
内部パワーオン リセット パルスが発生した時点で POR 遅延時間 Tpor のカウントを開始
POR 回路は Vpor 時に初期化される
Time
Tpwrt 経過後にシステムリセット
システムクロックの供給が開始され、コード実行を開始
POR
PWRTEN
System Clock
Note 1: TPWRT はパワーアップ タイマが有効な場合にのみ適用されます。
2: この遅延時間は使用オシレータ、周波数の選択、VDD によって異なります。この遅延時間は、図中の灰色の
領域内(破線矢印)内の任意位置で適用可能です。どの遅延時間が適用されるかは表40-5を参照してください。
TOST/TFRC/TLPRC(2)
が解除される
DS39728A_JP - p. 40-6 © 2009 Microchip Technology Inc.
セクション 40. プログラマブル BOR 等のリセットプログラマブル
B
OR等のリセット
40
40.3.1 POR 回路の使用
内蔵 POR 回路の利点を生かすために、通常 MCLR ピンは直接 VDD へ接続します。これにより、POR 遅延を生成するための外付け RC 部品を省略できます。VDD の立ち上がり時間は仕様を満たす必要があります。詳細は各デバイス データシート内の「電気的特性」を参照してください。
アプリケーションによっては、MCLR ピンと VDD の間に抵抗を挿入する必要があります。この抵抗は、MCLR ピンをノイズの多い電源からデカップリングするために使用します。
図 40-3 に、立ち上がりの遅い電源向けの外付け POR 回路の例を示します。このような外付けPOR 回路は、デバイスがリセット状態を終了するまでに VDD が有効な動作レンジまで立ち上がらない場合にのみ必要です。ダイオード (D) は、VDD のパワーダウン時にコンデンサの放電を促進します。
図 40-3: 外付け POR 回路 (VDD の立ち上がりが遅い場合に使用 )
40.4 MCLR リセット
MCLRピンに最小幅 (SY10)よりも長いLOWパルスを入力すると、デバイスは非同期にSYSRSTを生成します ( セクション 40.14「電気的仕様」参照 )。MCLR ピンがリリースされると、SYSRSTも解除されます。リセットベクタのフェッチは、SYSRST の解除から遅延なく開始されます。プロセッサは、MCLR リセットが発生する以前に使用していたクロック源を使用し続けます。MCLR リセットの発生を示すために、 EXTR ステータスビット (RCON<7>) がセットされます。
40.5 ソフトウェア RESET命令 (SWR)RESET命令を実行すると、デバイスは SYSRST を生成します。このリセットはクロックを再初期化しません。RESET命令実行前に動作していたクロック源は動作を続けます。次の命令サイクルで SYSRST が解除され、リセットベクタのフェッチが遅延なく発生します。
40.6 ウォッチドッグ タイマリセット (WDTR)ウォッチドッグ タイマのタイムアウトが発生すると、デバイスは非同期で SYSRST を生成します。クロック源は変更されません。スリープまたはアイドルモード中の WDT タイムアウトは、プロセッサをウェイクアップするだけでリセットしない事に注意してください。詳細はセクション 9.「ウォッチドッグ タイマ (WDT)」を参照してください。
Note 1: R における電圧降下が MCLR ピンの VIH 仕様に違反しないように、R の値は十分に小さ
くする必要があります。
2: R1 は、静電放電 (ESD) や電気的オーバーストレス (EOS) による MCLR/VPP ピンを破壊
するようなイベントの発生時に、外付けコンデンサから MCLR へ流れる電流を制限しま
す。
R1(2)
MCLR
PIC24F
R(1)D
C
VDD VDD
© 2009 Microchip Technology Inc. DS39728A_JP - p. 40-7
PIC24F ファミリ リファレンス マニュアル
40.7 ブラウンアウト リセット (BOR)PIC24F デバイスの内蔵 BOR 回路は、各種のコンフィグレーションと省電力オプションを備えます。BORはデバイス コンフィグレーション ビットBORV<1:0> (FPOR<6:5>)とBOREN<1:0>(FPOR<1:0>) を使用して設定できます。BOR は表 40-2 に示す 4 つのコンフィグレーションを備えます。
表 40-2: BOR コンフィグレーション
BOR しきい値は BORV<1:0> ビットで設定します。BOR が有効な場合 (BOREN<1:0> が「00」以外の場合 )、VDD が設定されたしきい値を下回るとデバイスがリセットされます。デバイスは、VDD がしきい値を上回るまでブラウンアウト リセット状態を維持します。
PWRT が有効な場合、VDD がしきい値を上回ると PWRT が動作を開始します。PWRT の動作中に VDD がしきい値を下回った場合、遅延時間 TPWRT が追加され、デバイスはその間リセット状態を維持します。デバイスはブラウンアウト リセットに戻り、PWRT が初期化されます。VDD がしきい値を上回ると、PWRT は遅延時間を追加します。
BOR と PWRT は別々に設定します。BOR だけを有効にしても、パワーアップ タイマ (PWRT)は自動的に有効化されません。
BOREN<1:0> = 01の場合、BOR はソフトウェアで有効化 / 無効化できます。これには制御ビット SBOREN (RCON<13>) を使用します。SBOREN ビットをセットすると BOR が有効化され、上記のように動作します。SBOREN ビットをクリアすると、BOR は完全に無効化されます。SBOREN ビットはこのモードでのみ機能します。これ以外では「0」として読み出されます。
BOR をソフトウェアで制御する事により、デバイスを再プログラミングする事なく、環境条件に合わせて柔軟にアプリケーションを最適化できます。また、BOR が消費する電流増加分も最適化できます。通常 BOR の消費電流は微少ですが、低消費電力アプリケーションでは影響を無視できなくなる場合があります。
40.7.1 BOR の検出
BOR を有効にした場合、ブラウンアウト リセットだけでなくパワーオン リセットの発生時にも、BOR ビット (RCON<1>) が「1」にセットされます。このため、BOR ビットを読み出すだけでは、ブラウンアウト リセットの発生を確実に検出する事はできません。BOR を確実に検出するには、POR ビットと BOR ビットの両方をチェックする必要があります。この方法は、パワーオン リセットイベント直後にソフトウェアで POR ビットと BOR ビットを「0」にリセットするという事を前提とします。つまり、BOR ビットが「1」で POR ビットが「0」であれば、ブラウンアウト リセットが発生したと確実に判定できます。
BORコンフィグレーション
BOREN<1:0>
SBOREN (RCON<13>)の設定
ブラウンアウト リセット (BOR) 動作
0 0 無効 ブラウンアウト リセットは無効(SBOREN ビットは無視 )
0 1 有効 ブラウンアウト リセットの有効 / 無効は SBOREN ビットの設定に従う
1 0 無効 ブラウンアウト リセットはデバイスが動作時にのみ有効、スリープ時には無効 (SBOREN ビットは無視 )
1 1 無効 ブラウンアウト リセットはハードウェアで有効化 (SBOREN ビットは無視 )
Note: BORをソフトウェアで制御する場合でも、BORリセット電圧レベルはBORV<1:0>コンフィグレーション ビット ( 表 40-3 参照 ) で設定する必要があります。このビットはソフトウェアで変更できません。
Note: デバイスがディープスリープ モードから復帰した場合にも、POR ビットと BORビットの両方がセットされます。
DS39728A_JP - p. 40-8 © 2009 Microchip Technology Inc.
セクション 40. プログラマブル BOR 等のリセットプログラマブル
B
OR等のリセット
40
40.7.2 スリープモード時の BOR の無効化
BOREN<1:0> = 10の場合、BOR はハードウェアで制御され、上述のように動作します。この設定では、デバイスがスリープモードに移行すると、BOR は自動的に無効化されます。デバイスがスリープモードから他の動作モードへ戻る際に BOR は自動的に有効化されます。
このモードを使用すると、デバイスが BOR 保護を最も必要とするコード実行時にブラウンアウト状態からの回復が可能になると同時に、スリープモード時には BOR による微小な電流消費を節約できます。
40.7.3 低消費電力 BOR (LPBOR)BOR モジュールとは異なり、LPBOR モジュールは単一のトリップポイントで動作します。このモジュールは、ディープスリープ モード時の BOR/POR 保護を主な目的としますが、必要に応じてディープスリープ モード以外でも使用できます。このモジュールは消費電流の低減を重視して設計されているため、精度は安定しません。
• LPBOR は、VDD が POR しきい値を下回った場合にデバイスを確実にリセットするためにPOR を補強します。LPBOR トリップポイントは約 2.0 V です。
• LPBOR を選択するには、FPOR コンフィグレーション レジスタ (BORV<1:0>) を「00」に設定します。
図 40-4: ブラウンアウト挙動
Vdd
SYSRST
Vbor
Vdd
SYSRST
Vbor
Vdd
SYSRST
Vbor
TPWRT が経過する前に VDD のディップが再発した
Tpwrt (1)
Tpwrt(1)
Tpwrt(1)
Note 1: TPWRT はパワーアップタイマを有効にした場合にのみ BOR イベント後に適用されます。
© 2009 Microchip Technology Inc. DS39728A_JP - p. 40-9
PIC24F ファミリ リファレンス マニュアル
40.8 トラップ衝突リセット (TRAPR)トラップ衝突リセット (TRAPR) は、ハードトラップとソフトトラップが同時に発生した時に発生します。この時、TRAPR ステータスビット (RCON<15>) がセットされます。詳細はセクション 8.「割り込み」を参照してください。
40.9 不正オペコードリセット (IOPUWR)デバイスがプログラムメモリからフェッチした不正オペコード値を実行すると、デバイスリセットが発生します。不正オペコード値によってデバイスリセットが発生すると、IOPUWR ステータスビット (RCON<14>) がセットされます。
不正オペコードリセット機能は、デバイスがプログラムメモリの定数データ格納セクションを実行する事を防ぎます。不正オペコードリセットを有効に利用するには、各プログラムメモリセクションの下位 16 ビットだけを使用してデータ値を保存し、上位 8 ビットには不正オペコード値である 3Fh を書き込む必要があります。
40.10 未初期化ワーキング レジスタリセット
ワーキング レジスタ配列 (W15 を除く ) は全てのリセット発生時にクリアされます。その後に書き込まれるまで、そのワーキング レジスタは未初期化状態とみなされます。未初期化レジスタをアドレスポインタとして使用するとデバイスがリセットされ、 IOPUWRステータスビット(RCON<14>) がセットされます。
DS39728A_JP - p. 40-10 © 2009 Microchip Technology Inc.
セクション 40. プログラマブル BOR 等のリセットプログラマブル
B
OR等のリセット
40
40.11 レジスタとステータスビット値
RCON レジスタの各ステータスビットは、表 40-3 に示すように各種リセット状況に応じて個別にセット / クリアされます。
表 40-3: RCON レジスタの各ステータスビットとリセット条件の対応
条件プログラム カウンタ TR
APR
IOPU
WR
DPS
LP
EXTR
SWR
WD
TO
SLEE
P
IDLE
BO
R
POR
STK
EPR
パワーオン リセット 000000h 0 0 0 0 0 0 0 0 1 1 0
RESET命令 000000h 0 0 0 0 1 0 0 0 0 0 0
ブラウンアウト リセット 000000h 0 0 0 0 0 0 0 0 1 0 0
通常動作時の MCLR 000000h 0 0 0 1 0 0 0 0 0 0 0
アイドルモード時の MCLR 000000h 0 0 0 1 0 0 0 1 0 0 0
スリープモード時の MCLR 000000h 0 0 0 1 0 0 1 0 0 0 0
ディープスリープ モード時の MCLR
000000h 0 0 1 1 0 0 0 0 0 0 0
通常動作時の WDT タイムアウト リセット
000000h 0 0 0 0 0 1 0 0 0 0 0
アイドルモード時の WDTタイムアウト リセット
PC + 2 0 0 0 0 0 1 0 1 0 0 0
スリープモード時の WDTタイムアウト ウェイクアップ
PC + 2 0 0 0 0 0 1 1 0 0 0 0
スタック オーバーフロー リセット
000000h 0 0 0 0 0 0 0 0 0 0 1
スタック アンダーフロー リセット
000000h 0 0 0 0 0 0 0 0 0 0 1
トラップイベント リセット 000000h 1 0 0 0 0 0 0 0 0 0 0
不正オペコード / 未初期化ワーキング レジスタによるリセット
000000h 0 1 0 0 0 0 0 0 0 0 0
割り込みによるアイドルモードからの復帰
PC + 2(1) 0 0 0 0 0 0 0 1 0 0 0
割り込みによるスリープモードからの復帰
PC + 2(1) 0 0 0 0 0 0 1 0 0 0 0
アイドルモード (PWRSAV 1を実行 )
PC + 2 0 0 0 0 0 0 0 1 0 0 0
スリープモード (PWRSAV 0を実行 )
PC + 2 0 0 0 0 0 0 1 0 0 0 0
ディープスリープ モード (DSEN をセットしてPWRSAV 0を実行 )
000000h 0 0 1 0 0 0 0 0 1 1 0
Note 1: 割り込み優先度が CPU 割り込み優先度以下である場合、プログラム カウンタ(PC) には PC + 2 を格納します。割り込み優先度が CPU 割り込み優先度より高い場合、プログラム カウンタ (PC) にはハードウェア ベクタアドレスを格納します。
© 2009 Microchip Technology Inc. DS39728A_JP - p. 40-11
PIC24F ファミリ リファレンス マニュアル
40.11.1 RCON ステータスビットの使用
デバイスリセット後に RCON レジスタを読み出す事により、リセットの原因を特定できます。表 40-4 にリセット フラグビット動作の概要を示します。
表 40-4: リセット フラグビットの動作
Note: 次回のデバイスリセットに備えて、RCON レジスタ内のステータスビットは読み出し後にクリアする必要があります。
フラグビット ビットをセットするイベント ビットをクリアするイベント
TRAPR (RCON<15>) トラップ衝突イベント POR
IOPWR (RCON<14>) 不正オペコードまたは 未初期化ワーキング レジスタ
アクセス
POR
EXTR (RCON<7>) MCLR リセット POR
SWR (RCON<6>) RESET命令 POR
WDTO (RCON<4>) WDT タイムアウト PWRSAV命令、PORIDLE (RCON<2>) PWRSAV #IDLE命令 POR、CLRWDT命令
SLEEP (RCON<3>) PWRSAV #SLEEP命令 POR、CLRWDT命令
DPSLP (RCON<10>) DSEN をセットして PWRSAV #SLEEP命令を実行
POR
BOR (RCON<1>) POR、BOR —
POR (RCON<0>) POR —
Note: ユーザ ソフトウェアは全てのリセット フラグビットをセット / クリアできます。
DS39728A_JP - p. 40-12 © 2009 Microchip Technology Inc.
セクション 40. プログラマブル BOR 等のリセットプログラマブル
B
OR等のリセット
40
40.12 デバイスリセットからコード実行開始までの遅延時間
リセットイベントの終了からデバイスがコード実行を開始するまでの遅延時間は、2 つの主要因 ( リセットのタイプとリセット時に使用するシステムクロック源 ) によって決まります。各種タイプのデバイスリセットにおけるコード実行開始までの遅延時間を表 40-5 に示します。各遅延時間の特性値はセクション 40.14「電気的仕様」に記載しています。
POR の場合、POR 遅延時間 (TPOR) と TPWRT 遅延時間が経過した後に、システムリセット信号 SYSRST が解除されます。BOR の場合、対応するコンフィグレーション ワードでパワーアップ タイマが有効化されていれば、 TPWRT 遅延時間が経過した後に SYSRST 信号が解除されます。その他のリセットでは、リセット条件が取り除かれた後に遅延時間なしで SYSRST 信号が解除されます。
デバイスがコード実行を開始するまでにかかる時間には、システムオシレータの遅延も影響します。この遅延時間には、オシレータ起動タイマ遅延 (TOST)、高速内部オシレータ遅延 (TFRC)、低消費電力内部オシレータ遅延 (TLPRC)、PLL ロック時間 (TLOCK) が含まれます。OST およびPLL ロック遅延は、コード実行遅延と並列に動作します。
表 40-5: 各種タイプのデバイスリセットにおけるコード実行開始までの遅延時間
リセットタイプ クロック源 SYSRST 遅延システムクロック遅延
Note
POR(6) EC TPOR + TPWRT — 1、2FRC, FRCDIV TPOR + TPWRT TFRC 1、2、3LPRC TPOR + TPWRT TLPRC 1、2、3ECPLL TPOR + TPWRT TLOCK 1、2、4FRCPLL TPOR + TPWRT TFRC + TLOCK 1、2、3、4XT, HS, SOSC TPOR+ TPWRT TOST 1、2、5XTPLL, HSPLL TPOR + TPWRT TOST + TLOCK 1、2、4、5
BOR EC TPWRT — 2FRC, FRCDIV TPWRT TFRC 2、3LPRC TPWRT TLPRC 2、3ECPLL TPWRT TLOCK 2、4FRCPLL TPWRT TFRC + TLOCK 2、3、4XT, HS, SOSC TPWRT TOST 2、5XTPLL, HSPLL TPWRT TFRC + TLOCK 2、3、4
その他 任意のクロック — — なし
Note 1: TPOR: パワーオン リセット遅延
2: POR<PWRTEN> が有効な場合のみ TPWRT ( 公称値 64 ms) を適用、それ以外では適用せず
3: TFRC、TLPRC: RC オシレータの起動時間
4: TLOCK: PLL ロック時間
5: TOST: オシレータ起動タイマ (OST) = システムへクロックを供給する前に 10 ビットカウンタが 1024 オシレータ サイクルをカウントする時間
6: 2 段階起動が有効な場合、プライマリ オシレータの選択に関係なく、デバイスは FRC を使用して起動します。この場合 FRC 起動時間を適用します。
Note: 公称タイミング値はセクション 40.14「電気的仕様」に記載しています。動作周波数とタイミング仕様値の詳細は、製品データシートの内の「電気的特性」を参照してください。
© 2009 Microchip Technology Inc. DS39728A_JP - p. 40-13
PIC24F ファミリ リファレンス マニュアル
40.12.1 起動の遅いオシレータの PORオシレータ起動回路と、これに関連する遅延タイマは、パワーアップ時に発生するデバイスリセット遅延とはリンクしていません。一部の水晶振動子回路 ( 特に低周波数水晶振動子 ) では、比較的長い起動時間が必要です。このため SYSRST 信号の解除後に、下記状態が 1 つまたは複数発生する可能性があります。
• オシレータ回路が発振を開始していない
• オシレータ起動タイマが終了していない ( 水晶振動子を使用する場合 )• PLL をロックできていない (PLL を使用する場合 )
デバイスはクロックがシステムへ供給されるまでコード実行を開始しません。従って、リセット遅延時間を検討する場合、オシレータと PLL の起動遅延も考慮に入れる必要があります。
40.12.2 デバイス起動時の処理タイミング例
図 40-5 ~図 40-8 に、各種動作条件におけるデバイスリセット時の遅延処理タイミングを示します。各遅延の特性値はセクション 40.14「電気的仕様」に記載しています。
図 40-5 に、水晶振動子をシステムクロックとして使用する場合のリセット遅延処理タイミングを示します。内部 POR パルスは、電圧が VPOR しきい値に達した時に発生します。TPOR および TPWRT 遅延は、内部 POR パルス発生後に適用されます。
図 40-5: デバイスリセット遅延、水晶振動子 (XT/HS/SOSC) クロック源
POR 回路しきい値電圧
SYSRST(1)
内部パワーオン リセットパルス
TPOR(2)
TOST(3)
VDD
クロックをシステムへ供給開始
POR
システムリセットを解除
Note 1: 図中の各遅延時間の縮尺は不統一です。
2: TPOR: パワーオン リセット遅延
3: TOST: オシレータ起動タイマ (OST) = システムへクロックを供給する前に 10 ビットカウンタが 1024 オ
シレータ サイクルをカウントする時間 (TLPRC と TFRC の仕様値は製品のデータシート参照 )
OSC Delay(1)
TPWRT
DS39728A_JP - p. 40-14 © 2009 Microchip Technology Inc.
セクション 40. プログラマブル BOR 等のリセットプログラマブル
B
OR等のリセット
40
下の図 40-6 の処理タイミングは、PLL を併用するという点で図 40-5 とは異なります。PLL の併用はオシレータの安定化時間を長引かせます。
図 40-6: デバイスリセット遅延、PLL を併用する水晶振動子 (XT/HS/SOSC) クロック源
POR 回路しきい値電圧
内部パワーオン リセットパルス
TPOR(2)
TOST(3)
VDD
クロックをシステムへ供給開始
POR
システムリセットを解除
Note 1: 図中の各遅延時間の縮尺は不統一です。
2: TPOR: パワーオン リセット遅延
3: TOST: オシレータ起動タイマ (OST) = システムへクロックを供給する前に 10 ビットカウンタが 1024 オシ
レータ サイクルをカウントする時間 (TLPRC と TFRC の仕様値は製品のデータシート参照 )4: PLL を併用しない場合、TLOCK は追加されません。
OSC Delay(1)
TPWRT
SYSRST (1)
TLOCK
© 2009 Microchip Technology Inc. DS39728A_JP - p. 40-15
PIC24F ファミリ リファレンス マニュアル
図 40-7 に、ECPLL クロック源をシステムクロックとして使用する場合のリセット遅延処理タイミングを示します。この場合、オシレータ起動タイマ遅延 TOST を適用しないという点で図40-6 と異なります。
図 40-7: デバイスリセット遅延、EC/ECCPLL クロック源
POR 回路しきい値電圧
内部パワーオン リセットパルス
TPOR(2)
VDD
クロックをシステムへ供給開始
POR
システムリセットを解除
Note 1: 図中の各遅延時間の縮尺は不統一です。
2: TPOR: パワーオン リセット遅延
OSC Delay(1)
TPWRT
TLOCK
SYSRST(1)
DS39728A_JP - p. 40-16 © 2009 Microchip Technology Inc.
セクション 40. プログラマブル BOR 等のリセットプログラマブル
B
OR等のリセット
40
図 40-8 に、システムクロックとして内部 FRC または LPRC クロック源を使用する場合、あるいは 2 段階起動を使用する場合のリセット遅延処理タイミングをします。
図 40-8: デバイスリセット遅延、FRC/LPRC クロック源または 2 段階起動が有効時
40.13 特殊機能レジスタ (SFR) のリセット状態
PIC24F CPU と周辺モジュールに関連する特殊機能レジスタ (SFR) の大部分は、デバイスリセット時に特定の値へリセットされます。SFR は周辺モジュールまたは CPU 機能に応じて分類されており、それらのリセット値は本ファミリ リファレンス マニュアルの関連セクションに記載しています。
後述の 2 つのレジスタを除き、SFR のリセット値はリセットのタイプによって変化しません。リセット制御レジスタ (RCON) のリセット値は、デバイスリセットのタイプによって異なります。オシレータ制御レジスタ (OSCCON) のリセット値は、リセットのタイプと FOSC コンフィグレーション レジスタ内のオシレータ コンフィグレーション ビットの設定によって異なります ( 表 40-1 参照 )。
POR 回路しきい値電圧
内部パワーオン リセットパルス
TPOR(2)
VDD
POR
システムリセットを解除
Note 1: 図中の各遅延時間の縮尺は不統一です。
2: TPOR: パワーオン リセット遅延
3: TFRC: FRC オシレータ起動時間 ( 仕様値は各デバイスのデータシート参照 )4: TLPRC: LPRC オシレータ起動時間 ( 仕様値は各デバイスのデータシート参照 )
OSC Delay(1)
TPWRT
TFRC(3)/TLPRC(4)
クロックをシステムへ供給開始
SYSRST(1)
© 2009 Microchip Technology Inc. DS39728A_JP - p. 40-17
PIC24F ファミリ リファレンス マニュアル
40.14 電気的仕様
図 40-9: ブラウンアウト リセット特性
図 40-10: リセット、ウォッチドッグ タイマ、オシレータ起動タイマ、パワーアップタイマのタイミング特性
BO10
Reset (Due to BOR)
VDDCORE
(Device in Brown-out Reset)
(Device not in Brown-out Reset)
TVREG + TRST
BO15
SY25
VDD
MCLR
InternalPOR
PWRTEN
SYSRST
SystemClock
WatchdogTimer Reset
SY10
SY20SY13
I/O Pins
SY13
SY35
SY11
SY12
DS39728A_JP - p. 40-18 © 2009 Microchip Technology Inc.
セクション 40. プログラマブル BOR 等のリセットプログラマブル
B
OR等のリセット
40
表 40-6: 電気的特性 : BOR
表 40-7: リセット、ウォッチドッグ タイマ、オシレータ起動タイマ、パワーアップタイマ、ブラウンアウト リセットのタイミング要件
DC 特性 標準動作条件 : 1.8 ~ 3.6 V ( 特に明記のない場合 )動作温度 : -40 ℃ ≤ TA ≤ +85 ℃ ( 産業用 )
パラメータ
No.記号 特性 最小値 Typ(1)
最大値 単位 条件
BO10 VBOR VDD 低下時の
BOR しきい値電圧
BORV<1:0> = 00 — 2 — V VDD = 3.3 V
BORV<1:0> = 01 — 3 — V
BORV<1:0> = 10 — 2.7 — V
BORV<1:0> = 11 — 1.8 — VBO15 VBHYS BOR ヒステリシス — 5 — mV
Note 1: 「Typ」列のデータは、特に明記のない限り 3.3 V、25 ℃での値です。
AC 特性 標準動作条件 : 1.8 ~ 3.6 V ( 特に明記のない場合 )動作温度 : -40 ℃ ≤ TA ≤ +85 ℃ ( 産業用 )
パラメータ
No.記号 特性 最小値 Typ(1)
最大値 単位 条件
SY10 TMCL MCLR パルス幅 (LOW) 2 — — μsSY11 TPWRT パワーアップタイマ時間 — 64 — ms SY12 TPOR パワーオン リセット遅延 1 5 10 μsSY13 TIOZ MCLR が LOW またはウォッチ
ドッグ タイマリセットから I/Oピンが高インピーダンスになるまでの時間
— — 100 ns
SY20 TWDT ウォッチドッグ タイマ タイムア
ウト時間 0.85 1.0 1.15 ms 1:32 プリスケーラ
3.4 4.0 4.6 ms 1:128 プリスケーラ
SY25 TBOR ブラウンアウト リセットパルス
幅
1 — — μs VDD ≤ VBOR
Note 1: 「Typ」列のデータは、特に明記のない限り 3.3 V、25 ℃での値です。
© 2009 Microchip Technology Inc. DS39728A_JP - p. 40-19
PIC24F ファミリ リファレンス マニュアル
40.15 設計のヒント
質問 1: RCON レジスタはどのように使用するのですか。
回答 : リセット後の初期化コードでは、RCON レジスタを読み出してリセット要因を確認する必要があります。アプリケーションによっては、この情報に基づいてリセットの原因となった問題を修正する場合があります。RCON レジスタ内の全てのリセット ステータスビットは、読み出し後にリセットする必要があります。これにより、次回のデバイスリセット時も RCON から正しい情報を得る事ができます。
質問 2: ワーキング レジスタを 16 ビットアドレスで初期化しましたが、このレジスタをアドレスとして使用するとデバイスリセットが発生します。原因は何ですか。
回答 : 全てのデータアドレス値は 16 ビットであるため、ワーキングレジスタに 1 ワードで書き込むと、未初期化ワーキング レジスタ ロジックはそのレジスタが正しく初期化されたものと認識します。2 バイトでのワーキングレジスタへの書き込みは、たとえ連続で書いたとしても正常書き込みとみなされないため、そのワーキングレジスタをポインタとして実行するとデバイスリセットが発生します。
DS39728A_JP - p. 40-20 © 2009 Microchip Technology Inc.
© 2009 M
icrochip Technology Inc.D
S39728A
_JP - p. 40-21
セク
ショ
ン40. プ
ログ
ラマ
ブル
BO
R等
のリ
セッ
トプログラマブル
BOR等のリセット 40
40
表
レ Bit 3 Bit 2 Bit 1 Bit 0 全
リセット
RC LEEP IDLE BOR POR 0003
凡
No
.16 レジスタマップ
表 40-8 に、PIC24F のオシレータ モジュールに関連するレジスタの要約を示します。
40-8: リセット関連のレジスタマップ
ジスタ名 Bit 15 Bit 14 Bit 13 Bit 12 Bit 11 Bit 10 Bit 9 Bit 8 Bit 7 Bit 6 Bit 5 Bit 4
ON TRAPR IOPUWR SBOREN — — DPSLP — PMSLP EXTR SWR SWDTEN(1) WDTO S
例 : x = リセット時に未知の値、 — = 未実装、「0」として読み出し、全て一意に決まるレジスタのリセット値は 16 進数で表記
te 1: FWDTEN コンフィグレーション ビットが「1」( 未プログラム状態 ) の場合、SWDTEN ビットの設定に関係なく WDT は常に有効です。
PIC24F ファミリ リファレンス マニュアル
40.17 関連アプリケーション ノート
本セクションに関連するアプリケーション ノートの一覧を下に記載します。一部のアプリケーション ノートは PIC24F デバイスファミリ向けではありません。ただし、概念は共通しており、変更が必要であったり制限事項が存在するものの利用が可能です。プログラマブル ブラウンアウト リセット等のリセットに関連する最新のアプリケーション ノートは以下の通りです。
タイトル アプリケーション ノート番号
電源投入に関するトラブルシューティング AN607電源投入に関する注意点 AN522
Note: PIC24F ファミリ関連のアプリケーション ノートやサンプルコードは弊社ウェブサイト (www.microchip.com) でご覧頂けます。
DS39728A_JP - p. 40-22 © 2009 Microchip Technology Inc.
セクション 40. プログラマブル BOR 等のリセットプログラマブル
B
OR等のリセット
40
40.18 改訂履歴
リビジョン A (2009 年 1 月 )本書の初版
ISBN: 978-1-60932-676-0
© 2009 Microchip Technology Inc. DS39728A_JP - p. 40-23
PIC24F ファミリ リファレンス マニュアル
NOTE:
DS39728A_JP - p. 40-24 © 2009 Microchip Technology Inc.