国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于FPGA的千兆以太網(wǎng)端口通信設計

2024-01-09 09:01:22韓延喆
電子科技 2024年1期
關鍵詞:測試儀以太網(wǎng)報文

蘭 唯,韓延喆,扈 嘯

(1.國防科技大學 計算機學院,湖南 長沙 410073;2.長沙人才集團有限公司,湖南 長沙 410073)

千兆以太網(wǎng)廣泛應用于視頻、音頻等實時通信領域,在端對端通信中,數(shù)據(jù)傳輸速率以及實時性是通信的核心指標[1]。千兆以太網(wǎng)接口的設計方案通常采用“邏輯控制電路+以太網(wǎng)接口控制芯片”方法[2-5],其中邏輯控制電路基于單片機、FPGA、ARM(Advanced RISC Machines)或DSP(Digital Signal Processing)的邏輯實現(xiàn)。文獻[6]物理層使用PHY(Physical)芯片,以太網(wǎng)物理接口使用RJ-45,數(shù)據(jù)鏈路層用ARM中的硬核(Gigabit Ethemet MAC,GEM)實現(xiàn),協(xié)議層采用Linux驅(qū)動,該方法大量占用ARM運行資源,ARM工作負載重,其相比FPGA可編程方法延時較大。文獻[7~8]中的GMII(Gigabit Media Independent Interface)接口在千兆模式下完成發(fā)送、接收數(shù)據(jù)工作。文獻[9]自行研發(fā)UDP(User Datagram Protocol)網(wǎng)絡IP核,兼容GMII、RGMII以及SGMII模式,占用FPGA資源少。文獻[10~11]采用“FPGA+PHY芯片+變壓器”實現(xiàn)千兆以太網(wǎng)數(shù)據(jù)傳輸。文獻[12]采用DSP+FPGA架構實現(xiàn)多路串口和以太網(wǎng)通信。文獻[13]采用基于FPGA+ARM架構實現(xiàn)千兆以太網(wǎng)接口通信。文獻[14~16]通過千兆以太網(wǎng)實現(xiàn)圖像、水聲和飛行器傳感數(shù)據(jù)的實時采集與傳輸。文獻[17]介紹了基于FPGA采用CRC(Cyclic Redundancy Check)算法進行差錯檢驗。上述文獻均未提及標簽轉發(fā)實現(xiàn)多個千兆網(wǎng)口連接設備互通。

本文研究了一種基于FPGA的千兆以太網(wǎng)端口通信,采用基于標簽轉發(fā)的策略,板級采用FPGA邏輯設計實現(xiàn)了高效協(xié)議處理,實現(xiàn)端對端數(shù)據(jù)通信,傳輸速率達到1 Gbit·s-1,報文轉發(fā)延時小于100 μs,報文丟包率為0%,數(shù)據(jù)傳輸穩(wěn)定性較高,滿足現(xiàn)有項目的實際需求。

1 FPGA實現(xiàn)千兆網(wǎng)口數(shù)據(jù)通路邏輯

基于FPGA實現(xiàn)千兆網(wǎng)口數(shù)據(jù)通路的架構主要由COMe(COM Express)卡、PHY芯片、FPGA芯片和RJ45雙網(wǎng)口組成。COMe卡集成核心CPU和內(nèi)存功能,型號為SOM-5894,COMe卡與FPGA之間的PHY芯片型號為88E1116R,FPGA與RJ45雙網(wǎng)口之間的PHY芯片型號為BCM5464。FPGA采用Xilinx公司7系列XC7VX690T-2FFG1761C,是系統(tǒng)控制的核心。本文采用了Xilinx FPGA內(nèi)部的MAC核加外部PHY芯片,在FPGA內(nèi)部編寫邏輯,基于標簽轉發(fā)實現(xiàn)了以太網(wǎng)交換機的轉發(fā)功能,完成了物理層和數(shù)據(jù)鏈路層的通信,實現(xiàn)了端對端數(shù)據(jù)通信,即COMe卡通過千兆網(wǎng)口與多個千兆網(wǎng)口的連接設備互通。本文基于標簽轉發(fā)的實現(xiàn)過程為:外設通過gmiito139模塊的輸入端口標記Port0或Port1發(fā)送過來的報文,Turncheck模塊識別到輸入端口后添加標簽, 合并為一路后輪詢輸出給CPU。CPU發(fā)出帶有標簽的數(shù)據(jù)報文,axito139模塊的輸入端口標記Port0或Port1發(fā)送過來的報文,Portcheck模塊139格式報文判斷輸出端口號,去掉標簽,從相應的千兆網(wǎng)口輸出數(shù)據(jù)報文?;跇撕炥D發(fā)的工作原理是根據(jù)邏輯區(qū)分,從相應的千兆端口輸出報文。FPGA實現(xiàn)千兆網(wǎng)口數(shù)據(jù)通路邏輯如圖1所示。

