亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于FPGA的以太網(wǎng)接口設(shè)計(jì)與實(shí)現(xiàn)

        2014-03-08 05:46:11劉文怡
        自動(dòng)化與儀表 2014年5期
        關(guān)鍵詞:發(fā)送數(shù)據(jù)寄存器以太網(wǎng)

        李 勛 ,劉文怡

        (1.中北大學(xué) 電子測(cè)試技術(shù)國(guó)家重點(diǎn)實(shí)驗(yàn)室,太原 030051;2.中北大學(xué) 儀器科學(xué)與動(dòng)態(tài)測(cè)試教育部重點(diǎn)實(shí)驗(yàn)室,太原 030051)

        隨著互聯(lián)網(wǎng)硬件和軟件的迅猛發(fā)展,以太網(wǎng)接口成為目前使用最廣泛的網(wǎng)絡(luò)接口,具有接口簡(jiǎn)單、通信速度高、傳輸距離遠(yuǎn)、通信協(xié)議完善和工作性能穩(wěn)定等優(yōu)點(diǎn),能夠?qū)崿F(xiàn)遠(yuǎn)程高速數(shù)據(jù)通信系統(tǒng)[1]。傳統(tǒng)以太網(wǎng)常采用主控芯片內(nèi)部編寫以太網(wǎng)協(xié)議或在ARM等高性能處理器上運(yùn)行操作系統(tǒng),通過(guò)操作系統(tǒng)完成TCP/IP等復(fù)雜的通信協(xié)議,從而實(shí)現(xiàn)以太網(wǎng)通信[2],這兩種解決方案開發(fā)周期長(zhǎng)、難度較大、成本較高。然而利用硬件協(xié)議棧芯片,只需要通過(guò)簡(jiǎn)單的配置和外部線路連接就可以實(shí)現(xiàn)以太網(wǎng)的數(shù)據(jù)傳輸功能,這種方法開發(fā)難度小、集成度高且運(yùn)行穩(wěn)定,已成為實(shí)現(xiàn)以太網(wǎng)數(shù)據(jù)傳輸?shù)氖走x方案[3]。

        本文設(shè)計(jì)了一種利用FPGA控制硬件協(xié)議棧芯片W5300實(shí)現(xiàn)初始化配置、數(shù)據(jù)傳輸?shù)囊蕴W(wǎng)接口,并利用上位機(jī)UDP調(diào)試助手對(duì)其進(jìn)行測(cè)試,實(shí)現(xiàn)了FPGA和上位機(jī)之間通信。

        1 硬件設(shè)計(jì)

        本文設(shè)計(jì)的以太網(wǎng)接口以FPGA為核心控制器,采用Xilinx公司Spartan-3系列XC3S400芯片,該芯片具有豐富的邏輯資源,易于配置;以太網(wǎng)接口協(xié)議芯片使用WIZnet公司生產(chǎn)的硬件協(xié)議棧芯片W5300。硬件結(jié)構(gòu)如圖1所示,其工作原理:FPGA通過(guò)邏輯程序控制W5300數(shù)據(jù)總線、地址總線及讀寫、數(shù)據(jù)位選擇信號(hào),通過(guò)編程控制這些信號(hào)實(shí)現(xiàn)對(duì)W5300的初始化配置、數(shù)據(jù)讀寫及上位機(jī)通信。上位機(jī)通過(guò)UDP調(diào)試助手軟件設(shè)置與接口模塊相對(duì)應(yīng)的IP地址,通過(guò)發(fā)送“數(shù)據(jù)發(fā)送”和“數(shù)據(jù)接收”命令實(shí)現(xiàn)上位機(jī)與接口模塊中FPGA通信。

        圖1 以太網(wǎng)接口硬件結(jié)構(gòu)圖Fig.1 Ethernet interface hardware structure

        硬件協(xié)議棧芯片W5300內(nèi)部集成了10/100 M以太網(wǎng)控制器,MAC和TCP/IP協(xié)議棧,所以CPU不需要編寫復(fù)雜的TCP/IP協(xié)議,能夠大大地減小硬件接口設(shè)計(jì)和網(wǎng)絡(luò)編程的工作量,降低產(chǎn)品的開發(fā)難度和縮短開發(fā)周期,能夠?qū)崿F(xiàn)可靠穩(wěn)定的遠(yuǎn)程數(shù)據(jù)通信系統(tǒng)。支持8個(gè)獨(dú)立端口同時(shí)連接,通信速率最高可達(dá)到80 Mb/s;與主機(jī)接口支持8/16 bit數(shù)據(jù)總線,支持2種主機(jī)接口模式;內(nèi)部有128 KB TX/RX存儲(chǔ)器,可根據(jù)端口通信數(shù)據(jù)吞吐量動(dòng)態(tài)調(diào)整其分配[4]。

        本文設(shè)計(jì)的接口主要是通過(guò)FPGA設(shè)置BIT16EN信號(hào)為高電平,實(shí)現(xiàn)16位數(shù)據(jù)總線工作模式,并采用直接尋址模式來(lái)實(shí)現(xiàn)數(shù)據(jù)的高速訪問(wèn),物理層使用W5300內(nèi)部的PHY,并配置為全功能自動(dòng)握手運(yùn)行模式,即TEST_MODE[3:0]引腳和OP_MODE[2:0]引腳均接地。在以太網(wǎng)的設(shè)計(jì)中,外部接口的設(shè)計(jì)不可忽視,它關(guān)系到數(shù)據(jù)傳輸?shù)目乖肼暷芰头€(wěn)定性以及傳輸距離;在數(shù)據(jù)傳輸過(guò)程中為了增強(qiáng)W5300的差分信號(hào)抗干擾能力,防止不同電平通過(guò)網(wǎng)線傳輸損壞設(shè)備(在工作過(guò)程中,W5300需要3.3 V、1.8 V兩種不同電平),W5300與 RJ45之間采用網(wǎng)絡(luò)隔離變壓器T1-6T連接,其支持頻率高達(dá)300 MHz,既能滿足高速以太網(wǎng)的頻率要求,又能有效地保護(hù)接口電路。W5300芯片設(shè)有外置指示燈輸出,當(dāng)網(wǎng)絡(luò)連接成功時(shí),LINKLED引腳輸出低電平;當(dāng)有數(shù)據(jù)包發(fā)送時(shí),發(fā)送端TXLED輸出低電平,接收端RXLED輸出高電平,通過(guò)觀察外置指示燈,可以實(shí)時(shí)顯示以太網(wǎng)的數(shù)據(jù)傳輸動(dòng)態(tài)。W5300以太網(wǎng)接口主要硬件連接原理如圖2所示。

        圖2 W5300以太網(wǎng)接口硬件連接原理圖Fig.2 Connection schematic diagram of W5300 Ethernet interface hardware

        2 邏輯程序設(shè)計(jì)

        以太網(wǎng)接口邏輯程序設(shè)計(jì)部分主要通過(guò)Xilinx ISE12.1軟件平臺(tái),選用硬件描述語(yǔ)言VHDL編寫狀態(tài)機(jī)程序,實(shí)現(xiàn)FPGA對(duì)W5300的配置及數(shù)據(jù)發(fā)送、接收控制,最終實(shí)現(xiàn)上位機(jī)與W5300的數(shù)據(jù)通信。

        (1)W5300 配置模塊

        FPGA對(duì)W5300的配置模塊主要包括W5300初始化、對(duì)應(yīng)SOCKETn端口配置。W5300的初始化主要分為三個(gè)步驟:主機(jī)接口設(shè)置,網(wǎng)絡(luò)信息設(shè)置和內(nèi)部TX/RX存儲(chǔ)器的分配。在本文設(shè)計(jì)中,主要通過(guò)對(duì)26個(gè)不同寄存器的配置來(lái)完成W5300初始化。為了節(jié)省FPGA邏輯資源和靈活配置這些寄存器,F(xiàn)PGA邏輯控制程序調(diào)用了FPGA內(nèi)部的IP核,通過(guò)構(gòu)建深度為64B,位寬為16位的只讀單口塊ROM,將需要配置的寄存器的地址和其對(duì)應(yīng)的寄存器值依次寫入初始化文件(.coe),并將該文件加載到BLOCK ROM中。在單口塊ROM中,當(dāng)讀使能EN為高電平時(shí)有效,時(shí)鐘源CLK上升沿時(shí),配置的數(shù)據(jù)從ROM端口輸出,寫進(jìn)W5300數(shù)據(jù)線和地址線,其示意圖如圖3所示。

        圖3 單口塊ROMFig.3 Single port block ROM

        W5300只支持軟件復(fù)位,所以FPGA在上電后對(duì)W5300進(jìn)行軟件復(fù)位。FPGA完成對(duì)W5300軟件復(fù)位之后就調(diào)用該IP核實(shí)現(xiàn)對(duì)W5300的初始化。本文選用SOCKET1進(jìn)行數(shù)據(jù)通信,初始化完成之后 FPGA主要對(duì) S1_MR、S1_PORT、S1_CR寄存器寫入對(duì)應(yīng)地址和寄存器值實(shí)現(xiàn)對(duì)SOCKET1的端口配置,然后打開SOCKET1,并將其設(shè)置為UDP單道通信模式。FPGA完成對(duì)W5300配置之后,讀取S1_SSR寄存器值,判斷其是否處于UDP模式,若是則進(jìn)入數(shù)據(jù)通信;反之,將該端口關(guān)閉,返回重新對(duì)W5300配置。

        (2)W5300 通信控制模塊

        以太網(wǎng)接口與上位機(jī)通信包括數(shù)據(jù)接收和發(fā)送。W5300工作在UDP模式,UDP是一種報(bào)文通信協(xié)議,接收和發(fā)送數(shù)據(jù)不需要像TCP那樣建立SOCKET連接,就可以達(dá)到較高的傳輸速度[5],其通信流程如圖4所示。

        圖4 UDP模式通信流程圖Fig.4 UDP mode communication flow

        邏輯控制程序按照?qǐng)D4通信流程編寫狀態(tài)機(jī),首先讀取S1_RX_RSR寄存器,查詢W5300是否接到數(shù)據(jù),若該寄存器接收數(shù)據(jù)字節(jié)長(zhǎng)度大于0,則表明接收到數(shù)據(jù),進(jìn)入接收數(shù)據(jù)處理進(jìn)程中。該進(jìn)程主要負(fù)責(zé)處理內(nèi)部RX存儲(chǔ)器中接收到的UDP數(shù)據(jù),并將其讀取到FPGA中,數(shù)據(jù)全部讀取完后,執(zhí)行RECV命令,即完成數(shù)據(jù)接收。數(shù)據(jù)接收完成之后跳轉(zhuǎn)到數(shù)據(jù)發(fā)送查詢,若S1_TX_FSR有足夠剩余空間時(shí),將待發(fā)送的數(shù)據(jù)通過(guò)S1_TX_FIFOR依次寫入到TX存儲(chǔ)器中,并將發(fā)送數(shù)據(jù)字節(jié)數(shù)寫入到S1_TX_WRSR寄存器,然后運(yùn)行SEND命令發(fā)送數(shù)據(jù),判斷并清除發(fā)送完成、超時(shí)中斷,即完成數(shù)據(jù)發(fā)送。最后判斷是否結(jié)束通信任務(wù),若結(jié)束任務(wù),則將S1_CR寄存器設(shè)置為 “0x10”,W5300狀態(tài)變?yōu)镾OCK_CLOSED,關(guān)閉SOCKET1端口;反之,返回開始查詢。

        在通信過(guò)程中,程序的主要負(fù)責(zé)對(duì)W5300寄存器的讀寫控制、UDP傳輸協(xié)議的實(shí)現(xiàn)。當(dāng)實(shí)時(shí)傳輸數(shù)據(jù)量較大時(shí),對(duì)時(shí)序要求就非常嚴(yán)格,若時(shí)序不正常,將會(huì)導(dǎo)致數(shù)據(jù)的錯(cuò)誤或丟失。為了滿足時(shí)序要求,本設(shè)計(jì)中FPGA程序利用控制狀態(tài)機(jī)數(shù)量來(lái)產(chǎn)生讀寫時(shí)序,硬件設(shè)計(jì)中FPGA選用40 MHz基準(zhǔn)時(shí)鐘,并將W5300使能信號(hào)CS直接接地,一直保持有效狀態(tài),每寫一次就控制/WR信號(hào)保持4個(gè)周期低電平,即100 ns,該時(shí)間大于芯片W5300寫時(shí)序最低要求50 ns;讀信號(hào)控制要求低電平有效時(shí)間大于65 ns,狀態(tài)機(jī)控制程序和寫信號(hào)一樣。

        圖5 發(fā)送數(shù)據(jù)圖Fig.5 Sending data

        圖6 讀取數(shù)據(jù)Fig.6 Reading data

        3 實(shí)驗(yàn)驗(yàn)證

        本文上位機(jī)使用UDP調(diào)試助手軟件,實(shí)現(xiàn)對(duì)FPGA控制的W5300以太網(wǎng)接口通信測(cè)試。該軟件采用VB編程,能夠?qū)崟r(shí)顯示數(shù)據(jù)傳輸動(dòng)態(tài),易于可視化界面操作。如圖5、6所示,測(cè)試軟件設(shè)置W5300(發(fā)送端)的 IP 地址為:192.168.0.2,PC 機(jī)(接收端)的IP地址為192.168.0.3,連接網(wǎng)絡(luò)成功之后,就可以點(diǎn)擊“發(fā)送數(shù)據(jù)”或“讀取數(shù)據(jù)”發(fā)送命令給W5300,并通過(guò)W5300外置網(wǎng)絡(luò)LED指示燈亮滅情況判斷以太網(wǎng)連接、數(shù)據(jù)傳輸情況,進(jìn)而實(shí)時(shí)觀察上位機(jī)與FPGA通信動(dòng)態(tài)。

        上位機(jī)UDP調(diào)試助手通過(guò)W5300以太網(wǎng)接口向FPGA下發(fā)“發(fā)送數(shù)據(jù)”命令,并設(shè)置發(fā)送字節(jié)數(shù)和延時(shí)時(shí)間,將6個(gè)字節(jié)的固定數(shù)“FF”下發(fā)給FPGA,如圖5所示;上位機(jī)發(fā)送“讀取數(shù)據(jù)”命令時(shí),F(xiàn)PGA首先判斷接收到的數(shù)據(jù)是否為固定數(shù)“FF”,若接收到上位機(jī)發(fā)送的數(shù)據(jù)為固定數(shù)“FF”,則通過(guò)程序設(shè)置W5300,循環(huán)將32個(gè)字節(jié)的遞增數(shù)通過(guò)W5300接口上傳給上位機(jī),如圖6所示。上位機(jī)軟件查看數(shù)據(jù),導(dǎo)出FPGA通過(guò)W5300接口上傳的數(shù)據(jù)如圖7所示,分析數(shù)據(jù),結(jié)果是循環(huán)的32個(gè)字節(jié)遞增數(shù),與FPGA程序設(shè)置的上傳數(shù)據(jù)一致。通過(guò)UDP調(diào)試助手對(duì)本文設(shè)計(jì)的基于FPGA控制的W5300以太網(wǎng)接口進(jìn)行數(shù)據(jù)傳輸測(cè)試,實(shí)驗(yàn)結(jié)果表明該接口能夠可靠的實(shí)現(xiàn)上位機(jī)與FPGA之間的通信。

        圖7 上位機(jī)接收數(shù)據(jù)圖Fig.7 PC receives data diagram

        4 結(jié)語(yǔ)

        本文介紹了一種基于FPGA控制的W5300以太網(wǎng)接口設(shè)計(jì)方案,并通過(guò)實(shí)驗(yàn)驗(yàn)證了其通信的可靠性和準(zhǔn)確性。該接口結(jié)合了FGPA邏輯資源豐富,易于調(diào)用IP核,控制靈活的優(yōu)點(diǎn)和W5300內(nèi)部集成高速以太網(wǎng)控制器、TCP/IP協(xié)議棧等特性,通過(guò)簡(jiǎn)單的配置和外部線路連接實(shí)現(xiàn)了以太網(wǎng)的數(shù)據(jù)傳輸功能,這種方法較于以太網(wǎng)通信傳統(tǒng)解決方案開發(fā)周期更短,難度更小,集成度更高,運(yùn)行更穩(wěn)定,該接口可以應(yīng)用到以太網(wǎng)數(shù)據(jù)采集、檢測(cè)等領(lǐng)域,具有很高的實(shí)用性。

        [1] LAN/MAN Standards Committee.IEEE Std.802.3-2005/Cor1-2006 Part 3:Carrier Sense Multiple Access with Collision Detection (CSMA/CD)Access Method and Physical Layer Specifications Corrigendum 1[S],2006.

        [2] 雒珊,尹崗.基于ARM的以太網(wǎng)通信控制器的設(shè)計(jì)[J].電子測(cè)量技術(shù),2009,32(10):133-135.

        [3] 謝希仁.計(jì)算機(jī)網(wǎng)絡(luò)[M].北京:電子工業(yè)出版社,2008.

        [4] WIZnet Device,Inc.High-performance internet connectivity solution-W5300[EB/OL].(2008).http:www.wiznet.co.kr.

        [5] 張勇,甄國(guó)涌,王麗莉,等.基于W5300的以太網(wǎng)數(shù)據(jù)傳輸硬件設(shè)計(jì)及優(yōu)化[J].化工自動(dòng)化及儀表,2011,38(8):2-4.

        猜你喜歡
        發(fā)送數(shù)據(jù)寄存器以太網(wǎng)
        移動(dòng)自組網(wǎng)中MAC層協(xié)議研究
        基于1500以太網(wǎng)養(yǎng)豬場(chǎng)的智能飼喂控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
        Lite寄存器模型的設(shè)計(jì)與實(shí)現(xiàn)
        基于馬爾科夫鏈的LoRaWAN網(wǎng)絡(luò)節(jié)點(diǎn)性能分析
        帶標(biāo)記方式的CRDSA++協(xié)議性能分析*
        分簇結(jié)構(gòu)向量寄存器分配策略研究*
        談實(shí)時(shí)以太網(wǎng)EtherCAT技術(shù)在變電站自動(dòng)化中的應(yīng)用
        電子制作(2017年24期)2017-02-02 07:14:44
        使用IPSec安全傳輸數(shù)據(jù)
        一種90W高功率以太網(wǎng)供電系統(tǒng)的設(shè)計(jì)
        淺談EPON與工業(yè)以太網(wǎng)在貴遵高速公路中的應(yīng)用
        熟女免费视频一区二区| 亚洲国产精品无码久久久| 国产成人a在线观看视频免费| 国产精品_国产精品_k频道w| 成人做爰69片免费看网站| 欧美在线a| 亚洲va中文字幕欧美不卡| 长腿丝袜在线观看国产| 国产精品国产三级野外国产| 免费无码一区二区三区a片百度| 香蕉久久福利院| 76少妇精品导航| 精品国偷自产在线不卡短视频| 国产黄色精品高潮播放| 亚洲国产精品久久久婷婷| 亚洲精品av一区二区| 天天狠天天添日日拍| 久久久久亚洲av无码观看| 国产乱子伦视频一区二区三区| 成人国产自拍在线播放| 男女调情视频在线观看| 美女内射毛片在线看免费人动物| 久久久久人妻精品一区蜜桃| 国产精品 无码专区| 中文人妻无码一区二区三区在线 | www国产亚洲精品| 青草视频在线播放| 中文字幕亚洲综合久久菠萝蜜| 亚洲图片第二页| 久久av少妇亚洲精品| 亚洲五码av在线观看| 国产一区精品二区三区四区| 精品国产日韩亚洲一区在线| 亚洲av色影在线| аⅴ资源天堂资源库在线| 亚洲AV日韩AV永久无码电影| 人妻有码中文字幕在线不卡| 国产成人精品蜜芽视频| 国产性色av一区二区| 91羞射短视频在线观看| 国产黄色一区二区三区,|