999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

FPGA與88E1111的千兆以太網接口設計

2017-03-31 01:23:54朱明輝司斌張從霞張鵬
單片機與嵌入式系統應用 2017年3期
關鍵詞:嵌入式系統

朱明輝,司斌,張從霞,張鵬

(中國空空導彈研究院,洛陽 471009)

FPGA與88E1111的千兆以太網接口設計

朱明輝,司斌,張從霞,張鵬

(中國空空導彈研究院,洛陽 471009)

為實現設備間數據的以太網傳輸,對TCP/IP協議進行深入了研究,設計了基于FPGA和PHY物理層芯片88E1111的千兆以太網數據傳輸系統。系統采用硬件描述語言實現以太網傳輸協議,并利用Xilinx提供的MAC以太網控制器 IP核完成幀校驗和封裝,物理層實現采用88E1111芯片。結合系統設計需求對TCP/IP以太網數據協議進行裁剪,僅保留UDP協議、IP協議和ARP地址解析協議。經測試,千兆以太網能夠穩定、高效地實現數據傳輸。

FPGA;千兆以太網;UDP;IP;ARP

引 言

隨著導彈測試設備向智能化、模塊化的方向發展,模塊之間的數據通信已成為一個重要課題。目前測試設備內各模塊之間數據傳輸主要采用并行總線和串行總線兩種方式[1],高數據傳輸常采用PCI、PXI和CPCI等并行總線,并行總線設計復雜并且不適合遠距離傳輸。串行總線RS485、RS232、CAN等雖然設計簡單、傳輸距離較遠,但數據速率一般不是很高。隨著以太網技術的發展,數據傳輸速率可以達到10 Mb/s、100 Mb/s、1 Gb/s、10 Gb/s,并且端到端的數據傳輸可達100 m,利用路由器或現有Internet網絡實現更遠距離傳輸,通過網口能夠方便地與計算機PC進行通信,所以研究嵌入式以太網數據傳輸的實現具有重要意義。

目前嵌入式以太網的實現方案眾多,根據以太網傳輸協議實現方式的不同大致可分為三種類型:第一種采用軟件代碼實現的以太網傳輸協議,如在ARM、DSP等微處理器上利用軟件代碼實現網絡協議[2-3],這種方式可以很方便地移植開源代碼的以太網協議棧,但受限于微處理的采用串行指令的運行方式導致數據處理能力、網絡傳輸速率不高;第二種采用內部集成以太網協議的ASIC實現[4],只需要處理器對專用芯片進行簡單控制,便可實現數據的以太網發送和接收,不再需要用戶編寫TCP/IP協議,降低了處理器的資源消耗,用戶設計難度,但設計不夠靈活且會增加電路設計的復雜度;第三種是在FPGA上采用硬件描述語言實現以太網協議[5-6],這種方式依靠FPGA豐富的邏輯資源和強大的數據處理能力,克服了微處理器處理能力差的缺點,并且使用硬件描述語言可以很方便地實現協議的升級和維護,彌補了ASIC設計不夠靈活的缺點。

本文采用FPGA和物理層芯片88E1111芯片實現嵌入式千兆以太網數據傳輸系統設計,根據需求對TCP/IP協議進行裁剪,降低了資源消耗及設計難度,經測試傳輸系統夠穩定、高效地實現數據傳輸。

1 千兆以太網傳輸系統總體設計

千兆以太網數據傳輸系統采用目前主流的TCP/IP協議,完整的TCP/IP協議是一個龐大的協議簇,完全實現不僅會消耗大量的FPGA資源,同時會增加設計及維護難度。作為嵌入式的使用應根據系統需求對其進行裁剪。考慮到系統高速數據傳輸、高實時性的要求,所以傳輸層僅保留具有較傳輸效率的非面向連接的UDP協議[9]。同時為了與上位機之間能夠實現點對點數據傳輸,在UDP幀發送前需要知道對方物理地址MAC,所以保留數據鏈路層的ARP地址解析協議。裁剪后的協議棧如圖1所示,傳輸層采用UDP協議,網絡層采用IP協議,數據鏈路層采用ARP協議和MAC協議。

