《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 模擬設(shè)計(jì) > 設(shè)計(jì)應(yīng)用 > 基于W3150A_的虛擬儀器通用以太網(wǎng)接口設(shè)計(jì)
基于W3150A_的虛擬儀器通用以太網(wǎng)接口設(shè)計(jì)
電子市場
摘要: 為了在虛擬儀器設(shè)計(jì)中使用以太網(wǎng)總線來將數(shù)據(jù)采集系統(tǒng)納入局域網(wǎng)甚至Internet,從而實(shí)現(xiàn)虛擬儀器的網(wǎng)絡(luò)化,文中給出了一款基于TCP/IP協(xié)議專用芯片的以太網(wǎng)接口的設(shè)計(jì)方法。此接口選用Altera公司的FPGA芯片EPM570GT100C4,并配合專用協(xié)議集成芯片W3150A+和物理層芯片RTL8201,可成功實(shí)現(xiàn)以太網(wǎng)的數(shù)據(jù)傳輸。
Abstract:
Key words :

  0 引言

  虛擬儀器以其性價比高、開放性強(qiáng)等優(yōu)勢迅速占領(lǐng)了市場, 并成為測控儀器新的經(jīng)濟(jì)增長點(diǎn)。步入信息化時代最顯著的標(biāo)志就是信息網(wǎng)絡(luò)在各行業(yè)中的滲透和普及, 其中以太網(wǎng)最為典型。以太網(wǎng)作為一種成本低廉、吞吐能力強(qiáng)、適應(yīng)性好、網(wǎng)絡(luò)管理能力日益提高的網(wǎng)絡(luò), 它可以方便地將數(shù)據(jù)采集系統(tǒng)納入局域網(wǎng)甚至Internet。

  而以太網(wǎng)總線則有可能代替現(xiàn)行的其他總線方式而成為虛擬儀器數(shù)據(jù)采集系統(tǒng)的首選接口

  1 以太網(wǎng)接口的總體設(shè)計(jì)

  1.1 以太網(wǎng)接口設(shè)計(jì)方案選擇

  以太網(wǎng)接口的設(shè)計(jì)通常有三種方案: 其一是采用FPGA實(shí)現(xiàn)物理層、網(wǎng)絡(luò)層、接入層和傳輸層等各層的描述, 該方案要自行實(shí)現(xiàn)復(fù)雜的TCP/IP協(xié)議, 難度較大; 二是基于物理層網(wǎng)絡(luò)控制器和微處理器來實(shí)現(xiàn)網(wǎng)絡(luò)傳輸, 該方案的優(yōu)點(diǎn)是靈活性強(qiáng), 可以針對不同的系統(tǒng)采用不同的協(xié)議,可實(shí)現(xiàn)協(xié)議的精簡; 三是采用專用的協(xié)議處理芯片實(shí)現(xiàn)以太網(wǎng)數(shù)據(jù)傳輸, 該方案的硬件電路相對簡單, 開發(fā)周期短, 并有越來越多的芯片可供選擇, 且集成了多種協(xié)議, 使用十分方便。

  本設(shè)計(jì)采用第三種接口方案, 即采用專用的TCP/IP協(xié)議集成芯片, 并由FPGA實(shí)現(xiàn)對協(xié)議處理芯片的控制, 從而實(shí)現(xiàn)以太網(wǎng)數(shù)據(jù)傳輸。協(xié)議處理芯片選用內(nèi)部固化了TCP/IP協(xié)議的W3150A+并配合物理層芯片RTL8201, 該方法硬件電路相對簡單, 并可利用邏輯硬件實(shí)現(xiàn), 從而使系統(tǒng)設(shè)計(jì)更加簡單、緊湊。

  1.2 以太網(wǎng)控制芯片W3150A+簡介

  W3150A+是WIZnet公司專門為以太網(wǎng)互聯(lián)和嵌入式系統(tǒng)推出的TCP/IP協(xié)議棧芯片。W3150A+能夠?qū)崿F(xiàn)TCP、UDP、IP Ver.4、DHCP、ARP和ICMP等協(xié)議, 同時, 網(wǎng)絡(luò)接口層(包括MAC子層和DLC子層) 也可在該芯片中實(shí)現(xiàn)。同時還能提供四路網(wǎng)絡(luò)連接, 其內(nèi)部有16KB的雙口RAM可作為數(shù)據(jù)緩沖區(qū), 并可支持全雙工模式, 同時帶有標(biāo)準(zhǔn)的MII接口, 可方便連接物理層接口芯片。

  此外, WIZnet公司還提供了Socket API程序包,可以加速應(yīng)用程序的開發(fā)。

  圖1所示是W3150A+芯片的結(jié)構(gòu)框圖。由圖1可見, W3150A+主要由4部分組成。其中第一部分是MCU接口。W3150A+提供有直接總線接口、間接總線接口和SPI 總線接口。既適合與類似8051單片機(jī)的總線連接, 也非常適合與只有IO口而沒有總線接口的控制器連接; 第二部分是TCP/IP協(xié)議棧。W3150A+已經(jīng)完全固化了從MAC層、網(wǎng)絡(luò)層到傳輸層所需要的協(xié)議, 因此, 用戶無需了解這些協(xié)議的具體實(shí)現(xiàn)方法和實(shí)現(xiàn)代碼; 第三部分是接收和發(fā)送緩沖區(qū), 通過以太網(wǎng)進(jìn)行通信的數(shù)據(jù)就是通過這些緩沖區(qū)來交換的; 第四部分是以太網(wǎng)物理層接口(MII接口)。W3150A+可以與物理層芯片RTL8201無縫連接, 從而實(shí)現(xiàn)10/100BaseT以太網(wǎng)物理接口。

