?

交換機的時間感知整形器的設計

2024-04-13 06:53丁輝丁濤杰耿琪
電子設計工程 2024年7期
關鍵詞:狀態機時隙數據流

丁輝,丁濤杰,耿琪

(中國電子科技集團公司第五十八研究所,江蘇無錫 214035)

當前所有網絡應用中,傳統以太網仍然占據著主導地位,但它同時也存在著自身的缺陷。傳統以太網采用“盡力而為”的數據傳輸方式決定了其不能提供確定的傳輸時延、網絡帶寬以及時延抖動[1]。尤其是對傳輸時延和抖動性能要求較高的音視頻業務數據,“盡力而為”很可能導致數據傳輸的失真。目前以太網也應用于工業和汽車控制領域[2],對于工廠生產控制信號和汽車駕駛控制信號,如果不能保證它們的實時性和確定性,可能會導致非常嚴重的后果。雖然后續出現了多種網絡標準體系來解決以上問題,如CAN[3]、EtherCAT[4]、PROFINET[5]等,但是由于這些標準體系互相閉塞,使得網絡中的設備變得異常復雜。因此,急需一種統一的網絡體系標準,時間敏感網絡(Time-Sensitive Network,TSN)[6]標準由此產生。它是由IEEE802.1 工作組提出的[7],從之前的AVB(Audio Video Bridging)[8]標準發展而來。其采用了高精度時間同步、流量整形和調度、冗余等一系列關鍵協議標準,實現了數據傳輸的確定性和實時性。

1 時間感知整形器原理

TSN 主要包括三大關鍵技術:時間同步、流量調度以及配置管理[9]。時間同步是整個TSN 協議運行的前提,實現TSN 網絡中各設備之間高精度的時鐘同步[10]。流量調度是TSN 協議中的核心技術[11],保證了時間敏感流量的確定性和低延遲。配置管理通過獲取用戶對于TSN 網絡帶寬和時延等需求信息,智能地進行計算生成相應的配置信息,并將這些配置參數下發給網絡中的TSN 設備[12]。

在傳統的服務質量(Quality of Service,QoS)技術中,將網絡中的流量劃分為八個類別,不同的類別對應不同的優先級[13]。通過數據幀的802.1Q VLAN 標簽中的PCP 字段標記幀的優先級。

TSN 網絡中時間敏感類業務數據與其他非時間敏感類數據是在同一個通道中傳輸的。為了避免其他業務對時間敏感類業務的影響,IEEE802.1 工作組提出了IEEE802.1Qbv 協議[14],該協議中定義了時間感知整形器(Time-Aware Shaper,TAS),其是基于時分復用的原理,將交換機的輸出端口傳輸時間軸劃分成若干個互相獨立的時隙,在每個傳輸時隙里,用戶可以自定義各個隊列的門控開關狀態?;谶@種調度機制,時間敏感流可以被單獨置于特定的時隙中進行傳輸,從而避免受非時間敏感流的影響,保證了時間敏感流的確定性和實時性。

時間感知整形器的詳細工作過程如圖1 所示[15]。首先,交換機根據數據幀的優先級字段,將其分別映射到不同的輸出隊列中。然后從隊列取出數據幀后,將會通過傳輸選擇算法進行決策傳輸,通常使用的傳輸算法包括:嚴格優先級算法SP、基于信用整形器CBS 等。最后,在TAS中,每個隊列將會與一個傳輸門相關聯,傳輸門的開關狀態決定了該隊列是否允許被傳輸[16]。

圖1 時間感知整形器工作過程

TAS 調度機制的核心在于門控列表(GCL)技術,GCL 存儲了各個時間段端口的各隊列的門控開關狀態,端口按固定周期時間從隊列中取出數據幀進行傳輸,GCL 將每個周期分成若干個時隙(t0、t1、t2…),在每個時隙中可以配置八個隊列的門控開關狀態,狀態值為“1”表示傳輸門打開,狀態值為“0”表示傳輸門關閉。此外,GCL 中還包括了各個時隙的時間長度,這更增加了TAS 的配置靈活性。

2 時間感知整形器設計

2.1 TSN交換機軟硬件架構

目前可選擇的TSN 芯片較少,基于芯片性能和成本考慮,選用NXP(恩智浦)的LS1028A TSN 專用芯片。LS1028A集成有兩片64位的ARM Cortex v8處理器和專用的4 口TSN 交換芯片。其硬件支持TSN 的主要協議,如802.1AS、802.1Qav、802.1Qbv、802.1Qbu、802.1Qci、802.1CB 等。

文中設計的TSN 交換機的硬件系統架構如圖2所示。該交換機大致結構與普通交換機類似,分為交換模塊、MCU 控制模塊、PHY 模塊和外圍電路等模塊。

