SPI接口以太網(wǎng)控制器ENC28J60及其應(yīng)用_第1頁
SPI接口以太網(wǎng)控制器ENC28J60及其應(yīng)用_第2頁
SPI接口以太網(wǎng)控制器ENC28J60及其應(yīng)用_第3頁
SPI接口以太網(wǎng)控制器ENC28J60及其應(yīng)用_第4頁
SPI接口以太網(wǎng)控制器ENC28J60及其應(yīng)用_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

SPI接口以太網(wǎng)控制器ENC28J60及其應(yīng)用文章發(fā)布人:gxy

共36人閱讀

文字大?。篬大中小]

文字背景色:EthernetControllerwithSPI?InterfaceENC28J60andItsApplication

Abstract:Today,mostoftheEthernetcontrollerisdesignedforpersonalcomputer,soitsapplyingismuchcomplicated。Themodeofextendingbusisoftenneeded.

Thispaperintroducestheworld’ssmallestpackageEthernetcontrollerENC28J60atpresent.AdoptingtheSPIserialinterfacemode,sothedesigningprocessispredigested.Inthispaper,itisintroducedofthecharacters,insidestructureandPINfunctionofEthernetcontrollerENC28J60.Furthermore,thepaperanalyzesthesettingofregisterandprocessofworkindetailandillustratestheapplicationcircuitwiththeinterfaceofMCU.

KeyWords:Ethernetcontroller;SPI;ENC28J60

摘要:目前大多數(shù)以太網(wǎng)控制器都是為個(gè)人計(jì)算機(jī)而設(shè)計(jì)的,在精簡的嵌入式系統(tǒng)中使用比較繁雜,常常需要采用擴(kuò)展總線的方式,本文介紹了全球目前最小封裝的以太網(wǎng)控制器ENC28J60,由于采用SPI串行接口方式,簡化了設(shè)計(jì),本文介紹了其特性、內(nèi)部結(jié)構(gòu)和引腳功能,詳細(xì)分析了其寄存器設(shè)置和工作過程,給出了與微控制器接口的應(yīng)用電路。

關(guān)鍵詞:以太網(wǎng)控制器;SPI;ENC28J60

一.

ENC28J60概述

ENC28J60是全球目前最小封裝的以太網(wǎng)控制器,在此之前,嵌入式設(shè)計(jì)人員在為遠(yuǎn)程控制或監(jiān)控提供應(yīng)用接入時(shí)可選的以太網(wǎng)控制器都是專為個(gè)人計(jì)算系統(tǒng)設(shè)計(jì)的,既復(fù)雜、又占空間,且比較昂貴。目前市場上大部分以太網(wǎng)控制器采用的封裝均超過80引腳,而符合IEEE802.3協(xié)議的ENC28J60只有28引腳,就能既提供相應(yīng)的功能,又可以大大簡化相關(guān)設(shè)計(jì),并減小占板空間。此外,ENC28J60以太網(wǎng)控制器采用業(yè)界標(biāo)準(zhǔn)的SPI?串行接口,只需4條連線即可與主控單片機(jī)連接。這些功能加上由Microchip免費(fèi)提供的、用于單片機(jī)的TCP/IP軟件堆棧,使之成為目前市面上最小的嵌入式應(yīng)用以太網(wǎng)解決方案。

ENC28J60的主要特點(diǎn)如下:

兼容的IEEE802.3協(xié)議的以太網(wǎng)控制器

集成的MAC和10BASE-T物理層

支持全雙工和半雙工模式

數(shù)據(jù)沖突時(shí)可編程自動重發(fā)

SPI接口速度高達(dá)10Mbps

8K數(shù)據(jù)接收發(fā)送雙端口RAM

提供快速數(shù)據(jù)移動的內(nèi)部DMA控制器

可配置的接收發(fā)送緩沖區(qū)大小

支持單播、多播和廣播

兩個(gè)可編程LED輸出

帶7個(gè)中斷源的兩個(gè)中斷引腳

TTL電平輸入

二.

ENC28J60的內(nèi)部結(jié)構(gòu)及其引腳功能

ENC28J60采用28引腳封裝,內(nèi)部接口引腳如圖1,

ENC28J60兼容IEEE802.3協(xié)議,內(nèi)部集成了物理層,支持全雙工和半雙工模式,芯片內(nèi)的8K雙端口RAM可以自由進(jìn)行配置,特殊的過濾器,包括Microchip的可編程模式匹配過濾器,可自動評價(jià)、接受或拒收MagicPacket?、單播(Unicast)、多播(Multicast)或廣播(Broadcast)信息包,以減輕主控單片機(jī)的處理負(fù)荷。

各個(gè)引腳功能如下:

