Mit dieser Funktion können Partner auswählen, wie die Zeit synchronisiert werden soll, ob von der Android- Automotive Operating System (AAOS) oder von Fahrzeugsystemen zu Android. Um qualitativ hochwertige Implementierungen zu gewährleisten, können Sie AAOS so konfigurieren, dass eine der beiden neuen VHAL-Eigenschaften verwendet wird. damit die Werte effektiv weitergegeben werden. Verwendung:
ANDROID_EPOCH_TIME
, um Android als „Source of Truth“ zu verwenden Zeit sparen. Die VHAL unterstützt diese write-only-Eigenschaft, die Zeitänderungen kommuniziert. von Android zu anderen Fahrzeugsystemen wie zum Beispiel Elektronik-Steuereinheiten und das Körpersteuerelement.EXTERNAL_CAR_TIME
, um Android nicht als Quelle zu verwenden der Wahrheit über Zeit. In diesem Fall unterstützt die VHAL die schreibgeschützte Version.EXTERNAL_CAR_TIME
-Property, die Zeitänderungen gegenüber anderen Fahrzeugen mitteilt (wie ECUs und BCM) mit Android verknüpft werden.
AAOS bietet außerdem eine konfigurierbare TimeDetectorStrategy
zur einfacheren Priorisierung
Zeitquellen innerhalb von Android.
Android ist die wichtigste Informationsquelle für die Zeit
Wenn Android als Zeitquelle verwendet wird, können OEMs andere Autosysteme synchronisieren, ECUs und ein BCM) mit Android-Zeit.
Dazu muss die VHAL-Implementierung das Attribut write-only unterstützen.
ANDROID_EPOCH_TIME
-Property. Android veröffentlicht eine Aktualisierung der Property, indem Folgendes gelesen wird:
Systemzeit sowohl beim Booten als auch dann, wenn sich die Zeitquelle in Android ändert.
Android ist lange Zeit nicht die wahre Quelle der Wahrheit.
Wenn Android nicht als Zeitquelle verwendet wird, können Sie die Android-Zeit synchronisieren.
als zentrale Informationsquelle für die Zeit (z. B. mit der ECU oder dem BCM). In diesem Fall
Die VHAL-Implementierung muss das schreibgeschützte Attribut EXTERNAL_CAR_TIME
unterstützen und veröffentlichen
wird immer dann aktualisiert, wenn sich die Zeitquelle ändert oder die Uhr neu kalibriert.
OEMs müssen außerdem Folgendes gewährleisten:
- Die
config_autoTimeSourcesPriority
-Werte sind incore/res/res/values/config.xml
. - Das Attribut
config_enableExternalCarTimeToExternalTimeSuggestion
im CarServices-Overlay-Konfigurationenpackages/services/Car/service/res/values/config.xml
ist auftrue
festgelegt. external
-Zeit hat die entsprechende Priorität imTimeDetectorStrategy
-Konfiguration. Weitere Informationen finden Sie unter GNSS-Zeiterkennung. Beispiel:<!-- Specifies priority of automatic time sources. Suggestions from higher entries in the list take precedence over lower ones. See com.android.server.timedetector.TimeDetectorStrategy for available sources. --> <string-array name="config_autoTimeSourcesPriority"> <item>external</item> <item>gnss</item> <item>network</item> <item>telephony</item> </string-array>
Details zur internen Android-Implementierung
Der folgende Ablauf findet statt, wenn die VHAL-Eigenschaft ANDROID_EPOCH_TIME
unterstützt:
TimeHalService
(in CarServices) empfängt eine Nachricht vom Android-System fürIntent.ACTION_TIME_CHANGED
.TimeHalService
veröffentlicht eine Aktualisierung der VHAL-EigenschaftANDROID_EPOCH_TIME
.- Die VHAL kann den empfangenen Zeitwert an verschiedene ECUs und/oder BCM-Einheiten weitergeben.
Der folgende Ablauf findet statt, wenn die VHAL-Eigenschaft EXTERNAL_CAR_TIME
unterstützt:
- VHAL aktualisiert das Attribut
EXTERNAL_CAR_TIME
. TimeHalService
(in CarServices) liest die Unterkunft über ein Abo.TimeHalService
erstellt eineExternalTimeSuggestion
und sendet sie anTimeManager
TimeManager
leitet den Vorschlag anTimeDetectorService
weiter.TimeDetectorService
verwendetTimeDetectorStrategy
, um ein neues Systemzeit.