一種虛擬儀器通用以太網(wǎng)接口設(shè)計(jì)
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),可以針對(duì)不同的系統(tǒng)采用不同的協(xié)議,可實(shí)現(xiàn)協(xié)議的精簡(jiǎn):三是采用專用的協(xié)議處理芯片實(shí)現(xiàn)以太網(wǎng)數(shù)據(jù)傳輸,該方案的硬件電路相對(duì)簡(jiǎn)單,開發(fā)周期短,并有越來越多的芯片可供選擇,且集成了多種協(xié)議,使用十分方便。
本設(shè)計(jì)采用第三種接口方案,即采用專用的TCP/IP協(xié)議集成芯片,并由FPGA實(shí)現(xiàn)對(duì)協(xié)議處理芯片的控制,從而實(shí)現(xiàn)以太網(wǎng)數(shù)據(jù)傳輸。協(xié)議處理芯片選用內(nèi)部固化了TCP/IP協(xié)議的W3150A+并配合物理層芯片RTL8201,該方法硬件電路相對(duì)簡(jiǎn)單,并可利用邏輯硬件實(shí)現(xiàn),從而使系統(tǒng)設(shè)計(jì)更加簡(jiǎn)單、緊湊。
1.2 以太網(wǎng)控制芯片W3150A+簡(jiǎn)介
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é)議,同時(shí),網(wǎng)絡(luò)接口層(包括MAC子層和DLC子層)也可在該芯片中實(shí)現(xiàn)。同時(shí)還能提供四路網(wǎng)絡(luò)連接,其內(nèi)部有16KB的雙口RAM可作為數(shù)據(jù)緩沖區(qū),并可支持全雙工模式,同時(shí)帶有標(biāo)準(zhǔn)的MD接口,可方便連接物理層接口芯片。此外,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+內(nèi)部的寄存器分為兩個(gè)存儲(chǔ)器和兩類寄存器。兩個(gè)存儲(chǔ)器分別用于數(shù)據(jù)傳輸?shù)妮斎牒洼敵,兩類寄存器分別是通用寄存器和端口寄存器,每類寄存器都含有大量的狀態(tài)字控制寄存器。下面簡(jiǎn)要介紹比較重要的狀態(tài)字控制寄存器。
Sn_MR:端口n模式寄存器,該寄存器用于設(shè)置端口的選項(xiàng)或協(xié)議類型;
Sn_CR:端口n命令寄存器,該寄存器用來設(shè)置端口的初始化、關(guān)閉、建立連接、斷開連接、數(shù)據(jù)傳輸以及命令接受等;
Sn_IR:端口n中斷寄存器,該寄存器用于顯示建立和中止連接、接收數(shù)據(jù)、發(fā)送完成以及時(shí)間溢出等信息;
Sn_PORT:端口n的端口號(hào)寄存器,該寄存器可在TCP或UDP模式下設(shè)定對(duì)應(yīng)的端口號(hào);
S_TX_FSR:端口n發(fā)送存儲(chǔ)器剩余空間寄存器,該寄存器用于指示用戶可以使用的發(fā)送數(shù)據(jù)空間的大小,在發(fā)送數(shù)據(jù)前,用戶必須先檢查剩余空間的大小,然后控制發(fā)送數(shù)據(jù)的字節(jié)數(shù);
Sn_TX_RR:端口n發(fā)送存儲(chǔ)器讀指針寄存器,該寄存器用于指示端口在發(fā)送過程完成后發(fā)送存儲(chǔ)器的當(dāng)前位置。當(dāng)端口n的命令寄存器收到SEND命令后,可隨即從當(dāng)前Sn_TX_RR到Sn_TX_WR的數(shù)據(jù)中發(fā)送出去,發(fā)送完成后,Sn_TX_RR的值自動(dòng)改變;
Sn_TX_WR:端口n傳輸寫指針寄存器,該寄存器可指示向TX存儲(chǔ)器寫入數(shù)據(jù)時(shí)的地址;
Sn_RX_RSR:端口n接收數(shù)據(jù)字節(jié)數(shù)寄存器,該寄存器只是端口接收數(shù)據(jù)緩沖區(qū)接收數(shù)據(jù)的字節(jié)數(shù),通?捎蒘n_TX_RR到Sn_TX_WR的值計(jì)算得出,向端口n命令寄存器寫入RECV命令后,寄存器的值將自動(dòng)改變,并可以接收遠(yuǎn)程對(duì)端的數(shù)據(jù);
Sn_RX_RD:端口n接收緩沖區(qū)讀指針寄存器,該寄存器只是端口接收過程完成后的讀地址信息。
W3150A+內(nèi)部有4個(gè)獨(dú)立的端口(Socket),它們的狀態(tài)、控制分別映射在第二到第五寄存器區(qū)。主要用于實(shí)現(xiàn)端口工作模式的控制(TCP服務(wù)器、TCP客戶端、UDP或PPPOE等)、設(shè)置該端口的端口號(hào),設(shè)置該端口目的主機(jī)IP地址和端口號(hào),以及端口接收和發(fā)送數(shù)據(jù)控制等。
2 以太網(wǎng)接口的硬件設(shè)計(jì)
本接口的硬件設(shè)計(jì)主要包括FPGA與W3150A+的接口設(shè)計(jì),物理層芯片RTL8201與W3150A+的接口設(shè)計(jì)以及時(shí)鐘模塊和電源模塊的設(shè)計(jì)。其硬件設(shè)計(jì)框圖如圖2所示。
2.1 W3150A+與FPGA的接口設(shè)計(jì)
隨著半導(dǎo)體技術(shù)的飛速發(fā)展,F(xiàn)PGA(Field Programmable Gate Array)的計(jì)算能力、容量以及可靠性有了很大的提高。它正以高度靈活的用戶現(xiàn)場(chǎng)編程功能、反復(fù)可改寫功能、高可靠性等優(yōu)點(diǎn),成為數(shù)字電路、數(shù)字信號(hào)處理等領(lǐng)域的新寵。
考慮到成本、實(shí)用性以及功耗,本設(shè)計(jì)選用的FPGA芯片是Altera公司MAXII系列的EPM570GT100C4。MAXII系列器件是一種非易失性CPLD,采用0.18μm的制造工藝,并包含有240到2210個(gè)邏輯單元和8Kbits非易失性存儲(chǔ)器,它相對(duì)于其他的CPLD可以提供快速、穩(wěn)定、數(shù)量更多的I/O管腳。
W3150A+與微處理器芯片的接口方式有三種:直接總線接口模式、間接總線接口模式和SPI模式。其中直接總線接口模式適用于大數(shù)據(jù)量傳輸?shù)那闆r;SPI模式的接口連線較少,適用于數(shù)據(jù)量不大,傳輸速率相對(duì)較低的情況;間接總線接口模式下的數(shù)據(jù)傳輸性能則介于它們兩者之間。本系統(tǒng)采用直接總線接口模式,以便較大限度地提高數(shù)據(jù)的傳輸速率。其具體的接口電路如圖3所示。
2.2 物理層芯片與W3150A+的接口設(shè)計(jì)
RTL8201BL是一個(gè)單端口的物理層收發(fā)器,它只有一個(gè)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接口可支持連接一個(gè)外部的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所示。
3 數(shù)據(jù)傳輸?shù)膶?shí)現(xiàn)過程
通過控制器對(duì)寄存器進(jìn)行讀寫訪問操作,W3150A+就可以進(jìn)行網(wǎng)絡(luò)連接。下面介紹具體的操作過程。
首先應(yīng)進(jìn)行初始化。初始化設(shè)置包括基本設(shè)置、網(wǎng)絡(luò)信息設(shè)置,端口存儲(chǔ)器信息設(shè)置等,設(shè)置完后就可進(jìn)行數(shù)據(jù)傳輸。數(shù)據(jù)傳輸可以采用TCP、UDP、IP_RAW和MAC_RAW模式進(jìn)行,并可在端口n模式寄存器(Sn_MR)的協(xié)議類型中選擇通信模式。其中,基本設(shè)置包括模式寄存器(MR)、中斷屏蔽寄存器(SIMR)、重發(fā)時(shí)間寄存器(RTR)、重發(fā)計(jì)數(shù)寄存器(RGR)等;設(shè)置網(wǎng)絡(luò)信息包括設(shè)定網(wǎng)關(guān)(GAR)、設(shè)定源硬件地址(SHAR)、設(shè)定子網(wǎng)掩碼(SUBR)、設(shè)定源IP地址(SIPR)等;而設(shè)置端口存儲(chǔ)器信息則主要是設(shè)定發(fā)送緩沖區(qū)和接收緩沖區(qū)的大小分配,具體可通過設(shè)置RMSR、TMSR寄存器實(shí)現(xiàn)。
本系統(tǒng)在FPGA芯片EPM570GT100C4的基礎(chǔ)上可利用軟件Quartus II來開發(fā)邏輯控制功能,從而實(shí)現(xiàn)對(duì)W3150A+的控制。其主要端口如下:
nrst:復(fù)位輸入鍵,低電平有效;
clk:時(shí)鐘輸入;
nwrst:復(fù)位輸出,可復(fù)位W3150A+和RTL8201;
nwr:對(duì)W3150A+寫使能信號(hào),低電平有效;
nrd:對(duì)W3150A+讀使能信號(hào),低電平有效;
ncs:W3150A+片選信號(hào),低電平有效;
address:15位地址信號(hào);
data:8位數(shù)據(jù)信號(hào);
本接口通信設(shè)計(jì)采用的是UDP通信方式,其通信流程圖如圖5所示。
端口初始化主要是對(duì)端口進(jìn)行初始化,包括設(shè)置UDP模式、設(shè)置端口號(hào),設(shè)置OPEN命令;通過Sn_RX_RSR寄存器的值可檢測(cè)是否收到數(shù)據(jù),若非零,即進(jìn)入數(shù)據(jù)接收處理;接收處理時(shí),首先讀取Sn_RX_RSR寄存器的值,即接收數(shù)據(jù)字節(jié)數(shù),然后計(jì)算偏址和實(shí)際物理地址,再根據(jù)物理地址讀取數(shù)據(jù)。在讀取數(shù)據(jù)過程中,如果物理地址到達(dá)該端口設(shè)定的高限地址,則先讀高限地址的數(shù)據(jù),然后將物理地址改為基地址,然后再?gòu)幕刂防^續(xù)讀取剩余的數(shù)據(jù)。讀完所有的數(shù)據(jù)后,可將Sn_RX_RR的值加上讀取的數(shù)據(jù)長(zhǎng)度,然后寫入sn_RX_
相關(guān)閱讀:
- ...·圖文詳解汽車儀表板背后的車規(guī)級(jí)安全設(shè)計(jì)要求
- ...·使用有安全保障的閃存存儲(chǔ)構(gòu)建安全的汽車系統(tǒng)
- ...·反向偏置差分線性傳感器的較新進(jìn)展和應(yīng)用
- ...·艾德克斯測(cè)評(píng)某品牌智能插座——待機(jī)功耗篇
- ...·三線電阻式溫度檢測(cè)器測(cè)量系統(tǒng)中勵(lì)磁電流失配的影響(續(xù))
- ...·三線電阻式溫度檢測(cè)器測(cè)量系統(tǒng)中勵(lì)磁電流失配的影響
- ...·RTD測(cè)量系統(tǒng)中勵(lì)磁電流失配的影響
- ...·藍(lán)牙BR/EDR 和 Bluetooth Smart的十大重要區(qū)別
- ...·IoT網(wǎng)關(guān)平臺(tái)與應(yīng)用
- ...·增強(qiáng)版ARM DesignStart:通向定制化SoC的較快、較低風(fēng)險(xiǎn)之路
- ...·實(shí)體零售轉(zhuǎn)型O2O,倉(cāng)儲(chǔ)物流的智能化水平從何提升?
- ...·幾種車用LED驅(qū)動(dòng)方案的比較
- ...·藍(lán)牙配對(duì)第二篇:密鑰生成方法
- ...·中電瑞華推出領(lǐng)先的無線數(shù)據(jù)采集解決方案
- ...·安森美半導(dǎo)體配合市場(chǎng)趨勢(shì)的無線充電方案
- ...·安森美半導(dǎo)體配合汽車照明設(shè)計(jì)趨勢(shì)的解決方案
- ...· “芯創(chuàng)杯”首屆高校未來汽車人機(jī)交互設(shè)計(jì)大賽報(bào)名正式啟動(dòng)
- ...· 探秘第二屆衛(wèi)藍(lán)山鷹“創(chuàng)新·共享”試驗(yàn)技術(shù)論壇!
- ...· “2018中國(guó)半導(dǎo)體生態(tài)鏈大會(huì)”在江蘇省盱眙舉行
- ...· 新主題新規(guī)劃,CITE 2019瞭望智慧未來
- ...· 從汽車到工廠,TI毫米波傳感器致力于創(chuàng)造更智能的世界
- ...· 意法半導(dǎo)體(ST)、Cinemo和Valens在CES 2018展上聯(lián)合演示汽車信息娛樂解決方案
- ...· 北京集成電路產(chǎn)業(yè)創(chuàng)新發(fā)展高峰論壇即將在京召開
- ...· 三菱電機(jī)強(qiáng)勢(shì)出擊PCIM亞洲2017展
- ...· GPGPU國(guó)產(chǎn)替代:中國(guó)芯片產(chǎn)業(yè)的空白地帶
- ...· 物聯(lián)網(wǎng)產(chǎn)品設(shè)計(jì)中Wi-Fi連接的四個(gè)關(guān)鍵因素
- ...· 第三屆中國(guó)MEMS智能傳感器產(chǎn)業(yè)發(fā)展大會(huì)即將于蚌埠拉開帷幕
- ...· IAIC專項(xiàng)賽演繹“中國(guó)芯“應(yīng)用創(chuàng)新,信息安全高峰論壇亮劍海寧
- ...· 智能控制有源鉗位反激
- ...· 解讀5G毫米波OTA 測(cè)試技術(shù)
- ...· 多個(gè)市場(chǎng)高速增長(zhǎng)推動(dòng)Molex加強(qiáng)汽車領(lǐng)域的發(fā)展
- ...· 中國(guó)綠色制造聯(lián)盟成立大會(huì)召開在即 政產(chǎn)學(xué)研用共探綠色發(fā)展新模式
- ...· Efinix® 全力驅(qū)動(dòng)AI邊緣計(jì)算,成功推出Trion™ T20 FPGA樣品, 同時(shí)將產(chǎn)品擴(kuò)展到二十萬邏輯單元的T200 FPGA
- ...· 英飛凌亮相進(jìn)博會(huì),引領(lǐng)智慧新生活
- ...· 三電產(chǎn)品開發(fā)及測(cè)試研討會(huì)北汽新能源專場(chǎng)成功舉行
- ...· Manz亞智科技跨入半導(dǎo)體領(lǐng)域 為面板級(jí)扇出型封裝提供化學(xué)濕制程、涂布及激光應(yīng)用等生產(chǎn)設(shè)備解決方案
- ...· 中電瑞華BITRODE動(dòng)力電池測(cè)試系統(tǒng)順利交付北汽新能源
- ...· 中電瑞華FTF系列電池測(cè)試系統(tǒng)中標(biāo)北京新能源汽車股份有限公司
- ...· 中電瑞華大功率高壓能源反饋式負(fù)載系統(tǒng)成功交付中電熊貓
- ...· 中電瑞華國(guó)際在電動(dòng)汽車及關(guān)鍵部件測(cè)評(píng)研討會(huì)上演繹先進(jìn)測(cè)評(píng)技術(shù)
- ...· 數(shù)據(jù)采集終端系統(tǒng)設(shè)備
- ...· 簡(jiǎn)儀科技踏上新征程
- ...· 易靈思® 宣布 AEC-Q100 資質(zhì)認(rèn)證和汽車系列產(chǎn)品計(jì)劃
- ...· 易靈思® 宣布擴(kuò)充高性能 鈦金系列™ FPGA 產(chǎn)品 鈦金系列產(chǎn)品擴(kuò)充至包含 1M 邏輯單元的 FPGA
- ...· 易靈思® 宣布Trion® Titanium 在臺(tái)積電 (TSMC) 16納米工藝節(jié)點(diǎn)流片
- ...· TI杯2019年全國(guó)大學(xué)生電子設(shè)計(jì)競(jìng)賽頒獎(jiǎng)典禮在京舉行
- ...· BlackBerry QNX虛擬機(jī)獲得全球首個(gè)汽車安全完整性等級(jí)(ASIL) ‘D’認(rèn)證
- ...· 威馬汽車選擇BlackBerry助力下一代汽車