王博文,羅 峰,王子通
(1. 上海工業控制安全創新科技有限公司,上海 200333; 2. 同濟大學汽車學院,上海 201804)
隨著汽車的智能化進一步發展,汽車中電子元件與芯片的數量越來越多,汽車的復雜程度也越來越高,新的電子電氣架構也應運而生。對于下一代車載網絡,汽車行業認為以太網是控制器局域網絡(controller area network,CAN)和高速容錯網絡協議(flexible ray,FlexRay)之外的有希望的候選者[1]。以太網是電氣電子工程師學會(institute of electrical and electronics engineers,IEEE)標準,廣泛用于消費和工業領域。隨著越來越多新的復雜應用出現在汽車中,對通信和帶寬的要求也隨之增加,例如,高級駕駛輔助系統(advanced driving assistance system,ADAS),導航和定位系統,多媒體和信息娛樂系統等等。對于混合動力汽車(hybrid electric vehicle,HEV)或電動汽車(electric vehicle,EV),以太網將成為通信體系結構中最核心的組成部分,從而實現汽車電子設備與互聯網之間的連接[2]。在新一代的智能網聯汽車電子電氣架構下,車載以太網也將更多地取代傳統的CAN 或面向媒體的系統傳輸(media oriented systems transport,MOST)總線等。
為滿足汽車中網絡物理系統(cyber-physical system,CPS)的實時要求,車載以太網必須能夠傳遞具有有限延遲和抖動的消息幀。由于汽車中很多CPS 與安全性至關重要,通常必須確定性地限制網絡延遲和抖動,必須嚴格確保在安全的范圍。目前工業上一些具有確定性實時保證的網絡技術已經使用了很長一段時間,例如串行實時通信協議(serial real time communication specification,SERCOS),以太網控制自動化技術(ethernet control automation technology,EtherCAT)等,所有這些總線都是基于以太網技術,也可以提供確定的延遲保證。但是,這些總線技術有一個最大的問題是它們互相不兼容[3]。為了解決這個問題,IEEE 802.1 TSN 工作組為IEEE 802.3 網絡制定了標準,允許通過標準以太網進行確定性實時通信。
IEEE 802.1 TSN標準的核心就是時間同步以及各種調度算法。其中,IEEE 802.1Qbv 提出了一種分時調度機制,該機制控制不同的時間觸發開關來控制不同流量類別的流量被交換機隊列轉發的時間,即在不同的時間轉發不同優先級隊列里的報文。門的開啟和關閉由一個調度表來實現,這個調度表的配置可以是集中式也可以是分布式,斯圖加特大學的Dürr 和Nayak[4]引入無等待分組調度來建模TSN的調度問題,Gavrilut和Pop[5]提出一種基于貪婪隨機自適應搜索的門控列表(gate control lists,GCLs)綜合方法。除了GCL 機制之外,一些其他的機制也可以同時作用,比如:信用值整形技術,絕對優先級調度技術等。將所有這些機制的影響疊加在一起就會導致復雜的網絡行為,這使得預測網絡中每種流預期的服務質量(quality of service,QoS)變得困難。有3 種方法可以用來分析網絡的性能:在真實網絡中進行實驗、形式化網絡分析以及網絡仿真分析。
迄今為止,很少有研究建立車載TSN仿真模型。Park 等[6]討論了音視頻橋接(audio video bridging,AVB)網絡中的音視頻橋接流量、BE 流量和調度流量,但不是TSN 流量。Heise 等[7]提出了一種基于幀搶占的仿真框架,然而,沒有考慮時間同步,只探索了非基于時間的功能。Steinbach 等[8]通過添加時間觸發以太網(time-triggered ethernet,TTEthernet)模型,基于OMNeT++擴展建立了INET 框架。擴展的架構集成在了開源的CoRE4INET 架構下,Steinbach等的工作驗證了該架構的合理性,但是CoRE4INET架構只是以太網的TTEthernet 拓展,并不符合TSN標準。Falk 等[9]開發了NeSTiNg 架構,NeSTiNg 架構利用了INET框架中的許多組建和模塊,嵌套擴展了INET。
為此,為了分析TSN 協議在車載以太網應用中各個機制的性能,包括單獨使用和組合使用時的情況,本文中開發了一個基于OMNeT++的車載TSN 仿真系統,該模型使用了GCLs 概念,以基于時間的方式調度車載網絡流量,該仿真模型驗證了車載混合網絡中時間敏感流量的實時傳輸問題可以通過TSN協議來解決。其次,對于其他關于流量調度算法和GCL 合成的算法[10-11],則可通過仿真系統來評估這些算法的可行性,例如,合成的GCLs 可以輸入到仿真系統中并得到仿真結果,再與流量需求做對比得到驗證結果。最后,通過2 個實驗拓撲來驗證仿真系統IEEE 802.1Qbv 分時調度機制的有效性,同時搭建車載TSN 網絡嵌入式平臺,進一步驗證和修正了網絡仿真模型。
在傳統以太網的發展過程中,為了解決大型網絡的廣播、網絡管理、流量管理等問題,引入了VLAN 技術對網絡進行劃分。圖1 為非虛擬局域網(virtual local area network,VLAN)報文和VLAN 報文的以太網幀結構圖[12]。

