當(dāng)前位置:首頁 > 測試測量 > 測試測量
[導(dǎo)讀]摘要:針對現(xiàn)場采集設(shè)備需要擴(kuò)展網(wǎng)絡(luò)功能以實(shí)現(xiàn)遠(yuǎn)程控制和數(shù)據(jù)傳輸,應(yīng)用硬件協(xié)議棧芯片W5300設(shè)計(jì)并實(shí)現(xiàn)了以太網(wǎng)數(shù)據(jù)傳輸系統(tǒng),該系統(tǒng)由FPGA控制硬件協(xié)議棧芯片W5300,給出了系統(tǒng)總體硬件電路和軟件工作流程,并最終

摘要:針對現(xiàn)場采集設(shè)備需要擴(kuò)展網(wǎng)絡(luò)功能以實(shí)現(xiàn)遠(yuǎn)程控制和數(shù)據(jù)傳輸,應(yīng)用硬件協(xié)議棧芯片W5300設(shè)計(jì)并實(shí)現(xiàn)了以太網(wǎng)數(shù)據(jù)傳輸系統(tǒng),該系統(tǒng)由FPGA控制硬件協(xié)議棧芯片W5300,給出了系統(tǒng)總體硬件電路和軟件工作流程,并最終完成了對系統(tǒng)的功能驗(yàn)證。經(jīng)驗(yàn)證,系統(tǒng)穩(wěn)定實(shí)現(xiàn)了與上位機(jī)之間的數(shù)據(jù)傳輸。
關(guān)鍵詞:以太網(wǎng);W5300;TCP/IP;FPGA;數(shù)據(jù)傳輸

    現(xiàn)代數(shù)據(jù)采集領(lǐng)域中,越來越多的現(xiàn)場采集設(shè)備需要擴(kuò)展網(wǎng)絡(luò)功能以實(shí)現(xiàn)遠(yuǎn)程控制和數(shù)據(jù)傳輸。以太網(wǎng)以其成本低、易于集成和傳輸距離較遠(yuǎn)的優(yōu)勢得到了廣泛應(yīng)用。傳統(tǒng)的以太網(wǎng)解決方案是利用主控芯片連接物理層接口,在主控芯片內(nèi)編寫以太網(wǎng)協(xié)議來實(shí)現(xiàn)的,這種方法開發(fā)周期較長,難度較大,且由于以太網(wǎng)協(xié)議程序比較繁瑣,運(yùn)行起來不太穩(wěn)定。而利用硬件協(xié)議棧芯片,只需要通過簡單的配置和外部線路連接就可以實(shí)現(xiàn)以太網(wǎng)的數(shù)據(jù)傳輸功能,這種方法開發(fā)難度小、集成度高且運(yùn)行穩(wěn)定,已成為實(shí)現(xiàn)以太網(wǎng)數(shù)據(jù)傳輸?shù)氖走x方案。
    鑒于此,文中設(shè)計(jì)了一個(gè)利用可編程邏輯器件控制W5300以TCP/IP為協(xié)議進(jìn)行以太網(wǎng)數(shù)據(jù)傳輸?shù)南到y(tǒng)。其中,TCP/IP協(xié)議棧的處理交由硬件協(xié)議棧芯片W5300來完成,F(xiàn)PGA只需控制W5300即可。

1 芯片介紹
    W5300是WIZnet公司的一款單芯片器件,采用0.18μmCMOS工藝,內(nèi)部集成10/100M以太網(wǎng)控制器、MAC層協(xié)議和TCP/IP協(xié)議棧,主要應(yīng)用于高集成、高穩(wěn)定、高性能和低成本的嵌入式系統(tǒng)中。其主要性能特點(diǎn)如下:
    1)支持硬件TCP/IP協(xié)議棧:TCP、UDP、ICMP、IPv4、ARP,IGMP、PPPoE;
    2)支持8路獨(dú)立的網(wǎng)絡(luò)連接端口SOCKETs同時(shí)工作;
    3)內(nèi)部擁有128 k字節(jié)TX/RX存儲器用于數(shù)據(jù)通信,并可根據(jù)端口數(shù)據(jù)吞吐量靈活分配TX/RX存儲器空間大??;
    4)支持2種主機(jī)接口模式(直接尋址模式和間接尋址模式);
    5)支持16/8 bit數(shù)據(jù)總線,傳輸速率高達(dá)50 Mbps;
    6)支持第三方物理(PHY)接口。

