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