圖1 IEEE 802.1Q以太網幀結構
VLAN 以太網報文相比較傳統以太網報文多了VLAN 標簽,VLAN 標簽為4 B,其中前2 B 為固定的0x8100,表示當前的報文為帶有VLAN 的以太網報文,后面2 B 分為3 個部分,其中優先級代碼點(priority code point,PCP)是一個3 b 的字段,最多可以定義8 個不同的流量類型。但是TSN 協議中沒有定義分配給特定類型后如何處理流量,IEEE 提出了一些建議,如表1 所示[12],根據流量類型來映射到不同的優先級。最后12 b 用來代表VLAN ID。TSN 協議的許多機制則是基于VLAN 報文的以太網來進行傳輸。

表1 流量與優先級、PCP的關系
TAS 是在IEEE 802.1Qbv 中定義的,IEEE 802.1Qbv協議是在IEEE 802.1Q—2014的基礎上進行了一些增加和修正,于2015 年發布了正式版[13]。IEEE 802.1Qbv 協議主要對IEEE 802.1Q 中的報文轉發過程進行了增強,定義了支持流量調度的報文轉發過程,提供了基于時間調度機制的隊列消息流量整形控制,降低了高實時性要求的關鍵性報文流量被實時性要求較低的非關鍵性報文流量干擾的紀律,保證交換網絡中數據流量傳輸的時間確定性,同時,IEEE 802.1Qbv 支持VLAN 網絡的流量調度通信。
IEEE 802.1Qbv 中的調度機制引入了GCLs 概念。這是一個與每個隊列相關的傳輸門,最多有8個門可以控制。GCLs 用于控制門的狀態,當門處于打開狀態時,幀的傳輸是允許的,如果門處于關閉狀態,則沒有幀的傳輸[14]。如果兩個或者多個門打開,具有較高優先級的幀被傳輸,而較低優先級的流量被延遲傳輸[15]。調度通常由一個全局時鐘同步,以保證實時性和可預測性。IEEE 802.1AS 用于TSN的時鐘同步[16]。
利用VLAN 標簽中的PCP,可以將最多8種不同的優先級轉發到相應的8 個隊列中并被緩沖。只有當與隊列對應的門打開時,才可以通過端口傳輸。優先級本身并不能保證時間敏感的關鍵信息在正確的時間被傳輸。例如,如果控制消息到達時,正在傳輸較低優先級的消息,則高優先級的消息會被排隊,并在低優先級消息傳輸完成之后再傳輸。在工業領域中,為了避免這種問題,需要消息的調度。
GCLs 定義了調度的時間表,除了代表門的狀態,同時還包含每個門開關狀態持續的時間,這樣被計劃的控制消息就不會被較低優先級的流量所干擾,因為時間間隔是為高優先級的流量專門預留的。圖2 顯示了一個示例,在T1 階段內,8 個隊列中只有隊列0 的門是打開的,持續的時間則是用T 指定的。在T2 階段內,只有隊列1 的門是打開的。在T3 階段內,只有隊列2 的門是打開的。每個階段每個入口的門的狀態由GCLs 所指定。GCLs 中的列表內容是周期性的,也只能手動去配置。此外,隊列1 和隊列5 的流量還使用了信用值整形(creditbased shaper,CBS)調度方式,CBS 在IEEE 802.1Qav中定義[17]。