圖1 FPGA實現(xiàn)千兆網(wǎng)口數(shù)據(jù)通路邏輯Figure 1.Gigabit Ethernet data path implemented by FPGA logic

由圖1可以看出,外設經(jīng)過多個千兆網(wǎng)口,本文指從Port0、Port1輸入報文,經(jīng)過PHY芯片BCM5464處理后輸出SGMII格式的數(shù)據(jù),通過FPGA的SGMII IP核轉換為GMII格式的報文,將GMII格式的報文轉換為139格式的報文。然后內(nèi)部邏輯添加標簽,輪詢輸出數(shù)據(jù),將數(shù)據(jù)存儲到FIFO(First Input First Output ),以AXI4S(AXI4-Stream)接口輸出,通過RGMII IP核轉為RGMII格式,經(jīng)過 PHY芯片88e1116R芯片輸出給CPU。CPU發(fā)出帶有標簽的以太網(wǎng)報文,通過PHY芯片88E1116R處理后輸出RGMII格式的數(shù)據(jù)。FPGA采用RGMII IP核將RGMII格式的數(shù)據(jù)轉換為AXI格式的數(shù)據(jù),將AXI數(shù)據(jù)轉換為139格式的數(shù)據(jù),經(jīng)過內(nèi)部邏輯判斷標簽中的輸出端口號域并去除標簽,然后將139格式轉換為GMII格式通過FPGA的SGMII IP核轉換為SGMII格式,從相應的千兆網(wǎng)口輸出報文,將數(shù)據(jù)恢復成正常的以太網(wǎng)報文。

1.1 FPGA與外部PHY芯片接口

外部PHY芯片分別指BCM5464芯片和88E1116R芯片,如圖1所示。

1.1.1 FPGA與BCM5464芯片接口

FPGA芯片與PHY芯片BCM5464之間采用的SGMII IP核是1 GHz/2.5 GHz Ethernet PCS/PMA or SGMII Core IP核。FPGA與BCM5464的接口關系如圖2所示。

圖2 FPGA與BCM5464的接口關系Figure 2. Interface relationship between FPGA and BCM5464

由圖2可以看出,SGMII IP核一端利用GTX/GTP/MGT收發(fā)器提供串行接口,連接到支持SGMII的以太網(wǎng)PHY設備BCM5464實現(xiàn),另一端連接到嵌入式以太網(wǎng)介質(zhì)訪問控制器(MAC),從而實現(xiàn)GMII信號與SGMII信號相互轉換。也就是將從外設Port0或Port1發(fā)送的,經(jīng)外部PHY芯片BCM5464傳輸過來的SGMII信號轉換成GMII信號或者將從內(nèi)部邏輯139togmii模塊發(fā)送的GMII信號轉換成SGMII信號。

1.1.2 FPGA芯片與88E1116R芯片接口

FPGA芯片與PHY芯片88E1116R之間采用的RGMII IP核是Tri Mode Ethernet MAC IP核。FPGA芯片與88E1116R的接口關系如圖3所示。

圖3 FPGA與88E1116R的接口關系Figure 3. Interface relationship between FPGA and 88E1116R

由圖3可以看出,RGMII IP核支持以太網(wǎng)PHY設備 88E1116R,將RGMII信號與AXI信號相互轉換,即將從CPU下發(fā)并經(jīng)外部PHY芯片88E1116R傳輸?shù)腞GMII信號轉換成AXI接口信號或者將從內(nèi)部邏輯139toaxi模塊接收的AXI接口信號轉換成RGMII信號。

1.2 gmiito139模塊

gmiito139模塊從SGMII IP核接收GMII信號,然后將GMII信號轉換成139位報文格式的數(shù)據(jù)。139位報文格式如圖4所示。

圖4 139報文格式Figure 4. 139 bit datagram format

由圖4可以看出,139位報文[18]由頭尾標記、有效字節(jié)、輸入端口和報文數(shù)據(jù)組成。頭尾標記為3位,包括101報頭數(shù)據(jù)、100報文中間數(shù)據(jù)、110報文尾部數(shù)據(jù)3類。有效字節(jié)為4位,1111標記全部有效,其它表示部分有效。輸入端口為4位,最高位保留。報文數(shù)據(jù)為16 Byte,即從以太網(wǎng)頭部開始的數(shù)據(jù),由以太網(wǎng)MAC幀首部、以太網(wǎng)MAC幀構成。

