概要
M5Stack Core2が発売されて、AXP192まわりを調査したのでかんたんにまとめたいと思います。
接続
| 種別 | 端子 | M5Stack Core2 | M5StickC |
| 入力 | ACIN | USB | 5V IN |
| 入力 | VBUS | 5V | USB |
| 出力 | LDO1 | RTC | RTC |
| 出力 | LDO2 | LCD PWR | TFT |
| 出力 | LDO3 | Vibration motor | LCD |
| 出力 | DCDC1 | MCU_VDD | MCU_VDD |
| 出力 | DCDC2 | ||
| 出力 | DCDC3 | LCD BL | |
| GPIO/出力 | GPIO0 | BUS_PW_EN | MIC |
| GPIO | GPIO1 | Green LED | |
| GPIO | GPIO2 | Speaker EN | |
| GPIO | GPIO3 | ||
| GPIO | GPIO4 | LCD RST TOUCH RST |
M5StickCと比べると利用している端子が増えています。困ったことにACINとVBUSが逆なのです、、、
振動モーターはLDO3に接続されていますが、本体やページにはGPIO3と表示されています。しかしながらAXP192のGPIO3はPWM出力ができない端子なので、出力電圧が調整できるLDO3に変更したものと思われます。本当はGPIO2とGPIO3を入れ替えたほうがいいかもですが、面倒だったんですね。
外部入力
| 入力元 | AXP192 |
| USB | ACIN |
| MBUS 5V | VBUS |
| GROVE 5V | VBUS |
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と互換性がなくなっていますね。もう少し統一性がほしいのですが、なかなか難しいですね。




コメント