AURIX™ TC4x虛擬化技術助力下一代汽車EE架構設計

作者:英飛凌汽車電子生態圈


英家MCU之AURIX™



英飛凌AURIX™ TC4x 微控制器首次引入了虛擬化技術,幫助客戶重新構建整車EE架構,最大化利用MCU的硬體資源,其資源隔離的特性還可以降低軟體開發和集成的難度,更好地滿足功能安全和信息安全的要求。

本文主要介紹了虛擬化技術的背景,虛擬化系統的組成和分類,嵌入式虛擬化的優點,在汽車領域的使用案例以及面臨的挑戰。

虛擬化技術的背景

1.1虛擬化技術的發展歷史

1955年,Fortran語言之父John Backus首次提出了分時(Time-Sharing)技術,通過該技術,昂貴的大型機可以被多個用戶同時使用,這被公認為最早的虛擬化技術的概念[1]。1972年,IBM公司研發出了VM/370虛擬機操作系統,真正實現了虛擬化技術的商業落地。1974年,Gerald J. Popek和Robert P. Goldberg系統闡述了實現計算機虛擬化所需要滿足的特性,以及虛擬機和虛擬機監控器的概念,這些概念一直沿用至今[2]。如今的虛擬化技術已經從PC端發展到嵌入式系統領域。

1.2嵌入式虛擬化的發展

嵌入式虛擬化的興起首先得益於半導體技術的飛速發展,以英飛凌的TriCore™品牌為例(圖1),經過多年的發展,TriCore™的內核架構不斷升級,主頻持續攀升,最新的下一代AURIX™ TC4x首次引入了虛擬化技術,讓嵌入式MCU從硬體上支持虛擬化成為現實。


TriCore™ MCU發展歷史
圖1 TriCore™ MCU發展歷史

其次,在汽車領域,軟體定義汽車日漸盛行,MCU的軟體架構也從單核到多核,再到多核的虛擬化逐漸演變[3],如圖2所示。
MCU軟體架構的演變

圖2 MCU軟體架構的演變

最後,從客戶角度出發,出於節約成本,系統整合,功能安全,信息安全以及配置靈活性等多維度考量,嵌入式虛擬化也是其中的關鍵突破口(圖3)。

嵌入式虛擬化的關鍵特性
圖3 嵌入式虛擬化的關鍵特性

虛擬化系統概述

2.1虛擬環境的組成

 

典型的虛擬環境由三部分組成:硬體,虛擬機以及虛擬機監控器(圖4)。

虛擬環境的組成

圖4 虛擬環境的組成

  • 硬體,可以是任意支持虛擬化技術的處理器,如英飛凌的下一代高性能MCU,AURIX™ TC4x。

  • 虛擬機(VM,Virtual Machine),是執行不同虛擬化應用程序的容器。通過虛擬化技術,將物理計算機系統按照CPU,Memory,外設,中斷等維度進行虛擬分配,形成所謂的虛擬計算機。

  • 虛擬機監控器(VMM,Virtual Machine Monitor),又稱Hypervisor(以下均簡稱Hypervisor),它是橫跨在虛擬機和硬體之間的一個軟體層,其主要作用是協調不同虛擬機的運行,確保它們之間互不干擾。

    2.2虛擬化系統的分類

    根據Hypervisor在整個虛擬化系統中實現位置的不同,可以將Hypervisor分成兩種類型[1](圖5):

  • Type1 Hypervisor:Hypervisor直接跑在硬體的裸板上,並運行在最高特權級,而所有的虛擬機運行在較低的特權級。Hypervisor直接負責其上各個虛擬機的資源分配以及運行時的調度策略。
  • Type2 Hypervisor:Hypervisor作為一個應用程序跑在主機的OS上,與其他應用程序沒有本質區別。Hypervisor需要與主機上的OS協商資源分配。
Hypervisor的類型

圖5 Hypervisor的類型