W3150A+芯片結(jié)構(gòu)圖

圖1 W3150A+芯片結(jié)構(gòu)圖

  W3150A+內(nèi)部的寄存器分為兩個存儲器和兩類寄存器。兩個存儲器分別用于數(shù)據(jù)傳輸?shù)妮斎牒洼敵觯?兩類寄存器分別是通用寄存器和端口寄存器, 每類寄存器都含有大量的狀態(tài)字控制寄存器。下面簡要介紹比較重要的狀態(tài)字控制寄存器。

  Sn_MR: 端口n模式寄存器, 該寄存器用于設(shè)置端口的選項(xiàng)或協(xié)議類型;

  Sn_CR: 端口n命令寄存器, 該寄存器用來設(shè)置端口的初始化、關(guān)閉、建立連接、斷開連接、數(shù)據(jù)傳輸以及命令接受等;

  Sn_IR: 端口n中斷寄存器, 該寄存器用于顯示建立和中止連接、接收數(shù)據(jù)、發(fā)送完成以及時間溢出等信息;

  Sn_PORT: 端口n的端口號寄存器, 該寄存器可在TCP或UDP模式下設(shè)定對應(yīng)的端口號;

  S_TX_FSR: 端口n發(fā)送存儲器剩余空間寄存器, 該寄存器用于指示用戶可以使用的發(fā)送數(shù)據(jù)空間的大小, 在發(fā)送數(shù)據(jù)前, 用戶必須先檢查剩余空間的大小, 然后控制發(fā)送數(shù)據(jù)的字節(jié)數(shù);

  Sn_TX_RR: 端口n發(fā)送存儲器讀指針寄存器, 該寄存器用于指示端口在發(fā)送過程完成后發(fā)送存儲器的當(dāng)前位置。當(dāng)端口n的命令寄存器收  到SEND 命令后, 可隨即從當(dāng)前Sn_TX_RR 到Sn_TX_WR 的數(shù)據(jù)中發(fā)送出去, 發(fā)送完成后,Sn_TX_RR的值自動改變;

  Sn_TX_WR: 端口n傳輸寫指針寄存器, 該寄存器可指示向TX存儲器寫入數(shù)據(jù)時的地址;

  Sn_RX-RSR: 端口n接收數(shù)據(jù)字節(jié)數(shù)寄存器,該寄存器只是端口接收數(shù)據(jù)緩沖區(qū)接收數(shù)據(jù)的字節(jié)數(shù), 通常可由Sn_TX_RR到Sn_TX_WR的值計(jì)算得出, 向端口n命令寄存器寫入RECV命令后,寄存器的值將自動改變, 并可以接收遠(yuǎn)程對端的數(shù)據(jù);

  Sn_RX_RD: 端口n接收緩沖區(qū)讀指針寄存器, 該寄存器只是端口接收過程完成后的讀地址信息。

  W3150A+內(nèi)部有4 個獨(dú)立的端口(Socket) ,它們的狀態(tài)、控制分別映射在第二到第五寄存器區(qū)。主要用于實(shí)現(xiàn)端口工作模式的控制(TCP服務(wù)器、TCP客戶端、UDP或PPPOE等)、設(shè)置該端口的端口號, 設(shè)置該端口目的主機(jī)IP地址和端口號, 以及端口接收和發(fā)送數(shù)據(jù)控制等。

  2 以太網(wǎng)接口的硬件設(shè)計(jì)

  本接口的硬件設(shè)計(jì)主要包括FPGA 與W3150A+的接口設(shè)計(jì), 物理層芯片RTL8201與W3150A+的接口設(shè)計(jì)以及時鐘模塊和電源模塊的設(shè)計(jì)。其硬件設(shè)計(jì)框圖如圖2所示。

