يساعد عامل إدارة الطاقة ووضع المركبة (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 وتلقّي إشعارات بشأن حالة الطاقة على الخادم المحدّد.