1.3 Turncheck模塊

Turncheck模塊將外設Port0或Port1發(fā)來的經(jīng)gmiito139模塊轉換的139格式報文數(shù)據(jù)進行添加標簽,合并為一路后,經(jīng)139toaxi模塊、RGMII IP核送至CPU。標簽格式如圖5所示。

圖5 標簽格式Figure 5. Label format

由圖5可以看出,標簽為4位,以太網(wǎng)類型字段0800的高4位取標簽0或標簽1,標簽0表示 Port0,標簽1表示Port1。加標簽的目的是根據(jù)邏輯區(qū)分,從相應的千兆端口輸出報文。

1.4 139toaxi模塊

139toaxi模塊將139格式信號轉換成AXI格式信號,即將從Turncheck模塊接收139格式的數(shù)據(jù),將該數(shù)據(jù)存儲到FIFO,FIFO輸出AXI格式的報文數(shù)據(jù),將數(shù)據(jù)發(fā)送到RGMII IP核。

1.5 axito139模塊

axito139模塊將AXI報文數(shù)據(jù)轉換成139格式信號,即從RGMII IP核中取出AXI格式的報文數(shù)據(jù),以AXI格式的數(shù)據(jù)將存儲到FIFO,然后以139格式從FIFO中取出數(shù)據(jù)發(fā)送到Portcheck模塊。

1.6 Portcheck模塊

Portcheck模塊將CPU發(fā)下的139格式報文判斷輸出端口號,去掉標簽,通過139togmii模塊、SGMII IP核輸出到相應的輸出端口。

2 實驗驗證

2.1 仿真驗證

從CPU端發(fā)送不同字節(jié)的RGMII格式報文,輸出端口分別為Port0、Port1,通過邏輯內(nèi)部在SGMII IP核輸出端進行回環(huán),從Tri Mode Ethernet MAC IP核輸出的RGMII端口觀察RGMII格式報文,報文比對均正確。本文進行了大量仿真實驗,報文比對均正確。以其中一個算例進行說明,軟件下發(fā)的報文如圖6所示,仿真結果報文如圖7所示。

圖6 軟件下發(fā)的報文Figure 6. Packet sent by software

圖7 仿真結果報文Figure 7. Simulation result packet

由圖6和圖7可以看出,軟件下發(fā)的報文與仿真結果報文的datavalid_crc_in為1時的data_crc_in[63∶0]數(shù)據(jù)一致,且軟件下發(fā)的校驗值444550454E414100與仿真結果報文的校驗值444550454E414100報文比對一致。

2.2 交換機標簽轉發(fā)功能測試

板級調(diào)試驗證方法1的過程,即交換機標簽轉發(fā)功能測試過程如圖8所示。

圖8 交換機標簽轉發(fā)功能測試Figure 8. Switch label forwarding function test

由圖8可以看出,將邏輯綜合實現(xiàn)生成比特流文件下載配置到原型驗證平臺QPC板的FPGA芯片,FPGA采用Xilinx公司7系列XC7VX690T-2FFG1761C。在 PC 機1上開啟 DOS 界面,執(zhí)行命令操作,即CPU發(fā)出的帶標簽的數(shù)據(jù)報文,在PC機2使用wireshark軟件抓包分析,請求request報文由 PC 機1向PC機2發(fā)出,應答reply報文把請求報文的數(shù)據(jù)返回給PC機1。交換機標簽轉發(fā)功能測試結果如表1所示。

表1 交換機標簽轉發(fā)功能測試記錄

由表1可以看出,測試結果丟包率為0%,且報文通過FPGA設計的以太網(wǎng)交換機正常轉發(fā),多個千兆網(wǎng)口連接設備互通。

2.3 3項性能測試

板級調(diào)試驗證方法2的過程,即使用網(wǎng)絡測試儀進行3項性能測試過程如圖9所示。

圖9 3項性能測試Figure 9. Three performance tests

由圖9可以看出,QPC板作為FPGA驗證平臺,PC機通過Xilinx公司JTAG接口下載到QPC板的FPGA芯片XC7VX690T-2FFG1761C內(nèi),PC機啟動網(wǎng)絡測試儀,分別從網(wǎng)絡測試儀的輸出端口Port0、Port1配置相關參數(shù),通過邏輯內(nèi)部在RGMII IP核輸出端進行回環(huán)測試。

2.3.1 接口最高鏈路速率測試

網(wǎng)絡測試儀設置鏈路速率為1 Gbit·s-1的80%,時間設置為30 s,分別對64 Byte、128 Byte、256 Byte、512 Byte、1 024 Byte、1 518 Byte、64~1 518 Byte報文進行測試,鏈路速率測試結果如表2所示。