圖2 時間整形器
OMNeT++是一個基于C++的開源仿真環境,具有可擴展的、模塊化的特點。OMNeT++提供了許多拓展框架,支持許多以太網協議和特性,也支持許多IEEE 標準。本文設計的車載TSN 仿真系統使用了其中的兩個框架,INET 框架和NeSTiNg 框架,如圖3所示。此外,TSN 車載網絡仿真系統還支持IEEE 802.1AS時間同步協議,IEEE 802.1Qbv分時調度協議,IEEE 802.1Qci 流過濾和監管協議以及IEEE 802.1Qch循環隊列轉發協議。

圖3 TSN車載以太網仿真系統框架
TSN 仿真系統主要是為了能夠仿真TSN 系統的通信性能,因此需要將數據通過節點的行為模擬出來,如圖4 所示,利用3 個端系統和1 個交換機組成的簡易系統,可以很清楚地看到數據流是如何通過節點的。由于選擇傳輸算法(transmission selection algorithm, TSA)可以使用不同的調度協議,因此可以將其視為先入先出隊列(first in first out,FIFO)。在圖4 中,有數據幀τ1和數據幀τ2,其中數字代表了數據幀流動的順序,一共6 個步驟到達最終的端系統3。假設數據幀τ1和數據幀τ2報文長度為最大,且傳輸方向都是經過交換機后傳輸至端系統3,放大端系統和交換機的出站端口后,可以看到數據幀τ1和數據幀τ2根據優先級被分配到了兩個不同的隊列,其中數據幀τ1被分配至隊列3中,數據幀τ2被分配至隊列2中,而在同時到達交換機之后即數字4所表示的位置后,傳輸選擇器(transmission selection,TS)優先選擇數據幀τ1進行傳輸,數據幀τ1的第5步走在了數據幀τ2的前面,因此在端系統3 中數據幀τ1比數據幀τ2先到達。

圖4 車載TSN系統數據流模型
而最能表達TSN 系統通信性能的參數就是端到端延遲,那么一個典型的數據流的端到端延遲可以定義為
式中:TEE是任意一幀數據的端到端延遲;TD為產生這幀數據的終端從產生到端口發出所消耗的時間;TW為任意一個節點中輸出端口受調度策略影響所消耗的時間;TS為任意交換機存儲轉發這幀數據所產生的轉發延遲。
使用NeSTiNg 框架對IEEE 802.1Q 交換機的拓展,TSN 以太網仿真系統借助GCLs 概念,開發了端系統和TSN 網絡交換機配置模式。首先在TSN 以太網仿真系統中搭建仿真所需的拓撲結構,如圖5 所示,確定網絡中的端系統和TSN網絡交換機結構,接著端系統通過讀取XML 流量產生配置文件,在特定的周期特定時刻產生VLAN 以太網報文,并配置特定的流量類優先級,最后TSN 網絡交換機通過讀取XML 流量調度配置文件,選擇不同的調度機制,例如IEEE 802.1Qbv 分時調度機制,交換機則通過報文的優先級將VLAN 以太網報文放進不同的隊列,配置文件還包含GCLs調度表的設計,包括隊列門的開啟狀態以及開啟時間。

圖5 TSN車載網絡仿真系統的拓撲
XML 文件配置模式如圖6 所示,TSN 交換機中的關鍵參數處理延遲則需要真實的交換機進行測量獲取。

