ควบคุมการจัดการยานพาหนะและพลังงาน

เอเจนต์โหมดและระบบจัดการพลังงานของยานพาหนะ (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 และรับการแจ้งเตือนสถานะพลังงานในเซิร์ฟเวอร์ที่กำหนดได้