1. 汽車網(wǎng)絡(luò)的演進(jìn)
那么,為什么會有如此強烈的趨勢將以太網(wǎng)用于車載通信呢?
當(dāng)今的汽車網(wǎng)絡(luò)已經(jīng)對傳感器和電子控制單元 (ECU) 之間的數(shù)據(jù)傳輸具有很高的帶寬需求。例如,攝像頭數(shù)據(jù)、激光雷達(dá)傳感器以及用于信息娛樂的音頻/視頻流都需要高吞吐量。在未來的汽車中,將會有更多的傳感器和攝像頭。此外,針對集中式區(qū)域基礎(chǔ)架構(gòu)的設(shè)計發(fā)生了變化,這將減少物理 ECU 的數(shù)量并導(dǎo)致布線優(yōu)化,這是一個很大的好處,尤其是在涉及高速數(shù)據(jù)傳輸?shù)那闆r下。以太網(wǎng)已經(jīng)無處不在。多年來,我們一直在家庭或辦公室環(huán)境中使用它。它經(jīng)過 40 多年的應(yīng)用實踐證明。以太網(wǎng)擁有完善的生態(tài)系統(tǒng),大多數(shù)操作系統(tǒng)都提供支持它的網(wǎng)絡(luò)堆棧。以太網(wǎng)提供從 10Mbit/s 到 400GBit/s 的速度等級,并且獨立于物理層。這意味著,有不同的布線選項可用于汽車用例,例如光纖或單雙絞線銅線,例如 100BASE-T1 或 1000BASE-T1。那么,成為下一代汽車網(wǎng)絡(luò)通信標(biāo)準(zhǔn)的理想條件是什么?
我們需要小心,汽車以太網(wǎng)與 IT 或家庭中使用的以太網(wǎng)網(wǎng)絡(luò)不同。例如,必須在短時間內(nèi)處理來自 LiDAR 傳感器的數(shù)據(jù)傳輸。這個時間需要是確定性的,否則無法保證安全運行。有關(guān)汽車應(yīng)用的一些時序要求,請參見表 1。
圖像
表 1:時間約束示例
2. TSN - 時間敏感網(wǎng)絡(luò)
最初在 IEEE 802 中定義的以太網(wǎng)不提供任何實時功能。時間敏感網(wǎng)絡(luò) (TSN) 是 IEEE 802.1 工作組維護(hù)的一組標(biāo)準(zhǔn),它擴(kuò)展了以太網(wǎng)的實時通信能力。TSN 需要完成三個主要任務(wù):時間同步、流量調(diào)度和配置,如圖 1 所示。時間敏感網(wǎng)絡(luò)中最重要的一步是將每個網(wǎng)絡(luò)參與者的時鐘同步到最精確的可用源。TSN 使用通用精確時間協(xié)議 (gPTP) 來完成此任務(wù)。為了滿足特定的延遲或保證數(shù)據(jù)流的特定優(yōu)先級,TSN 包含了幾個標(biāo)準(zhǔn),這些標(biāo)準(zhǔn)定義了如何實現(xiàn)不同類型的流量調(diào)度。此外,該標(biāo)準(zhǔn)還支持通過流預(yù)留協(xié)議 (SRP) 等高級協(xié)議交換配置屬性。看看表2選擇與 TSN 相關(guān)的重要標(biāo)準(zhǔn)。整套 TSN 標(biāo)準(zhǔn)確保了具有實時需求的流量的定義延遲。第 2.2 節(jié)將提供其中一些的逐項概述??傊?,可計算的延遲、帶寬分配、整形和排隊算法,包括幀搶占,正在為依賴它的服務(wù)在現(xiàn)有以太網(wǎng)網(wǎng)絡(luò)中建立確定性。由于排隊算法、緩沖區(qū)要求和最壞情況延遲在數(shù)學(xué)上是可預(yù)測的,因此 TSN 非常適合與安全相關(guān)的應(yīng)用。
表 2:重要 TSN 標(biāo)準(zhǔn)的選擇
2.1 TSN 配置
如何配置支持 TSN 的硬件是高度特定于應(yīng)用程序的。例如,為了在瑞薩車載計算機(jī) 3 (VC3) 上配置 RSwitch2,選擇了基于 XML 的方法。基于 Linux 的操作系統(tǒng)提供自己的接口,例如 Qdisc(隊列規(guī)則)。但是可能有不同的方法可用,具體取決于應(yīng)用程序的需要。對于配置接口本身,底層硬件通常不需要特殊支持,最常見的是將輸入轉(zhuǎn)換為硬件接受的數(shù)據(jù)格式的軟件。在虛擬化的情況下,管理程序需要在客戶操作系統(tǒng)可以配置的功能和為特權(quán)系統(tǒng)級別保留的功能之間創(chuàng)建一個清晰的屏障。資源分配協(xié)議或 802.1Qcw – YANG 數(shù)據(jù)模型,用于計劃流量、幀搶占以及每流過濾和監(jiān)管。正如上面已經(jīng)提到的,實現(xiàn)這些標(biāo)準(zhǔn)應(yīng)該是一個獨立于硬件的軟件,因此遠(yuǎn)遠(yuǎn)超出了本文的范圍。
2.2 TSN流量調(diào)度
TSN 流量整形算法使實時流量與常規(guī)盡力而為的流量在一個以太網(wǎng)內(nèi)共存。低延遲和確定性保證了時間關(guān)鍵的通信。這意味著,安全相關(guān)組件可以集成到啟用 TSN 的以太網(wǎng)中。TSN 中有多種標(biāo)準(zhǔn)可用于確保具有實時需求的流量的定義延遲。
802.1Qav 中指定的 Credit Base Shaper (CBS) 機(jī)制處理多個網(wǎng)絡(luò)隊列的優(yōu)先級。它根據(jù)優(yōu)先級為每個隊列分配信用額度。當(dāng)前信用在將幀添加到隊列時增加,在發(fā)送幀時減少。如果一個隊列的信用為負(fù),則不再發(fā)送幀,并安排另一個隊列。此外,還考慮了基于最大幀大小和端口傳輸速率的限制。
另一種調(diào)度技術(shù)在 IEEE 802.1Qbv 中被指定為時間感知整形器 (TAS)。它在調(diào)度的時間關(guān)鍵流量之前實施保護(hù)帶。如果在流量窗口關(guān)閉之前無法完成傳輸,這可以防止傳輸?shù)蛢?yōu)先級流量。此外,它提供了一種搶占機(jī)制,能夠在交易過程中停止幀傳輸。在這種情況下,執(zhí)行具有更高優(yōu)先級的另一個幀的傳輸。完成后,可以繼續(xù)原來的傳輸。該機(jī)制在 IEEE Std 802.1Qbu 和 IEEE 802.3br 中有描述。這只是 TSN 標(biāo)準(zhǔn)集提供的最重要解決方案的摘錄。流量調(diào)度由支持 TSN 的硬件輔助,例如 Renesas RSwitch2、正如我們剛剛概述的那樣,它允許多達(dá) 8 個不同的優(yōu)先級和幾種仲裁算法。以下列表概述了 RSwitch2 硬件最重要的流量調(diào)度功能
轉(zhuǎn)發(fā)和排隊 (IEEE802.1Qav)
幀搶占(IEEE 802.1Qbu + IEEE 802.3br)
調(diào)度流量的增強 (IEEE 802.1Qbv)
按流過濾、計量和監(jiān)管 (IEEE 802.1Qci)
多種 QoS 機(jī)制(優(yōu)先級控制、資源管理……)
2.3 TSN時間同步
時間敏感應(yīng)用的 TSN 標(biāo)準(zhǔn) IEEE 802.1AS定時和同步
定義了通用精確時間協(xié)議 (gPTP)。該協(xié)議同步所有 TSN 參與者之間的時間,并選擇最好的主節(jié)點,稱為大師。同步機(jī)制通過在同步和延遲請求消息中交換時間來計算一個主機(jī)和從機(jī)之間的傳輸時間。圖 2顯示了兩種可能的方法。Master和Slave之間的時間差可以通過以下方式計算:
t S – t M = T S1 - T M1 – T延遲
圖像
圖 2:時間同步方法
然后可以通過往返時間計算延遲:
T延遲= (TM 延遲 + TS 延遲) / 2
T延遲= (T S1 - T M1 + T M2 - T S2 ) / 2
圖 3:幀時間戳的準(zhǔn)確性通用精確時間協(xié)議需要精確的傳輸時間戳才能準(zhǔn)確工作。時間戳可以在傳輸過程中涉及的幾個層之一進(jìn)行,但只有硬件輔助解決方案才能達(dá)到所需的精度。圖 3顯示了不同方法所達(dá)到的準(zhǔn)確度的近似值。
Renesas RSwitch2 帶有一個相關(guān)的 PTP 硬件時鐘。這個時鐘要么是主時鐘,要么是通過 PTP 軟件堆棧同步到外部主時鐘。在傳輸時,RSwitch2 的 MAC 部分直接從這個高精度硬件時鐘中捕獲時間,并將時間戳添加到傳輸幀中。此外,軟件層可以通過通用寄存器訪問方法訪問相同的硬件時鐘,以將這種精確的同步時鐘提供給系統(tǒng)的其他組件。典型的應(yīng)用是系統(tǒng)時鐘的同步和同步音頻/視頻流的正確顯示時間的獲取,因為它可以通過音頻/視頻傳輸協(xié)議 (AVTP) 實現(xiàn)。請參閱圖 4以了解 RSwitch2 硬件時間戳設(shè)計的概述。
圖 4:RSwitch2 硬件時間戳
因此,這里已經(jīng)表明,TSN 的不同標(biāo)準(zhǔn)確實為將實時敏感應(yīng)用帶入以太網(wǎng)世界做好了準(zhǔn)備。但是,向區(qū)域基礎(chǔ)架構(gòu)邁進(jìn)如何,這將減少物理 ECU 的數(shù)量?我們想展示一種方法,TSN 如何在一個 SoC 內(nèi)的虛擬化、多域設(shè)置中工作。
3. 演示設(shè)置
在我們的演示設(shè)置中,我們希望在一個系統(tǒng)級芯片產(chǎn)品上展示多個 ECU 的聚合。不管這種聚合如何,現(xiàn)在集成的每個 ECU 都應(yīng)具有 TSN 功能,就像具有 TSN 網(wǎng)絡(luò)接口的物理 ECU 一樣。圖 5說明了這種集成。為簡化起見,此演示器設(shè)置僅使用兩個操作系統(tǒng)域。它與博文《網(wǎng)絡(luò)的藝術(shù)(系列 3):虛擬化的力量》中展示的設(shè)置密切相關(guān)。有關(guān) XEN 管理程序設(shè)置和不同來賓操作系統(tǒng)之間共享隊列的詳細(xì)說明,請參閱本文。在這里,將展示如何在來賓操作系統(tǒng)中啟用 TSN 功能。
圖 5:ECU 整合旨在從單功能 ECU 方法(左)轉(zhuǎn)向多功能 ECU(右)
3.1 硬件布置
這種方法中使用的硬件是車載計算機(jī) 3 板 (VC3),配備了 Renesas R-Car H3 SoC 和 TSN 以太網(wǎng)交換機(jī) (R-Switch2)。以太網(wǎng)交換機(jī)在通過 PCIe 連接到 R-Car 的 FPGA 上實現(xiàn)。VC3 是領(lǐng)先技術(shù)的演示平臺。當(dāng)然,任何其他集成了 RSwitch2 開關(guān)的產(chǎn)品,例如 R-Car S4,都提供了同樣出色的功能。對于時鐘同步,使用配備有 TSN 網(wǎng)絡(luò)接口卡的外部 PC。在所示場景中,這臺 PC 是 PTP 大師,VC3 將其 PTP 硬件時鐘與其同步。PTP for Linux (PTP4L) 是用于通過 gPTP 實現(xiàn)時間同步的軟件堆棧。
每個對 RSwitch2 沒有直接硬件訪問權(quán)限的函數(shù)通過虛擬化網(wǎng)絡(luò)接口交換其網(wǎng)絡(luò)數(shù)據(jù),該接口將 RSwitch2 IP 的專用硬件隊列公開給該域。因此,來自任何虛擬機(jī)的以太網(wǎng)幀都可以通過 RSwitch2 IP 以相同的方式添加時間戳,例如具有物理訪問權(quán)限的域。如前所述,多個操作系統(tǒng)之間的網(wǎng)絡(luò)隊列共享在之前的博文中有詳細(xì)描述。
3.2 軟件安排
對于軟件設(shè)置,選擇 Xen v4.14 作為管理程序。Xen(也稱為域)上運行著兩個客戶操作系統(tǒng):
dom0:一個特權(quán)域,可以直接訪問大多數(shù) R-Car 外圍設(shè)備、RSwitch2 IP、PTP 硬件時鐘 (PHC)。此外,PTP for Linux (PTP4L) 軟件堆棧也在此域中運行。它將 PTP 與外部大師同步。
domU:無特權(quán)的域,不能直接訪問任何特定的硬件設(shè)備。但是,domU 可以訪問兩個 RSwitch2 隊列(一個 RX 和一個 TX),它們當(dāng)然支持硬件時間戳功能。它還可以通過 PTP 時鐘驅(qū)動程序以只讀方式訪問 PTP 硬件時鐘 (PHC),該驅(qū)動程序使用 Xen IO 環(huán)從 dom0 中的 PTP 驅(qū)動程序獲取時間。domU 中的這個虛擬化驅(qū)動程序創(chuàng)建的時鐘抽象進(jìn)一步稱為虛擬 PTP 硬件時鐘 (vPHC)。
整個設(shè)置如圖 6 所示。這兩個域作為多功能 ECU 集成功能的示例。在這兩個領(lǐng)域中,使用所提供的 (v)PHC 的示例應(yīng)用程序是chrony,這是一種將系統(tǒng)與外部時間源同步的軟件。在我們的例子中,chrony將域的系統(tǒng)時鐘與 (v)PHC 同步。由于兩個系統(tǒng)定時器都基于相同的 Arm? 硬件系統(tǒng)計數(shù)器,因此 PHC 與相應(yīng)系統(tǒng)定時器的偏差表明了這種安排可以實現(xiàn)的質(zhì)量。由于 domU 僅限于 PHC 的只讀訪問,因此它無法調(diào)整此時鐘。這意味著 dom0 和 domU 共享相同的時鐘域。當(dāng)然,如果只授予對 PHC 的訪問權(quán)限,時鐘同步可以從 dom0 移動到任何其他域。如果需要更多時域,R-Car S4 等實現(xiàn)提供了兩個獨立的 PHC,可以分配給不同的域。
圖 6:使用虛擬化 PTP 硬件時鐘進(jìn)行設(shè)置
4. 時鐘偏差的測量
計時碼表應(yīng)用程序可以測量 PHC 和系統(tǒng)定時器之間的偏差。由于兩個域的系統(tǒng)計時器都從同一個硬件系統(tǒng)計數(shù)器延遲,并且兩個 PHC 都從同一個物理硬件時鐘延遲,我們可以從我們得到的偏差值推導(dǎo)出我們實現(xiàn)的質(zhì)量。圖 7 顯示了一段時間內(nèi)的偏差。每秒測量一個樣品。在 domU 中,虛擬化系統(tǒng)時鐘和 vPHC 之間可以觀察到的最大偏差要高得多。這是可以解釋的,因為有更多的系統(tǒng)服務(wù)和硬件驅(qū)動程序在 Dom0 中運行,這可能會延遲 domU 的調(diào)度一個簡短但可測量的時間。盡管 domU 的抖動通常較高,但由于依賴于相同的硬件計數(shù)器,兩個時鐘的漂移顯示出相似性,正如預(yù)期的那樣。當(dāng)然,為了進(jìn)行精確分析,需要對更多樣本進(jìn)行長期評估,以詳細(xì)分析漂移行為。除此之外,在實際場景中,應(yīng)該監(jiān)控整個系統(tǒng)負(fù)載對抖動的影響。
總而言之,虛擬化環(huán)境內(nèi)的總偏差在典型傳感器應(yīng)用或 A/V 流的限制范圍內(nèi)是完全安全的,如表 1 開頭所示。
圖 7:系統(tǒng)時鐘與 (v)PHC 的偏差
4.1 結(jié)論
我們已經(jīng)展示了如何在提供 RSwitch2 交換引擎的瑞薩平臺上方便地為虛擬化域提供 TSN 功能。由于 RSwitch2 的隊列可以由虛擬化域通過管理程序直接處理,因此這些域可以立即使用硬件時間戳。我們闡述了在多個域以相當(dāng)好的質(zhì)量共享相同時基的情況下,管理程序抽象如何提供對 PHC 的只讀訪問。此外,R-Car S4 等瑞薩電子 SoC 提供了一個額外的 PHC,可由一個域?qū)iT使用。借助 Renesas R-Car S4 SoC 等解決方案,將外部設(shè)備連接到汽車以太網(wǎng)交換機(jī)是完全可能的,但虛擬化過去需要專用微處理器的功能 (ECU) 甚至是可行的。得益于RSwitch2提供的完全集成和強大的交換技術(shù),每個具有實時需求的虛擬化功能都可以通過TSN以太網(wǎng)進(jìn)行通信。
審核編輯:郭婷
-
以太網(wǎng)
+關(guān)注
關(guān)注
40文章
5439瀏覽量
171981 -
操作系統(tǒng)
+關(guān)注
關(guān)注
37文章
6847瀏覽量
123428 -
微處理器
+關(guān)注
關(guān)注
11文章
2269瀏覽量
82546
發(fā)布評論請先 登錄
相關(guān)推薦
評論