圖6 XML文件配置模式
TSN 仿真模型是為了分析TSN 協議提到的各個機制的性能,包括單獨使用和組合使用時的情況,以達到一個驗證TSN 可以保證實時數據傳輸的目的,除了保證時間敏感流的實時性,同時TSN 仍然可以為其他的流量類提供出色的傳輸。OMNeT++中可以評價TSN性能的指標有端到端傳輸延遲以及利用率,通過改變不同的網絡拓撲結構、數據傳輸速率、端口帶寬等參數來仿真TSN 的性能,這些變量不受其他參數的影響,是獨立變量。
為了分析IEEE 802.1Qbv 的分時調度機制的性能,首先在TSN 車載以太網仿真系統中搭建了簡單的TSN星型網絡,如圖7所示,其中TS節點發送周期的時間敏感報文,周期為500 μs,長度為64 B,BE 節點作為干擾節點不斷發送盡力而為報文,長度為1500 B,Switch 為交換機節點轉發TS 和BE 發送的報文到Master 節點,Master 節點作為接收節點,各節點之間的通信采用100 Mb/s以太網傳輸。這個實驗的目的就是展示TAS 的功能,驗證TAS 可以保證時間敏感流量的確定性端到端延遲。

圖7 TSN星型網絡
對實驗網絡設置了如下的調度規則:
(1)調度周期設置為500 μs,也就意味著調度規則每500 μs重復一次;
(2)設置TS 節點發送的時間敏感報文的PCP 為7(最高優先級);
(3)設置BE 節點發送的盡力而為報文的PCP為0;
(4)交換機處理延遲設置為8.6 μs(實際TSN 交換機的處理延遲);
(5)使用TAS模型中8個隊列中的2個隊列。
(6)GCLs的設計見表2。

表2 星型TSN網絡GCLs設計
GCLs 的機制確保時間敏感報文在保護窗口傳輸,而盡力而為數據在無保護窗口傳輸,保護帶窗口的所有門都關閉,進一步確保盡力而為數據不會影響時間敏感報文傳輸。端到端延遲的仿真結果如圖8和圖9所示,時間敏感流量具有21.54 μs的恒定延遲。由于無法在完整的模擬時間圖中顯示盡力而為報文端到端延遲是如何穩定的,因此圖8 僅顯示模擬的前130 ms。盡力而為報文的端到端延遲線性增加,直到交換機的緩沖區變滿,隊列的緩沖容量設置為最大30 個數據包,當緩沖隊列完全填滿時,盡力而為報文的端到端延遲變得穩定。但是,由于緩沖區溢出,盡力而為報文會丟失數據包。

圖8 前130 ms盡力而為報文的端到端延遲

圖9 兩種報文的端到端延遲
圖10 以圖形方式顯示了到達Master 節點的時間敏感報文,時間敏感報文流向交換機輸入端口0,然后被轉發到適當的輸出端口2,它在最高優先級隊列中排隊,檢查傳輸選擇算法的設置和門的狀態,調度算法默認設置為嚴格優先級,并且門狀態是打開的,因此時間敏感報文被立即轉發到Master節點。盡力而為流量被發送到交換機輸入端口1,在此排隊,但是這時門關閉,那么此報文將與發送到該隊列的所有其他報文一起在隊列中等待,直到門打開之后立即被轉發。時間敏感報文保護窗口長度為50 μs,無保護窗口長度為320 μs,保護帶窗口長度為130 μs。保護帶窗口確保盡力而為流量在保護窗口開始之前完成傳輸,并將其設置為最大值,即傳輸最大一幀以太網報文所需的時間[18]。

圖10 分時調度過程
為了分析車載網絡下的IEEE 802.1Qbv 性能,模擬了一個信息娛樂系統的TSN 以太網網絡,網絡采用環型網絡架構,如圖11所示,網絡包含4個交換機節點,2 個攝像頭節點,1 個音頻節點還有一個BE 節點,專門用來模擬盡力而為報文,端口都采用100 Mb 車載以太網,報文格式基于IEEE 802.1Q 的VLAN標簽以太網幀格式。

