Power management is critical to automotive apps, and power requirements differ vastly from mobile devices, including:
- Near-zero power consumption while the vehicle is parked. The vehicle should still have enough battery charge to start, even after many months.
- Extremely fast power-on response for rear-view camera, audio, and splash screen (before Android itself boots).
- Quick boot into Android home screen so that user can interact with the device.
- Resume/restore app states (such as the radio station and navigation guidance) after power cycle.
The Android Automotive team is addressing automotive-specific power management issues with a new power management scheme, including:
- Power policy. Learn how to ensure that hardware and software components (such as display, audio, and voice interaction) are selectively turned on and off as needed.
- Power management. Defines the power state machine used by Android Automotive, provides example sleep/shutdown/wake sequences, and lists the Vehicle HAL properties related to power management.
- Garage Mode. Defines a low power mode in which the vehicle executes necessary maintenance tasks (such as OS and app updates) while the vehicle is parked.
- Managing boot time. Defines differences between the Android and Android Automotive boot processes, provides tips for optimizing boot time, and gives instructions for starting services such as the rear view camera early in the boot sequence.
Hardware architecture
As illustrated in the figure below, the Vehicle Microcontroller Unit (VMCU):
- Interfaces with the vehicle's native interface. For example, the Controller Area Network (CAN) bus.
- Controls the power of the app processor (AP), which handles infotainment, presuming the AP is powered by Android.
- Communicates to the AP through the data bus and general purpose I/O (GPIO) pins to inform
activities such as state transitions.
Figure 1. Hardware blocks
On vehicle power off, the AP enters into one of the following states:
-
Sleep occurs when the VMCU decides to retain the AP's main power for instant wake-up. Typically, a wake-up signal would be sent to the AP through the GPIO.
-
Hibernation occurs when the VMCU decides to keep the memory contents while cutting the main power. Typically, The AP loades the saved memory contents at the next power on.
-
Shutdown occurs when the VMCU decides to reserve battery. The AP must cold boot at next power on.
The VMCU-AP data bus must be a bidirectional interface such as Serial Peripheral Interface (SPI), and must be exposed in the Vehicle HAL. It may be used to send events such as:
- AP display On or Off.
- AP wake-up (can occur through the GPIO).
- AP rear-view camera display On or Off.
- AP shut-down complete (to the VMCU).