M5Stack Core2のAXP192周り解析

概要

M5Stack Core2が発売されて、AXP192まわりを調査したのでかんたんにまとめたいと思います。

接続

種別端子M5Stack Core2M5StickC
入力ACINUSB5V IN
入力VBUS5VUSB
出力LDO1RTCRTC
出力LDO2LCD PWRTFT
出力LDO3Vibration motorLCD
出力DCDC1MCU_VDDMCU_VDD
出力DCDC2  
出力DCDC3LCD BL 
GPIO/出力GPIO0BUS_PW_ENMIC
GPIOGPIO1Green LED 
GPIOGPIO2Speaker EN 
GPIOGPIO3  
GPIOGPIO4LCD RST
TOUCH RST
 

M5StickCと比べると利用している端子が増えています。困ったことにACINとVBUSが逆なのです、、、

振動モーターはLDO3に接続されていますが、本体やページにはGPIO3と表示されています。しかしながらAXP192のGPIO3はPWM出力ができない端子なので、出力電圧が調整できるLDO3に変更したものと思われます。本当はGPIO2とGPIO3を入れ替えたほうがいいかもですが、面倒だったんですね。

外部入力

入力元AXP192
USBACIN
MBUS 5VVBUS
GROVE 5VVBUS

M5StickCとはACINとVBUSが逆になっています。。。そして、MBUSからもGROVEの5Vからも電源を入力することができました。M5StickCはGROVEの5Vからは供給できなかったので、ATOM以降からは許可するようにしたのかな?

M5Stack Core2はスタンド系が販売されていないので、外部電源共有はGROVE経由で入れたほうがスマートに行くかもしれません。

AXP192クラス変更点

追加

  • bool isACIN()
  • bool isCharging()
  • bool isVBUS()
  • uint8_t AXPInState()
  • void SetCHGCurrent(uint8_t state)
  • void SetBusPowerMode(uint8_t state)
  • void SetDCVoltage(uint8_t number, uint16_t voltage)
  • void SetESPVoltage(uint16_t voltage)
  • void SetLCDRSet(bool state)
  • void SetLDOEnable(uint8_t number, bool state)
  • void SetLDOVoltage(uint8_t number, uint16_t voltage)
  • void SetLcdVoltage(uint16_t voltage)
  • void SetLed(uint8_t state)
  • void SetSpkEnable(uint8_t state)

これらの関数が増えています。

M5.Axp.SetLed(true); // 緑色LEDを点ける
M5.Axp.SetLed(false); // 緑色LEDを消す
M5.Axp.SetLDOEnable(3, true); // 振動モーターを付ける
M5.Axp.SetLDOEnable(3, false); // 振動モーターを消す

おそらく上記の関数以外はあまり使わないと思います。SetSpkEnable()はスピーカーを使うときだけONにするんだと思います。

削除

  • uint8_t GetBatteryChargingStatus()
  • uint8_t GetBtnPress(void)
  • uint8_t GetInputPowerStatus()
  • void PowerOff()
  • void SetLDO3(bool State)

電源ボタンの状態を取得するGetBtnPress()と電源オフのPowerOff()がなくなっていますね。。。ちょっと不便です。内部関数と廃止予定のdeprecatedがついた関数も減っています。一部deprecatedがついていた関数も残っているのがいるのが謎ではあります。

変更

  • void SetCHGCurrent(uint8_t state)

SetChargeCurrent()関数から名前が変更になっています。何故?

まとめ

微妙にM5StickCと互換性がなくなっていますね。もう少し統一性がほしいのですが、なかなか難しいですね。

コメントする

メールアドレスが公開されることはありません。

管理者承認後にページに追加されます。公開されたくない相談はその旨本文に記載するかTwitterなどでDM投げてください。またスパム対策として、日本語が含まれない投稿は無視されますのでご注意ください。