Mengontrol pengelolaan daya dan kendaraan

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:

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:

Mesin status Pengelolaan Daya

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.