تكوين مصادر وقت AAOS

تتيح هذه الميزة للشركاء اختيار كيفية مزامنة الوقت، سواء من نظام تشغيل Android Automotive (AAOS) أو من أنظمة المركبات إلى Android. لضمان جودة عمليات التنفيذ، يمكنك تكوين AAOS لاستخدام إحدى خاصيتي VHAL الجديدتين الموضحتين أدناه لنشر القيم بشكل فعال. يستخدم:

  • ANDROID_EPOCH_TIME لاستخدام Android كمصدر الحقيقة للوقت. يدعم VHAL خاصية الكتابة فقط هذه، والتي تنقل تغييرات الوقت من Android إلى أنظمة المركبات الأخرى، مثل وحدات التحكم الإلكترونية (ECU) ووحدة التحكم في الجسم (BCM).
  • EXTERNAL_CAR_TIME لعدم استخدام Android كمصدر الحقيقة للوقت. في هذه الحالة، يدعم VHAL خاصية EXTERNAL_CAR_TIME للقراءة فقط ، والتي تنقل تغييرات الوقت من أنظمة المركبات الأخرى (مثل وحدات التحكم الإلكترونية وBCM) إلى Android.

يوفر AAOS أيضًا إستراتيجية TimeDetectorStrategy قابلة للتكوين لمساعدتك في تحديد أولويات مصادر الوقت المختلفة داخل Android.

الروبوت هو مصدر الحقيقة للوقت

عند استخدام Android كمصدر للوقت، يمكن لمصنعي المعدات الأصلية مزامنة أنظمة السيارات الأخرى (بما في ذلك وحدات التحكم الإلكترونية وBCM) مع وقت Android.

للقيام بذلك، يجب أن يدعم تطبيق VHAL خاصية الكتابة فقط ANDROID_EPOCH_TIME . ينشر Android تحديثًا للخاصية من خلال قراءة وقت النظام، سواء في وقت التمهيد أو كلما تم تغيير مصدر الوقت في Android.

الروبوت ليس مصدر الحقيقة للوقت

عندما لا يتم استخدام Android كمصدر للوقت، يمكنك مزامنة وقت Android ليكون مصدر الحقيقة للوقت (على سبيل المثال، مع وحدة التحكم الإلكترونية أو BCM). في هذه الحالة، يجب أن يدعم تطبيق VHAL خاصية القراءة فقط EXTERNAL_CAR_TIME وينشر التحديثات لهذه الخاصية عندما يتغير مصدر الوقت أو يعيد معايرة الساعة.

يجب على مصنعي المعدات الأصلية أيضًا التأكد من:

  • تم تضمين قيم config_autoTimeSourcesPriority في core/res/res/values/config.xml .
  • تم تعيين الخاصية config_enableExternalCarTimeToExternalTimeSuggestion في packages/services/Car/service/res/values/config.xml على true .
  • الوقت external له الأولوية المناسبة في تكوين TimeDetectorStrategy . لمعرفة المزيد، راجع اكتشاف وقت GNSS . على سبيل المثال:
    <!-- 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>
    

تفاصيل التنفيذ الداخلي لنظام Android

يحدث التدفق التالي عندما تكون خاصية ANDROID_EPOCH_TIME VHAL مدعومة:

  1. يتلقى TimeHalService (في CarServices) بثًا من نظام Android لـ Intent.ACTION_TIME_CHANGED .
  2. تنشر TimeHalService تحديثًا لخاصية VHAL ANDROID_EPOCH_TIME .
  3. يمكن لـ VHAL نشر القيمة الزمنية المستلمة إلى وحدات التحكم الإلكترونية و/أو وحدات BCM المختلفة.

يحدث التدفق التالي عندما تكون خاصية EXTERNAL_CAR_TIME VHAL مدعومة:

  1. يقوم VHAL بتحديث خاصية EXTERNAL_CAR_TIME .
  2. يقوم TimeHalService (في CarServices) بقراءة الخاصية من خلال الاشتراك.
  3. يقوم TimeHalService بإنشاء وإرسال ExternalTimeSuggestion إلى TimeManager .
  4. يقوم TimeManager بإعادة توجيه الاقتراح إلى TimeDetectorService .
  5. يستخدم TimeDetectorService TimeDetectorStrategy لاختيار وقت نظام جديد.