低消費電力化制御


【7つの電力制御モード】

 PIC18Fxxxxシリーズでは、”nanoWatt Technology”ということで、低消費電力化
を実現するために、多くの工夫がなされています。
 そして低消費電力動作のモードとして、下表のように大別して、SLEEP、IDLE、RUN
の3つのカテゴリにわかれ、さらに、それぞれのクロック供給方法により、合計7つの
低消費電力モードが用意されています。
 実行環境の条件によって最適な動作モードに切替えることで、消費電力を少なくする
ことができるようになっています。
 この低消費電力化は、表から判るようにクロックの供給方法と密接に関係していて、
クロックの周波数を下げることと、供給範囲を制限することで、消費電力を削減しています。
 これはパソコンなどのCPUチップと同じ考え方で低消費電力化が行われていることに
なります。

モード OSCCON
レジスタ設定
クロック供給 状態内容
消費電流Typ値
IDLEN SCS1:0 CPU 周辺
SLEEP SLEEP 0 00 なし なし 全クロックが停止 PIC停止状態
2V、1MHz → 0.1μA
RUN
モード
PRI_RUN 0 00 主クロックで動作
2V、1MHz → 150μA
SEC_RUN 0 01 副クロック(タイマ1)で動作
2V、32kHz → 14μA
RC_RUN 0 1x 内蔵クロックで動作
2V、1MHz → 110μA
IDLE
モード
PRI_IDLE 1 00 なし 主クロックで周辺のみ動作
2V、1MHz → 37μA
SEC_IDLE 1 01 なし 副クロック(タイマ1)で周辺のみ動作
2V、32kHz → 5.8μA
RC_IDLE 1 1x なし 内蔵クロックで周辺のみ動作
2V、1MHZ → 52μA
 (注)内蔵クロックとはINTOSCかINTRCのいずれか

【省電力モードへの切り替え制御】

上表の省電力モードに切替えるには、下記のような手順で行います。

(1) OSCCONレジスタにモードを設定する。
   ・IDLENビットで、CPUのクロックの制御が出来ます。
   ・SCS1,SCS0ビットで、クロックの種別指定が出来ます。
  このSCSビットを設定しただけではクロックの切替えは実行されません。

(2) SLEEP命令を実行する。
  SLEEP命令実行後、8から9クロック後に新しいクロックに切り替わります。

  このSLEEP命令は、従来はSLEEP状態にするだけでしたが、PIC18Fxxxxシリーズ
  では、上記のように設定された各低消費電力モードへの切り替えとなります。
  ここで、OSCCONレジスタのIDLEN、SCS1,0が全て0の設定の時、SLEEP命令
  が実行されると、これまでのSLEEP命令と同じ、SLEEP状態への切り替えとなります。









【各モードでの動作】

低消費電力モードにしたときのその後の動作の差異は下表のように
なります。

動作モード CPU実行状態 ウォッチドッグタイマ
タイムアップ時動作
周辺モジュール
実行状態
SLEEP 停止 WakeUPして
主クロック動作に切替
WakeUp中のクロック
は無しか内蔵クロック
停止
RUNモード 副クロックか
内蔵クロックで動作
RESETして
主クロックで動作
WakeUp中のクロック
はそのまま継続
副クロックか
内蔵クロックで動作
IDLEモード 停止 WakeUpして
主クロック動作に切替
WakeUp中のクロック
はそのまま継続
主、副クロックか
内蔵クロックで動作
  (注)内蔵クロックはINTOSCとINTRCのいずれか





   目次ページへ