2 系統(tǒng)硬件設(shè)計(jì)
    在硬件設(shè)計(jì)時(shí)選擇利用FPGA做為主控芯片,實(shí)現(xiàn)對W5300寄存器的讀寫及功能配置,其系統(tǒng)硬件結(jié)構(gòu)如圖1所示。


    W5300與FPGA的接口信號有數(shù)據(jù)總線、地址總線以及一些控制信號線(如/RESET、/CS、/RD、/WR、/INT)。W5300工作在直接尋址模式下,F(xiàn)PGA通過地址總線可直接訪問W5300內(nèi)部的各個(gè)寄存器或存儲器,直接尋址模式比間接尋址模式具有更高的訪問速度。BIT16EN引腳決定數(shù)據(jù)總線模式:BIT16EN拉高時(shí)為16位寬數(shù)據(jù)總線模式,BIT16EN拉低時(shí)為8位寬數(shù)據(jù)總線模式。本設(shè)計(jì)將BIT16EN懸空,即拉高,使其工作在16位寬數(shù)據(jù)總線模式下。TEST_MODE[3:0]4個(gè)引腳用于配置PHY模式和廠商測試模式,這里將其都接地,設(shè)置成使用內(nèi)部集成的PHY模式。在內(nèi)部PHY運(yùn)行控制模式的多種選擇中,將OP_MODE[2:0]3個(gè)引腳接地,固定地選擇了一種模式;自動握手模式。這樣W5300是通過媒體接口的兩路差分信號(RXIP/RXIN和TXOP/TXON)與網(wǎng)絡(luò)隔離變壓器連接。這些差分信號引腳都必須接一個(gè)50 Ω(±1%)的電阻和一個(gè)0.1μF的電容,以達(dá)到良好的阻抗匹配效果。匹配電阻和匹配電容應(yīng)該盡可能靠近W5300,以減少傳輸線上的阻抗和容抗。同時(shí)為了有良好的傳輸效果,兩路差分信號的走線長度應(yīng)相等且盡量靠近。
    圖中的網(wǎng)絡(luò)隔離變壓器采用的是CYL公司PH16系列的PH163539集成芯片,它的作用有3點(diǎn):1)傳輸數(shù)據(jù),它把PHY送出來的差分信號用差模耦合線圈耦合濾波以增強(qiáng)信號,并且通過電磁場的轉(zhuǎn)換耦合到不同電平的連接網(wǎng)線的另外一端;2)隔離網(wǎng)絡(luò)上不同網(wǎng)絡(luò)設(shè)備間的不同電平,以防止不同電壓通過網(wǎng)線傳輸損壞設(shè)備:3)能夠?yàn)V除空間的電磁干擾,能對設(shè)備起到一定的防雷保護(hù)作用。
    本系統(tǒng)工作在內(nèi)部PHY模式下,只能用25M的無源晶振來提供W5300的工作時(shí)鐘。在工作過程中,W5300需要2種電源:3.3 V和1.8 V,其中1.8 V的內(nèi)核工作電壓由W5300自己產(chǎn)生,不需要外部提供,需要注意的是這種電壓不能提供給W5300以外的其它器件。

3 系統(tǒng)軟件設(shè)計(jì)
    系統(tǒng)軟件設(shè)計(jì)的主要任務(wù)是在Quartus II環(huán)境下用硬件描述語言VHDL實(shí)現(xiàn)FPGA對硬件協(xié)議棧芯片W5300的控制,以實(shí)現(xiàn)W5300與上位機(jī)的數(shù)據(jù)傳輸。在本系統(tǒng)的軟件設(shè)計(jì)中,僅選用W5300的8個(gè)SOCKET中的SOCKET0進(jìn)行通訊。W5300軟件流程圖如圖2所示,首先復(fù)位W5300,再依次對W5300、SOCKET0進(jìn)行初始化,然后進(jìn)入數(shù)據(jù)通信狀態(tài)。


