サポートシェアリングソリューション
OKWAVE Plus

このQ&Aは役に立ちましたか?

ベストアンサー
すぐに回答を!

ATxmega AD変換を停止して消費電流を削減

2021/10/11 19:01

現在、ATxmega64a3uマイコンで、パワーダウンモードに移行させた場合に、消費電流が1mA程度というのを測定しました。

パワーダウンモードに移行する前にA0ポートピンで行っているAD変換機能を停止するため、

// adc disnable
ADCA.CTRLA = 0 ; // Disnable the ADC
PORTA.PIN0CTRL = (PORT_OPC_TOTEM_gc); // high-impedance

このように、プログラムしてみたのですが、消費電流は1mA程度とそれほど変化がありません。


AD変換を停止できているかどうか確認する方法などはありませんでしょうか?
AD変換が停止できているなら、どの程度電流消費を下げることができますでしょうか?


どうぞ、ご教示の程よろしくお願い致します。

質問者が選んだベストアンサー

ベストアンサー
2021/10/11 20:06
回答No.1

ATxmega64u3での使用経験はありませんが気になるところでは
ADCは2器あるので、ADCBも停止させないでも良いのですか?

ちなみに、power.hをインクルードしていれば
power_adca_disable();
power_adca_enable();
などでADCモジュールを停止させることができます。

https://github.com/Synapseware/avr/blob/master/include/avr/power.h
に実行可能なルーチンのリストがありますから
TIMERやUSARTやSPIモジュールなども不要なら停止できますよ。

実行したら動作がデバッグできなくなっちゃうと思うけど
power_usb_disable();
power_all_disable();
などを試して、電流測定してみてはどうでしょうか?

お礼

回答頂きありがとうございます。

power_all_disable();

こんな便利な関数があるんですね。

それで、この関数をスリープ直前に実行するように配置して、電流を計測したのですが、0.9Aと表示され、あまり前回と消費電流は変わらないことを確認しました。

回路設計の方とも話してみたところ、他のIC(音声IC等)や3.3V出力のレギュレータ等が消費している可能性があるとのことでした。

とりあえずマイコンの消費電流は抑えられそうです。
助かります。

2021/10/20 15:29

このQ&Aは役に立ちましたか?

この質問は投稿から一年以上経過しています。
解決しない場合、新しい質問の投稿をおすすめします。

質問する

その他の回答 (2件中 1~2件目)

2021/10/11 20:33
回答No.2

相変わらず教えてもらった資料すら読まないんですね。昔から。
「空プロジェクト作って、周辺機能なにも動かさずに全ピンハイインピーダンス入力にして、電力削減レジスタ全部有効にして試してみよう」とか思いつきません?
あとこれも書いてあるんですけど、まさかデバッガ接続したまま測定してませんよね?

お礼

回答頂きありがとうございます。
power_all_disable();という簡単に消費電流を最小にできる関数がわかり、パワーダウン時に約0.9mAまで現在の基板では消費電流を抑えることがわかりましたが、やはり本当にATxmegaマイコンの消費電流が1uA以下程度になっているかは気がかりです。他に消費しているというICも外した状態で一度測定しようと思っています。

助かります。

2021/10/22 07:05

関連するQ&A

お礼をおくりました

さらに、この回答をベストアンサーに選びますか?

ベストアンサーを選ぶと質問が締切られます。
なおベストアンサーを選びなおすことはできません。