圖1 裁剪后的TCP/IP協議棧結構

千兆以太網數據傳輸系統的總體結構如圖2所示,千兆以太網數據傳輸系統主要包括:數據采集模塊、數據緩存FIFO、協議處理模塊、MAC控制器IP核和物理層PHY模塊。

圖2 千兆以太網數據傳輸系統的總體結構

數據采集模塊根據FPGA指令完成數據的采集,并將采集的數據發送至FPGA的FIFO緩存模塊。FIFO主要實現采集數據的緩存,供幀處理模塊發送數據使用。幀處理模塊采用硬件描述語言Verilog HDL編寫,在發送數據時按照圖3所示的幀格式,對發送數據逐層加上幀頭以完成幀封裝,并將其發送至MAC控制器。幀接收是幀發送的逆過程,首先對MAC控制器接收幀類型判斷,然后按照不同的協議完成幀的解析并提取幀攜帶的有用信息。

圖3 UDP和ARP幀封裝格式

MAC控制器采用Xilinx官方提供的IP核,設定速率為1000 Mbps,物理層接口為GMII模式[10]。在幀發送時,MAC控制器為發送幀添加前導碼、起始碼、補碼和FCS校驗碼,然后將MAC幀通過GMII總線口發送至物理層芯片PHY。在幀接收時,MAC控制模塊通過GMII總線接口接收物理層PHY芯片發來的數據,對接收到的幀完成CRC校驗,將前導碼、起始碼、補碼和FCS校驗碼去除后送給上層的幀接收模塊。

物理層的實現采用Marvell公司的88E1111 PHY芯片,88E1111支持10M/100M/1000 Mbps三種速率,與MAC層接口有RGMII、SGMII、GMII等類型[11]。在千兆以太網數據傳輸系統設計時,通過CONFIG[3:0]引腳配置88E1111芯片接口類型為GMII模式。在幀發送時,88E1111通過GMII接口從MAC控制器接收幀數據,進行編碼后通過網絡變壓器發送至RJ45網口。在幀接收時,PHY芯片首先完成對接收數據的解碼,然后將接收到的數據通過GMII口發送至MAC控制器。

2 FPGA邏輯設計

在FPGA邏輯設計中,以太網協議的實現是系統的核心部分,本部分重點介紹UDP幀的發送接收、ARP請求的接收和應答幀發送的邏輯設計。幀處理模塊的結構如圖4所示。

圖4 FPGA幀處理模塊

幀處理模塊主要包括UDP幀發送模塊、ARP應答模塊和幀接收模塊。當幀接收模塊收到MAC控制器發來的數據后,接收模塊根據不同的幀類型提取有用信息并做出相應處理。若收到的為ARP請求幀,則使能ARP應答幀發送模塊,將本地MAC地址告訴上位機。若收到包含數據發送命令的UDP幀,則將FIFO中的采集數據按照圖3幀格式逐層進行幀封裝并完成發送。

2.1 UDP幀發送模塊設計

UDP幀發送模塊主要完成對發送數據的UDP和IP封裝并發送至MAC控制器。UDP幀發送模塊如圖5所示,Tx_data_in[7:0]為來自FIFO的數據輸入口, Tx_data_length[15:0]為發送數據長度輸入口, Destination_MAC和Destination_IP為目的地址輸入口,Tx_ack為MAC控制器空閑標志位。Tx_data_out[7:0]為封裝完成的幀的輸出口。為了降低端口數量和設計復雜度、提高可維護度,對于每幀中都相同的數據如源MAC、源IP地址、協議、版本等通過參數parameter進行設定。

圖5 UDP幀發送模塊

圖6 UDP幀發送狀態流程圖

UDP幀發送模塊的發送數據的狀態流程如圖6所示,當發送模塊的Tx_en輸入使能后,進入Send_MAC_header1狀態首先發送MAC幀頭的第一個字節,然后檢查來自MAC控制器的Tx_ack信號,若Tx_ack為0,說明MAC控制器忙,則返回idle。若Tx_ack為1,則依次完成MAC幀首部、IP幀首部、UDP首部發送。當完成所有幀首部發送后,從FIFO讀入要發送的數據,每讀入一個數據,cnt加1,當cnt等于發送數據長度(Tx_data_length-1)時,說明發送數據已封裝完成,則返回到idle。

