التحكّم في المركبة وإدارة الطاقة

يساعد عامل إدارة الطاقة ووضع المركبة (VPM) المركبة في التحكّم في نظام الطاقة في نظام المركبة المعرّفة بالبرامج (SDV).

يسهّل عامل VPM إرسال أوضاع المركبة والطاقة إلى مكوّنات برمجية مختلفة، بما في ذلك عوامل SDV وحِزم الخدمات ضمن SDV.

يتيح عامل VPM لمكوّنات SDV تتبُّع الحالة الحالية للمركبة، مثل وضع التشغيل (على سبيل المثال، متوقفة أو قيد القيادة) وحالة الطاقة (على سبيل المثال، قيد التشغيل أو معلّقة أو متوقفة). تكون حالة المركبة هي نفسها في جميع برامج المركبة، ولكن حالة الطاقة تكون فريدة لكل جهاز افتراضي من أجهزة SDV في المركبة.

يرسل عامل VPM إشارة إلى منصة نظام SDV لبدء أوضاع طاقة معيّنة. تساعد هذه الإمكانية في تحسين استهلاك الطاقة وتقليل وقت التشغيل في حال الاستئناف، وتساعد في ضمان التشغيل الفعّال لمكوّنات البرامج المتنوّعة في SDV.

توضّح هذه الصفحة المتطلبات والقيود والتبعيات الرئيسية المرتبطة بعامل VPM. وتشرح الوظائف المتوقّعة وإرشادات التكامل لعامل VPM لمصنّعي المعدات الأصلية (OEM) ومطوّري SDV الآخرين.

هندسة معمارية

يوضّح الشكل 1 بنية إدارة الطاقة:

بنية إدارة الطاقة

الشكل 1: بنية إدارة الطاقة

يتلقّى عامل VPM أوامر وضع الطاقة (مثل الإيقاف والإيقاف المؤقت) من خدمة إدارة الطاقة الخاصة بمصنّع المعدات الأصلية.

يعيد عامل VPM توجيه هذه الأوامر إلى عوامل SDV المناسبة وينتظر أن تنفّذها العوامل. يساعد هذا النهج المنسّق في ضمان الانتقال بسلاسة وأمان بين أوضاع الطاقة، ما يقلّل من خطر فقدان البيانات أو عدم استقرار النظام.

بعد أن تُكمل جميع عوامل SDV عمليات نقل الطاقة، يُرسل عامل VPM إشعارًا إلى مصنّع المعدات الأصلية، ما يتيح لأنظمة مصنّع المعدات الأصلية المتابعة في أي إجراءات ضرورية (على سبيل المثال، الانتقال إلى الحالة التالية أو الإيقاف). تكون عمليات نقل الطاقة حظرًا، ولا تحدث عملية النقل إلا عندما تنفّذ جميع عوامل SDV عملية النقل خلال مهلة يحدّدها مصنّع المعدات الأصلية.

تظهر آلة الحالة لإدارة الطاقة في المخطّط البياني التالي:

آلة حالة إدارة الطاقة

الشكل 2: آلة حالة إدارة الطاقة

يعمل عامل VPM مع نظام التنسيق وإدارة مراحل التطوير لإشعار حِزم خدمات SDV بأي تحديثات في وضع الطاقة. يتيح ذلك لحِزم الخدمات التعامل مع عمليات نقل الطاقة وتجنُّب حدوث انقطاعات في تشغيلها. راجع مقالة التعامل مع الإيقاف المؤقت والاستئناف للحصول على تفاصيل حول استخدام حالات إدارة الطاقة مع حِزم الخدمات والتعامل مع الاتصال في SDV.

حالات الطاقة

في ما يلي الحالات المسموح بها لإدارة الطاقة في SDV:

