เอเจนต์โหมดและระบบจัดการพลังงานของยานพาหนะ (VPM) ช่วยให้ยานพาหนะควบคุมระบบพลังงานของระบบนิเวศยานพาหนะที่กำหนดโดยซอฟต์แวร์ (SDV)
เอเจนต์ VPM ช่วยอำนวยความสะดวกในการสื่อสารโหมดของยานพาหนะและโหมดพลังงานไปยังคอมโพเนนต์ซอฟต์แวร์ต่างๆ รวมถึงเอเจนต์ SDV และชุดบริการภายใน SDV
เอเจนต์ VPM ช่วยให้คอมโพเนนต์ SDV ติดตามสถานะปัจจุบันของยานพาหนะได้ เช่น โหมดการทำงาน (เช่น จอดหรือขับ) และสถานะพลังงาน (เช่น เปิด ระงับ หรือปิด) สถานะของยานพาหนะจะเหมือนกันในซอฟต์แวร์ยานพาหนะทั้งหมด แต่สถานะพลังงานจะเฉพาะเจาะจงกับ VM ของ SDV ทุกรายการในยานพาหนะ
เอเจนต์ VPM จะส่งสัญญาณไปยังแพลตฟอร์มระบบ SDV เพื่อเริ่มโหมดพลังงานที่เฉพาะเจาะจง ความสามารถนี้จะเพิ่มประสิทธิภาพการใช้พลังงานและลดเวลาบูตในกรณีที่กลับมาทำงานต่อ รวมถึงช่วยให้มั่นใจได้ว่าคอมโพเนนต์ซอฟต์แวร์ที่หลากหลายของ SDV จะทำงานได้อย่างมีประสิทธิภาพ
หน้านี้อธิบายข้อกำหนด ข้อจำกัด และการพึ่งพาที่สำคัญซึ่งเชื่อมโยงกับเอเจนต์ VPM โดยจะอธิบายฟังก์ชันการทำงานที่คาดหวังและหลักเกณฑ์การผสานรวมสำหรับเอเจนต์ VPM ให้กับผู้ผลิตอุปกรณ์ดั้งเดิม (OEM) และนักพัฒนา SDV รายอื่นๆ
สถาปัตยกรรม
รูปที่ 1 แสดงสถาปัตยกรรมการจัดการพลังงาน
รูปที่ 1 สถาปัตยกรรมการจัดการพลังงาน
เอเจนต์ VPM จะรับคำสั่งโหมดพลังงาน (เช่น ปิดเครื่องและระงับ) จากบริการจัดการพลังงานของ OEM
เอเจนต์ VPM จะส่งต่อคำสั่งเหล่านี้ไปยังเอเจนต์ SDV ที่เหมาะสมและรอให้เอเจนต์ดำเนินการ แนวทางที่ประสานงานนี้ช่วยให้การเปลี่ยนโหมดพลังงานเป็นไปอย่างราบรื่นและปลอดภัย รวมถึงลดความเสี่ยงที่ข้อมูลจะสูญหายหรือระบบไม่เสถียร
หลังจากที่เอเจนต์ SDV ทั้งหมดเปลี่ยนพลังงานเสร็จแล้ว เอเจนต์ VPM จะแจ้งให้ OEM ทราบ ซึ่งช่วยให้ระบบ OEM ดำเนินการที่จำเป็นได้ (เช่น ไปยังสถานะถัดไปหรือปิดเครื่อง) การเปลี่ยนพลังงานจะบล็อกการดำเนินการ โดยการเปลี่ยนจะเกิดขึ้นก็ต่อเมื่อเอเจนต์ SDV ทั้งหมดดำเนินการเปลี่ยนภายในระยะหมดเวลาที่ OEM กำหนด
เครื่องจักรสถานะสำหรับการจัดการพลังงานแสดงอยู่ในแผนภาพต่อไปนี้
รูปที่ 2 เครื่องจักรสถานะการจัดการพลังงาน
เอเจนต์ VPM ทำงานร่วมกับระบบการจัดการการประสานงานและวงจรการใช้งานเพื่อแจ้งชุดบริการ SDV เกี่ยวกับการอัปเดตโหมดพลังงาน ซึ่งช่วยให้ชุดบริการจัดการการเปลี่ยนพลังงานและหลีกเลี่ยงการหยุดชะงักในการทำงานได้ ดูรายละเอียดเกี่ยวกับการใช้สถานะการจัดการพลังงานกับ ชุดบริการและการจัดการการสื่อสาร SDV ได้ที่หัวข้อ จัดการการระงับและการกลับมาทำงานต่อ
สถานะพลังงาน
สถานะที่อนุญาตสำหรับการจัดการพลังงานใน SDV มีดังนี้
| สถานะ | คำอธิบาย |
|---|---|
REPORT_UNSPECIFIED |
ค่าเริ่มต้นหากไม่ได้ระบุรายงาน |
POWER_OFF_EXIT |
VM กำลังบูตจากการบูตแบบเย็น เอเจนต์ SDV จะเริ่มต้นด้วย init.rc |
SUSPEND_TO_RAM_EXIT |
VM กำลังกลับมาทำงานต่อจากการระงับไปยัง RAM เอเจนต์ SDV จะกลับมาทำงานต่อจาก RAM และได้รับการแจ้งเตือนเกี่ยวกับการอัปเดตพลังงานหากสมัครรับการแจ้งเตือนสถานะพลังงาน |
ON |
VM ทำงานตามปกติ |
POWER_OFF_ENTER |
VM กำลังเตรียมพร้อมสำหรับการปิดเครื่อง แอป OEM ที่ล้างข้อมูลได้ก่อนควรล้างข้อมูลในสถานะนี้ แอป OEM ยังคงใช้เอเจนต์ SDV ที่ทำงานในขั้นตอนนี้ได้ เอเจนต์ SDV ไม่ควรรระงับหรือปิดเครื่องในขั้นตอนนี้เนื่องจากแอป OEM อาจยังต้องสื่อสารกับเอเจนต์ |
SUSPEND_TO_RAM_ENTER |
VM กำลังเตรียมพร้อมสำหรับการระงับไปยัง RAM แอป OEM ที่ล้างข้อมูลได้ก่อนควรล้างข้อมูลในสถานะนี้ แอป OEM ยังคงใช้เอเจนต์ SDV ที่ทำงานในขั้นตอนนี้ได้ เอเจนต์ SDV ไม่ควรรระงับหรือปิดเครื่องในขั้นตอนนี้เนื่องจากแอป OEM อาจยังต้องสื่อสารกับเอเจนต์ |
WAIT_FOR_FINISH |
VM ล้างข้อมูลเบื้องต้นเสร็จแล้วและกำลังรอสัญญาณจาก OEM เพื่อดำเนินการให้เสร็จสมบูรณ์หรือยกเลิกการปิดเครื่องหรือระงับ |
SHUTDOWN_CANCELLED |
OEM ได้ขอให้ยกเลิกการเตรียมการปิดเครื่อง คำขอนี้จะเกิดขึ้นได้ไม่เกิน WAIT_FOR_FINISH ผู้จัดการวงจรการใช้งานขอให้แอป OEM ยกเลิกการเตรียมการระงับหรือปิดเครื่อง |
POWER_OFF_POST_FINISH |
หลังจากได้รับคำขอ FINISH_SHUTDOWN จาก OEM แล้ว VM จะล้างข้อมูลขั้นสุดท้ายและปิดแพลตฟอร์มพื้นฐาน เอเจนต์ SDV ควรล้างข้อมูลก่อนปิดเครื่อง |
SUSPEND_TO_RAM_POST_FINISH |
VM กำลังจะระงับไปยัง RAM และระงับแพลตฟอร์มพื้นฐานไปยัง RAM แอป OEM ไม่ควรใช้เอเจนต์ SDV ในตอนนี้เนื่องจากเอเจนต์ก็ถูกระงับด้วย เอเจนต์ SDV ควรล้างข้อมูลก่อนการระงับ |
รับข้อมูลอัปเดตเกี่ยวกับสถานะของยานพาหนะ
เอเจนต์ VPM จะรับข้อมูลอัปเดตเกี่ยวกับโหมดยานพาหนะปัจจุบันจากชุดบริการควบคุมยานพาหนะของ OEM
จากนั้นเอเจนต์จะส่งต่อข้อมูลนี้ไปยังคอมโพเนนต์ 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 |
ECU ที่ให้ความสะดวกสบาย เช่น เครื่องทำความร้อนที่นั่ง คลัสเตอร์ และแผงควบคุมส่วนกลาง จะพร้อมใช้งาน หรือระบบตรวจพบกิจกรรมของลูกค้า เช่น การเปิดประตูหรือปลดล็อกรถ |
VEHICLE_ON |
ECU ของเครื่องยนต์พร้อมใช้งาน เครื่องยนต์ทำงานได้ แต่ขับไม่ได้ |
TRACTION_ON |
ECU ของเครื่องยนต์พร้อมใช้งาน เครื่องยนต์ทำงานได้ และขับได้ |
ควบคุมยานพาหนะและระบบจัดการพลังงานด้วยเอเจนต์ 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 และรับการแจ้งเตือนสถานะพลังงานในเซิร์ฟเวอร์ที่กำหนดได้