圖11 信息娛樂系統TSN環型網絡
場景的仿真時間為5 s,所有的交換機共享相同的緩沖區大小,緩沖容量設置為最大30 個數據包。網絡中各種流量的相關參數如表3 所示。其中除PC 和BE 控制器節點外其他3 個控制器節點都會在500 μs 周期的發送一幀時間敏感的控制報文,而Video1 和Video2 控制器節點則分別在500 μs 周期內發送1 幀視頻報文,視頻報文的優先級則比控制報文低,Audio 控制器節點在500 μs周期內發送1 幀音頻報文,BE 控制器節點為模擬干擾節點,負責發送BE 報文,來測試BE 報文對其他流量的影響,4 個交換機的TAS調度表設計相同,由于是環型結構,還涉及到交換機的轉發路徑,除了BE 報文之外,系統中將報文的轉發設計為最短路徑轉發。調度規則如下:

表3 環型TSN網絡流量特性
(1)調度周期設置為500 μs;
(2)所有節點發出控制報文的PCP 為7(最高優先級);
(3)Audio 節點發出的音頻報文的PCP 為5(中優先級);
(4)Video節點發出的視頻報文的PCP為4(中優先級);
(5)BE 節點發出的盡力而為報文的PCP為0(低優先級);
(6)交換機處理延遲設置為8.6 μs;
(7)使用TAS模型中8個隊列中的8個隊列;
(8)GCLs的設計見表4。

表4 環型TSN網絡GCLs設計
如圖12 所示,列出了各個節點發出的報文的端到端延遲,由圖12(a)可知音視頻報文的端到端延遲,音頻報文的延遲穩定在39.82 μs,視頻報文的延遲穩定在122.54 和143.11 μs,控制報文的延遲分別穩定在36.31 和51.28 μs,如表5 所示,可以很明顯地發現,相同字節長度的報文端到端延遲只與報文經過的交換機跳數有關系,鏈路越長,報文的端到端延遲越長,而相同跳數的報文,字節長度越長,端到端延遲越長。如圖12(b)所示,BE 報文的端到端延遲線性增加,直到交換機Switch3 的緩沖區變滿,盡力而為報文的端到端延遲穩定在22.6 ms 左右,同時由于緩沖區溢出,盡力而為報文會丟失數據包。

表5 各流量端到端延遲

圖12 各流量的端到端延遲
為了在嵌入式系統中實現IEEE 802.1Qbv 的性能,搭建了與仿真模型類似的信息娛樂系統,如圖13 所示,由4 個控制器和4 個交換機節點組成的硬件平臺,硬件平臺包括控制器MPC5604E、NXP 車載以太網交換機SJA1105Q 和車載以太網PHY TJA1100。

圖13 嵌入式信息娛樂TSN系統
選擇這個MCU 的原因是它提供了100 Mb 的快速以太網控制器,支持精確的時間戳和MII 接口,JPEG/MJPEG 8/12 位編碼器。此外,SJA1105Q 是一個符合IEEE 802.3 的5 端口汽車以太網交換機,它具有AVB 和TSN 特性,如IEEE 802.1Q 定義標簽支持和IEEE 802.1Qbv 時間感知流量。TJA1100 是一個100BASE-T1 兼容的以太網PHY,針對汽車用例進行了優化,它通過單個非屏蔽雙絞線(UTP)電纜提供了100 Mb/s的傳輸和接收能力。
系統使用了基于TSN 的嵌入式驅動模式,其中每個節點在250 μs 周期發出一幀控制報文,所以網絡中同一周期內會有4 條控制報文,系統中沒有模擬BE報文,音視頻報文最高字節為200 B,因此系統采用了與模擬系統類似的調度規則,GCLs 設計見表6,節點報文發送行為如圖14所示。

表6 嵌入式信息娛樂TSN系統GCLs設計