3.1 W5300復(fù)位
    W5300在工作之前需要進(jìn)行上電復(fù)位,且復(fù)位信號/RESET至少要保持2μs的低電平,然后變?yōu)楦唠娖?,等待至?0 ms使得W5300內(nèi)部鎖相環(huán)穩(wěn)定后,再進(jìn)行W5300初始化等操作。
    軟件設(shè)計(jì)時(shí),系統(tǒng)設(shè)置復(fù)位信號的低電平時(shí)間為6μs,通過對30 MHz的時(shí)鐘進(jìn)行計(jì)數(shù)來實(shí)現(xiàn),當(dāng)計(jì)數(shù)值達(dá)到30x6=180時(shí),便將復(fù)位信號拉至高電平;然后接著計(jì)數(shù),當(dāng)計(jì)數(shù)值達(dá)到30x20x103=600 000時(shí),便實(shí)現(xiàn)等待20 ms的要求;最后給出W5300復(fù)位完成信號,啟動下一步工作。
3.2 W5300初始化
    初始化W5300就是將相應(yīng)的參數(shù)按照寫時(shí)序要求寫入寄存器即可,初始化分3個(gè)步驟:主機(jī)接口設(shè)置、網(wǎng)絡(luò)信息設(shè)置和內(nèi)部TX/RX存儲器的分配。
    在設(shè)置主機(jī)接口時(shí),模式寄存器MR保持默認(rèn)值0xB800,這樣W5300便工作在16位總線寬度的直接訪問模式;中斷屏蔽寄存器IMR寫入0xFF FF,不屏蔽任何中斷。
    在設(shè)置網(wǎng)絡(luò)信息時(shí),重復(fù)發(fā)送超時(shí)寄存器RTR與重復(fù)發(fā)送計(jì)數(shù)寄存器RCR采用默認(rèn)值,默認(rèn)值分別為0x07D0和0x0008,即重復(fù)發(fā)送超時(shí)時(shí)間為200 ms,重復(fù)發(fā)送次數(shù)為9次;本機(jī)硬件地址寄存器SHAR、網(wǎng)關(guān)IP地址寄存器GAR、子網(wǎng)掩碼寄存器SUBR和本機(jī)IP地址寄存器SIPR配置參數(shù)如表1所示。


    在分配存儲空間時(shí),存儲器單元類型寄存器MTYPER采用默認(rèn)值0x00FF,即將前8個(gè)8k字節(jié)存儲單元分配為TX存儲器,后8個(gè)8k字節(jié)存儲單元分配為RX存儲器;通過TX存儲器大小配置寄存器TMSR和RX存儲器大小配置寄存器RMSR將SOCKET0的發(fā)送和接收存儲器大小都配置為32kB。
3.3 SOCKET0建立連接
    完成W5300初始化以后,W5300可以以TCP、UDP、IPRAW或MACRAW的方式打開SOCKET發(fā)送或接收數(shù)據(jù)。在本設(shè)計(jì)中,W5300工作在TCP服務(wù)器模式下。
    為了實(shí)現(xiàn)TCP通信,需要對SOCKET0進(jìn)行初始化設(shè)置,然后進(jìn)行偵聽設(shè)置,完成TCP服務(wù)器建立,最后等待建立連接。通過SOCKET0模式寄存器S0_MR(P3:P0)和SOCKET0端口寄存器S0_PORTR分別設(shè)置通信協(xié)議和本機(jī)端口號(在TCP服務(wù)器模式,稱之為偵聽端口號),然后向SOCKET0控制寄存器S0_CR中寫入0x0001執(zhí)行OPEN命令,執(zhí)行完OPEN命令后,如果SOCKET0狀態(tài)寄存器S0_SSR改變?yōu)镾OCK_INIT,則SOCKET0的初始化設(shè)置完成;再向S0_CR中寫入0x0002執(zhí)行偵聽命令,若S0_SSR改變?yōu)镾OCK_LISTEN,則偵聽完成,W5300設(shè)置為TCP服務(wù)器;最后等待S0_SSR改變?yōu)镾OCK_ESTABLISHED,若S0_SSR變?yōu)轭A(yù)期值,則建立了SOCKTEO連接,可以進(jìn)行數(shù)據(jù)通信。
