Tác nhân Chế độ xe và quản lý nguồn (VPM) giúp xe kiểm soát hệ thống nguồn của hệ sinh thái Xe được xác định bằng phần mềm (SDV).
Tác nhân VPM hỗ trợ việc truyền đạt các chế độ xe và nguồn cho nhiều thành phần phần mềm, bao gồm cả tác nhân SDV và gói dịch vụ trong SDV.
Tác nhân VPM cho phép các thành phần SDV theo dõi trạng thái hiện tại của xe, chẳng hạn như chế độ hoạt động (ví dụ: đỗ xe hoặc lái xe) và trạng thái nguồn (ví dụ: bật, tạm ngưng hoặc tắt nguồn). Trạng thái xe giống nhau trên tất cả phần mềm của xe; tuy nhiên, trạng thái nguồn là riêng biệt đối với mọi máy ảo SDV trong xe.
Tác nhân VPM báo hiệu cho nền tảng hệ thống SDV để bắt đầu các chế độ nguồn cụ thể. Tính năng này tối ưu hoá mức tiêu thụ điện và giảm thời gian khởi động trong trường hợp tiếp tục, đồng thời giúp đảm bảo hoạt động hiệu quả của các thành phần phần mềm đa dạng của SDV.
Trang này mô tả các yêu cầu, ràng buộc và phần phụ thuộc chính liên quan đến tác nhân VPM. Trang này giải thích chức năng dự kiến và hướng dẫn tích hợp cho tác nhân VPM đối với nhà sản xuất thiết bị gốc (OEM) và các nhà phát triển SDV khác.
Kiến trúc
Hình 1 minh hoạ kiến trúc quản lý nguồn:
Hình 1. Kiến trúc quản lý nguồn.
Tác nhân VPM nhận các lệnh chế độ nguồn (chẳng hạn như tắt và tạm ngưng) từ dịch vụ quản lý nguồn của OEM.
Tác nhân VPM chuyển tiếp các lệnh này đến các tác nhân SDV thích hợp và chờ các tác nhân thực thi các lệnh đó. Phương pháp phối hợp này giúp đảm bảo quá trình chuyển đổi mượt mà và an toàn giữa các chế độ nguồn, giảm thiểu nguy cơ mất dữ liệu hoặc hệ thống không ổn định.
Sau khi tất cả tác nhân SDV hoàn tất quá trình chuyển đổi nguồn, tác nhân VPM sẽ thông báo cho OEM, cho phép hệ thống OEM tiếp tục thực hiện mọi hành động cần thiết (ví dụ: chuyển sang trạng thái tiếp theo hoặc tắt). Quá trình chuyển đổi nguồn đang chặn; quá trình chuyển đổi chỉ xảy ra khi tất cả tác nhân SDV thực thi quá trình chuyển đổi trong thời gian chờ do OEM xác định.
Máy trạng thái để quản lý nguồn được minh hoạ trong sơ đồ sau:
Hình 2. Máy trạng thái quản lý nguồn.
Tác nhân VPM hoạt động với hệ thống quản lý vòng đời và điều phối để thông báo cho các gói dịch vụ SDV về mọi bản cập nhật chế độ nguồn. Điều này cho phép các gói dịch vụ xử lý quá trình chuyển đổi nguồn và tránh làm gián đoạn hoạt động của chúng. Hãy xem Xử lý quá trình tạm ngưng và tiếp tục để biết thông tin chi tiết về cách sử dụng trạng thái quản lý nguồn với các gói dịch vụ và xử lý giao tiếp SDV.
Trạng thái nguồn
Các trạng thái được phép để quản lý nguồn trong SDV như sau:
| Trạng thái | Giải thích |
|---|---|
REPORT_UNSPECIFIED |
Giá trị mặc định nếu không có báo cáo nào được chỉ định. |
POWER_OFF_EXIT |
Máy ảo đang khởi động từ quá trình khởi động nguội. Tác nhân SDV bắt đầu bằng init.rc. |
SUSPEND_TO_RAM_EXIT |
Máy ảo đang tiếp tục từ quá trình tạm ngưng sang RAM. Tác nhân SDV tiếp tục từ RAM và nhận được thông báo về bản cập nhật nguồn nếu đã đăng ký nhận thông báo về trạng thái nguồn. |
ON |
Máy ảo đang chạy bình thường. |
POWER_OFF_ENTER |
Máy ảo đang chuẩn bị tắt nguồn. Các ứng dụng OEM có thể được dọn dẹp sớm nên được dọn dẹp ở trạng thái này. Các ứng dụng OEM vẫn có thể dựa vào các tác nhân SDV đang chạy ở giai đoạn này. Các tác nhân SDV không nên tạm ngưng hoặc tắt nguồn ở giai đoạn này vì các ứng dụng OEM có thể vẫn cần giao tiếp với chúng. |
SUSPEND_TO_RAM_ENTER |
Máy ảo đang chuẩn bị tạm ngưng sang RAM. Các ứng dụng OEM có thể được dọn dẹp sớm nên được dọn dẹp ở trạng thái này. Các ứng dụng OEM vẫn có thể dựa vào các tác nhân SDV đang chạy ở giai đoạn này. Các tác nhân SDV không nên tạm ngưng hoặc tắt nguồn ở giai đoạn này vì các ứng dụng OEM có thể vẫn cần giao tiếp với chúng. |
WAIT_FOR_FINISH |
Máy ảo đã hoàn tất quá trình dọn dẹp ban đầu và đang chờ tín hiệu từ OEM để hoàn tất hoặc huỷ quá trình tắt nguồn hoặc tạm ngưng. |
SHUTDOWN_CANCELLED |
OEM đã yêu cầu huỷ quá trình chuẩn bị tắt. Yêu cầu này có thể xảy ra muộn nhất là WAIT_FOR_FINISH. Trình quản lý vòng đời yêu cầu các ứng dụng OEM hoàn tác quá trình chuẩn bị tạm ngưng hoặc tắt nguồn. |
POWER_OFF_POST_FINISH |
Sau yêu cầu FINISH_SHUTDOWN của OEM, máy ảo sẽ hoàn tất quá trình dọn dẹp cuối cùng và tắt nền tảng cơ bản. Các tác nhân SDV nên dọn dẹp trước khi tắt nguồn. |
SUSPEND_TO_RAM_POST_FINISH |
Máy ảo sắp tạm ngưng sang RAM và tạm ngưng nền tảng cơ bản sang RAM. Các ứng dụng OEM không nên dựa vào các tác nhân SDV tại thời điểm này vì chúng cũng bị tạm ngưng. Các tác nhân SDV nên thực hiện quá trình dọn dẹp trước khi tạm ngưng. |
Nhận thông tin cập nhật về trạng thái xe
Tác nhân VPM nhận thông tin cập nhật về các chế độ xe hiện tại từ gói dịch vụ kiểm soát xe của OEM.
Sau đó, tác nhân sẽ chuyển tiếp thông tin này đến các thành phần SDV có liên quan thông qua ngăn xếp giao tiếp SDV được tiêu chuẩn hoá. Điều này thông báo cho tất cả thành phần SDV về trạng thái hoạt động của xe để chúng có thể điều chỉnh hành vi cho phù hợp.
Để nhận thông tin cập nhật về trạng thái xe, hãy sử dụng cấu hình VSIDL sau trong gói dịch vụ:
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"
}
}
Các chế độ và quá trình chuyển đổi của xe không chặn và không đồng bộ. Không giống như quá trình chuyển đổi nguồn, không có máy trạng thái nào được thực thi.
Các trạng thái được phép cho một xe trong SDV như sau:
| Trạng thái | Giải thích |
|---|---|
VEHICLE_STATE_UNSPECIFIED |
Giá trị mặc định cho trạng thái xe nếu không có trạng thái nào được chỉ định. |
LOW_POWER |
Xe tắt theo góc độ của người dùng, nhưng PCU vẫn có thể phát hiện thấy xe đang bật. |
SOFTWARE_UPDATE |
Quá trình cập nhật phần mềm đang diễn ra trên một số hoặc tất cả các bộ phận của xe. Đây là các bản cập nhật phần mềm không liên quan đến SDV. |
PARK |
Một số ECU được cung cấp cho hoạt động cụ thể này mà không có sự hiện diện của khách hàng. |
LIFE_ON_BOARD |
ECU tiện nghi (chẳng hạn như bộ sưởi ghế, cụm và bảng điều khiển trung tâm) được cung cấp và có thể sử dụng hoặc hoạt động của khách hàng được phát hiện, chẳng hạn như mở cửa hoặc mở khoá xe. |
VEHICLE_ON |
ECU động cơ được cung cấp, động cơ đang hoạt động và không thể lái xe. |
TRACTION_ON |
ECU động cơ được cung cấp, động cơ đang hoạt động và có thể lái xe. |
Kiểm soát xe và quản lý nguồn bằng tác nhân VPM
Sử dụng các định nghĩa VSIDL sau để triển khai gói dịch vụ kiểm soát máy trạng thái nguồn trong 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"
}
}
Sau khi gói được triển khai và ACL được thêm vào tác nhân VPM, gói có thể gửi yêu cầu RPC đến tác nhân VPM và nhận thông báo về trạng thái nguồn trên máy chủ đã xác định.