2.2 ARP應答發送模塊設計

在收到ARP請求幀后,ARP應答模塊完成應答幀封裝與發送。ARP發送模塊如圖7所示,可通過Destination_MAC和Destination_IP口從ARP目錄寄存器中獲取目的MAC和IP地址,每幀中都相同的數據通過參數parameter賦予ARP應答模塊。ARP應答幀的發送流程較為簡單,當Tx_en使能后,進入ARP應答幀發狀態,當第一個數據發送完,讀取MAC控制器回送的Tx_ack信號,若為1說明MAC控制器空閑,則按照ARP幀格式完成ARP應答幀發送,若為0,說明MAC控制器忙,則返回初始狀態。

圖7 ARP幀發送模塊

2.3 幀接收模塊

幀接收模塊實現對上位機發來的ARP請求幀和IP數據幀進行接收,并對不同類型幀做不同的處理。幀接收模塊接口如圖8所示, Rx_data_in為來自MAC控制器的數據輸入,Rx_data_valid為輸入數據有效標志位。接收模塊幀中的源MAC地址和源IP地址通過MAC和IP口送給ARP目錄模塊, ARP_Reply_en為ARP應答幀使能輸出端,Rx_data_out為UDP幀數據輸出端。

幀接收模塊的狀態流程如圖9所示,當檢測到Rx_data_valid 置高后,便開始數據接收。首先接收MAC幀頭并檢測協議類型,若為0x0806,說明為ARP幀,則進入Rx_arp幀接收狀態接收ARP幀剩余部分,在ARP幀接收完成后進入Frame_state狀態并通過Rx_good_frame判斷接收到的幀是否有效,若檢測到Rx_good_frame為1,表示接收到的ARP幀正確,則進入Up_data狀態,使能ARP_Reply_en輸出ARP幀中源MAC和IP地址,否則丟棄該幀并返回到idle狀態。若協議類型為0x0800,則按照IP幀格式進行幀接收,依次進入Rx_IP_header和Rx_UDP_header狀態完成IP和UDP幀頭接收,幀頭接收完成后進入數據接收狀態,將接收的數據存入模塊內的數據緩存區,在幀接收完后若檢測到Rx_good_frame為1,則輸出data_length個緩存數據,否則丟棄該幀數據并返回idle狀態。

圖8 幀接收模塊

圖9 幀接收模塊狀態流程

3 系統測試

千兆以太網實現平臺選用ML605開發板,平臺包括XC6VLX240T型FPGA和PHY層芯片88E1111。為實現對系統測試,上位機裝有UDP幀收發軟件和Wireshark抓包軟件,實現數據幀的收發和抓包分析。設置以太網傳輸系統的IP地址為192.168.0.20,MAC地址為60:A4:4C:7B:E9:E8。設置上位機IP地址為192.168.0.10,MAC地址為DC:0E:A1:CD:60:65。

首先上位機向嵌入式以太網系統發送ARP請求來獲取系統的MAC地址,嵌入式以太網系統收到ARP地址請求后,發送ARP應答幀將本地MAC地址回送給上位機。上位機收到ARP應答幀后便發送包含數據發送命令的UDP幀,為測試嵌入式以太網數據發送性能,嵌入式以太網系統收到命令幀后開始重復向上位機發送固定幀長的數據幀。

Wireshark軟件抓包結果如圖10和圖11所示。圖10中,第1幀為上位機發送的ARP請求幀,包含的信息有上位機IP和MAC地址和要請求獲取嵌入式以太網設備的IP地址,第2幀為嵌入式以太網返回的ARP應答幀,將嵌入式以太網系統的MAC地址60:A4:4C:7B:E9:E8告知上位機。圖11中,第1幀為上位機發送給的包含數據發送命令的UDP幀,后續為嵌入式系統收到命令幀后,向上位機重復發送UDP數據幀,經測試,以太網系統能夠正常工作,傳輸數據穩定高效。