الحالة الشرح
REPORT_UNSPECIFIED القيمة التلقائية في حال عدم تحديد أي تقرير
POWER_OFF_EXIT الجهاز الافتراضي قيد التشغيل من عملية تشغيل باردة. تبدأ عوامل SDV باستخدام init.rc.
SUSPEND_TO_RAM_EXIT الجهاز الافتراضي قيد الاستئناف من الإيقاف المؤقت إلى ذاكرة الوصول العشوائي. تستأنف عوامل SDV من ذاكرة الوصول العشوائي وتتلقّى إشعارًا بشأن تحديث الطاقة إذا كانت مشترِكة في الإشعارات بشأن حالة الطاقة.
ON الجهاز الافتراضي قيد التشغيل بشكل طبيعي.
POWER_OFF_ENTER الجهاز الافتراضي قيد الإعداد للإيقاف. يجب تنظيف تطبيقات مصنّع المعدات الأصلية التي يمكن تنظيفها في وقت مبكر في هذه الحالة. لا يزال بإمكان تطبيقات مصنّع المعدات الأصلية الاعتماد على عوامل SDV قيد التشغيل في هذه المرحلة. يجب ألا يتم إيقاف عوامل SDV مؤقتًا أو إيقافها في هذه المرحلة لأنّ تطبيقات مصنّع المعدات الأصلية قد لا تزال بحاجة إلى التواصل معها.
SUSPEND_TO_RAM_ENTER الجهاز الافتراضي قيد الإعداد للإيقاف المؤقت إلى ذاكرة الوصول العشوائي. يجب تنظيف تطبيقات مصنّع المعدات الأصلية التي يمكن تنظيفها في وقت مبكر في هذه الحالة. لا يزال بإمكان تطبيقات مصنّع المعدات الأصلية الاعتماد على عوامل SDV قيد التشغيل في هذه المرحلة. يجب ألا يتم إيقاف عوامل SDV مؤقتًا أو إيقافها في هذه المرحلة لأنّ تطبيقات مصنّع المعدات الأصلية قد لا تزال بحاجة إلى التواصل معها.
WAIT_FOR_FINISH أكمل الجهاز الافتراضي عملية التنظيف الأولية وينتظر الإشارة من مصنّع المعدات الأصلية لإكمال عملية الإيقاف أو الإيقاف المؤقت أو إلغائها.
SHUTDOWN_CANCELLED طلب مصنّع المعدات الأصلية إلغاء عملية الإعداد للإيقاف. يمكن أن يحدث هذا الطلب في موعد لا يتجاوز WAIT_FOR_FINISH. يطلب مدير مراحل التطوير من تطبيقات مصنّع المعدات الأصلية التراجع عن عملية الإعداد للإيقاف المؤقت أو الإيقاف.
POWER_OFF_POST_FINISH بعد طلب FINISH_SHUTDOWN من مصنّع المعدات الأصلية، يُكمل الجهاز الافتراضي عملية التنظيف النهائية ويوقف المنصة الأساسية. يجب أن تنظّف عوامل SDV قبل الإيقاف.
SUSPEND_TO_RAM_POST_FINISH الجهاز الافتراضي على وشك الإيقاف المؤقت إلى ذاكرة الوصول العشوائي وإيقاف المنصة الأساسية مؤقتًا إلى ذاكرة الوصول العشوائي. يجب ألا تعتمد تطبيقات مصنّع المعدات الأصلية على عوامل SDV في هذه المرحلة لأنّها أيضًا معلّقة. يجب أن تُجري عوامل SDV عمليات التنظيف قبل الإيقاف المؤقت.

تلقّي آخر المعلومات عن حالة المركبة

يتلقّى عامل VPM آخر المعلومات عن أوضاع المركبة الحالية من حزمة خدمة التحكّم في المركبة الخاصة بمصنّع المعدات الأصلية.

بعد ذلك، يعيد العامل توجيه هذه المعلومات إلى مكوّنات SDV ذات الصلة من خلال حزمة الاتصال الموحّدة في SDV. يُعلم ذلك جميع مكوّنات SDV بالحالة التشغيلية للمركبة حتى تتمكّن من تكييف سلوكها وفقًا لذلك.

لتلقّي آخر المعلومات عن حالات المركبة، استخدِم إعداد VSIDL التالي في حزمة الخدمة:

package: "com.sdv.google.vpm.vehicle.client.subscriber"

service_bundle {
    name: "VehicleStateSubscriber"
    //Subscriber to the vehicle state updates.
    subscriber {
        message: "com.sdv.google.vpm.vehicle.VehicleStateChange"
    }
}

لا تحظر أوضاع المركبة وعمليات النقل، وهي غير متزامنة. على عكس عمليات نقل الطاقة، لا يتم فرض أي آلة حالة.

في ما يلي الحالات المسموح بها لمركبة في SDV:

الحالة الشرح
VEHICLE_STATE_UNSPECIFIED القيمة التلقائية لحالات المركبة في حال عدم تحديد أي حالة
LOW_POWER السيارة متوقفة من وجهة نظر المستخدم، ولكن لا يزال بإمكان وحدة التحكّم في مجموعة الطاقة (PCU) رصد أنّ السيارة قيد التشغيل.
SOFTWARE_UPDATE تجري حاليًا تحديثات البرامج على بعض أجزاء المركبة أو جميعها. هذه تحديثات برامج غير مرتبطة بنظام SDV.
PARK يتم توفير عدد قليل من وحدات التحكّم الإلكترونية (ECU) لهذا النشاط المحدّد بدون حضور العميل.
LIFE_ON_BOARD يتم توفير وحدات التحكّم الإلكترونية المريحة، مثل سخانات المقاعد والمجموعات واللوحات المركزية، وتكون قابلة للاستخدام، أو يتم رصد نشاط العميل، مثل فتح باب أو فتح قفل سيارة.
VEHICLE_ON يتم توفير وحدات التحكّم الإلكترونية للمحرّك، والمحرّك قيد التشغيل، ولا يمكن القيادة.
TRACTION_ON يتم توفير وحدات التحكّم الإلكترونية للمحرّك، والمحرّك قيد التشغيل، ويمكن القيادة.

التحكّم في المركبة وإدارة الطاقة باستخدام عامل VPM

استخدِم تعريفات VSIDL التالية لتنفيذ حزمة خدمة تتحكّم في آلة حالة الطاقة في SDV:

package: "com.sdv.google.vpm.client"

service_bundle {
    name: "VpmSystemClient"

    //Client for VPM system interface.
    client {
        service: "com.sdv.google.vpm.VpmSystemService"
    }

    //Server to VPM notification interface.
    server {
        service: "com.sdv.google.vpm.client.PowerNotificationService"
    }
}

بعد تنفيذ الحزمة وإضافة قوائم التحكّم بالوصول (ACL) إلى عامل VPM، يمكن للحزمة إرسال طلبات إجراءات الإجراءات عن بُعد (RPC) إلى عامل VPM وتلقّي إشعارات بشأن حالة الطاقة على الخادم المحدّد.