圖14 分時調度機制下報文的轉發行為
由于環型網絡具有對稱特性而各個節點報文發送方式較為類似,因此其它節點發送行為也具有相同特性。圖中綠色線為節點的同步時鐘,紅色線為視頻節點發出的報文,藍色線為主控節點發出的報文(不包含視頻報文),從圖中可以看出以下特性:
(1)同步時鐘上升沿和第一幀控制報文發出時間有一定相位偏差,該偏差被用于控制器軟件準備和發送控制報文;
(2)每一個周期中控制報文數量為4,這與網絡節點數量匹配,可以推斷每個周期內節點發且只發一條控制報文;
(3)控制報文發送時發送間隔明顯大于后半周期的非控制報文,這是由于該報文發送過程中沒有其它報文阻塞,因此可以明顯觀察到交換機的轉發延遲;
(4)在發送控制報文時交換機內部已經存在視頻報文但沒有立即發送,該行為顯示了分時調度的作用,即將不同類型的報文在不同的時間窗口傳輸,從而避免控制報文阻塞。
在正常傳輸過程中控制報文在交換機收到后可以立即向下一級交換機發送,而部分圖像報文會被緩沖在交換機中,等待時間窗打開后再進行轉發。
控制報文和視頻報文的實際傳輸延遲如表7 所示,在嵌入式TSN中,控制報文每增加一跳所增加的延遲約為16.13 μs。在OMNeT++仿真系統中,如表8 所示,控制報文每增加一跳所增加的延遲為14.77 μs 左右。可以看出,同樣經過Qbv 分時調度機制保障控制報文的情況下,控制報文每增加一跳的延遲基本固定,因此分時調度機制可以對控制報文進行確定性延遲傳輸。而這里16.13 與14.77 還相差1.36 μs,這里猜測除了交換機內部的轉發延遲外,在實物系統中以太網收發器PHY也會產生延遲。

表7 實物系統控制流和視頻流實際傳輸延遲

表8 仿真系統中控制流傳輸延遲
因此,將這個1.36 μs的收發器硬件處理延遲在仿真平臺中添加并配置以后,對于圖11 所示網絡重新進行仿真后的結果如表9 所示。控制報文端到端延遲為16.08 μs,與實物測量的16.13 μs 誤差僅為50 ns,相差0.3%。

表9 改進后的端到端延遲仿真結果
由此,通過網絡仿真與實物硬件網絡的對比,驗證了本文所設計的TSN仿真系統的系統級一致性與正確性。
與傳統總線相比,車載以太網TSN 為控制報文提供了更確定的傳輸延遲。IEEE 802.1Qbv 提出的機制并非對以太網所有傳輸性能的提升,而是按照不同應用場景的需求重新分配鏈路資源,盡管以太網傳輸實時能力隨著交換機跳數的增加而減小,但延遲是可預測的,可以根據實際的實時需求選擇特定的拓撲結構,從而保障網絡中各個節點之間的實時性。
本文中設計了IEEE 802.1TSN 車載以太網仿真系統,討論了基于TSN 協議的IEEE 802.1Qbv 分時調度機制,通過搭建車載信息娛樂系統TSN 仿真系統以及車載信息娛樂TSN 嵌入式系統,驗證了IEEE 802.1Qbv 分時調度機制可以有效避免不同優先級報文之間的阻塞,通過在具有時鐘同步能力的通信系統上運行分時調度表,可以保證實時數據傳輸的目的,除了保證時間敏感流的實時性,TSN 仍然可以為其他的流量類提供出色的傳輸。在車載信息娛樂TSN 嵌入式系統中,測量真實交換機的轉發延遲,修正了仿真系統中交換機的處理延遲。
TSN 系統網絡實時性,除了交換機內部調度機制影響外,鏈路延遲和交換機自身轉發延遲也有較大影響,該影響反過來也會對TSN 實時調度表的設計造成干擾。因此在調度表設計過程中不僅需要考慮交換機內部報文緩沖情況,還須考慮實際器件延遲,才能達到最優的實時效果。而基于OMNeT++的車載TSN仿真系統既能夠仿真交換機內部的調度機制,同時也可以根據實際情況修正交換機的處理和轉發延遲。
由此可見,本文設計的IEEE 802.1TSN 車載以太網仿真系統能夠真實地分析TSN協議在車載以太網應用中機制的性能,包括單獨使用和組合使用時的情況。為了獲得更好的車載TSN 以太網設計,未來的工作會集中在調度表的設計算法,以及TSN 協議中其他機制對車載以太網實時性的影響上面,再利用仿真系統來評估這些算法和機制的可行性。