3.4 W5300接收數(shù)據(jù)
    當(dāng)W5300控制器收到接收數(shù)據(jù)控制命令時(shí),進(jìn)入接收數(shù)據(jù)狀態(tài)。W5300接收數(shù)據(jù)的程序流程如圖3所示。首先要判斷SOCKET0的RX存儲器中是否有接收到的數(shù)據(jù),即讀取SOCKETO接收數(shù)據(jù)報(bào)長度寄存器S0_RX_RSR的值,并判斷該值是否等于零。如果S0_RX_RSR的值等于零,則繼續(xù)判斷,否則說明SOCKET0的RX存儲器接收到數(shù)據(jù),則進(jìn)入下一步接收數(shù)據(jù)操作。當(dāng)存儲器中接收到數(shù)據(jù)時(shí),要進(jìn)一步判讀SOCKET0模式寄存器S0_MR的對齊控制位,若S0_MR(ALIGN)=0,則從SOCKET0的RX FIFO寄存器S0_RX_FIFOR讀取需要接收的數(shù)據(jù)字節(jié)長度(這樣做是由TCP模式數(shù)據(jù)格式來確定的),否則從S0_RX_RSR中讀取數(shù)據(jù)字節(jié)長度。得到數(shù)據(jù)字節(jié)長度信息后要將其轉(zhuǎn)換為數(shù)據(jù)字長度,作為讀取S0_RX_FIFOR中接收內(nèi)容的循環(huán)控制量。最后,要在向S0_CR寫入0x0040,執(zhí)行REVC命令,告知主機(jī)W5300已經(jīng)完成數(shù)據(jù)的讀取。


3.5 W5300發(fā)送數(shù)據(jù)
    當(dāng)W5300控制器收到發(fā)送數(shù)據(jù)控制命令時(shí),進(jìn)入發(fā)送數(shù)據(jù)狀態(tài)。W5300發(fā)送數(shù)據(jù)程序流程如圖4所示。首先要將需要發(fā)送數(shù)據(jù)字通過S0_TX _FIFOR復(fù)制到SOCKET0的TX存儲器中,然后再將發(fā)送數(shù)據(jù)字節(jié)長度值寫入SOCKET0的寫長度寄存器S0_TX_WRSR,告知W5300需要向上位機(jī)發(fā)送數(shù)據(jù)的字節(jié)數(shù)。最后向S0_CR寫入0x0020執(zhí)行SEND命令,W5300收到此命令后對接收到的數(shù)據(jù)進(jìn)行協(xié)議處理,并發(fā)送到網(wǎng)絡(luò)中。數(shù)據(jù)發(fā)送完成后,SOCKET0的中斷寄存器S0_IR會產(chǎn)生發(fā)送完成(SENDOK)中斷,中斷值為0x0010,軟件清除該中斷后表示完成一次發(fā)送。



4 系統(tǒng)功能驗(yàn)證
    為了測試網(wǎng)絡(luò)的連通性,最直接的方式就是使用ping命令,向目標(biāo)端發(fā)送ICMP回送請求報(bào)文,看目標(biāo)端是否可達(dá)。在主機(jī)端的DOS命令環(huán)境下輸入命令:ping192.168.0.3(主機(jī)IP地址為192.168.0.2),從圖5可以看出主機(jī)端收到了ICMP回送應(yīng)答,證明目標(biāo)端的IP層以下已經(jīng)連通。


    在測試了連通性后,就可以進(jìn)行通信測試了,可通過TCP&UDP測試工具向W5300發(fā)送網(wǎng)絡(luò)控制指令,并接收W5300回傳的數(shù)據(jù)數(shù)據(jù)。如圖6所示TCP&UDP測試工具與W5300通信結(jié)果,通過上位機(jī)的TCP&UDP測試工具向系統(tǒng)網(wǎng)絡(luò)接口發(fā)送一組數(shù)據(jù),系統(tǒng)網(wǎng)絡(luò)接口將收到的數(shù)據(jù)載回傳給上位機(jī),從圖中可以看出,通信測試成功。

5 結(jié)論
    經(jīng)實(shí)驗(yàn)驗(yàn)證,系統(tǒng)運(yùn)行穩(wěn)定,實(shí)現(xiàn)了以太網(wǎng)的數(shù)據(jù)傳輸功能。系統(tǒng)結(jié)構(gòu)簡單、可靠性強(qiáng)、成本低廉,在無需引入操作系統(tǒng)的條件下,實(shí)現(xiàn)單芯片與Internet的連接,有很高的實(shí)用價(jià)值,可應(yīng)用于現(xiàn)場采集設(shè)備的遠(yuǎn)程控制和數(shù)據(jù)傳輸?shù)阮I(lǐng)域。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