圖2 TSN交換機硬件系統架構

TSN 交換機的軟件系統選用開放式工業Linux系統(OpenIL),因為TSN 的特性就是實時性強,而OpenIL 是針對工業領域開發的專業Linux 版本,擴展了實時性的操作系統,并且支持工業自動化OEM 的Time-Sensitive 網絡(包括流過濾監管、分時擁塞感知整形和802.1AS 時間同步等)。軟件系統的總體框圖如圖3 所示。

圖3 OpenIL軟件系統架構

2.2 TAS算法

TAS 算法主要由三個狀態機模塊組成,即循環定時狀態機、列表配置狀態機和列表執行狀態機,如圖4 所示。列表配置狀態機主要作用是更新當前的門控列表內容;循環定時狀態機根據與門控列表相關的時間參數(如OperBaseTime、OperCycleTime 等)來產生門控列表啟動信號;列表執行狀態機則是按順序執行門控列表中的門操作,并在每個操作之間插入適當的時間延遲。

圖4 TAS算法狀態機

TAS 算法的具體工作流程如圖5 所示。列表配置狀態機接收到列表配置更新信號后,開始對門控列表的表項內容和門控列表的相關參數進行更新,包括門控列表長度、門控循環周期等。當列表配置狀態機完成對門控列表的更新后,會給循環定時狀態機發送一條門控列表配置完成等待執行的信號。循環定時狀態機收到列表配置狀態機發送的配置完成信號后,會根據門控列表循環周期和當前時間判斷門控列表是否需要開始執行。如果需要開始執行,則會向列表執行狀態機發送一條門控列表執行啟動信號。列表執行狀態機監測到門控列表執行的啟動信號后,會從列表配置狀態機中讀取門控列表的具體內容,依次執行門控列表中的各表項。

圖5 TAS算法工作流程

3 測試驗證

3.1 驗證設計

使用單臺TSN 交換機和三臺PC 機進行組網測試驗證,實驗拓撲如圖6 所示。PC1 和PC2 分別向PC3 發送不同優先級的數據幀,通過在交換機的PORT3 端口上配置TAS 功能來測試驗證時間感知整形器機理。

圖6 時間感知整形器實驗拓撲圖

PC1和PC2所發送數據幀中的VLAN標簽信息如表1 所示。PC1 發送的數據幀VLAN ID=100,PCP=3;PC2發送的數據幀VLAN ID=200,PCP=2;PC1模擬發送高優先級數據流,PC2 模擬發送低優先級數據流。

表1 報文的VLAN標簽信息

3.1.1 門控開關測試

傳輸門開關測試主要是測試驗證交換機端口各隊列的傳輸門開閉是否可控。在測試中,首先要使能交換機的TAS 功能,包括全局使能和端口使能。然后配置TAS 的門控列表參數,門控列表中只配置一條表項,即關閉全部隊列或打開全部隊列的傳輸門。通過觀察經過交換機端口的所有優先級流量是否全部中斷或者全部通過,來驗證傳輸門開關功能的生效與否。

3.1.2 門控列表調度測試

該項測試主要是為了驗證TAS 是否能夠按照預先配置好的門控列表,精準地控制各隊列的傳輸門開關狀態的變化和維持時長。測試時,PC1 和PC2會同時向PC3 發送滿帶寬的流量,PC1 發送的流量模擬了高優先級的時間敏感類業務流,PC2 發送的流量模擬低優先級的非時間敏感類業務流。

3.1.3 應用場景測試

在實際應用中,TAS 的主要作用是保證網絡中的關鍵業務數據的確定性傳輸。目前在汽車電子領域,各汽車主機廠商根據自身的設計理念將車載以太網劃分成多個不同的功能域[7],主要包括:自動駕駛域、動力總成域、底盤及安全域、智能座艙域和車身控制域等。這些不同的功能域會通過內部TSN 交換機進行互聯,從而組成車內的TSN 骨干網絡。以自動駕駛域和智能座艙域為例,來驗證所設計的時間感知整形器流量調度機制在車載TSN 網絡應用場景中的可行性。實驗拓撲圖如圖7 所示。

圖7 車載TSN應用場景實驗拓撲圖

該應用場景測試組網中,各設備模擬的消息類型以及所發送的數據報文優先級如表2 所示。高清攝像頭和顯示器模擬了自動駕駛域中的音視頻數據流,對應的優先級為2,網絡測試儀用來模擬智能座艙域中產生的大流量背景流,對應的優先級為3。通過配置TAS 的門控列表功能,將關鍵業務流(即高清攝像頭數據流)放在隔離的時間片中傳輸,如果高清攝像頭所采集的音視頻信號能在顯示屏上正常播放不受背景流影響,則說明TAS 的流量調度機制實現了對于關鍵業務數據的確定性保障。

