汽車開發領域有著垂直性較強的一系列需求,其中最為矚目的需求之一就是對安全高效的軟體測試方法的需求。傳統的汽車開發偏向使用硬體原型與真實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