プロが教えるわが家の防犯対策術!

AVRマイコンのパワーセーブモード時の消費電流について質問させて頂きます。
パワーセーブモード、パワーダウンモー時の消費電流を測定すると、

・パワーセーブモード時消費電流:92.5μA(電源電圧:3V、動作クロック:31.25kHz、WDT無効)
・パワーダウンモード時消費電流:0.2μA(電源電圧:3V、動作クロック:31.25kHz、WDT無効)

になりました。
AVRマイコンのマニュアルを見ると、

・パワーセーブモード時消費電流:7μA(WDT無効)
・パワーダウンモード時消費電流:0.2μA(WDT無効)

との記載があり、パワーセーブモード時消費電流においてマニュアル値と実測値で大幅な相違があります。
何らかのミスを犯していると思われますが、原因を推測できる方がいらっしゃいましたら、ご教示下さい。
AVRマイコンの型番は、『ATMEGA48V』になります。
よろしくお願い致します。

A 回答 (2件)

こんにちは



仕事中に付き ちょこっと

パワーセーブ時でのポート状態を確認されましたか?
必ずしもこの時は初期化(リセット)直後とは異なる状況にポートはなっているのではないでしょうか?

取りあえずこんな所です。
物理的に観測可能な症状ですので、一つ一つ観測すれば問題の箇所は見つかります。

では、がんばって下さい。

この回答への補足

お忙しい所、ご回答ありがとうございます!

>初期化(リセット)直後とは異なる状況にポートはなっているのではないでしょうか?
ポートが入力設定から出力設定に変わっているということでしょうか?
ポートは全て外部未接続になります。

マニュアルにパワーセーブの説明として、『この動作は、1つの例外を除いてパワーダウン動作と同じです』とあります。
1つの例外とは、『タイマ/カウンタ2の割り込みを起因としてスリープ状態から復帰可能』となります。
その為、タイマ/カウンタ2を起動している分だけ、パワーダウン時より若干電流を消費します。
ですので、ご指摘頂いた『ポート状態』の様なハード的な起因であれば、パワーダウン時でも同じ症状(電流量増大)が出ても良い気がします。
この辺が府に落ちません。
よろしくお願い致します。

補足日時:2012/03/02 13:19
    • good
    • 0

こんばんは



よくあるのがI/Oポートの接続で
プルアップ抵抗に流れる電流
入力ポートの外部への接続が未接続かハイイピーダンスによる中間電位での増加
出力ポートの入出力の電流
などの見逃しの消費電流の増加

試作などではたまに静電気破損による過剰電流。

取りあえずは、当たり前の事ですが過剰な電流がどこから流れ込んでいるか、CPUの電源端子の流入電流を観測してはいかがでしょうか?
ここが正常なら、あとはポートからの流れ込みになるでしょう。

この回答への補足

ご回答ありがとうございます!

ハードの環境として、
・パワーセーブ、パワーダウンとも同一基板で測定しています。
・I/Oポートは全て外部への接続はありません。
・ピン状態設定は『入力・プルアップ』になります。

ソフト的には、
・パワーセーブ、パワーダウンともはほぼ同一のソースを使用しています(相違ヶ所は下記の※印)。

●パワーセーブ

#include <avr/sleep.h>
・・・・
set_sleep_mode(SLEEP_MODE_PWR_SAVE); ・・・※
sleep_mode();
・・・・

●パワーダウン

#include <avr/sleep.h>
・・・・
set_sleep_mode(SLEEP_MODE_PWR_DOWN); ・・・※
sleep_mode();
・・・・

自分的には、ソフトに問題がある気がするのですが・・・

補足日時:2012/03/02 09:12
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!