硬件設(shè)計(jì)結(jié)構(gòu)框圖

圖2 硬件設(shè)計(jì)結(jié)構(gòu)框圖。

  2.1 W3150A+與FPGA的接口設(shè)計(jì)

  隨著半導(dǎo)體技術(shù)的飛速發(fā)展, FPGA (FieldProgrammable Gate Array) 的計(jì)算能力、容量以及可靠性有了很大的提高。它正以高度靈活的用戶現(xiàn)場編程功能、反復(fù)可改寫功能、高可靠性等優(yōu)點(diǎn), 成為數(shù)字電路、數(shù)字信號處理等領(lǐng)域的新寵。

  考慮到成本、實(shí)用性以及功耗, 本設(shè)計(jì)選用的FPGA 芯片是Altera 公司MAXII 系列的EPM570GT100C4。MAXII系列器件是一種非易失性CPLD, 采用0.18μm的制造工藝, 并包含有240到2210個邏輯單元和8Kbits非易失性存儲器, 它相對于其他的CPLD可以提供快速、穩(wěn)定、數(shù)量更多的I/O管腳。

  W3150A+與微處理器芯片的接口方式有三種: 直接總線接口模式、間接總線接口模式和SPI模式。其中直接總線接口模式適用于大數(shù)據(jù)量傳輸?shù)那闆r; SPI模式的接口連線較少, 適用于數(shù)據(jù)量不大, 傳輸速率相對較低的情況; 間接總線接口模式下的數(shù)據(jù)傳輸性能則介于它們兩者之間。本系統(tǒng)采用直接總線接口模式, 以便最大限度地提高數(shù)據(jù)的傳輸速率。其具體的接口電路如圖3所示。

W3150A+與FPGA的接口電路

圖3 W3150A+與FPGA的接口電路。

  2.2 物理層芯片與W3150A+的接口設(shè)計(jì)

  RTL8201BL是一個單端口的物理層收發(fā)器,它只有一個MII/SNI (媒體獨(dú)立接口/串行網(wǎng)絡(luò)接口) 接口。可用于實(shí)現(xiàn)全部的10/100M以太網(wǎng)物理層功能, 包括物理層編碼子層(PCS)、物理層介質(zhì)連接設(shè)備(PMA)、雙絞線物理媒介相關(guān)子層(TP-PMD)、10Base-Tx編解碼和雙絞線媒介訪問單元(TPMAU)。PECL接口可支持連接一個外部的100Base-FX光纖收發(fā)器。這款芯片使用先進(jìn)的CMOS工藝制作, 可以滿足低壓低功耗的需求。

  RTL8201BL與W3150A+可通過標(biāo)準(zhǔn)MII接口相連, 其中引腳RX_CLK、RXDV、RXD [0:3] 以及COL用于數(shù)據(jù)的接收, 而TX_CLK、TXE、TXD[0:3] 用于數(shù)據(jù)的發(fā)送。其具體的電路圖如圖4所示。

