一種萬兆以太網測試設備的組包系統及方法
【技術領域】
[0001] 本發明屬于通信測試領域,涉及一種萬兆以太網測試設備的組包系統及方法。
【背景技術】
[0002] 萬兆以太網使用IEEE802. 3以太網介質訪問控制協議(MAC)、IEEE802. 3以太網 幀格式以及IEEE802. 3最小和最大幀尺寸。萬兆以太網只運行在全雙工方式,而不運行半 工方式,而且也將不再使用載波偵聽多路訪問/碰撞檢測(CSMA/CD)機制。
[0003] 目前,針對萬兆以太網測試設備的組包的測試報文產生過程是應用CPU,由軟件將 組完的數據包寫進存儲器中,然后通過軟件從存儲器中讀取數據包,由于受軟件與存儲器 之間通信速率的限制,測試報文缺少隨機性和實時性。
【發明內容】
[0004] 本發明的目的在于克服上述不足,提供一種萬兆以太網測試設備的組包方法,其 顯著增加了數據包的隨機性和實時性。
[0005] 為了實現上述目的,本發明采用的技術方案為:一種萬兆以太網測試設備的組包 系統,其特征在于,包括:
[0006] 接口模塊,用于使FPGA通過PCI總線與CPU通信;
[0007] 至少一個通道的調度模塊,其包括調度控制信息存儲器,流號存儲器,包長存儲 器,用于配置CPU發送速率,并根據發送速率,產生調度脈沖,每產生一個調度脈沖,則生成 并發送一個報文,然后進行輸出;
[0008] 流產生模塊,用于接收所述至少一個通道的調度模塊輸出的數據,產生至少一個 通道的符合以太網協議的數據流;
[0009] 通道混合模塊,用于將所述包括至少一個通道的數據流進行合并。
[0010] 本發明的另一目的在于提供一種萬兆以太網測試設備的組包方法,其特征在于, 包括:
[0011] 接口模塊,使FPGA通過PCI總線與CPU通信;
[0012] 至少一個通道的調度模塊,其包括調度控制信息存儲器,流號存儲器,包長存儲 器,配置CPU發送速率,并根據發送速率,產生調度脈沖,每產生一個調度脈沖,則生成并發 送一個報文,然后進行輸出;
[0013] 流產生模塊,接收所述至少一個通道的調度模塊輸出的數據,產生至少一個通道 的符合以太網協議的數據流;
[0014] 通道混合模塊,將所述包括至少一個通道的數據流進行合并。
[0015] 本發明的有益效果為:
[0016] 第一,結構簡單,包括接口模塊;至少一個通道的調度模塊;流產生模塊,通道混 合模塊,采用多個通道進行組包,克服現有技術使用CPU產生報文存在占有CPU資源多,CPU 處理中斷和進程所占用的時間長,以及CPU處理數據的效率低和性能低等缺陷,能夠使用 硬件實現測試報文的產生,顯著增加了數據包的隨機性和實時性。
[0017] 第二,應用廣泛,調度控制信息存儲器采用數字直通式fifo存儲調度信息,在產 生調度脈沖過程中,獲取流號存儲器中的流號,根據流號讀取包長存儲器中的包長,在產生 調度脈沖時,將流號和包長進行存儲,當fifo狀態非空時進行組包,并將fifo當前的流號, 包長進行輸出,實時調整數據包的類型,能以lOGbps線速生成、發送和接收測試流量,完成 測試統計量的測量、路由報文的產生和報文截取。
【附圖說明】
[0018] 此處所說明的附圖用來提供對本申請的進一步理解,構成本申請的一部分,本申 請的示意性實施例及其說明用于解釋本申請,并不構成對本申請的不當限定。在附圖中:
[0019] 圖1是本發明的萬兆以太網測試設備的組包系統的實施例結構示意圖;
[0020] 圖2是本發明的萬兆以太網測試設備的組包系統的另一實施例結構示意圖;
[0021] 圖3是本發明的萬兆以太網測試設備的組包系統的應用示意圖;
[0022] 圖4是本發明的萬兆以太網測試設備的組包方法流程圖。
【具體實施方式】
[0023] 如在說明書及權利要求當中使用了某些詞匯來指稱特定組件。本領域技術人員 應可理解,硬件制造商可能會用不同名詞來稱呼同一個組件。本說明書及權利要求并不以 名稱的差異來作為區分組件的方式,而是以組件在功能上的差異來作為區分的準則。如在 通篇說明書及權利要求當中所提及的"包含"為一開放式用語,故應解釋成"包含但不限定 于"。"大致"是指在可接收的誤差范圍內,本領域技術人員能夠在一定誤差范圍內解決所述 技術問題,基本達到所述技術效果。說明書后續描述為實施本申請的較佳實施方式,然所述 描述乃以說明本申請的一般原則為目的,并非用以限定本申請的范圍。本申請的保護范圍 當視所附權利要求所界定者為準。
[0024] 實施例1
[0025] 請參照圖1,本發明的萬兆以太網測試設備的組包系統包括:接口模塊,用于使 FPGA通過PCI總線與CPU通信;至少一個通道的調度模塊,其包括調度控制信息存儲器,流 號存儲器,包長存儲器,用于配置CPU發送速率,并根據發送速率,產生調度脈沖,每產生一 個調度脈沖,則生成并發送一個報文,然后進行輸出;流產生模塊,用于接收所述至少一個 通道的調度模塊輸出的數據,產生至少一個通道的符合以太網協議的數據流;通道混合模 塊,用于將所述包括至少一個通道的數據流進行合并。
[0026] 優選地,還包括發送給mac的接口模塊,用于讀取通道混合模塊合并的數據流,并 按照發送速率和符合mac的時序發送給mac〇
[0027] 優選地,所述流產生模塊包括:配置和統計模塊,用于從該流號對應的報文生成配 置數據,并更新該流的統計數據;至少一個通道的組包模塊,其包括數據存儲器與控制信息 存儲器,用于將從所述配置和統計模塊生成的配置數據鎖存起來,根據配置數據組包,計算 私有協議的校驗和,IP包的校驗和,以及TCP/UDP包的校驗和,將所述校驗和添加進組包后 的數據中,以生成組完的數據包,將所述組完的數據包存進所述數據存儲器中,包長存進所 述控制信息存儲器中。
[0028] 優選地,所述調度控制信息存儲器采用數字直通式fifo存儲調度信息,在產生調 度脈沖過程中,獲取流號存儲器中的流號,根據流號讀取包長存儲器中的包長,在產生調度 脈沖時,將流號和包長進行存儲,當fifo狀態非空時進行組包,并將fifo當前的流號,包長 進行輸出。
[0029] 優選地,所述通道數目為2個。
[0030] 作為具體的實施例,包括:通道0調度模塊,通道1調度模塊。
[0031] 優選地,每個通道調度模塊包括調度控制信息存儲器,流號存儲器,包長存儲器。
[0032] 作為具體的實施例,包括:通道0組包模塊,通道1組包模塊。
[0033] 優選地,每個通道組包模塊包括數據存儲器與控制信息存儲器。
[0034] 優選地,每個通道的參考時鐘為165. 25Mhz,處理的數據位寬為64bit。
[0035] 優選地,FPGA芯片主要包括:可編程輸入輸出單元、基本可編程邏輯單元、時鐘管 理單元、嵌入塊式RAM、布線單元、內嵌的底層功能單元和內嵌專用硬件模塊。
[0036] 優選地,FPGA利用小型查找表(16X1RAM)來實現組合邏輯,每個查找表連接到一 個D觸發器的輸入端,觸發器再來驅動其他邏輯電路或驅動1/0,由此構成了即可實現組合 邏輯功能又可實現時序邏輯功能的基本邏輯單元模塊,這些模塊間利用金屬連線互相連接 或連接到I/O模塊。
[0037] 優選地,FPGA的邏輯是通過向內部靜態存儲單元加載編程數據來實現的,存儲在 存儲器單元中的值決定了邏輯單元的邏輯功能以及個模塊之間或模塊與I/O間的連接方 式,并最終決定了邏輯單元的邏輯功能以及各模塊之間或模塊與I/O間的聯接方式,并最 終決定了FPGA所能實現的功能,FPGA允許無限次的編程。
[0038] 優選地,所述可編程輸入輸出單元是與外界電路的接口部分,用于完成不同電氣 特性下對輸入/輸出信號的驅動與匹配要求,通過軟件的靈活配置,可適配不同的電氣標 準與I/O物理特性,可以調整驅動電流的大小。
[0039] 優選地,外部輸入信號可以通過可編程輸入輸出單元輸入到FPGA的內部,也可以 直接輸入FPGA內部。
[0040] 優選地,基本可編程邏輯單元包含一個可配置開關矩陣,此矩陣由4或6個輸入、 一些選型電路(多路復用器等)和觸發器組成。
[0041] 優選地,開關矩陣是高度靈活的,可以對其進行配置以便處理組合邏輯、移位寄存 器或RAM。
[0042] 優選地,每個基本可編程邏輯單元不僅可以用于實現組合邏輯、時序邏輯,還可以 配置為分布式RAM和分布式ROM。
[0043] 優選地,基本可編程邏輯單元由兩個4輸入的函數、進位邏輯、算術邏輯、存儲邏 輯和函數復用器組成。
[0044] 優選地,算術邏輯包括一個異或門和一個與門,一個異或門可以實現2bit全加操 作,進位邏輯由進位信號和函數復用器組成,用于實現快速的算術加減法操作;4輸入函數 發生器用于實現4輸入LUT、分布式RAM或16比特移位寄存器。
[0045] 優選地,所述進位邏輯包括兩條快速進位鏈,用于提高基本可編程邏輯單元的處 理速度。
[0046] 優選地,時鐘管理單元用于數字時鐘管理和相位環路鎖定。相位環路鎖定能夠提 供精確的時鐘綜合,且能夠降低抖動,并實現過濾功能。
[0047] 優選地,嵌入塊式RAM可被配置為單端口RAM、雙端口RAM、內容地址存儲器以及 FIFO等存儲結構。
[0048] 優選地,內容地址存儲器在其內部的每個存儲單元中都有一個比較邏輯,寫入CAM 中的數據會和內部的每一個數據進行比較,并返回與端口數據相同的所有數據的地址。
[0049] 優選地,布線單元連通FPGA內部的所有單元,根據工藝、長度、寬度和分布位置的 不同而劃分為4類不同的類別。第一類是全局布線模塊,用于芯片內部全局時鐘和全局復 位/置位的布線;第二類是長線模塊,用以完成芯片Bank間的高速信號和第二全局時鐘信 號的布線;第三類是短線模塊,用于完成基本邏輯單元之間的邏輯互連和布線;第四類是 分布式的布線模塊,用于專有時鐘、復位等控制信號線。
[0050] 優選地,內嵌的底層功能單元包括:DLL(DelayLockedLoop),PLL(PhaseLocked Loop),DSP。用于完成時鐘高精度、低抖動的倍頻和分頻,以及占空比調整和移相等功能。
[0051] 優選地,本實施例采用的配置模式為將FPGA連接CPU,由CPU對FPGA編程。
[0052] 優選地,還可采用一片FPGA加一片EPROM的配置模式。
[0053] 優選地,還可采用一片PROM編程多片FPGA的配置模式。