表2 800 Mbit·s-1鏈路速率測試記錄

由表2可以看出,當鏈路速率為800 Mbit·s-1時,從網(wǎng)絡測試儀Port0、Port1發(fā)出不同幀長度的報文均能返回到網(wǎng)絡測試儀端口Port0、Port1,且未丟包,丟包率為0%。當鏈路速率分別設為100 Mbit·s-1、200 Mbit·s-1、400 Mbit·s-1、600 Mbit·s-1時,丟包率也為0%,本文不再列表詳述。

網(wǎng)絡測試儀設置鏈路速率為1 Gbit·s-1的90%,時間設置為30 s,分別對64 Byte、128 Byte、256 Byte、512 Byte、1 024 Byte、1 518 Byte、64~1 518 Byte報文進行測試,鏈路速率測試結果如表3所示。

表3 900 Mbit·s-1鏈路速率測試記錄

由表3可以看出,當鏈路速率為900 Mbit·s-1時,從網(wǎng)絡測試儀端口Port0、Port1發(fā)出不同幀長度的報文,報文均能返回網(wǎng)絡測試儀端口Port0、Port1,丟包率為0%。

2.3.2 報文轉發(fā)時延測試

網(wǎng)絡測試儀設置鏈路速率為1 Gbit·s-1,時間設置為30 s,分別對256 Byte、512 Byte、1 024 Byte、1 518 Byte、256~1 518 Byte的報文進行測試,報文轉發(fā)時延測試結果如表4所示。

表4 報文轉發(fā)時延測試記錄

由表4可以看出,當鏈路速率為1 Gbit·s-1時,報文轉發(fā)時延小于100 μs。

2.3.3 報文丟包率測試

網(wǎng)絡測試儀設置鏈路速率為1 Gbit·s-1,時間設置為30 s,分別對256 Byte、512 Byte、1 024 Byte、1 518 Byte、256~1 518 Byte的報文進行測試,報文丟包率測試結果如表5所示。

表5 報文丟包率測試記錄

由表5可以看出,當鏈路速率為1 Gbit·s-1時,從網(wǎng)絡測試儀端口Port0、Port1發(fā)出不同幀長度的報文,均能返回到網(wǎng)絡測試儀端口Port0、Port1,未丟包。

3 結束語

本文采用Xinlinx FPGA內(nèi)部的MAC核加外部PHY芯片,基于FPGA內(nèi)部邏輯編寫實現(xiàn)了物理層與數(shù)據(jù)鏈路層的通信,實現(xiàn)了COMe卡的千兆網(wǎng)口與QPC板多個千兆網(wǎng)口的連接設備互通,實驗測試結果驗證了FPGA邏輯的可行性和有效性。根據(jù)實驗驗證可以得出,當傳輸速率達到1 Gbit·s-1時,報文轉發(fā)延時小,丟包率為0%,數(shù)據(jù)傳輸穩(wěn)定性高,滿足現(xiàn)有項目的實際需求。

猜你喜歡
測試儀以太網(wǎng)報文
基于J1939 協(xié)議多包報文的時序研究及應用
汽車電器(2022年9期)2022-11-07 02:16:24
SDL Atlas推出第二代HydroPro耐靜水壓測試儀
使用快速水洗色牢度測試儀檢測超細纖維脫落
基于1500以太網(wǎng)養(yǎng)豬場的智能飼喂控制系統(tǒng)的設計與實現(xiàn)
CTCS-2級報文數(shù)據(jù)管理需求分析和實現(xiàn)
淺析反駁類報文要點
中國外匯(2019年11期)2019-08-27 02:06:30
便攜式轉轍機轉換力測試儀
談實時以太網(wǎng)EtherCAT技術在變電站自動化中的應用
電子制作(2017年24期)2017-02-02 07:14:44
ATS與列車通信報文分析
基于VB與ATEQ測試儀串行通信
漳浦县| 保山市| 葵青区| 阿合奇县| 武穴市| 济源市| 故城县| 山阴县| 贡觉县| 新巴尔虎右旗| 房产| 黄骅市| 原平市| 磐安县| 广水市| 勐海县| 昌吉市| 彭水| 龙胜| 蒲城县| 象州县| 南康市| 娄烦县| 建水县| 十堰市| 红桥区| 金堂县| 德化县| 德令哈市| 璧山县| 乐业县| 财经| 南丰县| 大关县| 凌源市| 闽侯县| 社旗县| 内乡县| 吉安市| 赤城县| 日喀则市|