待機モード


【待機モードの種類】

PICマイコンの待機モードはこれまではSleepモードだけだったのですが、
XLPファミリになってDeep Sleepモードが追加されました。
この差異は下記のようになります。

【Sleepモード】

 下図のようにメインクロックの発振を停止させますので、CPUも周辺モジュール
も動作を停止します。
 しかし、内蔵レギュレータは動作を継続しますので、電源は供給されている状態
を維持しています。
 内蔵クロックの低速クロック(LPRC)と、タイマ1の外部発振回路(32.768kHz)
を使っている場合には、発振を継続しますので、これにより動作する周辺モジュール
WDT、Timer1、RTCCだけはSleepモード中も動作を継続させることができます。
したがってこれらの周辺モジュールを間欠起動トリガとして使うことが可能となります。

 また、外部割込み(INTx)も機能継続していますので、これも間欠起動トリガとして
使うことができます。さらに、SPIモジュールをスレーブで動作させている場合にも、
マスタからのクロックで動作しますから、Sleep中も動作を継続でき、受信完了で
Sleepからウェイクアップさせることができます。




【Deep Sleepモード】

 Deep Sleepモードというのは、内蔵レギュレータが停止状態となり、下図の
赤枠の部分への電源供給が停止します。当然クロックも停止しますので
CPUも周辺も動作停止となるだけでなく、RAMの電源がなくなりますので
データも消失します。
しかし、LPRCクロックとタイマ1の発振回路、DSWDT、RTCC、および
RAM内の2ワードのSFR(DSGPRx)だけには、VDDから直接電源が供給されて
Deep Sleep中も動作を継続します。
DSWDT(Deep Sleep WDT)とは、Deep Sleep用に特別に用意されたWDTです。
 このほかに動作を継続するものとして、外部割込み(INT0)と、特別なBORとして
DSBOR(Deep Sleep BOR)があります。
これで、RAMや、周辺モジュール用のSFRの消費電流も減ることになりますから
最低の消費電流となります。

 しかし、DSGPRx以外のRAMのデータ内容が消失しますから、通常のSleepの
ようにウェイクアップで継続動作ということはできなくなります。