M5StickCのAXP192の電源周りを調べる

入力と出力まわりを中心にAXP192を調べ直しました。現時点の情報ですので最新情報はM5StickC非公式日本語リファレンスを確認してください。

概要

ざっくりと電源周りをまとめてみました。5V出力がちょっと複雑ですが、あとは概ね想定内でした。M5StickC以外にもAXP192は利用されそうですので、全般的な説明も追加しています。

入出力一覧

PIOAXP NAME接続先電圧電圧範囲最大電流備考
入力VBUSUSB 5V IN5V
入力ACIN5V IN5V
出力DCDC1ESP32, 3V33.3V0.7V〜3.5V1.2A
出力DCDC2未使用0.7V〜2.275V1.6A
出力DCDC3未使用0.7V〜3.5V0.7A
出力LDO1RTC3.3V1.25V〜3.3V30mA常時給電
出力LDO2TFT3.0V1.8V〜3.3V200mA低ノイズ
出力LDO3LCD3.0V1.8V〜3.3V200mA低ノイズ
出力GPIO0/LDOio0MIC2.8V1.8V〜3.3V50mA低ノイズ
出力IPSOUT5V OUT5V or BAT

入力はUSBからのVBUSと、5V入力のACINが別系統であります。両方接続しているときには、ACINが優先されます。

出力はDCDCが3系統、LDOが4系統あります。

電力入力端子

VBUSとACINは両方接続されていても問題ありません。その場合にはACINが優先されて利用されます。

VBUS(USB)

USBからの電源供給です。VBUSは電流制限(0x30)が可能でM5StickCでは500mAまでの制限が入っています。3.8V以上の電源が入力されるとAXP192は自動起動します。

ACIN(5V IN)

上部のHAT端子の5V INからの電源供給です。3.8V以上の電源が入力されるとAXP192は自動起動します。

電力出力端子

DCDC1(ESP32, 3V3)

ESP32と3V3出力端子に電源を出力します。電源ONの場合にしか出力されません。AXP192をスリープした場合でも出力され続けます。

DCDC2, 3

M5StickCでは利用していません。

LDO1(RTC)

RTCに接続されており、時刻を保存するために利用されています。電源OFFになっていても出力されています。おそらく接続的にはRTCのバッテリーを3.0Vまで充電するという動きをしているはずです。

LDO2(TFT)

画面の明るさ制御に利用している電源です。電源OFFの場合や、AXP192をスリープすると出力されません。

LDO3(LCD)

おそらくTFTの制御ボードであるST7735Sが利用している電源です。電源OFFの場合や、AXP192をスリープすると出力されません。

GPIO0/LDOio0(MIC)

汎用的に利用できるGPIOですが、M5StickCは低ノイズの電源出力で利用しています。MICで利用しているSPM1423が接続されているはずです。

IPSOUT

ここの出力はAXP192というよりは、利用するボードによって異なってくるはずです。基本的には5Vが出力されていますが、バッテリー電圧が出力される場合があります。

出力の優先順位は以下の通りです。

  • ACIN(5V IN)
  • VBUS(USB)
  • (AXP192電源ON)バッテリーのAXP192経由のDCDC 5V
  • (AXP192電源OFF)バッテリー電圧

外部電源が接続されていない場合でも、AXP192が電源ONであればDCDCを利用して5Vが出力されていますが、AXP192ではない外部DCDCを利用しているように思えます。

そのためAXP192が電源OFFの場合にはバッテリー電圧が出力されるので、3Vから4V程度の電圧出力になっている可能性があります。

BAT

バッテリー電圧を出力する端子があります。この端子は常時出力されています。おそらくAXP192経由で過放電は禁止されているはずですが、未検証です。

まとめ

内部の結線図はGitHubのissues「RTC interrupt pin connected to ESP32 or not? #45」にあるので、参考にしました。

GPIO35に関しては、IRQはプルアップが必要なんですが、回路上プルアップしていないのと、GPIO35の内蔵プルアップもできないので、実質利用できない気がします。

また、MIC利用しない場合には、電源OFFしたほうが省電力になる可能性がありますが、手持ちの機材だと数十mA単位しか測定できないので、もう少し高精度に測定できる機材調達中です。

コメント