物理層芯片與W3150A+的接口電路

圖4 物理層芯片與W3150A+的接口電路。

  3 數(shù)據(jù)傳輸?shù)膶?shí)現(xiàn)過程

  通過控制器對寄存器進(jìn)行讀寫訪問操作, W3150A+就可以進(jìn)行網(wǎng)絡(luò)連接。下面介紹具體的操作過程。

  首先應(yīng)進(jìn)行初始化。初始化設(shè)置包括基本設(shè)置、網(wǎng)絡(luò)信息設(shè)置, 端口存儲器信息設(shè)置等, 設(shè)置完后就可進(jìn)行數(shù)據(jù)傳輸。數(shù)據(jù)傳輸可以采用TCP、UDP、IP_RAW和MAC_RAW模式進(jìn)行, 并可在端口n模式寄存器(Sn_MR)的協(xié)議類型中選擇通信模式。其中, 基本設(shè)置包括模式寄存器(MR)、中斷屏蔽寄存器(SIMR)、重發(fā)時間寄存器(RTR)、重發(fā)計(jì)數(shù)寄存器(RCR) 等; 設(shè)置網(wǎng)絡(luò)信息包括設(shè)定網(wǎng)關(guān)(GAR)、設(shè)定源硬件地址(SHAR)、設(shè)定子網(wǎng)掩碼(SUBR)、設(shè)定源IP地址(SIPR) 等; 而設(shè)置端口存儲器信息則主要是設(shè)定發(fā)送緩沖區(qū)和接收緩沖區(qū)的大小分配, 具體可通過設(shè)置RMSR、TMSR寄存器實(shí)現(xiàn)。

  本系統(tǒng)在FPGA芯片EPM570GT100C4的基礎(chǔ)上可利用軟件Quartus II來開發(fā)邏輯控制功能, 從而實(shí)現(xiàn)對W3150A+的控制。其主要端口如下:

  nrst: 復(fù)位輸入鍵, 低電平有效;

  clk : 時鐘輸入;

  nwrst 復(fù)位輸出, 可復(fù)位W3150A + 和

  RTL8201;

  nwr: 對W3150A+寫使能信號, 低電平有效;

  nrd: 對W3150A+讀使能信號, 低電平有效;

  ncs: W3150A+片選信號, 低電平有效;

  address: 15位地址信號;

  data: 8位數(shù)據(jù)信號;

  本接口通信設(shè)計(jì)采用的是UDP通信方式, 其通信流程圖如圖5所示。

UDP通信流程圖