ENC28J60引腳簡單,SPI接口和單片機(jī)相連接,網(wǎng)絡(luò)的四個(gè)引腳通過網(wǎng)絡(luò)變壓器后連接到RJ45接口,兩個(gè)中斷引腳接單片機(jī)的外部中斷或者連接到通用IO口,兩個(gè)指示燈引腳外接發(fā)光管連接到地或者電源,其余引腳是電源和地。

ENC28J60內(nèi)部采用3.3V電源,但是其接口都可以容忍5V的電壓值,在使用3.3V電源的單片機(jī)系統(tǒng)中,可以直接將SPI接口和中斷連接到單片機(jī),如果使用5V的單片機(jī),ENC28J60的輸入引腳直接連接到單片機(jī),輸出引腳需要外接一個(gè)與門或者三態(tài)門進(jìn)行5V的驅(qū)動。振蕩器可以選用無源晶體或者有源晶振。

三.

ENC28J60的寄存器設(shè)置和工作過程

ENC28J60內(nèi)部的靜態(tài)RAM分為三種類型,控制寄存器,以太網(wǎng)緩沖區(qū)和物理層寄存器,控制寄存器用來進(jìn)行芯片的配置和控制等功能,直接SPI讀寫;以太網(wǎng)緩沖區(qū)可以由SPI接口配置為接收和發(fā)送以太網(wǎng)數(shù)據(jù)包的RAM區(qū);物理層寄存器用來配置,控制和監(jiān)測物理層的狀態(tài),此寄存器不能直接由SPI接口讀寫,只能通過媒體獨(dú)立接口MII訪問。

ENC28J60控制寄存器中最基本和重要的5個(gè)寄存器是EIE,EIR,ESTAT,ECON2和ECON1,其功能分別如下,EIE:以太網(wǎng)中斷使能控制寄存器,分為總中斷使能和各部分使能控制,EIR:以太網(wǎng)中斷標(biāo)志寄存器,在接收和發(fā)送數(shù)據(jù)包時(shí)根據(jù)不同的標(biāo)志位進(jìn)入不同的執(zhí)行程序,ESTAT:以太網(wǎng)狀態(tài)寄存器,反映以太網(wǎng)當(dāng)前是否數(shù)據(jù)碰撞、忙信息、錯(cuò)誤信息、時(shí)鐘狀態(tài)等信息,ECON2:以太網(wǎng)輔助控制寄存器,設(shè)置數(shù)據(jù)指針,芯片節(jié)能等,ECON1:以太網(wǎng)主控制寄存器,這個(gè)是芯片最常用的寄存器,主要用來設(shè)置不同層的寄存器空間,下面將詳細(xì)論述。在這5個(gè)寄存器中,需要設(shè)置的是EIE、ECON2和ECON1,需要判斷標(biāo)志位的是EIR和ESTAT。ENC28J60的控制寄存器分為4層,由ECON1寄存器中的最后兩位BSEL1:BSEL0進(jìn)行設(shè)置,每一層包含32個(gè)控制寄存器,最后5個(gè)寄存器地址映射的位置一樣,即為上述的5個(gè)基本寄存器,0層寄存器包括設(shè)置發(fā)送緩沖區(qū)起始地址ETXST和結(jié)束地址ETXND,接收緩沖區(qū)起始ERXST和結(jié)束地址ERXND,數(shù)據(jù)指針的初始化位置EWRPT和ERDPT,DMA控制等。1層寄存器設(shè)置包括數(shù)據(jù)過濾用的64位的hash表,數(shù)據(jù)過濾用的EPM,網(wǎng)絡(luò)中斷喚醒使能位EWOLI,接收濾波控制ERXFCON,以太網(wǎng)數(shù)據(jù)包計(jì)數(shù)EPKTCNT,2層寄存器設(shè)置包括MAC配置MACCON、數(shù)據(jù)沖突MACLCON、最大幀長MAMXFL、MII寄存器等,3層寄存器設(shè)置包括MAC地址MACADR、自檢EBST、MII狀態(tài)MISTAT、以太網(wǎng)版本信息EREVID、時(shí)鐘輸出控制ECOCON、以太網(wǎng)流控制EFLOCON、暫停時(shí)間值EPAUSL。

以太網(wǎng)緩沖區(qū)大小共8K字節(jié),可以通過SPI接口編程配置成接收和發(fā)送緩沖區(qū)兩大部分,由以太網(wǎng)控制器相關(guān)寄存器進(jìn)行設(shè)置。

