- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ATxmega AD変換を停止して消費電流を削減)
ATxmega AD変換を停止して消費電流を削減
このQ&Aのポイント
- ATxmega64a3uマイコンでのパワーダウンモード時の消費電流を測定しました。
- AD変換を停止するためのプログラムを書いても、消費電流にほとんど変化はありません。
- AD変換が停止できているか、また電流消費をどの程度削減できるのかを知りたいです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
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(); などを試して、電流測定してみてはどうでしょうか?
その他の回答 (1)
- kaba__san
- ベストアンサー率45% (27/59)
回答No.2
相変わらず教えてもらった資料すら読まないんですね。昔から。 「空プロジェクト作って、周辺機能なにも動かさずに全ピンハイインピーダンス入力にして、電力削減レジスタ全部有効にして試してみよう」とか思いつきません? あとこれも書いてあるんですけど、まさかデバッガ接続したまま測定してませんよね?
質問者
お礼
回答頂きありがとうございます。 power_all_disable();という簡単に消費電流を最小にできる関数がわかり、パワーダウン時に約0.9mAまで現在の基板では消費電流を抑えることがわかりましたが、やはり本当にATxmegaマイコンの消費電流が1uA以下程度になっているかは気がかりです。他に消費しているというICも外した状態で一度測定しようと思っています。 助かります。
お礼
回答頂きありがとうございます。 power_all_disable(); こんな便利な関数があるんですね。 それで、この関数をスリープ直前に実行するように配置して、電流を計測したのですが、0.9Aと表示され、あまり前回と消費電流は変わらないことを確認しました。 回路設計の方とも話してみたところ、他のIC(音声IC等)や3.3V出力のレギュレータ等が消費している可能性があるとのことでした。 とりあえずマイコンの消費電流は抑えられそうです。 助かります。