<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 手機與無(wú)線(xiàn)通信 > 設計應用 > 一種虛擬儀器通用以太網(wǎng)接口設計

一種虛擬儀器通用以太網(wǎng)接口設計

作者: 時(shí)間:2011-08-11 來(lái)源:網(wǎng)絡(luò ) 收藏
3 數據傳輸的實(shí)現過(guò)程
  通過(guò)控制器對寄存器進(jìn)行讀寫(xiě)訪(fǎng)問(wèn)操作,W3150A+就可以進(jìn)行網(wǎng)絡(luò )連接。下面介紹具體的操作過(guò)程。
  首先應進(jìn)行初始化。初始化設置包括基本設置、網(wǎng)絡(luò )信息設置,端口存儲器信息設置等,設置完后就可進(jìn)行數據傳輸。數據傳輸可以采用TCP、UDP、IP_RAW和MAC_RAW模式進(jìn)行,并可在端口n模式寄存器(Sn_MR)的協(xié)議類(lèi)型中選擇通信模式。其中,基本設置包括模式寄存器(MR)、中斷屏蔽寄存器(SIMR)、重發(fā)時(shí)間寄存器(RTR)、重發(fā)計數寄存器(RGR)等;設置網(wǎng)絡(luò )信息包括設定網(wǎng)關(guān)(GAR)、設定源硬件地址(SHAR)、設定子網(wǎng)掩碼(SUBR)、設定源IP地址(SIPR)等;而設置端口存儲器信息則主要是設定發(fā)送緩沖區和接收緩沖區的大小分配,具體可通過(guò)設置RMSR、TMSR寄存器實(shí)現。
  本系統在FPGA芯片EPM570GT100C4的基礎上可利用軟件Quartus II來(lái)開(kāi)發(fā)邏輯控制功能,從而實(shí)現對W3150A+的控制。其主要端口如下:
  nrst:復位輸入鍵,低電平有效;
  clk:時(shí)鐘輸入;
  nwrst:復位輸出,可復位W3150A+和RTL8201;
  nwr:對W3150A+寫(xiě)使能信號,低電平有效;
  nrd:對W3150A+讀使能信號,低電平有效;
  ncs:W3150A+片選信號,低電平有效;
  address:15位地址信號;
  data:8位數據信號;
  本通信采用的是UDP通信方式,其通信流程圖如圖5所示。

本文引用地址:http://dyxdggzs.com/article/155922.htm

UDP通信流程圖


  端口初始化主要是對端口進(jìn)行初始化,包括設置UDP模式、設置端口號,設置OPEN命令;通過(guò)Sn_RX_RSR寄存器的值可檢測是否收到數據,若非零,即進(jìn)入數據接收處理;接收處理時(shí),首先讀取Sn_RX_RSR寄存器的值,即接收數據字節數,然后計算偏址和實(shí)際物理地址,再根據物理地址讀取數據。在讀取數據過(guò)程中,如果物理地址到達該端口設定的高限地址,則先讀高限地址的數據,然后將物理地址改為基地址,然后再從基地址繼續讀取剩余的數據。讀完所有的數據后,可將Sn_RX_RR的值加上讀取的數據長(cháng)度,然后寫(xiě)入sn_RX_BASE,最后再向端口n的指令寄存器寫(xiě)入RECV命令。
  發(fā)送數據?/發(fā)送處理的實(shí)現過(guò)程是首先讀取S_TX_FSR寄存器的值以便能使用發(fā)送數據空間的大小來(lái)計算偏址和實(shí)際物理地址,然后再從物理地址寫(xiě)入要發(fā)送的數據。在發(fā)送數據過(guò)程中,如果物理地址已到達該端口設定的高限地址,則先將數據寫(xiě)入高限地址,然后再將物理地址改為基地址,接著(zhù)從基地址繼續寫(xiě)入數據。寫(xiě)完所有的數據后,再將Sn_TX_WR的值加上發(fā)送的數據長(cháng)度,然后寫(xiě)入Sn_TX_BASE,最后向端口n的指令寄存器寫(xiě)入SEND命令。發(fā)送完成的確定可在發(fā)送(SEND)命令后,通過(guò)檢測Sn_CR的值來(lái)判斷數據是否全部發(fā)送完成。
  當遠程對端不存在或數據傳輸不正常時(shí),將產(chǎn)生超時(shí)錯誤。此次可以通過(guò)對Sn_IR(TIMEOUT bit)檢測來(lái)判斷是否超時(shí)。當操作全部完成時(shí),應關(guān)閉窗口,即將Sn_CR寄存器置為CLOSE。
  4 結束語(yǔ)
  本文介紹了及其數據傳輸的實(shí)現過(guò)程。利用本文的方法可以使正常運行,故可為后續的開(kāi)發(fā)奠定基礎。事實(shí)上,本方法已經(jīng)過(guò)多次試驗證明:完全滿(mǎn)足工程需要。

W3150A+與FPGA的接口電路


上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>