兩種Hypervisor相比,Type1的Hypervisor因為直接訪問底層的硬體資源,在使用效率和性能上更好,一般適用於嵌入式系統。而Type2的Hypervisor因為運行在操作系統之上,即使非技術型用戶也可以很好地操作Hypervisor,一般用於桌面系統,比如個人電腦等等。

嵌入式虛擬化的優點

在汽車電子應用領域,嵌入式虛擬化有如下幾個方面的優點:

有利於系統整合

從系統架構層面來看,整車的EE架構已經從傳統的分布式系統向集中式架構轉變(圖6)。

整車EE架構的變革
圖6 整車EE架構的變革

以域控制器架構為例,以太網作為主幹網絡連接各個域控制器,在它們下面掛著不同功能模塊的小型ECU[4]。引入虛擬化技術之後,可以將其中部分小型ECU以虛擬機的形式移植到域控制器裡面,最大化地使用域控MCU的硬體資源,從而減少ECU的數量[5],降低系統的BOM成本。圖7是一個簡單的例子說明這個概念。

虛擬化技術有助於域控制器融合

圖7 虛擬化技術有助於域控制器融合

從軟體開發的角度來看,引入虛擬化之後,Hypervisor將硬體資源分配給不同的虛擬機,虛擬機跟應用程序之間有一定的映射關係。各個軟體開發團隊根據Hypervisor分配的硬體資源和調度策略去執行自己的應用程序開發,然後做軟體集成(圖8)。由於各個虛擬機可以獨享自己的硬體資源,彼此之間互不干擾,各個虛擬機甚至可以使用不同的AUTOSAR軟體,不同的操作系統,不同的開發工具。這樣就解決了不同開發團隊或者不同供應商的程序在同一個硬體系統中運行,系統集成難度大的問題。

虛擬化方案軟體開發流程

圖8 虛擬化方案軟體開發流程

有利於功能安全和信息安全的部署

虛擬化技術的一個顯著特定就是隔離,Hypervisor為不同的虛擬機分配硬體資源,如CPU,內存,外設以及中斷。以AURIX™ TC4x為例,用戶可以對每一個虛擬機分配特定的內存和外設,以及它們的訪問權限,中斷也可以給到指定的虛擬機去響應。這樣原本在不同ECU層面的功能安全和信息安全目標,現在在不同虛擬機之間就能夠實現(圖9)。

虛擬機隔離示意圖

圖9 虛擬機隔離示意圖

增強了系統集成的靈活性

每一個虛擬機可以做到獨立的啟動和停止,以及獨立的去編程和燒錄,這大大增強了系統的可擴展性和集成的靈活性。

汽車嵌入式虛擬化的使用案例

這裡簡單介紹兩個嵌入式虛擬化在汽車電子領域的使用案例。

案例一:新能源多合一

新能源多合一系統示意圖


圖10 新能源多合一系統示意圖

新能源多合一技術是當前新能源汽車的研究熱點。圖10是雙電機和DCDC功能融合的案例,CPU0運行MCAL和通信協議棧,CPU1運行Inverter A的應用,CPU2運行Inverter B和DCDC的應用,每一個應用裡面可以有一個或者多個虛擬機,不同的虛擬機通過Hypervisor實現它們的調度。這樣可以最大化地利用MCU的硬體資源,減少ECU數量,降低系統的BOM成本。此外,Inverter應用和DCDC應用的開發可能來自不同的軟體團隊,即使他們的開發環境(操作系統,編譯器,調試器)不同,由於應用跑在不同的虛擬機裡面,彼此之間互不干擾,從而降低了開發和集成的難度。

案例二:充電樁V2G技術

使用虛擬化對V2G相關應用進行隔離

圖11 使用虛擬化對V2G相關應用進行隔離

V2G技術被認為是電動汽車和電網進行雙向能量和信息交互的理想範式。但是近年來黑客攻擊充電樁的事件時有發生。為了防止黑客在用戶充電過程中對汽車的入侵,我們可以在控制器端採取防禦措施。比如,將與充電樁通信相關的應用放到一個特定的虛擬機裡面[6],該虛擬機對其他硬體資源的訪問進行嚴格的管控,從而達到虛擬防火牆的作用(圖11)。


