▎概述
IEEE 802.1Qbv[1]是TSN系列協議中備受關注的技術之一,如圖1所示,它定義了一種時間感知整形器(Time Aware Shaper,TAS),支持Qbv協議的交換機可以按照配置好的門控列表來打開/關閉交換機出口隊列,可從而為周期型的重要數據提供確定性延遲保障。
為了更有效地為業務流量提供網絡傳輸服務,更好地發揮Qbv協議的能力,需要進行Qbv協議的應用設計。完整的Qbv設計開發流程包含以下步驟:
- 流量優先級分類:從車輛功能需求出發,基于通訊矩陣和整車拓撲,梳理整車的流量優先級
- 門控列表設計:基于已經分類好的整車流量,設計門控列表,仿真分析門控列表是否滿足流量的傳輸需求
- 設計迭代:如果關鍵數據的需求不能被滿足或者門控列表數量超出硬件門控列表長度上限等情況,迭代分析前兩步流量分類結果、設計的門控列表中的不合理處,調整流量分類或門控列表設計結果
▎流量優先級分類
目前車載環境下,車內的網絡流量固定可知,可根據車輛功能需求,明確各個流量的最大時延、周期、負載大小等需求,將流量分為多個優先級類別。
梳理流量優先級是Qbv設計的關鍵步驟,除了需要滿足以上提到基本的需求之外,在實際情況下,更需要對功能準確理解,比如:一般情況下會把控制類指令統一設計為高優先級,而實際轉向、制動類控制指令推薦優先級高于車窗相關的控制指令。
這需要TSN網絡設計工程師有大量的設計經驗,針對不同的功能需求,來綜合設計流量的優先級。
基于通訊矩陣,并結合圖2示例的拓撲,梳理得到表1所示的示例流量優先級分類結果。
表1 示例流量優先級分類
▎門控列表設計
基于以上流量優先級分類,并且各個節點已基于IEEE 802.1AS[2]完成了時間同步,即所有節點都有一個相同的時間基準,4條數據流在Switch2-D的出口隊列匯聚,在時間同步的基礎上,需要設計合理的門控列表,來保障該瓶頸出口隊列的高優先級數據流的時延可控。有如下假設:
- 數據流①的初始發包時間相位為0us,即在0ms,1ms,2ms,…的時刻發包,傳輸到Switch2-D的出口隊列的傳輸延時+Switch1和Switch2的硬轉發延時為3us
- 數據流②的初始發包時間相位為10us,即在0.010ms,2.020ms,4.040ms,…的時刻發包,傳輸到Switch2-D的傳輸延時+Switch1和Switch2的硬轉發延時5us
- 數據流③的初始發包時間相位為5us,即在0.005ms,2.005ms,4.005ms,…的時刻發包,傳輸到Switch2-D的出口隊列的傳輸延時+
Switch2的硬轉發延時1us
三者周期的最小公倍數為2ms,所以Switch2-D的出口隊列循環門控列表的最小周期為2ms,一個完整的循環周期內,該門控列表可設計成:
表2 witch2-D的門控列表設計
需要注意的是,表2只展示了Switch2-D的門控列表設計,實際在Swicth1-Switch2的端口上,如果還有其他數據流,數據流①和數據流②也會和這些數據流產生競爭,也需要設計門控列表,為了讓關鍵數據流能達到端到端的延遲和抖動控制,這兩個門控列表需要同時工作,讓關鍵數據在端到端的完整路徑上“一路開門,暢行無阻”。
此外,還可以通過增加關鍵數據的開門時間或者設置“Guard band”的方式,進一步來保障關鍵數據的低延遲和減少傳輸抖動。
▎設計迭代
有了初步的設計結果后,需要分析目前的設計是否完全滿足業務需求,如效果不佳,需要完善設計結果。以下舉例說明,可能的優化過程。
觀察表2可以發現,簡單的4個數據流,設計好的門控列表已經比較復雜,而如果仿真發現已經能較好滿足關鍵數據的時延要求,或者在實際部署時,太頻繁的門開關狀態切換,會由于ECU端的發送端發送周期抖動,而導致關鍵數據錯過開門時機,那沒有必要為各個數據流劃分過多的優先級和特別細致的門控列表。
可以考慮合并優先級6和7,并且為數據流①②③統一開門,得到的門控列表如表3所示,能夠很大程度上簡化門控列表的復雜度,并且保證關鍵數據的傳輸質量。
表3 時間感知整形器示意圖
▎RTaW-Pegase助力Qbv設計
面對日益復雜化的汽車電子電氣架構及網絡系統,實際上人工計算與迭代的設計方式已很難適用。在實際的量產車型上,需要傳輸的數據流遠大于以上舉例的4條,而門控列表編排可以抽象成任務調度問題,是典型的NP-Hard問題,即在多項式時間的運算次數內不可求解的問題,除非NP=P,否則無法在多項式時間內求得最優解,其工作量非常巨大,一般會需要軟件輔助幫忙解決。我們可以借助RTaW-Pegase來輔助完成TSN設計工作。
如圖3所示, RTaW可以選擇一鍵配置整形器,如TAS、CBS、Preemption、ATS等整形器,快速驗證TSN整形器的選擇效果。
在Qbv設計中,可借助RTaW內置的TAS門控列表編排算法,幫助我們生成滿足圖4所示的滿足時延需求的門控列表,避免了人工設計復雜的門控列表。后續可以將設計結果和交換機的配置接口適配后,導入到車載TSN交換機的配置中。
RTaW還能進一步幫助分析設計結果,為了將有TAS的配置與沒有TAS的配置進行比較,可執行這些ComConfig的最壞情況下的時延等指標分析,能夠直觀地看到時延滿足情況,輔助TSN網絡設計師分析結果。
除此之外,如果關鍵數據較多,延遲要求又比較高,現有硬件條件不能完全滿足所有數據的確定性延遲需求。此時,需要TSN網絡設計工程師,對服務部署、路由選擇等上層通信設計提出修改建議,并從多種可能的Qbv設計方案中合理選擇延遲超時相對可容忍的方案進行實際部署,這需要設計師有大量的實車部署經驗,綜合選擇最合適的落地設計方案。
▎總結
隨著車載TSN軟硬件產業鏈更加成熟,汽車電子電氣架構設計向跨域融合、集中式計算的架構升級,以太網為主干網的鏈路上,各種類型數據的通信需求都需要兼顧, IEEE 802.1 Qbv是一種時間敏感數據低抖動性的保障。
RTaW-Pegase[3]能夠大力輔助Qbv的設計工作,它是法國國家信息與自動化研究所(INRIA)下屬公司RTaW的產品。該公司主要為汽車等領域的企業提供時間仿真和配置工具。RTaW-Pegase(V4.2.7)全面支持CAN(FD)、車載以太網以及TSN協議的設計仿真及性能評估。
RTaW五年前由經緯恒潤引入國內,是該公司在中國的重要合作伙伴。經緯恒潤憑借多年在車載以太網領域的經驗以及RTaW工具的強大支持,已經成功完成了多款車型的TSN設計。更多資訊請點擊鏈接,了解更多RTaW工具信息。
▎參考資料
[1] IEEE, 802.1, “IEEE 802.1Qbv—Enhancements for Scheduled Traffic”, [online] Available: https://www.ieee802.org/1/pages/802.1bv.html.
[2] IEEE, 802.1AS-2020, “Time and Synchronization for Time-Sensitive Applications in Bridged Local Area Networks”, 2020.
[3] https://www.realtimeatwork.com/chin