0731-84728105
15116127200
基于FAST的(de)TSN交換(4)基于FPGA的(de)TSN網絡CQF實現
發布時間:2019-1-19
     CQF是目前TSN标準定義的(de)可(kě)實現确定性交換延時的(de)轉發模型,其交換流程可(kě)以方便的(de)映射到FAST平台的(de)FPGA流水線上。FAST流水線的(de)用戶定義輸出(UDO)模塊可(kě)實現用戶定義的(de)分組輸出控制,支持TSN CQF轉發模型的(de)UDO稱為(wèi)CQF-UDO。
本文介紹的(de)CQF-UDO模塊主要用于CQF功能的(de)驗證。面向具體應用的(de)CQF實現需要對輸出隊列數目,輸出緩沖區大小等參數進行(xíng)優化。
一(yī)、CQF-UDO實現結構
      在FAST架構下,除了流分類,單流流量監測和(hé)基于PTP協議的(de)全網時間同步功能由FAST基本流水線和(hé)擴展的(de)PTP-UDA模塊實現外,基于CQF的(de)流量整型功能由CQF-UDO模塊實現。基于FAST定義的(de)标準UDO接口信号和(hé)數據交換時序,CQF-UDO可(kě)方便地(dì)與FAST基本流水線對接。
   (1)模塊組成
      FPGA實現的(de)CQF-UDO模塊的(de)結構如(rú)下圖所示。其中Cin和(hé)Cout接口為(wèi)模塊的(de)訪問控制接口,軟件可(kě)通過該接口對模塊內(nèi)部的(de)寄存器、計數器和(hé)控制表格進行(xíng)訪問。模塊通過PKT接口接收和(hé)發送分組,Sync_time信号用于從PTP-UDA模塊接收全網同步時鍾,對時間門控邏輯進行(xíng)控制。
     為(wèi)簡化設計,CQF-UDO維護4個隊列,其中最高(gāo)優先級的(de)Q7和(hé)Q6以乒乓隊列的(de)形式保存時間敏感分組,Q4保存帶寬預約流的(de)分組,Q0保存Besteffort分組。當需要對時間敏感分組劃分不同優先級時,則需要不同的(de)乒乓隊列保存不同優先級的(de)時間敏感分組。

圖1 CQF-UDO實現結構
     為(wèi)了提高(gāo)存儲效率,CFQ-UDO模塊将所有(yǒu)緩存的(de)分組緩存在共享的(de)RAM緩沖區PB中緩存,每個輸出調度隊列Q0/Q4/Q6/Q7隻保存分組的(de)地(dì)址。IC從FBD獲取當前空閑緩沖區的(de)狀态STA,對不同輸出隊列采用不同的(de)緩沖區管理(lǐ)算法,決定到達的(de)分組是丢棄還是送PB緩存。
CQF-UDO包含的(de)主要模塊和(hé)功能如(rú)下表所示。
   (2)關鍵數據結構
     PKT:IC/OC與PB之間傳輸,以及PB保存的(de)PKT為(wèi)FAST分組結構,即FAST定義的(de)32字節元數據(metadata)加上不含校驗字段的(de)以太網分組。UDO保存FAST元數據的(de)原因是其中攜帶了分組接收時間戳,可(kě)用于後續透明時鍾的(de)修訂。
     BD:為(wèi)PB中512字節緩沖區的(de)地(dì)址,初始化時硬件将所有(yǒu)的(de)空閑BD寫入空閑緩沖區隊列(FBQ),IC在接收到分組需要将分組寫入PB時,首先從FBQ讀取空閑BD,OC在從PB讀取分組發送結束後,将BD釋放寫回FBQ;
     PD:分組描述符,包含從分組元數據中提取出來的(de)14位的(de)flowID,3位的(de)優先級Pri,以及最多3個BD信息等。其中Pri是分組攜帶的(de)優先級,flowID由FAST流水線的(de)GME模塊生成,BD由輸入控制模塊IC獲得。
二、CQF-UDO的(de)配置管理(lǐ)
     根據CQF-UDO的(de)實現模型,共有(yǒu)9個訪問點需要軟件進行(xíng)管理(lǐ)配置。這些訪問點共同組成了CQF-UDO數據轉發的(de)抽象。用戶可(kě)以根據不同的(de)軟件配置實現輸出接口的(de)資源預約配置,流量測量和(hé)整型,以及轉發狀态檢測等功能。各訪問點的(de)詳細信息如(rú)下表所示。
      根據FAST規範,上述信息需要映射到一(yī)個32位的(de)虛拟地(dì)址空間中。CPU上驅動通過訪問這些虛拟地(dì)址對這些信息進行(xíng)管理(lǐ)。
三、CQF-UDO對标準CQF整型處理(lǐ)的(de)簡化
     CQF-UDO模塊實現的(de)CQF功能隻是标準CQF的(de)一(yī)個子(zǐ)集或是簡化的(de)實驗版本,主要簡化包括:
     1.簡化的(de)入隊流控機(jī)制,使用簡單的(de)令牌桶(B,r,L三個參數)實現代替802.1Q-2014規範定義的(de)基于信用的(de)整形器(10個參數)的(de)功能;
     2.使用4個輸出隊列代替标準的(de)8個輸出隊列,因此隻支持一(yī)個優先級的(de)時間敏感流量,一(yī)個優先級的(de)預約帶寬流量以及一(yī)個優先級的(de)BE流量。
     盡管存在上述簡化,CQF-UDO仍可(kě)以對TSN網絡中CQF整型機(jī)制進行(xíng)驗證,實現确定性的(de)傳輸延時保證。關于分組緩沖區PB的(de)大小評估額設置,隊列長(cháng)度設置以及緩沖區管理(lǐ)算法将在後續文章(zhāng)中給出。