汽車開發領域有著垂直性較強的一系列需求,其中最為矚目的需求之一就是對安全高效的軟件測試方法的需求。傳統的汽車開發偏向使用硬件原型與真實ECU進行軟件測試,但由于硬件設備往往在開發周期的中后階段才生產完成,給汽車開發帶來了成本與時間方面的挑戰。最近一項研究表明,約60%的開發項目遇到沒有真實硬件可用的情況,10%的工程師被迫在真實車輛上進行測試。
真實硬件的缺失及搭建虛擬硬件的高昂成本正帶來一系列困境:
- 測試能力有限。
- 只有在真實測試時才能發現集成中的缺點。
- 無法在開發階段驗證設計,也無法提供快速更新。
- 無法應對當前市場中不斷縮短的開發周期。
汽車開發的最優解:在某一模塊開發完成或發生調整之后,進入下一流程前,即刻進行全系統測試。伴隨“軟件定義汽車”概念的深入,為實現這一目的,使用虛擬ECU來進行測試與驗證已成為行業內的共識,業界已逐漸意識到虛擬ECU的潛力、優勢及其在塑造未來移動出行方面的潛能。
01.什么是虛擬ECU驗證?
虛擬ECU驗證(通常稱為vECU)是一種突破性的方法,可以在暫無硬件原型的情況下測試軟件功能。通過創建獨立于硬件的虛擬環境,開發人員可以在PC機上使用仿真模型閉環執行ECU、模擬各種場景,并在早期階段評估軟件功能、與環境模型的交互以及組件模型。這種安全且高效的方法使得道路、臺架測試得以轉移至PC機,支持在開發階段進行全面測試,以最有效和最可行的方式確保ECU軟件的可用性。
其優點有:
- 及早發現集成問題:虛擬ECU驗證有助于及早發現與集成相關的缺陷,使工程師能夠在進入下一個開發階段之前及時解決這些問題。通過消除對硬件原型的依賴,可以更有效地識別和解決潛在問題,從而節省時間和資源。
- 可擴展的環境:虛擬ECU平臺提供了一個可擴展的環境,可以適應特定的測試要求。開發人員可以在相同的時間內運行更多測試,從而提高生產力并加快整個開發進程。
- 減少驗證工作:由于減少了對物理原型的需求,最大限度地減少了驗證工作量和相關成本,開發人員可以專注于測試軟件堆棧的復雜性,而不受硬件可用性的限制。
- 穩定可靠的測試環境:虛擬ECU平臺提供穩定可靠的測試環境,不受物理原型的不確定性和限制。這種受控設置可以對軟件功能進行精確測試和準確評估,確保在實際場景中具有強大的性能。
- 重用可用的硬件測試用例:通過將軟件測試與硬件原型分離,虛擬ECU驗證允許重用可用的硬件測試用例,不會丟失有價值的測試場景。
02.虛擬ECU是如何工作的?
虛擬ECU不依賴硬件,通過虛擬化環境來測試軟件堆棧的復雜性,從而幫助開發人員構建ECU。通過連接外部環境模型的輸入和輸出信號,虛擬ECU得以使應用軟件讀取傳感器值并設置執行器,并且可在相同時間內運行更多測試。
根據其使用情況,虛擬ECU有著不同的利用率級別:
- 0級vECU(控制器模型):最簡單的vECU 類型,由控制器模型或由其生成的 C 代碼組成,主要用于測試控制算法本身。
- 1級vECU(應用級):包含特定于虛擬ECU的應用軟件代碼,無需使用總線或網絡。
- 2級vECU(模擬BSW):在1級的基礎上提供模擬底層軟件(BSW)功能,可以在信號級別以及總線或網絡級別進行通信。
- 3級vECU(生產BSW):不僅包括應用軟件,還包括用于測試目的的底層軟件(BSW),能夠評估真正ECU的硬件獨立軟件,并作為在各種測試級別測試BSW的手段。
- 4級vECU(目標二進制文件):以真實ECU編譯的代碼為代表。作為實時系統最接近的表示形式,4級vECU包括硬件依賴性,允許評估潛在的故障和問題。
????*其中,4級又分為4a和4b級,分別指代部分未仿真和全棧仿真ECU。
03.移動出行的未來
虛擬ECU提供的協作屬性使得汽車OEM和供應商能夠在相同的工件(虛擬ECU)下無縫協作。vECU測試提供的真實可視化功能使其用戶友好,并有助于不同利益相關者接受驗證結果。這種方法不僅節省了時間和成本,使制造商能夠投入更多時間部署新功能,也使ECU軟件能夠達到更高的成熟度水平。
隨著自動駕駛、移動出行以及OEM對軟件功能投資的增加,汽車行業已準備好迎接由汽車虛擬ECU等數字技術推動的重大轉型。
04.工具推薦
SkyEye,中文全稱天目全數字實時仿真軟件,是基于可視化建模的硬件行為級仿真平臺,能夠為汽車嵌入式軟件提供滿足AUTOSAR標準的ECU虛擬化運行環境,實現故障診斷系統的預模擬。除了能夠提前進行故障診斷的相關驗證外,SkyEye還具備測試用例執行時間遠低于實際硬件的優勢,是車廠研發團隊的最佳伴侶。
參考鏈接
https://www.cyient.com/blog/virtual-ecu-validation-validating-software-without-hardware-prototypes