【原創作者:王中甲、謝國琪】
來源:嵌入式計算湖南省重點實驗室(公眾號)
隨著自動駕駛、工gong業ye自zi動dong化hua等deng領ling域yu對dui實shi時shi性xing和he高gao精jing度du時shi間jian同tong步bu的de需xu求qiu不bu斷duan增zeng加jia,傳chuan統tong以yi太tai網wang已yi經jing難nan以yi滿man足zu這zhe些xie應ying用yong的de要yao求qiu。基ji於yu標biao準zhun以yi太tai網wang的de時shi間jian敏min感gan網wang絡luo(TSN)協議應運而生,有效解決了以太網在時間敏感應用中的各種挑戰。然而,要真正發揮TSN協議的優勢,底層操作係統的支持至關重要。在這方麵,實時操作係統(RTOS)因其高效調度和低延遲的特性成為了與TSN融合的理想平台。
一、TSN協議的核心技術特性
TSN協議基於標準以太網,通過一係列子協議解決了傳統以太網數據傳輸的不確定性。從實時係統的角度來看,TSN的核心特性包括:
•優先級調度:通過精細化的優先級控製,保證高優先級實時流(Scheduled Traffic)的搶占式或優先傳輸;
•非固定大小時隙:支持靈活的調度策略,能夠適應動態變化的網絡需求;
•高同步精度:通過精確的時間同步機製,確保網絡中所有設備的時鍾一致。
這三大特性對應到TSN協議族中的IEEE 802.1Qbu幀搶占、IEEE 802.1Qbv門控列表(GCL)、IEEE 802.1AS時間同步這3個子協議。此外,TSN還提供了其他非常多的子協議,例如IEEE 802.1Qav流量整形(CBS)、IEEE 802.1CB幀複製與消除(FRER)、以及 IEEE 802.1Qci(流量過濾)等等,這些子協議共同構建了確定性的通信環境。
二、TSN場景下RTOS相比Linux的核心優勢
主流TSN交換芯片(如Xilinx、NXP、Marvell,以及國產的openTSN)內部都集成了專用的TSN IP核,包括門控調度器(GCL Scheduler)、幀搶占邏輯、硬件時間戳單元(PTP Timestamping)、流量整形器(Shaper)等。這些功能由FPGA或ASIC中的固定邏輯電路實現,即使沒有操作係統,也能完成基本的TSN轉發任務。例如,靜態配置好的GCL一旦寫入硬件,就能按預設時間窗口精確開啟/關閉隊列門控,實現微秒級的確定性傳輸。
但是對於自動駕駛等動態係統,需要不同的GCL時隙分配策略。門控配置必須根據係統狀態實時變化,這個時候就需要OS在軟件層麵做重配,並通過驅動下發到TSN IP核的隊列。在這種動態重配場景下,RTOS 相比 Linux 具有兩大顯著優勢:
1、任務從OS到硬件隊列這條路線的時間短。如圖1所示,Linux的任務經常橫跨用戶空間和內核空間,包括協議棧、skb緩衝、驅動等,每一層都可能產生延遲和不可預測的抖動。相比之下,RTOS路徑極短,任務通過協議棧直接訪問驅動、驅動直接寫硬件寄存器,整個鏈路幾乎是一條直通鏈,沒有用戶態/內核態切換帶來的延遲,提升了配置下發的實時性。

圖1:Linux與RTOS任務下發對比
2、調度時間片與 GCL 時隙的精準匹配。TSN的GCL是區別其他確定性以太網的核心所在,TSN IP核的GCL時隙通常在10–100微秒。圖2展示了Linux與RTOS的任務調度對比,Linux本身的最小調度時間片普遍在1ms以上,即便打了RT補丁,也很難穩定到500µs以下;而RTOS的調度時間片完全可以做到100微秒甚至10微秒,這就與TSN的 GCL時隙(10–100微秒)匹配上了,確定性就更有保障。

圖2:Linux與RTOS任務調度對比
三、TSN 協議在實時操作係統上的移植實踐
基於上述對比分析,RTOS相比Linux在確定性控製與微秒級響應上具有先天優勢。因此,如圖3所示,我們選擇在高度模塊化、且對工業和車載協議支持良好的Zephyr RTOS上進行了Xilinx TSN協議棧的完整移植,旨在打造一個高確定性的TSN係統。

圖3:TSN協議在實時操作係統上的移植實踐
整個過程可歸納為以下三步:
第一步,TSN驅動移植,確保硬件能夠正確地與RTOS交互。我們需要將圖4中TSN相關的模塊與硬件驅動(DMA,MAC、PHY)等移植到RTOS。這是最基礎的一步,確保硬件層能夠穩定運行。

圖4:TSN核心驅動
第二步,將時間同步機製與RTOS結合,以支持TSN的精準時間同步要求。圖5展示了Zephyr RTOS的時間同步框架。在協議層,Zephyr網絡子係統提供了對gPTP協議棧的支持,能夠處理時間同步消息並傳遞時間戳信息。在硬件及驅動層,TSN PTP驅動與TSN IP硬件時間戳配合工作,利用硬件級的時間戳生成和同步,確保數據包的精確時間標記。

圖5:Zephyr RTOS時間同步框架
第三步,將RTOS的網絡協議棧與TSN的核心協議融合,確保RTOS支持TSN的關鍵特性,包括優先級調度、VLAN標記和優先級映射等。如圖8所示,我們對RTOS的網絡協議棧做了以下修改:
•應用層:配置VLAN標簽和優先級,確保實時數據流優先;
•網絡層:插入和解析VLAN標簽,來進行流量調度
•數據鏈路層:處理VLAN封裝、時間同步和流量整形,確保數據按時傳輸。

圖6:RTOS網絡協議棧針與TSN協議的融合
四、性能測試:時間同步
最後,我們在圖7所示的硬件平台(Xilinx Zynq 7020板卡)及一致的測試條件下,對比了Zephyr RTOS 與 Linux 下的PTP時間同步性能。

圖7:硬件測試平台
圖8為Linux PTP與Zephyr RTOS時間同步的對比圖,結果顯示:Zephyr RTOS 的時鍾同步漂移穩定在10納秒範圍內,而LinuxPTP的同步誤差則常出現幾十至上百納秒的波動。

圖8:LinuxPTP與Zephyr RTOS時間同步對比
總結
TSN協議提供了高精度的同步與調度機製,而RTOS則為這些機製提供了低延遲、高精度的執行環境。將TSN與RTOSshenduronghe,bujinjiejuelechuantongyitaiwangdefeiquedingxingwenti,gengtishenglexitongdelinghuoxing。suizhejishudeyanjin,zheyironghefanganbijiangweizidongjiashihegongyezidonghualingyudailaigengduodechuangxintupo。