La gestione energetica è fondamentale per le app automobilistiche e i requisiti di alimentazione differiscono notevolmente da quelli dei dispositivi mobili, tra cui:
- Consumo energetico vicino allo zero mentre il veicolo è parcheggiato. Il veicolo dovrebbe avere ancora una carica della batteria sufficiente per essere avviato, anche dopo molti mesi.
- Risposta all'accensione estremamente rapida per telecamera posteriore, audio e schermata iniziale (prima dell'avvio di Android stesso).
- Avvio rapido nella schermata iniziale di Android in modo che l'utente possa interagire con il dispositivo.
- Ripristina/ripristina gli stati dell'app (come la stazione radio e la guida di navigazione) dopo il riavvio.
Il team Android Automotive sta affrontando i problemi di gestione energetica specifici del settore automobilistico con un nuovo schema di gestione energetica, che include:
- Politica di potere . Scopri come garantire che i componenti hardware e software (come display, audio e interazione vocale) siano attivati e disattivati selettivamente secondo necessità.
- Gestione energetica . Definisce la macchina dello stato di alimentazione utilizzata da Android Automotive, fornisce esempi di sequenze di sospensione/spegnimento/riattivazione ed elenca le proprietà HAL del veicolo relative alla gestione dell'alimentazione.
- Modalità garage . Definisce una modalità a basso consumo in cui il veicolo esegue le attività di manutenzione necessarie (come aggiornamenti del sistema operativo e delle app) mentre il veicolo è parcheggiato.
- Gestione del tempo di avvio . Definisce le differenze tra i processi di avvio di Android e Android Automotive, fornisce suggerimenti per ottimizzare il tempo di avvio e fornisce istruzioni per avviare servizi come la telecamera di retromarcia nelle prime fasi della sequenza di avvio.
Architettura dell'hardware
Come illustrato nella figura seguente, l'unità microcontrollore del veicolo (VMCU):
- Si interfaccia con l'interfaccia nativa del veicolo. Ad esempio, il bus CAN (Controller Area Network).
- Controlla la potenza del processore dell'app (AP), che gestisce l'infotainment, presupponendo che l'AP sia alimentato da Android.
- Comunica con l'AP tramite il bus dati e i pin GPIO (General Purpose I/O) per informare attività come le transizioni di stato.
Figura 1. Blocchi hardware
Allo spegnimento del veicolo, l'AP entra in uno dei seguenti stati:
La modalità di sospensione si verifica quando la VMCU decide di mantenere l'alimentazione principale dell'AP per la riattivazione immediata. In genere, un segnale di riattivazione viene inviato all'AP tramite GPIO.
L'ibernazione avviene quando la VMCU decide di conservare il contenuto della memoria interrompendo l'alimentazione principale. In genere, l'AP carica il contenuto della memoria salvata alla successiva accensione.
Lo spegnimento avviene quando la VMCU decide di riservare la batteria. L'AP deve avviarsi a freddo alla successiva accensione.
Il bus dati VMCU-AP deve essere un'interfaccia bidirezionale come l'interfaccia periferica seriale (SPI) e deve essere esposto nell'HAL del veicolo. Può essere utilizzato per inviare eventi come:
- Visualizzazione AP attivata o disattivata.
- Riattivazione dell'AP (può avvenire tramite GPIO).
- Visualizzazione della telecamera posteriore AP attivata o disattivata.
- Spegnimento dell'AP completato (alla VMCU).