ضبط مصادر وقت AAOS

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

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

يوفّر نظام التشغيل Android Automotive أيضًا TimeDetectorStrategy قابلاً للضبط لمساعدتك في تحديد الأولويات. المصادر الزمنية المختلفة في Android.

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

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

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

Android ليس مصدرًا للحقيقة طوال الوقت

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

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

  • يتم تضمين قيم config_autoTimeSourcesPriority في core/res/res/values/config.xml
  • سمة config_enableExternalCarTimeToExternalTimeSuggestion في إعدادات تراكب CarServices 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

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

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

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

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