Design of Gigabit Ethernet Interface Based on FPGA and 88E1111

Zhu Minghui,Si Bin,Zhang Congxia,Zhang Peng

(China Airborne Missile Academy,Luoyang 471009,China)

In order to realize the data transmission between devices,the TCP/IP protocol has been studied,and a Gigabit Ethernet data transmission system based on FPGA and PHY physical layer chip 88E1111 is designed.The system uses the hardware description language to implement the Ethernet transmission protocol and uses the MAC Ethernet controller IP core to complete the frame verification and encapsulation.The physical layer is realized by using 88E1111 chip.According to the system design requirements,the TCP/IP Ethernet data protocol is cut out to only retain the UDP protocol,IP protocol and ARP address resolution protocol.The experiment results show that the Gigabit Ethernet system can achieve the data transmission stably and efficiently.

FPGA;Gigabit Ethernet;UDP;IP;ARP

圖10 ARP請求及應答幀抓包結果

圖11 UDP數據傳輸幀抓包結果

TP393

A

猜你喜歡
嵌入式系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統
半沸制皂系統(下)
TS系列紅外傳感器在嵌入式控制系統中的應用
電子制作(2019年7期)2019-04-25 13:17:14
嵌入式系統通信技術的應用
電子制作(2018年18期)2018-11-14 01:48:16
搭建基于Qt的嵌入式開發平臺
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
嵌入式軟PLC在電鍍生產流程控制系統中的應用
電鍍與環保(2016年3期)2017-01-20 08:15:32
主站蜘蛛池模板: 一区二区午夜| 婷婷午夜影院| 亚洲国产91人成在线| 亚洲成人免费看| 丝袜国产一区| 2021最新国产精品网站| 91在线激情在线观看| 狠狠操夜夜爽| 成人免费视频一区| 国产成人综合亚洲网址| 久久精品嫩草研究院| 欧美成人午夜视频免看| 一级看片免费视频| 无码AV动漫| 亚洲精品日产精品乱码不卡| 高h视频在线| 久久久久中文字幕精品视频| 狠狠躁天天躁夜夜躁婷婷| 丝袜高跟美脚国产1区| 精品国产亚洲人成在线| 无码精品国产dvd在线观看9久| 一级毛片不卡片免费观看| 国产超薄肉色丝袜网站| 久久久久国产一区二区| 成人免费午间影院在线观看| 精品伊人久久久久7777人| 97色伦色在线综合视频| 国产在线欧美| 日韩区欧美区| A级毛片无码久久精品免费| 国产又大又粗又猛又爽的视频| 2021精品国产自在现线看| 日本91在线| 国产chinese男男gay视频网| 亚洲天堂精品视频| 国产成人精品在线| 天天摸夜夜操| 亚洲成人福利网站| 亚洲人成色77777在线观看| 暴力调教一区二区三区| 久久综合伊人 六十路| 99久久人妻精品免费二区| 国模视频一区二区| 日本免费精品| 第一页亚洲| 91国内在线观看| 91青青在线视频| 午夜少妇精品视频小电影| 成年人国产视频| 国产精品开放后亚洲| 日韩精品久久无码中文字幕色欲| 一级毛片基地| 精品国产Av电影无码久久久| 国产精品va免费视频| 欧洲av毛片| 在线看国产精品| 91亚瑟视频| 婷婷色狠狠干| 多人乱p欧美在线观看| 中文字幕av无码不卡免费| 国产高清在线观看91精品| 亚洲欧美h| 激情無極限的亚洲一区免费| 波多野结衣中文字幕久久| 青青青伊人色综合久久| 色网站免费在线观看| 国产精品手机在线观看你懂的| 在线a视频免费观看| 538国产在线| 亚洲人成网站在线观看播放不卡| 亚洲一级毛片免费看| 91成人在线观看视频| 热久久综合这里只有精品电影| 国产第一页免费浮力影院| 乱系列中文字幕在线视频| www亚洲天堂| 国产免费怡红院视频| 1769国产精品视频免费观看| 一级毛片免费观看不卡视频| 一本色道久久88| 日韩精品无码免费一区二区三区| 亚洲欧美精品在线|