參數(shù)可配置的基于fpga的以太網(wǎng)udp/ip處理器的制造方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于基于FPGA實(shí)現(xiàn)的網(wǎng)絡(luò)協(xié)議棧技術(shù)領(lǐng)域,更為具體地講,涉及一種參數(shù) 可配置的基于FPGA的以太網(wǎng)UDP/IP處理器。
【背景技術(shù)】
[0002] 以太網(wǎng)作為常用的通信方式,具有應(yīng)用廣泛,通信速率高,資源共享能力強(qiáng)等優(yōu) 點(diǎn),普遍應(yīng)用于設(shè)備的互聯(lián)通信領(lǐng)域。要實(shí)現(xiàn)設(shè)備間網(wǎng)絡(luò)通信,其前提條件是設(shè)備中集成 了網(wǎng)絡(luò)協(xié)議棧,其協(xié)議棧的傳輸層協(xié)議主要有TCP協(xié)議和UDP協(xié)議兩種,UDP協(xié)議作為無連 接,不可靠,基于報(bào)文交互的協(xié)議,普遍應(yīng)用于音頻、視頻等應(yīng)用中。在過去,協(xié)議棧大多都 是基于軟件實(shí)現(xiàn),采用CPU串行執(zhí)行的方式,網(wǎng)絡(luò)傳輸速度低,系統(tǒng)資源開銷大。針對軟件 協(xié)議棧方式的不足,在大數(shù)據(jù)傳輸領(lǐng)域,越來越多的人開始研究基于FPGA的以太網(wǎng)UDP/IP 處理器。基于FPGA的以太網(wǎng)UDP/IP處理器的具體說明和實(shí)現(xiàn)可以參見文獻(xiàn)"Alachiotis N,Berger S A,Stamatakis A.Efficient PC-FPGA Communication over Gigabit Ethernet [C]//Proceedings of the 2010 10th IEEE International Conference on Computer and Information Technology. IEEE Computer Society,2010:1727-1734. "。
[0003] 目前的基于FPGA的以太網(wǎng)UDP/IP處理器,具有以下缺點(diǎn):(1)只是實(shí)現(xiàn)了傳輸 層和網(wǎng)絡(luò)層的協(xié)議,而網(wǎng)絡(luò)接口層中的MAC控制器都依賴于三方的提供,增大了實(shí)現(xiàn)成本; (2)對以太網(wǎng)UDP/IP處理器的傳輸層、網(wǎng)絡(luò)層和網(wǎng)絡(luò)接口層中的MAC控制器不能做到用戶 自定義配置,使得傳輸只能和單一通信節(jié)點(diǎn)通信,并使整個(gè)系統(tǒng)配置麻煩,每次修改系統(tǒng)配 置都需要修改代碼并重新燒寫,應(yīng)用難度大,影響了整個(gè)系統(tǒng)的性能發(fā)揮;(3)對于網(wǎng)絡(luò)物 理層芯片,大多需要配置其寄存器才能發(fā)揮最大效能,而基于FPGA的以太網(wǎng)UDP/IP處理器 的配置較軟件配置更為復(fù)雜。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明的目的在于克服現(xiàn)有技術(shù)的不足,提供一種參數(shù)可配置的基于FPGA的以 太網(wǎng)UDP/IP處理器,使用戶實(shí)現(xiàn)對基于FPGA的以太網(wǎng)UDP/IP處理器的參數(shù)配置。
[0005] 為實(shí)現(xiàn)上述發(fā)明目的,本發(fā)明參數(shù)可配置的基于FPGA的以太網(wǎng)UDP/IP處理器包 括UDP/IP協(xié)議棧模塊、MAC控制器,其中UDP/IP協(xié)議棧模塊包括幀發(fā)送組裝模塊、幀接收拆 封裝模塊和MAC接口模塊,MAC控制器包括IP接口模塊、發(fā)送緩沖模塊、發(fā)送控制器、接收 控制器、接收緩沖模塊和流控模塊,此外,以太網(wǎng)UDP/IP處理器還包括配置控制模塊和PHY 配置模塊,UDP/IP協(xié)議棧模塊還包括幀發(fā)送配置模塊、幀接收配置模塊,MAC控制器還包括 MAC控制器配置模塊;
[0006] 配置控制模塊中分別為UDP/IP協(xié)議棧配置參數(shù)和MAC控制配置參數(shù)設(shè)置了參數(shù) 寄存器,為PHY芯片配置參數(shù)設(shè)置地址寄存器和參數(shù)寄存器;當(dāng)配置控制模塊從用戶端接 收到UDP/IP協(xié)議棧配置數(shù)據(jù)或MAC控制配置數(shù)據(jù),寫入相應(yīng)的寄存器中,并向幀發(fā)送配置 模塊或幀接收配置模塊發(fā)送系統(tǒng)配置信號(hào),當(dāng)配置控制模塊從用戶端接收到PHY芯片配置 參數(shù)及對應(yīng)的PHY寄存器地址,則寫入相應(yīng)的寄存器,并向PHY配置模塊發(fā)送系統(tǒng)配置信 號(hào);當(dāng)配置控制模塊從用戶端接收配置查詢信號(hào),分別向幀發(fā)送配置模塊、幀接收配置模 塊、MAC控制器配置模塊和PHY配置模塊發(fā)送配置查詢信號(hào),然后將各個(gè)配置模塊反饋的配 置參數(shù)發(fā)送給用戶端;
[0007] 幀發(fā)送配置模塊中存儲(chǔ)所需參數(shù)在配置控制模塊中的寄存器地址和幀發(fā)送組裝 模塊中的存儲(chǔ)地址的映射表,在接收到系統(tǒng)配置信號(hào)后,按照寄存器地址從配置控制模塊 中讀取所需參數(shù),寫入幀發(fā)送組裝模塊的對應(yīng)存儲(chǔ)地址;接收配置控制模塊發(fā)送的配置查 詢信號(hào),從幀發(fā)送組裝模塊中讀取配置參數(shù)反饋給配置控制模塊;
[0008] 幀接收配置模塊中存儲(chǔ)所需參數(shù)在配置控制模塊中的寄存器地址和幀接收拆封 裝模塊中的存儲(chǔ)地址的映射表,在接收到系統(tǒng)配置信號(hào)后,按照寄存器地址從配置控制模 塊中讀取所需參數(shù),寫入幀接收拆封裝模塊的對應(yīng)存儲(chǔ)地址;接收配置控制模塊發(fā)送的配 置查詢信號(hào),從幀接收拆封裝模塊中讀取配置參數(shù)反饋給配置控制模塊;
[0009] MAC控制器配置模塊存儲(chǔ)所需參數(shù)在配置控制模塊中的寄存器地址和MAC控制器 的發(fā)送控制器、接收控制器和流控模塊中的存儲(chǔ)地址的映射表,在接收到系統(tǒng)配置信號(hào)后, 按照寄存器地址從配置控制模塊中讀取所需參數(shù),分別寫入發(fā)送控制器、接收控制器和流 控模塊的對應(yīng)存儲(chǔ)地址;接收配置控制模塊發(fā)送的配置查詢信號(hào),從發(fā)送控制器、接收控制 器和流控模塊中讀取配置參數(shù)反饋給配置控制模塊;
[0010] PHY芯片配置模塊在接收到系統(tǒng)配置信號(hào)后,從配置控制模塊讀取所需參數(shù)和對 應(yīng)的PHY寄存器地址,將參數(shù)寫入與以太網(wǎng)UDP/IP處理器連接的PHY芯片的對應(yīng)寄存器; 接收配置控制模塊發(fā)送的配置查詢信號(hào),從PHY芯片中讀取配置參數(shù)反饋給配置控制模 塊。
[0011] 本發(fā)明參數(shù)可配置的基于FPGA的以太網(wǎng)UDP/IP處理器,增加了配置控制模塊和 PHY配置模塊,然后在UDP/IP協(xié)議棧模塊中新增幀發(fā)送配置模塊、幀接收配置模塊,在MAC 控制器新增了 MAC控制器配置模塊;配置控制模塊從用戶端接收系統(tǒng)配置數(shù)據(jù),包括UDP/ IP協(xié)議棧配置數(shù)據(jù)、MAC控制配置數(shù)據(jù)和PHY芯片配置數(shù)據(jù),然后通過幀發(fā)送配置模塊、幀 接收配置模塊、MAC控制器配置模塊和PHY配置模塊將參數(shù)分別配置到相應(yīng)的模塊中,同時(shí) 實(shí)現(xiàn)對相應(yīng)模塊中配置參數(shù)的查詢。本發(fā)明通過配置控制模塊實(shí)現(xiàn)用戶對以太網(wǎng)UDP/IP 處理器的參數(shù)配置和查詢,方便快捷地實(shí)現(xiàn)處理器參數(shù)更改,從而提高以太網(wǎng)UDP/IP處理 器的適用性。
【附圖說明】
[0012] 圖1是采用本發(fā)明參數(shù)可配置的基于FPGA的以太網(wǎng)UDP/IP處理器的整體結(jié)構(gòu) 圖;
[0013] 圖2是圖1中系統(tǒng)配置模塊的結(jié)構(gòu)圖;
[0014] 圖3是圖1中UDP/IP協(xié)議棧模塊的結(jié)構(gòu)圖;
[0015] 圖4是圖1中MAC控制器的結(jié)構(gòu)圖;
[0016] 圖5是MDI0模塊的結(jié)構(gòu)圖;
[0017] 圖6是MDI0控制模塊的輸入輸出端口圖;
[0018] 圖7是MDI0接口模塊的結(jié)構(gòu)圖。
【具體實(shí)施方式】
[0019] 下面結(jié)合附圖對本發(fā)明的【具體實(shí)施方式】進(jìn)行描述,以便本領(lǐng)域的技術(shù)人員更好地 理解本發(fā)明。需要特別提醒注意的是,在以下的描述中,當(dāng)已知功能和設(shè)計(jì)的詳細(xì)描述也許 會(huì)淡化本發(fā)明的主要內(nèi)容時(shí),這些描述在這里將被忽略。
[0020] 實(shí)施例
[0021] 圖1是采用本發(fā)明參數(shù)可配置的基于FPGA的以太網(wǎng)UDP/IP處理器的整體結(jié)構(gòu) 圖。如圖1所示,本發(fā)明參數(shù)可配置的基于FPGA的以太網(wǎng)UDP/IP處理器與普通的基于FPGA 的以太網(wǎng)UDP/IP處理器相比,其不同之處在于增加了一個(gè)系統(tǒng)配置模塊。
[0022] 圖2是圖1中系統(tǒng)配置模塊的結(jié)構(gòu)圖。如圖2所示,系統(tǒng)配置模塊包括配置控制 模塊和PHY芯片配置模塊。配置控制模塊中分別為UDP/IP協(xié)議棧配置參數(shù)或MAC控制配 置參數(shù)設(shè)置了參數(shù)寄存器,為PHY (Physical Layer,物理層)芯片配置參數(shù)設(shè)置地址寄存 器和參數(shù)寄存器。當(dāng)配置控制模塊從用戶端接收到UDP/IP協(xié)議棧配置數(shù)據(jù)或MAC控制配 置數(shù)據(jù),寫入相應(yīng)的寄存器中,并向幀發(fā)送配置模塊或幀接收配置模塊送系統(tǒng)配置信號(hào),當(dāng) 配置控制模塊從用戶端接收到PHY芯片配置參數(shù)及對應(yīng)的PHY寄存器地址,則寫入相應(yīng)的 寄存器,并向PHY配置模塊發(fā)送系統(tǒng)配置信號(hào)。此外,配置控制模塊還從用戶端接收配置查 詢信號(hào),然后分別向幀發(fā)送配置模塊、幀接收配置模塊、MAC控制器配置模塊和PHY配置模 塊發(fā)送系統(tǒng)發(fā)送配置查詢信號(hào),將各個(gè)配置模塊反饋的配置參數(shù)反饋給用戶端。每個(gè)反饋 的參數(shù)會(huì)先更新至配置控制模塊對應(yīng)的寄存器中,然后由用