王博文,羅 峰,王子通
(1. 上海工業(yè)控制安全創(chuàng)新科技有限公司,上海 200333; 2. 同濟大學(xué)汽車學(xué)院,上海 201804)
隨著汽車的智能化進一步發(fā)展,汽車中電子元件與芯片的數(shù)量越來越多,汽車的復(fù)雜程度也越來越高,新的電子電氣架構(gòu)也應(yīng)運而生。對于下一代車載網(wǎng)絡(luò),汽車行業(yè)認(rèn)為以太網(wǎng)是控制器局域網(wǎng)絡(luò)(controller area network,CAN)和高速容錯網(wǎng)絡(luò)協(xié)議(flexible ray,F(xiàn)lexRay)之外的有希望的候選者[1]。以太網(wǎng)是電氣電子工程師學(xué)會(institute of electrical and electronics engineers,IEEE)標(biāo)準(zhǔn),廣泛用于消費和工業(yè)領(lǐng)域。隨著越來越多新的復(fù)雜應(yīng)用出現(xiàn)在汽車中,對通信和帶寬的要求也隨之增加,例如,高級駕駛輔助系統(tǒng)(advanced driving assistance system,ADAS),導(dǎo)航和定位系統(tǒng),多媒體和信息娛樂系統(tǒng)等等。對于混合動力汽車(hybrid electric vehicle,HEV)或電動汽車(electric vehicle,EV),以太網(wǎng)將成為通信體系結(jié)構(gòu)中最核心的組成部分,從而實現(xiàn)汽車電子設(shè)備與互聯(lián)網(wǎng)之間的連接[2]。在新一代的智能網(wǎng)聯(lián)汽車電子電氣架構(gòu)下,車載以太網(wǎng)也將更多地取代傳統(tǒng)的CAN 或面向媒體的系統(tǒng)傳輸(media oriented systems transport,MOST)總線等。
為滿足汽車中網(wǎng)絡(luò)物理系統(tǒng)(cyber-physical system,CPS)的實時要求,車載以太網(wǎng)必須能夠傳遞具有有限延遲和抖動的消息幀。由于汽車中很多CPS 與安全性至關(guān)重要,通常必須確定性地限制網(wǎng)絡(luò)延遲和抖動,必須嚴(yán)格確保在安全的范圍。目前工業(yè)上一些具有確定性實時保證的網(wǎng)絡(luò)技術(shù)已經(jīng)使用了很長一段時間,例如串行實時通信協(xié)議(serial real time communication specification,SERCOS),以太網(wǎng)控制自動化技術(shù)(ethernet control automation technology,EtherCAT)等,所有這些總線都是基于以太網(wǎng)技術(shù),也可以提供確定的延遲保證。但是,這些總線技術(shù)有一個最大的問題是它們互相不兼容[3]。為了解決這個問題,IEEE 802.1 TSN 工作組為IEEE 802.3 網(wǎng)絡(luò)制定了標(biāo)準(zhǔn),允許通過標(biāo)準(zhǔn)以太網(wǎng)進行確定性實時通信。
IEEE 802.1 TSN標(biāo)準(zhǔn)的核心就是時間同步以及各種調(diào)度算法。其中,IEEE 802.1Qbv 提出了一種分時調(diào)度機制,該機制控制不同的時間觸發(fā)開關(guān)來控制不同流量類別的流量被交換機隊列轉(zhuǎn)發(fā)的時間,即在不同的時間轉(zhuǎn)發(fā)不同優(yōu)先級隊列里的報文。門的開啟和關(guān)閉由一個調(diào)度表來實現(xiàn),這個調(diào)度表的配置可以是集中式也可以是分布式,斯圖加特大學(xué)的Dürr 和Nayak[4]引入無等待分組調(diào)度來建模TSN的調(diào)度問題,Gavrilut和Pop[5]提出一種基于貪婪隨機自適應(yīng)搜索的門控列表(gate control lists,GCLs)綜合方法。除了GCL 機制之外,一些其他的機制也可以同時作用,比如:信用值整形技術(shù),絕對優(yōu)先級調(diào)度技術(shù)等。將所有這些機制的影響疊加在一起就會導(dǎo)致復(fù)雜的網(wǎng)絡(luò)行為,這使得預(yù)測網(wǎng)絡(luò)中每種流預(yù)期的服務(wù)質(zhì)量(quality of service,QoS)變得困難。有3 種方法可以用來分析網(wǎng)絡(luò)的性能:在真實網(wǎng)絡(luò)中進行實驗、形式化網(wǎng)絡(luò)分析以及網(wǎng)絡(luò)仿真分析。
迄今為止,很少有研究建立車載TSN仿真模型。Park 等[6]討論了音視頻橋接(audio video bridging,AVB)網(wǎng)絡(luò)中的音視頻橋接流量、BE 流量和調(diào)度流量,但不是TSN 流量。Heise 等[7]提出了一種基于幀搶占的仿真框架,然而,沒有考慮時間同步,只探索了非基于時間的功能。Steinbach 等[8]通過添加時間觸發(fā)以太網(wǎng)(time-triggered ethernet,TTEthernet)模型,基于OMNeT++擴展建立了INET 框架。擴展的架構(gòu)集成在了開源的CoRE4INET 架構(gòu)下,Steinbach等的工作驗證了該架構(gòu)的合理性,但是CoRE4INET架構(gòu)只是以太網(wǎng)的TTEthernet 拓展,并不符合TSN標(biāo)準(zhǔn)。Falk 等[9]開發(fā)了NeSTiNg 架構(gòu),NeSTiNg 架構(gòu)利用了INET框架中的許多組建和模塊,嵌套擴展了INET。
為此,為了分析TSN 協(xié)議在車載以太網(wǎng)應(yīng)用中各個機制的性能,包括單獨使用和組合使用時的情況,本文中開發(fā)了一個基于OMNeT++的車載TSN 仿真系統(tǒng),該模型使用了GCLs 概念,以基于時間的方式調(diào)度車載網(wǎng)絡(luò)流量,該仿真模型驗證了車載混合網(wǎng)絡(luò)中時間敏感流量的實時傳輸問題可以通過TSN協(xié)議來解決。其次,對于其他關(guān)于流量調(diào)度算法和GCL 合成的算法[10-11],則可通過仿真系統(tǒng)來評估這些算法的可行性,例如,合成的GCLs 可以輸入到仿真系統(tǒng)中并得到仿真結(jié)果,再與流量需求做對比得到驗證結(jié)果。最后,通過2 個實驗拓撲來驗證仿真系統(tǒng)IEEE 802.1Qbv 分時調(diào)度機制的有效性,同時搭建車載TSN 網(wǎng)絡(luò)嵌入式平臺,進一步驗證和修正了網(wǎng)絡(luò)仿真模型。
在傳統(tǒng)以太網(wǎng)的發(fā)展過程中,為了解決大型網(wǎng)絡(luò)的廣播、網(wǎng)絡(luò)管理、流量管理等問題,引入了VLAN 技術(shù)對網(wǎng)絡(luò)進行劃分。圖1 為非虛擬局域網(wǎng)(virtual local area network,VLAN)報文和VLAN 報文的以太網(wǎng)幀結(jié)構(gòu)圖[12]。
圖1 IEEE 802.1Q以太網(wǎng)幀結(jié)構(gòu)
VLAN 以太網(wǎng)報文相比較傳統(tǒng)以太網(wǎng)報文多了VLAN 標(biāo)簽,VLAN 標(biāo)簽為4 B,其中前2 B 為固定的0x8100,表示當(dāng)前的報文為帶有VLAN 的以太網(wǎng)報文,后面2 B 分為3 個部分,其中優(yōu)先級代碼點(priority code point,PCP)是一個3 b 的字段,最多可以定義8 個不同的流量類型。但是TSN 協(xié)議中沒有定義分配給特定類型后如何處理流量,IEEE 提出了一些建議,如表1 所示[12],根據(jù)流量類型來映射到不同的優(yōu)先級。最后12 b 用來代表VLAN ID。TSN 協(xié)議的許多機制則是基于VLAN 報文的以太網(wǎng)來進行傳輸。
表1 流量與優(yōu)先級、PCP的關(guān)系
TAS 是在IEEE 802.1Qbv 中定義的,IEEE 802.1Qbv協(xié)議是在IEEE 802.1Q—2014的基礎(chǔ)上進行了一些增加和修正,于2015 年發(fā)布了正式版[13]。IEEE 802.1Qbv 協(xié)議主要對IEEE 802.1Q 中的報文轉(zhuǎn)發(fā)過程進行了增強,定義了支持流量調(diào)度的報文轉(zhuǎn)發(fā)過程,提供了基于時間調(diào)度機制的隊列消息流量整形控制,降低了高實時性要求的關(guān)鍵性報文流量被實時性要求較低的非關(guān)鍵性報文流量干擾的紀(jì)律,保證交換網(wǎng)絡(luò)中數(shù)據(jù)流量傳輸?shù)臅r間確定性,同時,IEEE 802.1Qbv 支持VLAN 網(wǎng)絡(luò)的流量調(diào)度通信。
IEEE 802.1Qbv 中的調(diào)度機制引入了GCLs 概念。這是一個與每個隊列相關(guān)的傳輸門,最多有8個門可以控制。GCLs 用于控制門的狀態(tài),當(dāng)門處于打開狀態(tài)時,幀的傳輸是允許的,如果門處于關(guān)閉狀態(tài),則沒有幀的傳輸[14]。如果兩個或者多個門打開,具有較高優(yōu)先級的幀被傳輸,而較低優(yōu)先級的流量被延遲傳輸[15]。調(diào)度通常由一個全局時鐘同步,以保證實時性和可預(yù)測性。IEEE 802.1AS 用于TSN的時鐘同步[16]。
利用VLAN 標(biāo)簽中的PCP,可以將最多8種不同的優(yōu)先級轉(zhuǎn)發(fā)到相應(yīng)的8 個隊列中并被緩沖。只有當(dāng)與隊列對應(yīng)的門打開時,才可以通過端口傳輸。優(yōu)先級本身并不能保證時間敏感的關(guān)鍵信息在正確的時間被傳輸。例如,如果控制消息到達時,正在傳輸較低優(yōu)先級的消息,則高優(yōu)先級的消息會被排隊,并在低優(yōu)先級消息傳輸完成之后再傳輸。在工業(yè)領(lǐng)域中,為了避免這種問題,需要消息的調(diào)度。
GCLs 定義了調(diào)度的時間表,除了代表門的狀態(tài),同時還包含每個門開關(guān)狀態(tài)持續(xù)的時間,這樣被計劃的控制消息就不會被較低優(yōu)先級的流量所干擾,因為時間間隔是為高優(yōu)先級的流量專門預(yù)留的。圖2 顯示了一個示例,在T1 階段內(nèi),8 個隊列中只有隊列0 的門是打開的,持續(xù)的時間則是用T 指定的。在T2 階段內(nèi),只有隊列1 的門是打開的。在T3 階段內(nèi),只有隊列2 的門是打開的。每個階段每個入口的門的狀態(tài)由GCLs 所指定。GCLs 中的列表內(nèi)容是周期性的,也只能手動去配置。此外,隊列1 和隊列5 的流量還使用了信用值整形(creditbased shaper,CBS)調(diào)度方式,CBS 在IEEE 802.1Qav中定義[17]。
圖2 時間整形器
OMNeT++是一個基于C++的開源仿真環(huán)境,具有可擴展的、模塊化的特點。OMNeT++提供了許多拓展框架,支持許多以太網(wǎng)協(xié)議和特性,也支持許多IEEE 標(biāo)準(zhǔn)。本文設(shè)計的車載TSN 仿真系統(tǒng)使用了其中的兩個框架,INET 框架和NeSTiNg 框架,如圖3所示。此外,TSN 車載網(wǎng)絡(luò)仿真系統(tǒng)還支持IEEE 802.1AS時間同步協(xié)議,IEEE 802.1Qbv分時調(diào)度協(xié)議,IEEE 802.1Qci 流過濾和監(jiān)管協(xié)議以及IEEE 802.1Qch循環(huán)隊列轉(zhuǎn)發(fā)協(xié)議。
圖3 TSN車載以太網(wǎng)仿真系統(tǒng)框架
TSN 仿真系統(tǒng)主要是為了能夠仿真TSN 系統(tǒng)的通信性能,因此需要將數(shù)據(jù)通過節(jié)點的行為模擬出來,如圖4 所示,利用3 個端系統(tǒng)和1 個交換機組成的簡易系統(tǒng),可以很清楚地看到數(shù)據(jù)流是如何通過節(jié)點的。由于選擇傳輸算法(transmission selection algorithm, TSA)可以使用不同的調(diào)度協(xié)議,因此可以將其視為先入先出隊列(first in first out,F(xiàn)IFO)。在圖4 中,有數(shù)據(jù)幀τ1和數(shù)據(jù)幀τ2,其中數(shù)字代表了數(shù)據(jù)幀流動的順序,一共6 個步驟到達最終的端系統(tǒng)3。假設(shè)數(shù)據(jù)幀τ1和數(shù)據(jù)幀τ2報文長度為最大,且傳輸方向都是經(jīng)過交換機后傳輸至端系統(tǒng)3,放大端系統(tǒng)和交換機的出站端口后,可以看到數(shù)據(jù)幀τ1和數(shù)據(jù)幀τ2根據(jù)優(yōu)先級被分配到了兩個不同的隊列,其中數(shù)據(jù)幀τ1被分配至隊列3中,數(shù)據(jù)幀τ2被分配至隊列2中,而在同時到達交換機之后即數(shù)字4所表示的位置后,傳輸選擇器(transmission selection,TS)優(yōu)先選擇數(shù)據(jù)幀τ1進行傳輸,數(shù)據(jù)幀τ1的第5步走在了數(shù)據(jù)幀τ2的前面,因此在端系統(tǒng)3 中數(shù)據(jù)幀τ1比數(shù)據(jù)幀τ2先到達。
圖4 車載TSN系統(tǒng)數(shù)據(jù)流模型
而最能表達TSN 系統(tǒng)通信性能的參數(shù)就是端到端延遲,那么一個典型的數(shù)據(jù)流的端到端延遲可以定義為
式中:TEE是任意一幀數(shù)據(jù)的端到端延遲;TD為產(chǎn)生這幀數(shù)據(jù)的終端從產(chǎn)生到端口發(fā)出所消耗的時間;TW為任意一個節(jié)點中輸出端口受調(diào)度策略影響所消耗的時間;TS為任意交換機存儲轉(zhuǎn)發(fā)這幀數(shù)據(jù)所產(chǎn)生的轉(zhuǎn)發(fā)延遲。
使用NeSTiNg 框架對IEEE 802.1Q 交換機的拓展,TSN 以太網(wǎng)仿真系統(tǒng)借助GCLs 概念,開發(fā)了端系統(tǒng)和TSN 網(wǎng)絡(luò)交換機配置模式。首先在TSN 以太網(wǎng)仿真系統(tǒng)中搭建仿真所需的拓撲結(jié)構(gòu),如圖5 所示,確定網(wǎng)絡(luò)中的端系統(tǒng)和TSN網(wǎng)絡(luò)交換機結(jié)構(gòu),接著端系統(tǒng)通過讀取XML 流量產(chǎn)生配置文件,在特定的周期特定時刻產(chǎn)生VLAN 以太網(wǎng)報文,并配置特定的流量類優(yōu)先級,最后TSN 網(wǎng)絡(luò)交換機通過讀取XML 流量調(diào)度配置文件,選擇不同的調(diào)度機制,例如IEEE 802.1Qbv 分時調(diào)度機制,交換機則通過報文的優(yōu)先級將VLAN 以太網(wǎng)報文放進不同的隊列,配置文件還包含GCLs調(diào)度表的設(shè)計,包括隊列門的開啟狀態(tài)以及開啟時間。
圖5 TSN車載網(wǎng)絡(luò)仿真系統(tǒng)的拓撲
XML 文件配置模式如圖6 所示,TSN 交換機中的關(guān)鍵參數(shù)處理延遲則需要真實的交換機進行測量獲取。
圖6 XML文件配置模式
TSN 仿真模型是為了分析TSN 協(xié)議提到的各個機制的性能,包括單獨使用和組合使用時的情況,以達到一個驗證TSN 可以保證實時數(shù)據(jù)傳輸?shù)哪康?,除了保證時間敏感流的實時性,同時TSN 仍然可以為其他的流量類提供出色的傳輸。OMNeT++中可以評價TSN性能的指標(biāo)有端到端傳輸延遲以及利用率,通過改變不同的網(wǎng)絡(luò)拓撲結(jié)構(gòu)、數(shù)據(jù)傳輸速率、端口帶寬等參數(shù)來仿真TSN 的性能,這些變量不受其他參數(shù)的影響,是獨立變量。
為了分析IEEE 802.1Qbv 的分時調(diào)度機制的性能,首先在TSN 車載以太網(wǎng)仿真系統(tǒng)中搭建了簡單的TSN星型網(wǎng)絡(luò),如圖7所示,其中TS節(jié)點發(fā)送周期的時間敏感報文,周期為500 μs,長度為64 B,BE 節(jié)點作為干擾節(jié)點不斷發(fā)送盡力而為報文,長度為1500 B,Switch 為交換機節(jié)點轉(zhuǎn)發(fā)TS 和BE 發(fā)送的報文到Master 節(jié)點,Master 節(jié)點作為接收節(jié)點,各節(jié)點之間的通信采用100 Mb/s以太網(wǎng)傳輸。這個實驗的目的就是展示TAS 的功能,驗證TAS 可以保證時間敏感流量的確定性端到端延遲。
圖7 TSN星型網(wǎng)絡(luò)
對實驗網(wǎng)絡(luò)設(shè)置了如下的調(diào)度規(guī)則:
(1)調(diào)度周期設(shè)置為500 μs,也就意味著調(diào)度規(guī)則每500 μs重復(fù)一次;
(2)設(shè)置TS 節(jié)點發(fā)送的時間敏感報文的PCP 為7(最高優(yōu)先級);
(3)設(shè)置BE 節(jié)點發(fā)送的盡力而為報文的PCP為0;
(4)交換機處理延遲設(shè)置為8.6 μs(實際TSN 交換機的處理延遲);
(5)使用TAS模型中8個隊列中的2個隊列。
(6)GCLs的設(shè)計見表2。
表2 星型TSN網(wǎng)絡(luò)GCLs設(shè)計
GCLs 的機制確保時間敏感報文在保護窗口傳輸,而盡力而為數(shù)據(jù)在無保護窗口傳輸,保護帶窗口的所有門都關(guān)閉,進一步確保盡力而為數(shù)據(jù)不會影響時間敏感報文傳輸。端到端延遲的仿真結(jié)果如圖8和圖9所示,時間敏感流量具有21.54 μs的恒定延遲。由于無法在完整的模擬時間圖中顯示盡力而為報文端到端延遲是如何穩(wěn)定的,因此圖8 僅顯示模擬的前130 ms。盡力而為報文的端到端延遲線性增加,直到交換機的緩沖區(qū)變滿,隊列的緩沖容量設(shè)置為最大30 個數(shù)據(jù)包,當(dāng)緩沖隊列完全填滿時,盡力而為報文的端到端延遲變得穩(wěn)定。但是,由于緩沖區(qū)溢出,盡力而為報文會丟失數(shù)據(jù)包。
圖8 前130 ms盡力而為報文的端到端延遲
圖9 兩種報文的端到端延遲
圖10 以圖形方式顯示了到達Master 節(jié)點的時間敏感報文,時間敏感報文流向交換機輸入端口0,然后被轉(zhuǎn)發(fā)到適當(dāng)?shù)妮敵龆丝?,它在最高優(yōu)先級隊列中排隊,檢查傳輸選擇算法的設(shè)置和門的狀態(tài),調(diào)度算法默認(rèn)設(shè)置為嚴(yán)格優(yōu)先級,并且門狀態(tài)是打開的,因此時間敏感報文被立即轉(zhuǎn)發(fā)到Master節(jié)點。盡力而為流量被發(fā)送到交換機輸入端口1,在此排隊,但是這時門關(guān)閉,那么此報文將與發(fā)送到該隊列的所有其他報文一起在隊列中等待,直到門打開之后立即被轉(zhuǎn)發(fā)。時間敏感報文保護窗口長度為50 μs,無保護窗口長度為320 μs,保護帶窗口長度為130 μs。保護帶窗口確保盡力而為流量在保護窗口開始之前完成傳輸,并將其設(shè)置為最大值,即傳輸最大一幀以太網(wǎng)報文所需的時間[18]。
圖10 分時調(diào)度過程
為了分析車載網(wǎng)絡(luò)下的IEEE 802.1Qbv 性能,模擬了一個信息娛樂系統(tǒng)的TSN 以太網(wǎng)網(wǎng)絡(luò),網(wǎng)絡(luò)采用環(huán)型網(wǎng)絡(luò)架構(gòu),如圖11所示,網(wǎng)絡(luò)包含4個交換機節(jié)點,2 個攝像頭節(jié)點,1 個音頻節(jié)點還有一個BE 節(jié)點,專門用來模擬盡力而為報文,端口都采用100 Mb 車載以太網(wǎng),報文格式基于IEEE 802.1Q 的VLAN標(biāo)簽以太網(wǎng)幀格式。
圖11 信息娛樂系統(tǒng)TSN環(huán)型網(wǎng)絡(luò)
場景的仿真時間為5 s,所有的交換機共享相同的緩沖區(qū)大小,緩沖容量設(shè)置為最大30 個數(shù)據(jù)包。網(wǎng)絡(luò)中各種流量的相關(guān)參數(shù)如表3 所示。其中除PC 和BE 控制器節(jié)點外其他3 個控制器節(jié)點都會在500 μs 周期的發(fā)送一幀時間敏感的控制報文,而Video1 和Video2 控制器節(jié)點則分別在500 μs 周期內(nèi)發(fā)送1 幀視頻報文,視頻報文的優(yōu)先級則比控制報文低,Audio 控制器節(jié)點在500 μs周期內(nèi)發(fā)送1 幀音頻報文,BE 控制器節(jié)點為模擬干擾節(jié)點,負責(zé)發(fā)送BE 報文,來測試BE 報文對其他流量的影響,4 個交換機的TAS調(diào)度表設(shè)計相同,由于是環(huán)型結(jié)構(gòu),還涉及到交換機的轉(zhuǎn)發(fā)路徑,除了BE 報文之外,系統(tǒng)中將報文的轉(zhuǎn)發(fā)設(shè)計為最短路徑轉(zhuǎn)發(fā)。調(diào)度規(guī)則如下:
表3 環(huán)型TSN網(wǎng)絡(luò)流量特性
(1)調(diào)度周期設(shè)置為500 μs;
(2)所有節(jié)點發(fā)出控制報文的PCP 為7(最高優(yōu)先級);
(3)Audio 節(jié)點發(fā)出的音頻報文的PCP 為5(中優(yōu)先級);
(4)Video節(jié)點發(fā)出的視頻報文的PCP為4(中優(yōu)先級);
(5)BE 節(jié)點發(fā)出的盡力而為報文的PCP為0(低優(yōu)先級);
(6)交換機處理延遲設(shè)置為8.6 μs;
(7)使用TAS模型中8個隊列中的8個隊列;
(8)GCLs的設(shè)計見表4。
表4 環(huán)型TSN網(wǎng)絡(luò)GCLs設(shè)計
如圖12 所示,列出了各個節(jié)點發(fā)出的報文的端到端延遲,由圖12(a)可知音視頻報文的端到端延遲,音頻報文的延遲穩(wěn)定在39.82 μs,視頻報文的延遲穩(wěn)定在122.54 和143.11 μs,控制報文的延遲分別穩(wěn)定在36.31 和51.28 μs,如表5 所示,可以很明顯地發(fā)現(xiàn),相同字節(jié)長度的報文端到端延遲只與報文經(jīng)過的交換機跳數(shù)有關(guān)系,鏈路越長,報文的端到端延遲越長,而相同跳數(shù)的報文,字節(jié)長度越長,端到端延遲越長。如圖12(b)所示,BE 報文的端到端延遲線性增加,直到交換機Switch3 的緩沖區(qū)變滿,盡力而為報文的端到端延遲穩(wěn)定在22.6 ms 左右,同時由于緩沖區(qū)溢出,盡力而為報文會丟失數(shù)據(jù)包。
表5 各流量端到端延遲
圖12 各流量的端到端延遲
為了在嵌入式系統(tǒng)中實現(xiàn)IEEE 802.1Qbv 的性能,搭建了與仿真模型類似的信息娛樂系統(tǒng),如圖13 所示,由4 個控制器和4 個交換機節(jié)點組成的硬件平臺,硬件平臺包括控制器MPC5604E、NXP 車載以太網(wǎng)交換機SJA1105Q 和車載以太網(wǎng)PHY TJA1100。
圖13 嵌入式信息娛樂TSN系統(tǒng)
選擇這個MCU 的原因是它提供了100 Mb 的快速以太網(wǎng)控制器,支持精確的時間戳和MII 接口,JPEG/MJPEG 8/12 位編碼器。此外,SJA1105Q 是一個符合IEEE 802.3 的5 端口汽車以太網(wǎng)交換機,它具有AVB 和TSN 特性,如IEEE 802.1Q 定義標(biāo)簽支持和IEEE 802.1Qbv 時間感知流量。TJA1100 是一個100BASE-T1 兼容的以太網(wǎng)PHY,針對汽車用例進行了優(yōu)化,它通過單個非屏蔽雙絞線(UTP)電纜提供了100 Mb/s的傳輸和接收能力。
系統(tǒng)使用了基于TSN 的嵌入式驅(qū)動模式,其中每個節(jié)點在250 μs 周期發(fā)出一幀控制報文,所以網(wǎng)絡(luò)中同一周期內(nèi)會有4 條控制報文,系統(tǒng)中沒有模擬BE報文,音視頻報文最高字節(jié)為200 B,因此系統(tǒng)采用了與模擬系統(tǒng)類似的調(diào)度規(guī)則,GCLs 設(shè)計見表6,節(jié)點報文發(fā)送行為如圖14所示。
表6 嵌入式信息娛樂TSN系統(tǒng)GCLs設(shè)計
圖14 分時調(diào)度機制下報文的轉(zhuǎn)發(fā)行為
由于環(huán)型網(wǎng)絡(luò)具有對稱特性而各個節(jié)點報文發(fā)送方式較為類似,因此其它節(jié)點發(fā)送行為也具有相同特性。圖中綠色線為節(jié)點的同步時鐘,紅色線為視頻節(jié)點發(fā)出的報文,藍色線為主控節(jié)點發(fā)出的報文(不包含視頻報文),從圖中可以看出以下特性:
(1)同步時鐘上升沿和第一幀控制報文發(fā)出時間有一定相位偏差,該偏差被用于控制器軟件準(zhǔn)備和發(fā)送控制報文;
(2)每一個周期中控制報文數(shù)量為4,這與網(wǎng)絡(luò)節(jié)點數(shù)量匹配,可以推斷每個周期內(nèi)節(jié)點發(fā)且只發(fā)一條控制報文;
(3)控制報文發(fā)送時發(fā)送間隔明顯大于后半周期的非控制報文,這是由于該報文發(fā)送過程中沒有其它報文阻塞,因此可以明顯觀察到交換機的轉(zhuǎn)發(fā)延遲;
(4)在發(fā)送控制報文時交換機內(nèi)部已經(jīng)存在視頻報文但沒有立即發(fā)送,該行為顯示了分時調(diào)度的作用,即將不同類型的報文在不同的時間窗口傳輸,從而避免控制報文阻塞。
在正常傳輸過程中控制報文在交換機收到后可以立即向下一級交換機發(fā)送,而部分圖像報文會被緩沖在交換機中,等待時間窗打開后再進行轉(zhuǎn)發(fā)。
控制報文和視頻報文的實際傳輸延遲如表7 所示,在嵌入式TSN中,控制報文每增加一跳所增加的延遲約為16.13 μs。在OMNeT++仿真系統(tǒng)中,如表8 所示,控制報文每增加一跳所增加的延遲為14.77 μs 左右??梢钥闯觯瑯咏?jīng)過Qbv 分時調(diào)度機制保障控制報文的情況下,控制報文每增加一跳的延遲基本固定,因此分時調(diào)度機制可以對控制報文進行確定性延遲傳輸。而這里16.13 與14.77 還相差1.36 μs,這里猜測除了交換機內(nèi)部的轉(zhuǎn)發(fā)延遲外,在實物系統(tǒng)中以太網(wǎng)收發(fā)器PHY也會產(chǎn)生延遲。
表7 實物系統(tǒng)控制流和視頻流實際傳輸延遲
表8 仿真系統(tǒng)中控制流傳輸延遲
因此,將這個1.36 μs的收發(fā)器硬件處理延遲在仿真平臺中添加并配置以后,對于圖11 所示網(wǎng)絡(luò)重新進行仿真后的結(jié)果如表9 所示??刂茍笪亩说蕉搜舆t為16.08 μs,與實物測量的16.13 μs 誤差僅為50 ns,相差0.3%。
表9 改進后的端到端延遲仿真結(jié)果
由此,通過網(wǎng)絡(luò)仿真與實物硬件網(wǎng)絡(luò)的對比,驗證了本文所設(shè)計的TSN仿真系統(tǒng)的系統(tǒng)級一致性與正確性。
與傳統(tǒng)總線相比,車載以太網(wǎng)TSN 為控制報文提供了更確定的傳輸延遲。IEEE 802.1Qbv 提出的機制并非對以太網(wǎng)所有傳輸性能的提升,而是按照不同應(yīng)用場景的需求重新分配鏈路資源,盡管以太網(wǎng)傳輸實時能力隨著交換機跳數(shù)的增加而減小,但延遲是可預(yù)測的,可以根據(jù)實際的實時需求選擇特定的拓撲結(jié)構(gòu),從而保障網(wǎng)絡(luò)中各個節(jié)點之間的實時性。
本文中設(shè)計了IEEE 802.1TSN 車載以太網(wǎng)仿真系統(tǒng),討論了基于TSN 協(xié)議的IEEE 802.1Qbv 分時調(diào)度機制,通過搭建車載信息娛樂系統(tǒng)TSN 仿真系統(tǒng)以及車載信息娛樂TSN 嵌入式系統(tǒng),驗證了IEEE 802.1Qbv 分時調(diào)度機制可以有效避免不同優(yōu)先級報文之間的阻塞,通過在具有時鐘同步能力的通信系統(tǒng)上運行分時調(diào)度表,可以保證實時數(shù)據(jù)傳輸?shù)哪康模吮WC時間敏感流的實時性,TSN 仍然可以為其他的流量類提供出色的傳輸。在車載信息娛樂TSN 嵌入式系統(tǒng)中,測量真實交換機的轉(zhuǎn)發(fā)延遲,修正了仿真系統(tǒng)中交換機的處理延遲。
TSN 系統(tǒng)網(wǎng)絡(luò)實時性,除了交換機內(nèi)部調(diào)度機制影響外,鏈路延遲和交換機自身轉(zhuǎn)發(fā)延遲也有較大影響,該影響反過來也會對TSN 實時調(diào)度表的設(shè)計造成干擾。因此在調(diào)度表設(shè)計過程中不僅需要考慮交換機內(nèi)部報文緩沖情況,還須考慮實際器件延遲,才能達到最優(yōu)的實時效果。而基于OMNeT++的車載TSN仿真系統(tǒng)既能夠仿真交換機內(nèi)部的調(diào)度機制,同時也可以根據(jù)實際情況修正交換機的處理和轉(zhuǎn)發(fā)延遲。
由此可見,本文設(shè)計的IEEE 802.1TSN 車載以太網(wǎng)仿真系統(tǒng)能夠真實地分析TSN協(xié)議在車載以太網(wǎng)應(yīng)用中機制的性能,包括單獨使用和組合使用時的情況。為了獲得更好的車載TSN 以太網(wǎng)設(shè)計,未來的工作會集中在調(diào)度表的設(shè)計算法,以及TSN 協(xié)議中其他機制對車載以太網(wǎng)實時性的影響上面,再利用仿真系統(tǒng)來評估這些算法和機制的可行性。