La gestion de l'alimentation est essentielle pour les applications automobiles, et les exigences en matière d'alimentation diffèrent considérablement de celles des appareils mobiles, notamment :
- Consommation d’énergie proche de zéro lorsque le véhicule est garé. La batterie du véhicule doit encore être suffisamment chargée pour démarrer, même après plusieurs mois.
- Réponse à la mise sous tension extrêmement rapide pour la caméra de recul, l'audio et l'écran de démarrage (avant le démarrage d'Android lui-même).
- Démarrage rapide sur l'écran d'accueil d'Android afin que l'utilisateur puisse interagir avec l'appareil.
- Reprendre/restaurer les états de l'application (tels que la station de radio et le guidage de navigation) après un cycle d'alimentation.
L'équipe Android Automotive résout les problèmes de gestion de l'énergie spécifiques à l'automobile avec un nouveau système de gestion de l'énergie, comprenant :
- Politique de pouvoir . Découvrez comment vous assurer que les composants matériels et logiciels (tels que l’affichage, l’audio et l’interaction vocale) sont activés et désactivés de manière sélective selon les besoins.
- Gestion de l'alimentation . Définit la machine à états d'alimentation utilisée par Android Automotive, fournit des exemples de séquences de veille/arrêt/réveil et répertorie les propriétés HAL du véhicule liées à la gestion de l'alimentation.
- Mode garage . Définit un mode faible consommation dans lequel le véhicule exécute les tâches de maintenance nécessaires (telles que les mises à jour du système d'exploitation et des applications) pendant que le véhicule est garé.
- Gestion du temps de démarrage . Définit les différences entre les processus de démarrage Android et Android Automotive, fournit des conseils pour optimiser le temps de démarrage et donne des instructions pour démarrer des services tels que la caméra de recul au début de la séquence de démarrage.
Architecture matérielle
Comme illustré dans la figure ci-dessous, l'unité de microcontrôleur du véhicule (VMCU) :
- S'interface avec l'interface native du véhicule. Par exemple, le bus CAN (Controller Area Network).
- Contrôle la puissance du processeur d'application (AP), qui gère l'infodivertissement, en supposant que l'AP soit alimenté par Android.
- Communique avec le point d'accès via le bus de données et les broches d'E/S à usage général (GPIO) pour informer les activités telles que les transitions d'état.
Figure 1. Blocs matériels
Lors de la mise hors tension du véhicule, le point d'accès entre dans l'un des états suivants :
La mise en veille se produit lorsque le VMCU décide de conserver l'alimentation principale du point d'accès pour un réveil instantané. En règle générale, un signal de réveil est envoyé au point d'accès via le GPIO.
L'hibernation se produit lorsque le VMCU décide de conserver le contenu de la mémoire tout en coupant l'alimentation principale. En règle générale, le point d'accès charge le contenu de la mémoire enregistré lors de la prochaine mise sous tension.
L'arrêt se produit lorsque le VMCU décide de réserver la batterie. Le point d'accès doit démarrer à froid à la prochaine mise sous tension.
Le bus de données VMCU-AP doit être une interface bidirectionnelle telle qu'une interface périphérique série (SPI) et doit être exposé dans le HAL du véhicule. Il peut être utilisé pour envoyer des événements tels que :
- Affichage AP activé ou désactivé.
- Réveil AP (peut se produire via le GPIO).
- Affichage de la caméra de recul AP activé ou désactivé.
- Arrêt du point d'accès terminé (vers la VMCU).