表2 應用場景中消息的優先級

3.2 結果分析

考慮到PC 機的發流速率受限,在圖6 時間感知整形器實驗拓撲圖中,可以將交換機與PC3相連的以太網口(即PORT3 端口)速率強制設置為100 Mbit/s帶寬。PC1和PC2分別向PC3發送帶寬速率為60 Mbps的數據流。

3.2.1 嚴格優先級調度

交換機在未使能TAS前,默認采用的是嚴格優先級流量調度機制。PC1 和PC2 同時向PC3 發送60 Mbps 帶寬的數據流,圖8 為此時交換機端口的實時帶寬分配情況??梢钥闯鲇捎赑C1 發送的數據流優先級較高,PC2 發送的數據流優先級較低,當兩個隊列的報文同時到達交換機出端口時,交換機優先保證高優先級隊列的傳輸。所以,PC1 發送給PC3的60 Mbps 數據流經過交換機轉發后被允許全部通過,而PC2 發送給PC3 的60 Mbit/s 數據流經過交換機后僅通過了40 Mbit/s。這也說明了嚴格優先級調度不能保障低優先級數據的傳輸質量。

圖8 嚴格優先級調度帶寬分配

3.2.2 門控開關測試

如表3 所示,TAS 的門控列表中只配置一個表項,八個隊列的門控狀態全部設置為0,即關閉隊列的傳輸門。

表3 門控開關測試項的門控列表配置

測試結果如圖9 所示,可以看到在開啟TAS 功能,并且配置八個隊列的門控開關狀態全部為0(即關閉狀態)后,PC1 和PC2 發送給PC3 的數據流都被完全阻塞了,實現了對于傳輸門的關閉操作。再重新修改門控列表的配置,將八個隊列的門控開關全部設置為1,即打開所有的隊列傳輸門。此時PC1 和PC2 發送的數據流均能通過傳輸門同時到達出端口,交換機再次根據嚴格優先級算法進行流量調度,最終,PC1 發出的數據流通過速率為60 Mbit/s,PC2發出的數據流通過速率為40 Mbit/s。

圖9 傳輸門開閉時流量傳輸情況

3.2.3 門控列表調度測試

依照表4 配置門控列表信息,共創建兩條表項,在時隙1 中僅打開隊列3 的傳輸門開關,時隙長度為40 000 ns,在時隙2 中僅打開隊列2 的傳輸門開關,時隙長度為60 000 ns,因此門控列表的循環周期總時長即為100 000 ns。

表4 門控列表調度測試項的門控列表配置

圖10 顯示了同時發送流量到PC3 時PC1 和PC2所分配到的帶寬情況,可以看出,PC1 約分配到了40%的帶寬,而PC2 約分配到了60%的帶寬,因此證明該調度器可以實現將不同優先級的流量分配到相應的傳輸時隙。另外,從圖中也能看出PC1 和PC2所分配到的帶寬處于相對穩定狀態,因此可以實現周期性的數據傳輸和調度。

圖10 門控列表配置后帶寬分配

3.2.4 應用場景測試

如3.1.3 節所述,在車載TSN 的應用場景中,由于背景流量的優先級高于高清視頻流,所以在沒有開啟TAS 功能之前,大流量的背景流與音視頻流同時傳輸時,音視頻會出現卡頓現象,無法保證自動駕駛域中關鍵數據流的實時性和確定性。當采用了時間感知整形器調度機制,將關鍵的音視頻數據流單獨放置于一個時隙中進行傳輸,使其不受大背景流的影響,并且通過配置門控列表中的參數,保證音視頻流的帶寬要求。測試結果顯示音視頻流可以正常播放,不會出現卡頓現象。

4 結束語

TSN 是工業互聯網未來發展的重要方向,具有廣闊的應用前景,而流量調度機制則是TSN 的關鍵核心技術。文中介紹了IEEE802.1Qbv 標準中的時間感知整形器的工作原理,并提出了一種TSN 交換機的時間感知整形器調度機制的設計,在自研TSN交換機上進行了實際的組網測試驗證。測試結果表明,可以實現時間感知整形器的功能,也能滿足時間敏感業務流對于確定性傳輸的要求。

猜你喜歡
狀態機時隙數據流
汽車維修數據流基礎(下)
基于有限狀態機的交會對接飛行任務規劃方法
復用段單節點失效造成業務時隙錯連處理
一種提高TCP與UDP數據流公平性的擁塞控制機制
一種高速通信系統動態時隙分配設計
時隙寬度約束下網絡零售配送時隙定價研究
基于數據流聚類的多目標跟蹤算法
北醫三院 數據流疏通就診量
基于TDMA的無沖突動態時隙分配算法
FPGA設計中狀態機安全性研究
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合