文/鄧峰 王穎
隨著網絡的發展和普及,中國骨干網容量大增,單端口帶寬能力從Kbps提升10Gbps,骨干網帶寬已超100Tbps。隨著人工智能、汽車、醫療和金融等領域的發展,對于網絡帶寬的需求會呈現穩定增長的趨勢。根據《中國互聯網絡發展狀況統計報告》數據顯示:截止2018年12月,我國國際出口帶寬數約8.9Tbps,我國寬帶網絡平均可用下載速率已經到達28Mbps,均呈現逐年上升的趨勢。在網絡速度日漸提高的同時,高速率網絡測試儀和SDR等高速通信設備的研發也日趨火熱。
圖1:系統架構
圖1是測試儀控制平臺系統結構,其中數據平臺使用Verilog HDL軟核實現,以保證系統性能。處理器是整個控制平臺的核心,采用Xilinx MicroBlaze 軟核。
核內存儲:MicroBlaze使用BlockRAM作為Cache,使用LMB總線與系統相連,這一部分對控制平臺軟件透明。
AXI4-Lite總線:Xilinx最新的嵌入式方案采用AXI4總線體系,其中AXI4-Lite總線是最簡單的一種總線。為了減小系統的復雜度,在可以滿足功能的條件下盡可能使用該總線,該總線上連接有看門狗、定時器、UART以及數據平臺。
看門狗:為了保證程序由于意外(例如強干擾)跑飛時,能夠自動回復使用該模塊。
計時器:為了保證可以使用時間片調度,提高網絡測試儀的擴展性使用該模塊。
UART:用于研發期間的調試。
數據平臺:這部分參考NetFPGA10G方案,使用具有自主知識產權IP核,該部分完成包生成,比對和統計等高速信號處理。
AXI4總線:由于PCIe橋(Bridge)必須要DDR3模塊的配合完成DMA操作,故這里我們的DDR3與PCIe模塊都連接與AXI4總線。PCIe總線工作于從機模式,連接至PC(或工控機)PCIe插槽,完成和上位機的通信。
圖3:控制平臺流程圖
控制平臺層次如圖2所示。
從上至下一共3層,最高層應用層可以細分為兩層,下面對每層的功能分別說明:
調度框架:實現所有模塊任務的整合,采用時間片輪轉算法調用各模塊的任務函數,完成控制任務。
模塊任務層:使用抽象層代碼實現該模塊在系統中承擔的任務。
抽象層:封裝物理層驅動,統一化出錯(異常)等處理,向上隔離驅動層的易變性,簡化模塊任務層代碼。
驅動層:實現各硬件模塊的驅動。
控制平臺流程如圖3所示。
初始化:首先,設置各模塊(PCIe、看門狗、數據通道、定時器、串口)為默認工作模式;然后將時間片設置為1,開啟定時器中斷;
喂狗:時間片1中將看門狗值設置為初始值,避免程序自動復位;
讀取PCIe數據:時間片2讀取工控機(PCIe)傳來的配置信息;
配置數據通道:時間片3解析PCIe傳來的配置信息,并寫入數據通道寄存器,間接控制數據通道工作;
空閑:為了便于每輪調度的時間值為一個便于管理的值,將4、5時間片設置為忙等模式;
修改時間片:該功能在定時器中斷中完成。
其中,調度中時間片的長度必須大于四個任務中耗時最長的任務,每輪時間片的長度由下式計算:
每輪時間 = 時間片長×時間片數
目前 RFC2544標準測試是所有二層設備入網前的基本測試,為了今后網絡測
試儀項目的開展,整理出RFC2544中定義的測試指標,并給出相應的測試方法和方案,用于指導后期邏輯(Verilog)及控制軟件(MicroBlaze C/C++)對二層(以太網)測試的研發。RFC2544中定義的最重要4個測試參數為吞吐率、丟包率、時延和背靠背。測試網絡(設備)時拓撲結構如圖4所示。
圖4:測試網絡(設備)時系統拓撲結構
本設計架構設計新穎,可以借助FPGA的硬件邏輯完成以太網組包、解析、測試、分析等功能來取代傳統使用NP(網絡處理器)完成的工作,不受性能的約束,后續可以擴展到4~7層網絡測試。通過PCIE接口提高穩定性,可以插入多張網絡測試卡實現更高速率的帶寬測試。