汽車嵌入式虛擬化的挑戰

當然,嵌入式虛擬化也面臨著諸多挑戰[7],總結為如下幾點:

•實時性

雖然嵌入式系統都是Type1的Hypervisor,但是Hypervisor作為中間的調度軟體,本身也會消耗時間片,系統越複雜,調度策略也會越複雜,Hypervisor本身的時間開銷也會越大,從而影響系統的整體實時性。

故障處理的複雜性

引入了虛擬化之後,多個應用集成在一個MCU控制器當中,如果某一個虛擬機出現系統失效,我們需要儘可能的保證該虛擬機的故障處理不影響到其他虛擬機的正常運行,儘量避免單個虛擬機失效影響整個系統的情況發生,這對故障處理功能帶來了挑戰。

通用功能的系統整合

對於多應用融合的方案,在引入虛擬化之後,一些通用的系統功能,如休眠喚醒功能,如何整合所有應用去做最終的方案策略,值得客戶深思;再比如,AUTOSAR的基礎軟體,是共用一套BSW軟體,還是每個應用都有自己的BSW軟體,也是一個值得商榷的問題。

軟體生態

當前,嵌入式虛擬化的軟體大都是非開源的商業軟體,且軟體本身沒有類似AUTOSAR這樣的標準接口規範,軟體公司根據不同晶片廠商的硬體支持情況各自製定自己的解決方案。

總結

總的來說,虛擬化技術最早在計算機端興起,而嵌入式系統的虛擬化正在成為一種趨勢。用戶可以根據自身需求將MCU的硬體資源靈活地拆分成多個虛擬機,不同的應用跑不同的虛擬機,Hypervisor負責管理各個虛擬機的啟動,運行以及停止,最大限度地利用MCU的資源。虛擬化的隔離特性有助於客戶的軟體開發和集成,滿足功能安全和信息安全的要求。英飛凌最新一代AURIX™ TC4x將從硬體上支持虛擬化技術,助力整車的E/E架構設計,開發和集成。

參考文獻

REFERENCE

[1] https://www.ibm.com/history/time-sharing

[2] SANTIAGO LOZANO, TAMARA LUGO, JESÚS CARRETERO. A Comprehensive Survey on the Use of Hypervisors in Safety-Critical Systems [J]. IEEE, VOLUME 11, 2023, 36244-36263.

[3] Gernot Heiser, Open Kernel Labs, Inc. TECHNOLOGY WHITE PAPER-Virtualization for Embedded Systems[R/OL]. April 2008. https://www.researchgate.net/publication/234804454.

[4] Dominik Reinhardt, Daniel Adam, et al. Embedded Virtualization Approaches for Ensuring Safety and Security within E/E Automotive Systems[J]. Engineering, Computer Science, 2015.

[5] Alexandra Aguiar, Fabiano Hessel. Embedded Systems’ Virtualization: The Next Challenge? [J]. IEEE International Symposium on Rapid System Prototyping, 2010

[6] Stefaan Sonck Thiebaut, Antonio De Rosa, et al. Secure Embedded Hypervisor based Systems for Automotive[C]. 2016 46th Annual IEEE/IFIP International Conference on Dependable Systems and Networks Workshops.

[7] 王洪波. 嵌入式虛擬化技術與應用[M]. 北京:機械工業出版社,2023.8.


掃描二維碼,關注英飛凌汽車電子尋找更多應用或產品信息

★博文內容參考自 網站,與平台無關,如有違法或侵權,請與網站管理員聯繫。

★文明上網,請理性發言。內容一周內被舉報5次,發文人進小黑屋喔~

參考來源

false: https://mp.weixin.qq.com/s/koGqzSQF9FPpcZrEgizuiw

評論