物理層寄存器共有32個(gè)寄存器,其中只有9個(gè)可以使用,每個(gè)寄存器為16位寬度,不能直接由SPI總線讀寫,主要配置的寄存器包括物理層的復(fù)位、節(jié)電、雙工設(shè)置,LED的設(shè)置等,讀取的方法為先將需要讀取的物理層地址寫入MIREGADR,設(shè)置MICMD.MIIRD位,延時(shí)后判斷MISTAT.BUSY是否被自動清除,然后清除MICMD.MIIRD,從MIRDL和MIRDH中讀取數(shù)據(jù),寫物理層寄存器要求一次寫入16位,先將需要寫的物理層地址寫入MIREGADR,然后寫低8位到MIWRL,高8位到MIWRH,寫入數(shù)據(jù)期間MISTAT.BUSY自動置位,寫入結(jié)束后該位自動清除。

在ENC28J60接收和發(fā)送數(shù)據(jù)包之前,需要對相應(yīng)寄存器進(jìn)行設(shè)置和初始化,一般情況下這部分工作放在系統(tǒng)復(fù)位完成后執(zhí)行,初始化設(shè)置工作包括接收和發(fā)送緩沖區(qū)、接收過濾、晶振啟動時(shí)間、MAC寄存器、物理層。初始化芯片之前先關(guān)閉單片機(jī)的中斷輸入,對RESET引腳給定一個(gè)持續(xù)的低電平復(fù)位信號,然后對相應(yīng)的寄存器進(jìn)行設(shè)置。設(shè)置完成所有需要的寄存器后,判斷以太網(wǎng)狀態(tài)中的時(shí)鐘啟動標(biāo)志位是否置位,然后開中斷,以上的流程圖如2所示。

硬件連接的兩個(gè)中斷引腳都對應(yīng)多種中斷條件,EIE和EWOLIE分別使能不同的中斷,均指向中斷入口處,因此需要在入口處進(jìn)行判斷每次的中斷輸入什么條件,EIR是中斷標(biāo)志位,包含了7中不同的中斷條件,根據(jù)不同的標(biāo)志位進(jìn)入不同的執(zhí)行程序。

圖2主程序初始化流程圖

四.

ENC28J60的應(yīng)用

由于采用串行SPI接口,ENC28J60可以很方便地和各種微控制器和處理器接口,構(gòu)成嵌入式以太網(wǎng)模塊,使用UDP,TCP進(jìn)行通信,或者構(gòu)建嵌入式WEB服務(wù)器,對于沒有SPI接口的微控制器,也可以用通用IO模擬SPI總線的方法,下圖是一個(gè)51內(nèi)核單片機(jī)C8051F133和ENC28J60的接口,C8051F133采用3.3V供電,70%的指令的執(zhí)行時(shí)間為一個(gè)或兩個(gè)系統(tǒng)時(shí)鐘周期,內(nèi)部8k字節(jié)內(nèi)部數(shù)據(jù)RAM,64K程序FLASH,速度可達(dá)100MIPS,與ENC28J60可構(gòu)成最佳以太網(wǎng)應(yīng)用。C8051F133的SPI接口SCK、MISO、MOSI分別連接ENC28J60的SCK、SI、SO引腳,C8051F133的兩個(gè)外部中斷輸入引腳連接ENC28J60的INT和WOL,系統(tǒng)中還有一片X5043用于看門狗,復(fù)位和保存以太網(wǎng)參數(shù)。

五.

結(jié)論

由ENC28J60構(gòu)成的嵌入式以太網(wǎng)模塊電路連接簡單,功能強(qiáng)大,與目前大多數(shù)需要并行數(shù)據(jù)和地址總線的以太網(wǎng)控制器相比,不需要小封裝的微控制器外擴(kuò)地址和數(shù)據(jù)總線,有很大優(yōu)點(diǎn),根據(jù)需要配合不同的微控制器可以將電路板做到最小尺寸,完全符合未來工業(yè)以太網(wǎng)控制器的發(fā)展趨勢,本文中的應(yīng)用電路已經(jīng)應(yīng)用于嵌入式控制系統(tǒng),目前仍在穩(wěn)定運(yùn)行中。

文章的主要?jiǎng)?chuàng)新之處如下:

1.

首次應(yīng)用ENC28J60構(gòu)成嵌入式以太網(wǎng)模塊電路。

2.

克服了市場上已有以太網(wǎng)控制器封裝引腳多的缺點(diǎn),簡化了設(shè)計(jì),減小了占板空間。

ENC28J60以太網(wǎng)控制器采用標(biāo)準(zhǔn)的SPI串行接口,只需4條連線與主控單片機(jī)相連。

參考文獻(xiàn):

[1]

ENC28J60Stand-AloneEthernetControllerwithSPI2004MicrochipTechnologyInc.Interface

[2]

陳奎吳愛國游洲用ENC28J6

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論