Agen Mode Kendaraan dan Pengelolaan Daya (VPM) membantu kendaraan mengontrol sistem daya ekosistem Software Defined Vehicle (SDV).
Agen VPM memfasilitasi komunikasi mode kendaraan dan daya ke berbagai komponen software, termasuk agen SDV dan paket layanan dalam SDV.
Agen VPM memungkinkan komponen SDV melacak status kendaraan saat ini, seperti mode operasionalnya (misalnya, diparkir atau mengemudi) dan status daya (misalnya, aktif, ditangguhkan, atau nonaktif). Status kendaraan sama di semua software kendaraan; namun, status daya unik untuk setiap VM SDV di kendaraan.
Agen VPM memberi sinyal pada platform sistem SDV untuk memulai mode daya tertentu. Kemampuan ini mengoptimalkan konsumsi daya dan mengurangi waktu booting jika terjadi lanjutan, serta membantu memastikan pengoperasian yang efisien dari berbagai komponen software SDV.
Halaman ini menjelaskan persyaratan, batasan, dan dependensi utama yang terkait dengan agen VPM. Dokumen ini menjelaskan fungsi yang diharapkan dan panduan integrasi untuk agen VPM kepada produsen peralatan asli (OEM) dan developer SDV lainnya.
Arsitektur
Gambar 1 mengilustrasikan arsitektur pengelolaan daya:
Gambar 1. Arsitektur pengelolaan daya.
Agen VPM menerima perintah mode daya (seperti mematikan dan menangguhkan) dari layanan pengelolaan daya OEM.
Agen VPM meneruskan perintah ini ke agen SDV yang sesuai dan menunggu agen untuk mengeksekusinya. Pendekatan terkoordinasi ini membantu memastikan transisi yang lancar dan aman antara mode daya, sehingga meminimalkan risiko kehilangan data atau ketidakstabilan sistem.
Setelah semua agen SDV menyelesaikan transisi daya, agen VPM akan memberi tahu OEM, sehingga sistem OEM dapat melanjutkan tindakan yang diperlukan (misalnya, melanjutkan ke status berikutnya atau mematikan sistem). Transisi daya bersifat memblokir; transisi hanya terjadi saat semua agen SDV menjalankan transisi dalam waktu tunggu yang ditentukan OEM.
Mesin status untuk pengelolaan daya ditampilkan dalam diagram berikut:
Gambar 2. Mesin status pengelolaan daya.
Agen VPM bekerja dengan sistem pengelolaan siklus proses dan orkestrasi untuk memberi tahu paket layanan SDV tentang update mode daya. Hal ini memungkinkan paket layanan menangani transisi daya dan menghindari gangguan pada operasinya. Lihat Menangani penangguhan dan melanjutkan untuk mengetahui detail tentang penggunaan status pengelolaan daya dengan paket layanan dan penanganan komunikasi SDV.
Status daya
Status yang diizinkan untuk pengelolaan daya di SDV adalah sebagai berikut:
| Negara Bagian | Penjelasan |
|---|---|
REPORT_UNSPECIFIED |
Nilai default jika tidak ada laporan yang ditentukan. |
POWER_OFF_EXIT |
VM melakukan booting dari cold boot. Agen SDV dimulai dengan init.rc. |
SUSPEND_TO_RAM_EXIT |
VM melanjutkan dari penangguhan ke RAM. Agen SDV dilanjutkan dari RAM dan mendapatkan notifikasi tentang update daya jika mereka berlangganan notifikasi status daya. |
ON |
VM berjalan normal. |
POWER_OFF_ENTER |
VM sedang bersiap untuk dimatikan. Aplikasi OEM yang dapat dibersihkan lebih awal harus dibersihkan dalam status ini. Aplikasi OEM masih dapat mengandalkan agen SDV yang berjalan pada tahap ini. Agen SDV tidak boleh ditangguhkan atau dimatikan pada tahap ini karena aplikasi OEM mungkin masih perlu berkomunikasi dengan agen SDV. |
SUSPEND_TO_RAM_ENTER |
VM sedang bersiap untuk ditangguhkan ke RAM. Aplikasi OEM yang dapat dibersihkan lebih awal harus dibersihkan dalam status ini. Aplikasi OEM masih dapat mengandalkan agen SDV yang berjalan pada tahap ini. Agen SDV tidak boleh ditangguhkan atau dimatikan pada tahap ini karena aplikasi OEM mungkin masih perlu berkomunikasi dengan agen SDV. |
WAIT_FOR_FINISH |
VM telah menyelesaikan pembersihan awal dan menunggu sinyal dari OEM untuk menyelesaikan atau membatalkan penonaktifan atau penangguhan. |
SHUTDOWN_CANCELLED |
OEM telah meminta pembatalan untuk persiapan penonaktifan. Permintaan ini dapat dilakukan paling lambat pada WAIT_FOR_FINISH. Aplikasi OEM diminta oleh pengelola siklus proses untuk mengurungkan penangguhan atau persiapan penonaktifan. |
POWER_OFF_POST_FINISH |
Setelah permintaan FINISH_SHUTDOWN dari OEM, VM akan
menyelesaikan pembersihan akhir dan mematikan platform yang mendasarinya. Agen SDV harus membersihkan sebelum dimatikan. |
SUSPEND_TO_RAM_POST_FINISH |
VM akan ditangguhkan ke RAM dan menangguhkan platform yang mendasarinya ke RAM. Aplikasi OEM tidak boleh mengandalkan agen SDV pada tahap ini karena agen tersebut juga ditangguhkan. Agen SDV harus melakukan pembersihan sebelum penangguhan. |
Menerima info terbaru tentang status kendaraan
Agen VPM menerima update tentang mode kendaraan saat ini dari paket layanan kontrol kendaraan OEM.
Kemudian, agen meneruskan informasi ini ke komponen SDV yang relevan melalui stack komunikasi SDV standar. Hal ini memberi tahu semua komponen SDV tentang status operasional kendaraan sehingga mereka dapat menyesuaikan perilakunya.
Untuk menerima update tentang status kendaraan, gunakan konfigurasi VSIDL berikut dalam paket layanan Anda:
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"
}
}
Mode dan transisi kendaraan bersifat tidak memblokir dan asinkron. Tidak seperti transisi daya, tidak ada mesin status yang diterapkan.
Status yang diizinkan untuk kendaraan di SDV adalah sebagai berikut:
| Negara Bagian | Penjelasan |
|---|---|
VEHICLE_STATE_UNSPECIFIED |
Nilai default untuk status kendaraan jika tidak ada status yang ditentukan. |
LOW_POWER |
Mobil mati dari perspektif pengguna, tetapi PCU masih dapat mendeteksi bahwa mobil menyala. |
SOFTWARE_UPDATE |
Update software sedang berlangsung di sebagian atau semua bagian kendaraan. Ini adalah update software yang tidak terkait dengan SDV. |
PARK |
Beberapa ECU disediakan untuk aktivitas tertentu ini tanpa kehadiran pelanggan. |
LIFE_ON_BOARD |
ECU kenyamanan, seperti pemanas kursi, cluster, dan panel tengah, disuplai dan dapat digunakan, atau aktivitas pelanggan terdeteksi, seperti membuka pintu atau membuka kunci mobil. |
VEHICLE_ON |
ECU Engine dipasok, engine beroperasi, dan mengemudi tidak mungkin dilakukan. |
TRACTION_ON |
ECU Engine tersedia, mesin dapat beroperasi, dan mengemudi dapat dilakukan. |
Mengontrol kendaraan dan pengelolaan daya dengan agen VPM
Gunakan definisi VSIDL berikut untuk menerapkan paket layanan yang mengontrol mesin status daya di 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"
}
}
Setelah paket diterapkan dan ACL ditambahkan ke agen VPM, paket dapat mengirim permintaan RPC ke agen VPM dan menerima notifikasi status daya di server yang ditentukan.