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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

SPI接口以太網(wǎng)控制器ENC28J60及其應用文章發(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)控制器都是為個人計算機而設計的,在精簡的嵌入式系統(tǒng)中使用比較繁雜,常常需要采用擴展總線的方式,本文介紹了全球目前最小封裝的以太網(wǎng)控制器ENC28J60,由于采用SPI串行接口方式,簡化了設計,本文介紹了其特性、內(nèi)部結構和引腳功能,詳細分析了其寄存器設置和工作過程,給出了與微控制器接口的應用電路。

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

一.

ENC28J60概述

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

ENC28J60的主要特點如下:

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

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

支持全雙工和半雙工模式

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

SPI接口速度高達10Mbps

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

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

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

支持單播、多播和廣播

兩個可編程LED輸出

帶7個中斷源的兩個中斷引腳

TTL電平輸入

二.

ENC28J60的內(nèi)部結構及其引腳功能

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

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

各個引腳功能如下:

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

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

三.

ENC28J60的寄存器設置和工作過程

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

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

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

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

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

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

圖2主程序初始化流程圖

四.

ENC28J60的應用

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

五.

結論

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

文章的主要創(chuàng)新之處如下:

1.

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

2.

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

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

參考文獻:

[1]

ENC28J60Stand-AloneEthernetControllerwithSPI2004MicrochipTechnologyInc.Interface

[2]

陳奎吳愛國游洲用ENC28J6

溫馨提示

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

評論

0/150

提交評論