(新しめの)PICの消費電力を下げる手段は主に3つあり、Sleep(DeepSleep含む)、Idle、Dozeが選べます。消費電力もこの順に高くなっており、SleepはCPU/Peripheralクロック共に停止、IdelはCPUクロックのみ停止、Dozeはクロック停止なし(分周で遅くする)となっています。
さて、ではDozeで命令サイクルを落とすのと、PIC自体のクロック設定でクロックを落とすのではどちらが消費電力を下げられるのでしょうか(HF内部クロック使用)。イメージとしては、Dozeは「一定期間は全力で仕事をして一定期間は完全にお休み」に対して、クロックダウンは「全体的にゆったり仕事をする」といった感じ。
データがないなら実験しようかと思ったのですが、Microchip社のアプリケーションノートに記載があったのでそちらから引用させてもらいます。
TB3144
16F18345のデータです。
16MHz vs 32MHz(1:2) や 1MHz vs 16MHz(1:16) を見るに、同じMIPSではDozeのほうがクロックダウンより消費電力が高いようです。
Dozeが効果的なのは高クロックのRatioが低い場合に限られ、およそ1:16より高比率では効果は微々たるものです。また、メインクロック1MHzになると、Dozeを使おうが殆ど意味がないように見受けられます。
消費電力まとめ
・同じ処理速度ならDozeよりクロックダウンの方が効果的
・Dozeを使うなら高クロック(16MHz~程度)の1:8くらいまで
・中クロック以下(~1MHz)ではDozeはほぼ意味無し
0 件のコメント:
コメントを投稿