リセット モジュールの構成


 PIC24Fシリーズ内蔵のリセット モジュールについて説明します。


【内部構成】

 下図にリセット モジュールのブロック図を示します。
このリセットを制御するリセットモジュールの機能は、すべてのリセット要因を
まとめ、内部をリセットするためのシステムリセット信号(SYSRST)を制御する
ことです。

PIC24Fファミリには下記のようなデバイスリセット要因があります。

 ・POR :パワーオンリセット
 ・MCLR :ピンリセット
 ・SWR :RESET命令
 ・WDTR :ウォッチドッグタイマーリセット
 ・BOR :ブラウンアウトリセット
 ・CM :コンフィギュレーション不一致リセット 
 ・TRAPR:トラップ衝突リセット
 ・IOPUWR : 不当命令コードリセットまたは未初期化Wレジスタリセット





【関連SFR】

  
 すべてのデバイスリセットは、リセットの種類を表示するためにRCON レジスタ内
の対応するステータスビットをセットします。
 例えば電源オン リセット(POR)は、PORとBORビット(RCON<2:1>) 以外のすべての
ビットをクリアし、PORとBORビット(RCON<2:1>) をセットします。

 このRCONレジスタの内容をプログラムが実行を開始した直後にチェックすれば、
何の要因でプログラムが開始されたかを判定することができます。
その要因によって処理内容を変えることができることになりますから、例えば、
電源オンリセットのときと、スリープからウェイクアップしたときで異なる処理内容と
することもできます。
 このRCONレジスタのリセット要因による状態に関する詳細は、各PIC24Fファミリの
デバイスのデータ シートを参照して下さい。
 PIC24FファミリのCPUと周辺に関連するほとんどの特殊機能レジスタ(SFR)は、
デバイスリセット時には特定の値にリセットされます。どの値にリセットされるかは
デバイスのデータシートで確認してください。

【電源オン リセット】

 PIC24Fファミリは、電源オン時に一定のリセットシーケンスとすることでデバイスを
リセット後確実に動作開始するようにしています。
とくに電源がオンになったとき問題になる要素は、電源の立上り特性と、クロック発振器
の立上り特性です。
この両者が確実に安定な状態となってから、プログラムの実行を開始するようにする
必要があります。
 これを実現するため、PIC24Fファミリには、リセットからプログラム実行を開始するまでの
間にいろいろな遅延タイマと、シーケンスが組まれています。
 例えば、内蔵高速クロックでPLLを使用するときには下図のようなシーケンスとなります




【ブラウン アウト リセット】

 電源電圧が瞬時低下したときや、電源をオフしたときの緩やかな電源降下の際には、
PIC24Fファミリが誤動作しトラブルが発生することがあります。
 このようなときデバイスが誤動作しないように確実にリセット状態にする機能が
ブラウンアウトリセット(BOR)です。
 PIC24FファミリのBOR機能は、内蔵レギュレータを使っている場合にのみ自動的に
有効になり、そのシーケンスは他のPICファミリに比べ単純になっています。
 BORで電源電圧の低下を検出するスレッショルドVBORは、標準で2.3V〜2.7Vの間で
デバイスにより異なりますが、このスレッショルド以上であれば、内蔵レギュレータが
正常に動作してPICの正常動作を維持できることになります。

 電源電圧がこのスレッショルドより低くなると、即座にデバイスをリセット状態とします。
このあと電源電圧がスレッショルド電圧より高くなっても、標準で30μsecだけリセット状態を
継続します。
 内蔵レギュレータを使わない場合にはBOR機能は有効になりませんので、リセットICなど
を使った何らかの外部回路を必要とします。




  目次ページへ