博客專欄

        EEPW首頁 > 博客 > AURIX? TC4x虛擬化技術(shù)助力下一代汽車EE架構(gòu)設(shè)計(jì)

        AURIX? TC4x虛擬化技術(shù)助力下一代汽車EE架構(gòu)設(shè)計(jì)

        發(fā)布人:hejingfeng 時(shí)間:2024-10-14 來源:工程師 發(fā)布文章

        往期回顧

        AURIX?  TC4x  微控制器的并行處理單元(PPU)簡(jiǎn)介

        AURIX? TC4x免費(fèi)開發(fā)環(huán)境介紹

        英飛凌新一代MCU AURIX?  TC4x 即將量產(chǎn)

        緣起今生:英飛凌車規(guī)MCU全系支持Rust 語言開發(fā)

        探索 AUTOSAR 與 英飛凌 AURIX? TC4x MCAL 解決方案-上



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


        本文主要介紹了虛擬化技術(shù)的背景,虛擬化系統(tǒng)的組成和分類,嵌入式虛擬化的優(yōu)點(diǎn),在汽車領(lǐng)域的使用案例以及面臨的挑戰(zhàn)。


        虛擬化技術(shù)的背景

        1

        1.1

        虛擬化技術(shù)的發(fā)展歷史


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


        1.2

        嵌入式虛擬化的發(fā)展


        嵌入式虛擬化的興起首先得益于半導(dǎo)體技術(shù)的飛速發(fā)展,以英飛凌的TriCore?品牌為例(圖1),經(jīng)過多年的發(fā)展,TriCore?的內(nèi)核架構(gòu)不斷升級(jí),主頻持續(xù)攀升,最新的下一代AURIX? TC4x首次引入了虛擬化技術(shù),讓嵌入式MCU從硬件上支持虛擬化成為現(xiàn)實(shí)。

        8e444e82c2fc5502dbab2e6d8071239.png

        圖1 TriCore? MCU發(fā)展歷史


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


        7f4f2db1480e38b0adb9c6320684c16.png

        圖2 MCU軟件架構(gòu)的演變


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


        b61db7626fed546e70bf89ae24edd3f.png

        圖3 嵌入式虛擬化的關(guān)鍵特性


        虛擬化系統(tǒng)概述

        2

        2.1

        虛擬環(huán)境的組成


        典型的虛擬環(huán)境由三部分組成:硬件,虛擬機(jī)以及虛擬機(jī)監(jiān)控器(圖4)。


        a82c59053acfd7420020f35d2df0078.png

        圖4 虛擬環(huán)境的組成


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

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

        • 虛擬機(jī)監(jiān)控器(VMM,Virtual Machine Monitor),又稱Hypervisor(以下均簡(jiǎn)稱Hypervisor),它是橫跨在虛擬機(jī)和硬件之間的一個(gè)軟件層,其主要作用是協(xié)調(diào)不同虛擬機(jī)的運(yùn)行,確保它們之間互不干擾。


        2.2

        虛擬化系統(tǒng)的分類


        根據(jù)Hypervisor在整個(gè)虛擬化系統(tǒng)中實(shí)現(xiàn)位置的不同,可以將Hypervisor分成兩種類型[1](圖5):


        • Type1 Hypervisor:Hypervisor直接跑在硬件的裸板上,并運(yùn)行在最高特權(quán)級(jí),而所有的虛擬機(jī)運(yùn)行在較低的特權(quán)級(jí)。Hypervisor直接負(fù)責(zé)其上各個(gè)虛擬機(jī)的資源分配以及運(yùn)行時(shí)的調(diào)度策略。

        • Type2 Hypervisor:Hypervisor作為一個(gè)應(yīng)用程序跑在主機(jī)的OS上,與其他應(yīng)用程序沒有本質(zhì)區(qū)別。Hypervisor需要與主機(jī)上的OS協(xié)商資源分配。


        圖片

        圖5 Hypervisor的類型


        兩種Hypervisor相比,Type1的Hypervisor因?yàn)橹苯釉L問底層的硬件資源,在使用效率和性能上更好,一般適用于嵌入式系統(tǒng)。而Type2的Hypervisor因?yàn)檫\(yùn)行在操作系統(tǒng)之上,即使非技術(shù)型用戶也可以很好地操作Hypervisor,一般用于桌面系統(tǒng),比如個(gè)人電腦等等。


        嵌入式虛擬化的優(yōu)點(diǎn)

        3

        在汽車電子應(yīng)用領(lǐng)域,嵌入式虛擬化有如下幾個(gè)方面的優(yōu)點(diǎn):


        有利于系統(tǒng)整合



        從系統(tǒng)架構(gòu)層面來看,整車的EE架構(gòu)已經(jīng)從傳統(tǒng)的分布式系統(tǒng)向集中式架構(gòu)轉(zhuǎn)變(圖6)。


        圖片

        圖6 整車EE架構(gòu)的變革


        以域控制器架構(gòu)為例,以太網(wǎng)作為主干網(wǎng)絡(luò)連接各個(gè)域控制器,在它們下面掛著不同功能模塊的小型ECU[4]。引入虛擬化技術(shù)之后,可以將其中部分小型ECU以虛擬機(jī)的形式移植到域控制器里面,最大化地使用域控MCU的硬件資源,從而減少ECU的數(shù)量[5],降低系統(tǒng)的BOM成本。圖7是一個(gè)簡(jiǎn)單的例子說明這個(gè)概念。


        圖片

        圖7 虛擬化技術(shù)有助于域控制器融合


        從軟件開發(fā)的角度來看,引入虛擬化之后,Hypervisor將硬件資源分配給不同的虛擬機(jī),虛擬機(jī)跟應(yīng)用程序之間有一定的映射關(guān)系。各個(gè)軟件開發(fā)團(tuán)隊(duì)根據(jù)Hypervisor分配的硬件資源和調(diào)度策略去執(zhí)行自己的應(yīng)用程序開發(fā),然后做軟件集成(圖8)。由于各個(gè)虛擬機(jī)可以獨(dú)享自己的硬件資源,彼此之間互不干擾,各個(gè)虛擬機(jī)甚至可以使用不同的AUTOSAR軟件,不同的操作系統(tǒng),不同的開發(fā)工具。這樣就解決了不同開發(fā)團(tuán)隊(duì)或者不同供應(yīng)商的程序在同一個(gè)硬件系統(tǒng)中運(yùn)行,系統(tǒng)集成難度大的問題。


        圖片

        圖8 虛擬化方案軟件開發(fā)流程


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



        虛擬化技術(shù)的一個(gè)顯著特定就是隔離,Hypervisor為不同的虛擬機(jī)分配硬件資源,如CPU,內(nèi)存,外設(shè)以及中斷。以AURIX? TC4x為例,用戶可以對(duì)每一個(gè)虛擬機(jī)分配特定的內(nèi)存和外設(shè),以及它們的訪問權(quán)限,中斷也可以給到指定的虛擬機(jī)去響應(yīng)。這樣原本在不同ECU層面的功能安全和信息安全目標(biāo),現(xiàn)在在不同虛擬機(jī)之間就能夠?qū)崿F(xiàn)(圖9)。


        圖片

        圖9 虛擬機(jī)隔離示意圖


        增強(qiáng)了系統(tǒng)集成的靈活性



        每一個(gè)虛擬機(jī)可以做到獨(dú)立的啟動(dòng)和停止,以及獨(dú)立的去編程和燒錄,這大大增強(qiáng)了系統(tǒng)的可擴(kuò)展性和集成的靈活性。


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

        4

        這里簡(jiǎn)單介紹兩個(gè)嵌入式虛擬化在汽車電子領(lǐng)域的使用案例。


        案例一:新能源多合一

        圖片

        圖10 新能源多合一系統(tǒng)示意圖


        新能源多合一技術(shù)是當(dāng)前新能源汽車的研究熱點(diǎn)。圖10是雙電機(jī)和DCDC功能融合的案例,CPU0運(yùn)行MCAL和通信協(xié)議棧,CPU1運(yùn)行Inverter A的應(yīng)用,CPU2運(yùn)行Inverter B和DCDC的應(yīng)用,每一個(gè)應(yīng)用里面可以有一個(gè)或者多個(gè)虛擬機(jī),不同的虛擬機(jī)通過Hypervisor實(shí)現(xiàn)它們的調(diào)度。這樣可以最大化地利用MCU的硬件資源,減少ECU數(shù)量,降低系統(tǒng)的BOM成本。此外,Inverter應(yīng)用和DCDC應(yīng)用的開發(fā)可能來自不同的軟件團(tuán)隊(duì),即使他們的開發(fā)環(huán)境(操作系統(tǒng),編譯器,調(diào)試器)不同,由于應(yīng)用跑在不同的虛擬機(jī)里面,彼此之間互不干擾,從而降低了開發(fā)和集成的難度。



        案例二:充電樁V2G技術(shù)

        圖片

        圖11 使用虛擬化對(duì)V2G相關(guān)應(yīng)用進(jìn)行隔離


        V2G技術(shù)被認(rèn)為是電動(dòng)汽車和電網(wǎng)進(jìn)行雙向能量和信息交互的理想范式。但是近年來黑客攻擊充電樁的事件時(shí)有發(fā)生。為了防止黑客在用戶充電過程中對(duì)汽車的入侵,我們可以在控制器端采取防御措施。比如,將與充電樁通信相關(guān)的應(yīng)用放到一個(gè)特定的虛擬機(jī)里面[6],該虛擬機(jī)對(duì)其他硬件資源的訪問進(jìn)行嚴(yán)格的管控,從而達(dá)到虛擬防火墻的作用(圖11)。


        汽車嵌入式虛擬化的挑戰(zhàn)

        5

        當(dāng)然,嵌入式虛擬化也面臨著諸多挑戰(zhàn)[7],總結(jié)為如下幾點(diǎn):


        ?

        ?

        實(shí)時(shí)性

        雖然嵌入式系統(tǒng)都是Type1的Hypervisor,但是Hypervisor作為中間的調(diào)度軟件,本身也會(huì)消耗時(shí)間片,系統(tǒng)越復(fù)雜,調(diào)度策略也會(huì)越復(fù)雜,Hypervisor本身的時(shí)間開銷也會(huì)越大,從而影響系統(tǒng)的整體實(shí)時(shí)性。


        ?

        ?

        故障處理的復(fù)雜性

        引入了虛擬化之后,多個(gè)應(yīng)用集成在一個(gè)MCU控制器當(dāng)中,如果某一個(gè)虛擬機(jī)出現(xiàn)系統(tǒng)失效,我們需要盡可能的保證該虛擬機(jī)的故障處理不影響到其他虛擬機(jī)的正常運(yùn)行,盡量避免單個(gè)虛擬機(jī)失效影響整個(gè)系統(tǒng)的情況發(fā)生,這對(duì)故障處理功能帶來了挑戰(zhàn)。

        ?

        ?

        通用功能的系統(tǒng)整合

        對(duì)于多應(yīng)用融合的方案,在引入虛擬化之后,一些通用的系統(tǒng)功能,如休眠喚醒功能,如何整合所有應(yīng)用去做最終的方案策略,值得客戶深思;再比如,AUTOSAR的基礎(chǔ)軟件,是共用一套BSW軟件,還是每個(gè)應(yīng)用都有自己的BSW軟件,也是一個(gè)值得商榷的問題。


        ?

        ?

        軟件生態(tài)

        當(dāng)前,嵌入式虛擬化的軟件大都是非開源的商業(yè)軟件,且軟件本身沒有類似AUTOSAR這樣的標(biāo)準(zhǔn)接口規(guī)范,軟件公司根據(jù)不同芯片廠商的硬件支持情況各自制定自己的解決方案。



        總結(jié)

        6

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


        *博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。



        關(guān)鍵詞: 英飛凌 汽車電子

        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 武定县| 应城市| 铜梁县| 临武县| 大石桥市| 毕节市| 乌拉特中旗| 桃江县| 新丰县| 铅山县| 奉贤区| 来安县| 大余县| 丹东市| 吉木乃县| 壤塘县| 射阳县| 丰都县| 敖汉旗| 靖远县| 青阳县| 平罗县| 运城市| 黄石市| 锡林郭勒盟| 台北县| 镶黄旗| 东乡县| 资源县| 甘肃省| 彰化市| 琼结县| 林周县| 岗巴县| 周至县| 惠水县| 宿州市| 通州区| 定结县| 沂源县| 股票|