圖5 UDP通信流程圖。

  端口初始化主要是對端口進(jìn)行初始化, 包括設(shè)置UDP模式、設(shè)置端口號, 設(shè)置OPEN命令;通過Sn_RX_RSR寄存器的值可檢測是否收到數(shù)據(jù), 若非零, 即進(jìn)入數(shù)據(jù)接收處理; 接收處理時, 首先讀取Sn_RX_RSR寄存器的值, 即接收數(shù)據(jù)字節(jié)數(shù), 然后計(jì)算偏址和實(shí)際物理地址, 再根據(jù)物理地址讀取數(shù)據(jù)。在讀取數(shù)據(jù)過程中, 如果物理地址到達(dá)該端口設(shè)定的高限地址, 則先讀高限地址的數(shù)據(jù), 然后將物理地址改為基地址, 然后再從基地址繼續(xù)讀取剩余的數(shù)據(jù)。讀完所有的數(shù)據(jù)后, 可將Sn_RX_RR的值加上讀取的數(shù)據(jù)長度, 然后寫入Sn_RX_BASE, 最后再向端口n的指令寄存器寫入RECV命令。

  發(fā)送數(shù)據(jù)? /發(fā)送處理的實(shí)現(xiàn)過程是首先讀取S_TX_FSR寄存器的值以便能使用發(fā)送數(shù)據(jù)空間的大小來計(jì)算偏址和實(shí)際物理地址, 然后再從物理地址寫入要發(fā)送的數(shù)據(jù)。在發(fā)送數(shù)據(jù)過程中, 如果物理地址已到達(dá)該端口設(shè)定的高限地址, 則先將數(shù)據(jù)寫入高限地址, 然后再將物理地址改為基地址, 接著從基地址繼續(xù)寫入數(shù)據(jù)。寫完所有的數(shù)據(jù)后, 再將Sn_TX_WR的值加上發(fā)送的數(shù)據(jù)長度, 然后寫入Sn_TX_BASE, 最后向端口n的指令寄存器寫入SEND命令。

  發(fā)送完成的確定可在發(fā)送(SEND) 命令后,通過檢測Sn_CR的值來判斷數(shù)據(jù)是否全部發(fā)送完成。

  當(dāng)遠(yuǎn)程對端不存在或數(shù)據(jù)傳輸不正常時, 將產(chǎn)生超時錯誤。此次可以通過對Sn_IR (TIMEOUTbit) 檢測來判斷是否超時。

  當(dāng)操作全部完成時, 應(yīng)關(guān)閉窗口, 即將Sn_CR寄存器置為CLOSE。

  4 結(jié)束語

  本文介紹了以太網(wǎng)接口的設(shè)計(jì)及其數(shù)據(jù)傳輸?shù)膶?shí)現(xiàn)過程。利用本文的方法可以使以太網(wǎng)接口正常運(yùn)行, 故可為后續(xù)的虛擬儀器開發(fā)奠定基礎(chǔ)。事實(shí)上, 本方法已經(jīng)過多次試驗(yàn)證明: 完全滿足工程需要。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲欧美日韩精品久久久| 欧美在线观看www| 日韩午夜激情电影| 在线观看91精品国产麻豆| 国产精品一级二级三级| 欧美午夜性色大片在线观看| 欧美国产一区视频在线观看| 久久综合中文色婷婷| 久久久美女艺术照精彩视频福利播放| 亚洲一区二区在| 99re6热只有精品免费观看| 亚洲国产一区二区三区高清 | 黄色日韩在线| 国产一区二区三区四区| 国产精品一级久久久| 国产精品国产三级国产| 欧美视频在线观看 亚洲欧| 欧美极品一区| 欧美精品一区二区三| 欧美激情综合| 欧美日韩精品免费在线观看视频| 欧美激情综合在线| 欧美精品在线极品| 欧美高清视频一区| 欧美国产欧美综合| 欧美日本网站| 欧美午夜精品久久久久久浪潮| 欧美日韩一二三区| 欧美日韩中文精品| 国产精品日韩欧美一区二区| 国产精品捆绑调教| 国产精品五月天| 国产一级一区二区| 狠狠色狠狠色综合日日91app| 韩国视频理论视频久久| 精品成人国产| 亚洲福利久久| 日韩视频不卡| 亚洲欧美美女| 久久精品成人一区二区三区| 亚洲国产精品激情在线观看| 亚洲精品视频在线观看免费| 亚洲视频在线二区| 午夜久久美女| 久久久精品日韩欧美| 美玉足脚交一区二区三区图片| 欧美电影免费观看高清| 欧美日本一道本| 国产毛片一区| 亚洲电影免费观看高清| 亚洲美女91| 午夜精品偷拍| 91久久精品国产91久久性色| 一区二区三区四区在线| 久久国产精品毛片| 久久综合国产精品| 欧美日韩国产精品一卡| 国产乱理伦片在线观看夜一区| 国产在线一区二区三区四区| 亚洲精品欧美专区| 午夜精品一区二区三区在线播放 | 国产精品一区二区三区久久久 | 国产亚洲成人一区| 亚洲国产精品久久91精品| 99re6这里只有精品| 午夜欧美精品| 亚洲免费高清视频| 欧美一级午夜免费电影| 美女国内精品自产拍在线播放| 欧美日韩一区三区| 国产真实乱偷精品视频免| 亚洲精品一区二区三区99| 亚洲欧美日韩网| 亚洲精品久久久久久下一站 | 亚洲精选中文字幕| 小黄鸭视频精品导航| 99精品欧美一区二区蜜桃免费| 欧美自拍丝袜亚洲| 欧美精品一区二区精品网| 国产欧美日韩亚州综合| 亚洲精品国产拍免费91在线| 午夜欧美精品久久久久久久| 日韩一区二区高清| 久久精品国产欧美激情| 欧美日韩系列| 亚洲高清电影| 亚洲欧美日韩一区二区在线| 日韩香蕉视频| 老牛影视一区二区三区| 国产精品美腿一区在线看| 亚洲国产精品久久久久秋霞影院 | 亚洲剧情一区二区| 久久国产乱子精品免费女 | 影音先锋久久资源网| 亚洲午夜免费视频| 日韩视频在线观看免费| 久久久久久网址| 国产精品欧美日韩| 亚洲蜜桃精久久久久久久| 亚洲福利小视频| 久久爱91午夜羞羞| 国产精品白丝jk黑袜喷水| 亚洲经典在线看| 久久成人精品无人区| 欧美一区二区福利在线| 国产精品videossex久久发布| 亚洲日本va午夜在线影院| 亚洲大胆在线| 久久激情五月婷婷| 国产精品麻豆成人av电影艾秋| 亚洲美女黄网| 亚洲精品专区| 欧美成人有码| 亚洲高清自拍| 亚洲国产精品t66y| 久久伊人亚洲| 精品1区2区| 亚洲大胆人体在线| 久久久久在线观看| 国产一区二区三区黄| 亚洲欧美日韩精品在线| 午夜亚洲激情| 国产精品视频xxxx| 亚洲综合国产精品| 午夜精品一区二区三区电影天堂| 欧美日韩在线视频一区二区| 亚洲三级免费电影| 亚洲美女在线一区| 欧美精品九九99久久| 亚洲韩国青草视频| 日韩亚洲欧美综合| 欧美片网站免费| 亚洲精品综合| 亚洲一级黄色| 国产精品二区影院| 亚洲一区二区三区免费观看| 午夜精品久久久久久久99水蜜桃| 国产精品av久久久久久麻豆网| 中文精品一区二区三区| 亚洲欧美日韩精品久久久| 国产精品久久久久久五月尺| 亚洲伊人一本大道中文字幕| 欧美一区二区性| 国产午夜精品久久久久久免费视| 欧美一区二区三区的| 久久午夜电影| 亚洲二区三区四区| 中日韩高清电影网| 国产精品久久久久9999吃药| 亚洲免费在线看| 久久九九热免费视频| 狠狠色丁香婷婷综合影院| 亚洲国产小视频| 欧美日韩不卡合集视频| 99精品欧美一区二区蜜桃免费| 亚洲免费影视| 国产一区二区三区在线播放免费观看| 欧美一区二区三区在线免费观看| 久久在线免费观看视频| 亚洲国产精品久久91精品| 在线亚洲国产精品网站| 国产精品久久久对白| 欧美一站二站| 欧美国产激情二区三区| a91a精品视频在线观看| 欧美一区二区三区四区在线| 一区二区在线视频播放| 一区二区电影免费观看| 国产欧美日韩三区| 亚洲国产天堂久久综合| 欧美理论片在线观看| 亚洲一区美女视频在线观看免费| 久久久另类综合| 亚洲日韩第九十九页| 亚洲在线中文字幕| 国产亚洲精品bt天堂精选| 亚洲日本欧美| 国产精品久久久久aaaa| 亚洲第一精品在线| 欧美日韩免费一区二区三区| 亚洲欧美在线一区| 欧美国产日产韩国视频| 亚洲综合社区| 女人色偷偷aa久久天堂| 亚洲视频一区| 免费中文日韩| 亚洲欧美国产另类| 欧美黄网免费在线观看| 亚洲男女毛片无遮挡| 男男成人高潮片免费网站| 亚洲小说欧美另类社区| 裸体素人女欧美日韩| 一区二区三区不卡视频在线观看| 久久久精品国产免费观看同学| 99精品欧美一区二区三区| 久久婷婷麻豆| 亚洲男女自偷自拍| 欧美日韩国产一区二区三区| 亚洲福利视频专区| 国产精品草莓在线免费观看|