自動車向けアプリにおいて電源管理は重要であり、電源に関する要件はモバイル デバイスとは大きく異なります。以下はその例です。
- 駐車中に電力をほとんど消費しないようにする必要があります。自動車は、始動するために必要な電力を(たとえ数か月の間が空いた場合でも)バッテリーに十分蓄えている必要があります。
- リアビュー カメラ、オーディオ、スプラッシュ画面は、自動車の始動に極めて迅速に(Android 自体が起動するよりも前に)反応する必要があります。
- ユーザーがデバイスを操作できるように、迅速に起動して Android のホーム画面に表示される必要があります。
- 電源をオフにして再度オンにした後に、アプリの状態(ラジオ ステーションやナビゲーション ガイダンスなど)を再開および復元する必要があります。
Android Automotive チームは、次のような新しい電源管理スキームを使用して、自動車に固有の電源管理の問題に対応しています。
- 電源ポリシー。ハードウェアおよびソフトウェア コンポーネント(ディスプレイ、オーディオ、音声操作など)が必要に応じて選択的にオン / オフされるようにする方法について説明します。
- 電源管理。Android Automotive が使用する電源ステートマシンの定義、スリープ / シャットダウン / 起動シーケンスのサンプル、電源管理に関連する車両 HAL プロパティの一覧を提供します。
- ガレージモード。駐車時に必要なメンテナンス タスク(OS やアプリの更新など)を実行する省電力モードを定義します。
- 起動時間の管理。Android と Android Automotive の起動プロセスにおける違いの定義、起動時間を最適化するヒント、起動シーケンスの早い段階でリアビュー カメラなどのサービスを開始するための手順を提供します。
ハードウェア アーキテクチャ
以下の図に示すように、Vehicle Microcontroller Unit(VMCU)は以下の役割を担います。
- 自動車のネイティブ インターフェースと接続します。たとえば、コントローラ エリア ネットワーク(CAN)バスなどと接続します。
- インフォテインメントを処理するアプリ プロセッサ(AP)の消費電力を制御します(AP が Android によって電力供給されることを想定)。
- データバスや汎用の I/O(GPIO)ピンを介して AP と通信し、状態遷移などのアクティビティを通知します。
図 1. ハードウェア ブロック
車の電源がオフになると、AP は次のいずれかの状態になります。
-
VMCU がインスタント ウェイクアップのために AP の主電源を保持することを決定した場合、スリープ状態になります。通常、ウェイクアップの信号は GPIO を介して AP に送信されます。
-
VMCU が主電源を切っている間もメモリの内容を保持することを決定した場合、休止状態になります。通常、AP は次の電源投入時に保存されたメモリの内容を読み込みます。
-
VMCU がバッテリーを温存することを決定した場合、シャットダウンされます。次の電源投入時に AP のコールドブートが必要になります。
VMCU-AP データバスは、Serial Peripheral Interface(SPI)などの双方向インターフェースである必要があり、車両 HAL で公開される必要があります。これは、以下のようなイベントの送信で使用されます。
- AP によるディスプレイのオン / オフ。
- AP のウェイクアップ(GPIO を介して発生)。
- AP によるリアビュー カメラ ディスプレイのオン / オフ。
- AP のシャットダウンの完了(VMCU に送信)。