SPI接口以太网控制器ENCJ及其应用.docx
- 文档编号:14958093
- 上传时间:2023-06-28
- 格式:DOCX
- 页数:7
- 大小:141.71KB
SPI接口以太网控制器ENCJ及其应用.docx
《SPI接口以太网控制器ENCJ及其应用.docx》由会员分享,可在线阅读,更多相关《SPI接口以太网控制器ENCJ及其应用.docx(7页珍藏版)》请在冰点文库上搜索。
SPI接口以太网控制器ENCJ及其应用
SPI接口以太网控制器ENCJ及其应用
————————————————————————————————作者:
————————————————————————————————日期:
SPI接口以太网控制器ENC28J60及其应用
文章发布人:
gxy 共36人阅读 文字大小:
[大中小] 文字背景色:
EthernetControllerwithSPI™InterfaceENC28J60andItsApplication
Abstract:
Today,mostoftheEthernetcontrollerisdesignedforpersonalcomputer,soitsapplyingismuchcomplicated。
Themodeofextendingbusisoftenneeded. Thispaperintroducestheworld’ssmallestpackageEthernetcontrollerENC28J60atpresent.AdoptingtheSPIserialinterfacemode,sothedesigningprocessispredigested.Inthispaper,itisintroducedofthecharacters,insidestructureandPINfunctionofEthernetcontrollerENC28J60.Furthermore,thepaperanalyzesthesettingofregisterandprocessofworkindetailandillustratestheapplicationcircuitwiththeinterfaceofMCU.
KeyWords:
Ethernetcontroller;SPI;ENC28J60
摘要:
目前大多数以太网控制器都是为个人计算机而设计的,在精简的嵌入式系统中使用比较繁杂,常常需要采用扩展总线的方式,本文介绍了全球目前最小封装的以太网控制器ENC28J60,由于采用SPI串行接口方式,简化了设计,本文介绍了其特性、内部结构和引脚功能,详细分析了其寄存器设置和工作过程,给出了与微控制器接口的应用电路。
关键词:
以太网控制器;SPI;ENC28J60
一. ENC28J60概述
ENC28J60是全球目前最小封装的以太网控制器,在此之前,嵌入式设计人员在为远程控制或监控提供应用接入时可选的以太网控制器都是专为个人计算系统设计的,既复杂、又占空间,且比较昂贵。
目前市场上大部分以太网控制器采用的封装均超过80引脚,而符合IEEE802.3协议的ENC28J60只有28引脚,就能既提供相应的功能,又可以大大简化相关设计,并减小占板空间。
此外,ENC28J60以太网控制器采用业界标准的SPI™串行接口,只需4条连线即可与主控单片机连接。
这些功能加上由Microchip免费提供的、用于单片机的TCP/IP软件堆栈,使之成为目前市面上最小的嵌入式应用以太网解决方案。
ENC28J60的主要特点如下:
兼容的IEEEλ802.3协议的以太网控制器
集成的MAC和10BASE-T物理层λ
支持全双工和半双工模式λ
数据冲突时可编程自动重发λ
SPI接口速度高达10Mbpsλ
8K数据接收发送双端口RAMλ
提供快速数据移动的内部DMA控制器λ
可配置的接收发送缓冲区大小λ
支持单播、多播和广播λ
两个可编程LED输出λ
带7个中断源的两个中断引脚λ
TTL电平输入λ
二. ENC28J60的内部结构及其引脚功能
ENC28J60采用28引脚封装,内部接口引脚如图1,
ENC28J60兼容IEEE802.3协议,内部集成了物理层,支持全双工和半双工模式,芯片内的8K双端口RAM可以自由进行配置,特殊的过滤器,包括Microchip的可编程模式匹配过滤器,可自动评价、接受或拒收MagicPacket™、单播(Unicast)、多播(Multicast)或广播(Broadcast)信息包,以减轻主控单片机的处理负荷。
各个引脚功能如下:
ENC28J60引脚简单,SPI接口和单片机相连接,网络的四个引脚通过网络变压器后连接到RJ45接口,两个中断引脚接单片机的外部中断或者连接到通用IO口,两个指示灯引脚外接发光管连接到地或者电源,其余引脚是电源和地。
ENC28J60内部采用3.3V电源,但是其接口都可以容忍5V的电压值,在使用3.3V电源的单片机系统中,可以直接将SPI接口和中断连接到单片机,如果使用5V的单片机,ENC28J60的输入引脚直接连接到单片机,输出引脚需要外接一个与门或者三态门进行5V的驱动。
振荡器可以选用无源晶体或者有源晶振。
三. ENC28J60的寄存器设置和工作过程
ENC28J60内部的静态RAM分为三种类型,控制寄存器,以太网缓冲区和物理层寄存器,控制寄存器用来进行芯片的配置和控制等功能,直接SPI读写;以太网缓冲区可以由SPI接口配置为接收和发送以太网数据包的RAM区;物理层寄存器用来配置,控制和监测物理层的状态,此寄存器不能直接由SPI接口读写,只能通过媒体独立接口MII访问。
ENC28J60控制寄存器中最基本和重要的5个寄存器是EIE,EIR,ESTAT,ECON2和ECON1,其功能分别如下,
EIE:
以太网中断使能控制寄存器,分为总中断使能和各部分使能控制,
EIR:
以太网中断标志寄存器,在接收和发送数据包时根据不同的标志位进入不同的执行程序,
ESTAT:
以太网状态寄存器,反映以太网当前是否数据碰撞、忙信息、错误信息、时钟状态等信息,
ECON2:
以太网辅助控制寄存器,设置数据指针,芯片节能等,
ECON1:
以太网主控制寄存器,这个是芯片最常用的寄存器,主要用来设置不同层的寄存器空间,下面将详细论述。
在这5个寄存器中,需要设置的是EIE、ECON2和ECON1,需要判断标志位的是EIR和ESTAT。
ENC28J60的控制寄存器分为4层,由ECON1寄存器中的最后两位BSEL1:
BSEL0进行设置,每一层包含32个控制寄存器,最后5个寄存器地址映射的位置一样,即为上述的5个基本寄存器,0层寄存器包括设置发送缓冲区起始地址ETXST和结束地址ETXND,接收缓冲区起始ERXST和结束地址ERXND,数据指针的初始化位置EWRPT和ERDPT,DMA控制等。
1层寄存器设置包括数据过滤用的64位的hash表,数据过滤用的EPM,网络中断唤醒使能位EWOLI,接收滤波控制ERXFCON,以太网数据包计数EPKTCNT,2层寄存器设置包括MAC配置MACCON、数据冲突MACLCON、最大帧长MAMXFL、MII寄存器等,3层寄存器设置包括MAC地址MACADR、自检EBST、MII状态MISTAT、以太网版本信息EREVID、时钟输出控制ECOCON、以太网流控制EFLOCON、暂停时间值EPAUSL。
以太网缓冲区大小共8K字节,可以通过SPI接口编程配置成接收和发送缓冲区两大部分,由以太网控制器相关寄存器进行设置。
物理层寄存器共有32个寄存器,其中只有9个可以使用,每个寄存器为16位宽度,不能直接由SPI总线读写,主要配置的寄存器包括物理层的复位、节电、双工设置,LED的设置等,读取的方法为先将需要读取的物理层地址写入MIREGADR,设置MICMD.MIIRD位,延时后判断MISTAT.BUSY是否被自动清除,然后清除MICMD.MIIRD,从MIRDL和MIRDH中读取数据,写物理层寄存器要求一次写入16位,先将需要写的物理层地址写入MIREGADR,然后写低8位到MIWRL,高8位到MIWRH,写入数据期间MISTAT.BUSY自动置位,写入结束后该位自动清除。
在ENC28J60接收和发送数据包之前,需要对相应寄存器进行设置和初始化,一般情况下这部分工作放在系统复位完成后执行,初始化设置工作包括接收和发送缓冲区、接收过滤、晶振启动时间、MAC寄存器、物理层。
初始化芯片之前先关闭单片机的中断输入,对RESET引脚给定一个持续的低电平复位信号,然后对相应的寄存器进行设置。
设置完成所有需要的寄存器后,判断以太网状态中的时钟启动标志位是否置位,然后开中断,以上的流程图如2所示。
硬件连接的两个中断引脚都对应多种中断条件,EIE和EWOLIE分别使能不同的中断,均指向中断入口处,因此需要在入口处进行判断每次的中断输入什么条件,EIR是中断标志位,包含了7中不同的中断条件,根据不同的标志位进入不同的执行程序。
图2主程序初始化流程图
四. ENC28J60的应用
由于采用串行SPI接口,ENC28J60可以很方便地和各种微控制器和处理器接口,构成嵌入式以太网模块,使用UDP,TCP进行通信,或者构建嵌入式WEB服务器,对于没有SPI接口的微控制器,也可以用通用IO模拟SPI总线的方法,下图是一个51内核单片机C8051F133和ENC28J60的接口,C8051F133采用3.3V供电,70%的指令的执行时间为一个或两个系统时钟周期,内部8k字节内部数据RAM,64K程序FLASH,速度可达100MIPS,与ENC28J60可构成最佳以太网应用。
C8051F133的SPI接口SCK、MISO、MOSI分别连接ENC28J60的SCK、SI、SO引脚,C8051F133的两个外部中断输入引脚连接ENC28J60的INT和WOL,系统中还有一片X5043用于看门狗,复位和保存以太网参数。
五. 结论
由ENC28J60构成的嵌入式以太网模块电路连接简单,功能强大,与目前大多数需要并行数据和地址总线的以太网控制器相比,不需要小封装的微控制器外扩地址和数据总线,有很大优点,根据需要配合不同的微控制器可以将电路板做到最小尺寸,完全符合未来工业以太网控制器的发展趋势,本文中的应用电路已经应用于嵌入式控制系统,目前仍在稳定运行中。
文章的主要创新之处如下:
1. 首次应用ENC28J60构成嵌入式以太网模块电路。
2. 克服了市场上已有以太网控制器封装引脚多的缺点,简化了设计,减小了占板空间。
ENC28J60以太网控制器采用标准的SPI串行接口,只需4条连线与主控单片机相连。
参考文献:
[1] ENC28J60Stand-AloneEthernetControllerwithSPI2004MicrochipTechnologyInc.Interface
[2] 陈奎吴爱国游洲用ENC28J60和FPGA设计通用以太网控制器电子产品世界2005.1194页-95页
[3]林安兵.使用华恒HHARM4510-R2进行嵌入式开发[J],微计算机信息,2005.21
(2):
113-115
[4]郁继宗,彭树生.基于PIC单片机的以太网数据采集与控制电路设计,微计算机信息,2005,21
(2):
72-74
作者简介:
祁树胜(1965.4-),男,1985年毕业于天津大学自动化工程系,工学学士,1985年以来在西安航空技术高等专科学校从事教学及智能仪表,计算机测控等科研工作。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SPI 接口 以太网 控制器 ENCJ 及其 应用
![提示](https://static.bingdoc.com/images/bang_tan.gif)