1.ECU整合趨勢和虛擬化的力量
隨著信息娛樂和 ADAS 等新功能被添加到汽車中,每輛車中安裝的 ECU 數(shù)量也在增長。越來越多的 ECU 會產(chǎn)生一些不良副作用:設(shè)備管理復(fù)雜、重量和功耗只是其中的一部分。
為了阻止這種趨勢,汽車行業(yè)正在尋求從獨(dú)立的面向功能的方法轉(zhuǎn)變?yōu)榧煞椒ǎ渲袉蝹€(gè) ECU 提供多種功能。
圖 1:ECU 整合旨在從單功能 ECU 方法(左)轉(zhuǎn)向多功能 ECU(右)
在嘗試向多功能 ECU 遷移時(shí),會出現(xiàn)新的挑戰(zhàn):每個(gè)功能可能需要在不同的操作系統(tǒng)上運(yùn)行,并且 CPU、內(nèi)存和外圍設(shè)備等硬件資源必須在它們之間共享。此外,需要確保功能之間的隔離和“不受干擾”。
幸運(yùn)的是,這正是虛擬化技術(shù)幫助提供基礎(chǔ)架構(gòu)的地方,該基礎(chǔ)架構(gòu)允許多個(gè)“客戶”操作系統(tǒng)(也稱為虛擬機(jī)或 VM)以安全、獨(dú)立和隔離的方式執(zhí)行。
2. 汽車以太網(wǎng)
ECU 中實(shí)現(xiàn)的功能變得越來越復(fù)雜,需要靈活的互連和更高的數(shù)據(jù)傳輸速率。汽車以太網(wǎng)正在成為車載網(wǎng)絡(luò)解決方案的首選。以太網(wǎng)具有巨大的未來潛力,因?yàn)樗峁┝藥挕⑤p型布線(例如非屏蔽單雙絞線)、龐大的生態(tài)系統(tǒng)和可靠的軟件基礎(chǔ)設(shè)施。此外,交換式以太網(wǎng)提供了極大的可擴(kuò)展性,時(shí)間敏感網(wǎng)絡(luò) (TSN) 擴(kuò)展提供了改進(jìn)的同步、低延遲和可靠性。
當(dāng)多功能 ECU 使用虛擬化來運(yùn)行多個(gè)操作系統(tǒng)時(shí),一種常見的解決方案是處理各種 VM,就好像它們連接到同一個(gè)物理以太網(wǎng)網(wǎng)絡(luò)一樣。
如果只有一個(gè)以太網(wǎng)接口,則管理程序提供了在 VM 之間共享接口的機(jī)制,并且通常在軟件中實(shí)現(xiàn)虛擬網(wǎng)絡(luò)交換機(jī)。由于這種軟件實(shí)現(xiàn)會產(chǎn)生開銷,因此硬件制造商正在為其設(shè)備添加硬件輔助虛擬化功能,以便在無需管理程序干預(yù)的情況下實(shí)現(xiàn)共享。
在這篇博客中,我們描述了一個(gè)概念驗(yàn)證 (POC),我們在其中比較了讓兩個(gè) VM 共享一個(gè)集成硬件交換機(jī)和一個(gè)軟件交換機(jī)的好處。
三、硬件說明
此 POC 基于車載計(jì)算機(jī) 3 板 (VC3),配備 Renesas R-Car H3 SoC 和 TSN 以太網(wǎng)交換機(jī) (R-Switch2)。以太網(wǎng)交換機(jī)在通過 PCIe 連接到 R-Car 的 FPGA 上實(shí)現(xiàn)。
R-Switch2 有四個(gè)外部端口(1G-T1 連接器)和一個(gè)內(nèi)部端口(命名為 CPU 端口或 tsngw)暴露給 R-Car SoC 中的 CPU。R-Switch2 和 CPU 之間的接口允許在 R-Car 上運(yùn)行的操作系統(tǒng)成為以太網(wǎng)幀的來源或目的地。
R-Switch2 和 CPU 之間的數(shù)據(jù)通過多個(gè)隊(duì)列進(jìn)行交換。每個(gè)隊(duì)列由一個(gè)描述符列表表示,這些描述符駐留在主內(nèi)存中,由運(yùn)行在 CPU 上的軟件設(shè)置:
RX 隊(duì)列中的描述符告訴 R-Switch2 硬件應(yīng)將 CPU 的傳入以太網(wǎng)幀復(fù)制到主存儲器的哪個(gè)位置
TX 隊(duì)列中的描述符告訴 R-Switch2 硬件 CPU 將其希望發(fā)送的幀放置在何處,以便硬件知道應(yīng)該從主存儲器中的哪個(gè)位置獲取數(shù)據(jù)
如果在 CPU 上運(yùn)行管理程序,則可以將隊(duì)列分配給特定的客戶操作系統(tǒng)以進(jìn)行獨(dú)立的數(shù)據(jù)處理。
四、軟件說明
對于這個(gè)概念證明,選擇 Xen v4.14 作為管理程序。開發(fā)了額外的前端和后端驅(qū)動(dòng)程序來共享 R-Switch2 硬件,作為典型 Xen 橋接網(wǎng)絡(luò)的替代方案(更多信息在這里)。Xen(也稱為域)上運(yùn)行著兩個(gè)客戶操作系統(tǒng):
dom0:一個(gè)特權(quán)域,可以直接訪問大多數(shù) R-Car 外圍設(shè)備和 R-Switch
domU:無特權(quán)的域,不能直接訪問任何特定的硬件設(shè)備。但是,domU 可以訪問兩個(gè) R-Switch2 隊(duì)列(一個(gè) RX 和一個(gè) TX)
下面的圖 2 顯示了這種配置。
圖 2 此 POC 的軟件配置
前端和后端驅(qū)動(dòng)程序之間的通信僅用于以下情況:
在初始化時(shí),前端發(fā)送請求以保留兩個(gè) R-Switch2 隊(duì)列(1 TX 和 1 RX)
在運(yùn)行時(shí),前端使用此通信通道通過后端通知 R-Switch2 硬件 TX 隊(duì)列已準(zhǔn)備好進(jìn)行處理。每當(dāng) domU 的 RX 隊(duì)列中有新數(shù)據(jù)可用時(shí),后端也使用它來通知前端
請注意,在為 domU 設(shè)置隊(duì)列所需的初始握手之后,前端驅(qū)動(dòng)程序只需直接訪問由 R-Switch2 硬件處理的相同隊(duì)列即可傳輸和接收幀,而來自 dom0 端的干預(yù)最少。與其他用于虛擬機(jī)的 SW 網(wǎng)絡(luò)解決方案相比,這是一個(gè)優(yōu)勢,其中 domU 的幀通常與后端驅(qū)動(dòng)程序共享,并由 dom0 中的網(wǎng)絡(luò)堆棧重新路由。
例如,當(dāng) domU 想要通過網(wǎng)絡(luò)傳輸一些幀時(shí),使用共享 R-Switch2 解決方案所涉及的步驟如下(如圖 3 所示):
domU 將數(shù)據(jù)寫入自己的 TX 隊(duì)列
domU 通知 R-Switch2 硬件(通過后端)隊(duì)列已準(zhǔn)備好進(jìn)行處理
R-Switch2 硬件直接從 domU 隊(duì)列中獲取數(shù)據(jù)
圖 3 來自 domU 的數(shù)據(jù)包傳輸示例(R-Switch2 共享)
另一方面,當(dāng)使用 Xen 橋接網(wǎng)絡(luò)時(shí),從 domU 傳輸幀所涉及的步驟是(參見圖 4):
domU 將要傳輸?shù)臄?shù)據(jù)寫入內(nèi)存
內(nèi)存與 dom0 中的后端共享
后端將數(shù)據(jù)包轉(zhuǎn)發(fā)到 Xen Bridge
數(shù)據(jù)包通過 dom0 網(wǎng)絡(luò)堆棧路由,最終到達(dá)網(wǎng)絡(luò)接口驅(qū)動(dòng)程序
驅(qū)動(dòng)程序?qū)?shù)據(jù)包的數(shù)據(jù)復(fù)制到 NIC 隊(duì)列中
網(wǎng)卡從內(nèi)存中訪問數(shù)據(jù)
圖 4 來自 domU(Xen 橋接網(wǎng)絡(luò))的數(shù)據(jù)包傳輸示例
5.性能與比較
系統(tǒng)的性能是通過生成來自/到 domU 的恒定比特率 UDP 流并同時(shí)測量 dom0 和 domU 上的 CPU 負(fù)載來測量的。
即使網(wǎng)絡(luò)幀是從 domU 傳輸/接收的,我們也測量 dom0 的 CPU 使用率的原因是,我們希望在軟件中實(shí)現(xiàn)虛擬交換機(jī)的情況下看到更高的負(fù)載,因?yàn)?domU 數(shù)據(jù)包需要重新路由通過 dom0 的網(wǎng)絡(luò)堆棧。
然后將此 POC 中實(shí)施的解決方案與 Xen 橋接網(wǎng)絡(luò)進(jìn)行比較,這是一種常見的軟件解決方案,可實(shí)現(xiàn)虛擬交換機(jī)并允許在同一網(wǎng)絡(luò)上連接多個(gè)虛擬機(jī)。
結(jié)果如圖 5 和圖 6 所示,證實(shí)了我們的假設(shè)。使用 R-Switch2 共享方案時(shí),dom0 CPU 負(fù)載比 Xen Bridged 網(wǎng)絡(luò)低約 50%,而 domU CPU 負(fù)載幾乎相同。
圖 5 domU 接收測試期間的 CPU 負(fù)載(1 Gbps 的恒定數(shù)據(jù)速率)
圖 6 domU 傳輸測試期間的 CPU 負(fù)載(600 Mbps 的恒定數(shù)據(jù)速率)
R-Switch2 情況下的剩余 dom0 CPU 負(fù)載是由來自/到 domU 的事件通知引起的,即當(dāng)有新的傳入數(shù)據(jù)可用時(shí),dom0 通知 domU,或者 dom0 將來自 domU 的請求轉(zhuǎn)發(fā)給 R-Switch2 HW 以開始處理 TX隊(duì)列。
對于像 Xen Bridge 這樣的基于軟件的交換機(jī),dom0 有額外的任務(wù)來路由 domU 數(shù)據(jù)包,這可能成為系統(tǒng)的瓶頸。在我們的解決方案中,domU 數(shù)據(jù)包的路由由集成網(wǎng)絡(luò)交換機(jī)在硬件中完成,從而釋放 CPU 資源并提高兩個(gè)域之間的隔離度。
六,結(jié)論
集成的硬件交換機(jī)可以簡化軟件交換機(jī)甚至是冗余的,從而為應(yīng)用程序處理而不是內(nèi)務(wù)管理任務(wù)釋放資源。評估表明,使用硬件輔助虛擬化可節(jié)省超過 50% 的寶貴 CPU 資源。事實(shí)證明,瑞薩 R-Switch2 支持多個(gè)接收和傳輸隊(duì)列在通過虛擬化整合 ECU 的環(huán)境中具有明顯優(yōu)勢。此功能與對 L2 和 L3 路由和 TSN 擴(kuò)展的硬件支持一起,使其成為實(shí)現(xiàn)未來 ECU 的完美選擇。
審核編輯:郭婷
-
cpu
+關(guān)注
關(guān)注
68文章
11003瀏覽量
215054 -
交換機(jī)
+關(guān)注
關(guān)注
21文章
2700瀏覽量
100981 -
應(yīng)用程序
+關(guān)注
關(guān)注
38文章
3312瀏覽量
58511
發(fā)布評論請先 登錄
相關(guān)推薦
汽車電氣架構(gòu)中的電源架構(gòu)
hyper v 虛擬化,hyper-v虛擬化:企業(yè)級虛擬化解決方案的全面解析

一文了解汽車電子控制單元ECU

汽車電子控制單元(ECU)簡明指南

智能化汽車時(shí)代:ECU測試如何高效進(jìn)行?

ECU調(diào)校對汽車性能的影響
云計(jì)算中的虛擬化技術(shù)應(yīng)用
【「嵌入式Hypervisor:架構(gòu)、原理與應(yīng)用」閱讀體驗(yàn)】+全文學(xué)習(xí)心得
【「嵌入式Hypervisor:架構(gòu)、原理與應(yīng)用」閱讀體驗(yàn)】+第7-8章學(xué)習(xí)心得
【「嵌入式Hypervisor:架構(gòu)、原理與應(yīng)用」閱讀體驗(yàn)】+第一二章讀后感
汽車 ECU 設(shè)計(jì)中的有源整流及其優(yōu)勢

小鵬汽車與大眾汽車達(dá)成電子電氣架構(gòu)技術(shù)戰(zhàn)略合作
ECU和汽車處理架構(gòu):虛擬化和軟件定義汽車
谷景成功為客戶汽車雙滑軌項(xiàng)目提供電感替代方案
關(guān)于ECU 和 MCU ,你了解多少?

評論