ضبط مصادر الوقت في نظام التشغيل 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 هو مصدر المعلومات الصحيحة عن الوقت

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

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

Android ليس مصدرًا موثوقًا للوقت

عندما لا يتم استخدام Android كمصدر للوقت، يمكنك مزامنة وقت Android ليكون مصدرًا دقيقًا للوقت (على سبيل المثال، باستخدام وحدة التحكّم الإلكترونية أو وحدة التحكّم في الجسم). في هذه الحالة، يجب أن يتوافق تنفيذ 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. يستخدم TimeDetectorService TimeDetectorStrategy لاختيار وقت نظام جديد.