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