基于ENC28J60以太网通信接口的设计与实现_第1页
基于ENC28J60以太网通信接口的设计与实现_第2页
基于ENC28J60以太网通信接口的设计与实现_第3页
基于ENC28J60以太网通信接口的设计与实现_第4页
基于ENC28J60以太网通信接口的设计与实现_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第25卷第l期2008年1月机电工程V01.25No.1Jan.2008MECHANICAL&ELECTRICALENGINEERINeMAGAZINE基于ENC28J60以太网通信接口的设计与实现张伟业1,黄云龙2,陈国定1(1.浙江工业大学信息工程学院,浙江杭州310014;2.浙江工业大学浙西分校电子与信息工程系,浙江衢州324006)摘要:利用新型器件ENC28J60作为以太网控制器,采用PICl8F4550作为主控制器,通过SPI接口实现了与ENC28J60之间的高速通信;在主控器上移植了MicrochipTCP/IP协议栈,分别建立了基于uDP和TCP的应用程序,实现了以太网的通信接口,给出了ENC28J60与PIcl8F4550连接的应用电路,并把该通信接口应用到电脑绣花机监控系统中,用于接收局域网上的远程主机发来的花样文件并转发给绣花机的控制器。关键词:以太网;ENC28J60;串行外围接口中图分类号:TP393文献标识码:A文章编号:1001—4551(2008)01—0028一03ENC28J60DesignandrealizationofEthernetcommunicationinterfacebasedZHANGWei—vel,HUANGonYun—lon∥,CHENGuo—din91(1.Coffegeo,J咒厂0rm口£io凡Engi几eeri凡g,z^呼o,‘gUni勘ersi秒妒71echnofogy,H。ngz矗oM310014,c^inⅡ;2.Dep口n,nenf矿,R,br玎I口£ionn凡dEzecfro凡icE增ineering,T%s£BrⅡnc忍o,z矗巧iⅡ,咯Uni"ersit),可丁0c^nofo{量y,Qz。。^oM324006,C^in。)Abstract:Asthechiefcontroller,PICl8F4550interface.TheMicrochipTCP/IPstackanwasdesignedtocommunicatewiththenewEthernetcontrollerENC28J60bySPIonwasreplantedinthePICl8F4550,twoapplicationsbasedcommunicatedTCPandUDPwerecreated,wasEthernetinterfacewastowasrealized.TheapplicationcircuitthattheENC28J60withthePICl8F4550giVen.TheinterfaceformingthemKeyappliedincomputerembroiderymachinecontr0Isystem,forreceivingcIock“IesfromPCintheLANandtmns—thecontr0Ⅱerofembrosdery.words:Ethernet;ENC28J60;serialperipheralinterface(SPI)O前言在嵌入式系统的开发中,比较常用的独立以太网控制器都是为个人计算机系统而设计的,如RTL8019As、cs8900A等,这些器件不仅结构复杂、体积大,而且价格相对昂贵。目前市场上大部分以太网控制器封装的引脚数目庞大,RTL8019As、cs8900A均为100脚。ENc28J60是美国微芯科技公司近期推出的28引脚独立以太网控制器,兼容IEEE802.3协议,与微控制器的连接采用最高速度可达10MB/s的业界标准sPI接口,既能提供以太网通信的相应功能,又可以大大简化设计、减小空间、降低成本。本研究介绍基于ENc28J60以太网通信接口的设计与实现。1(1)IEEE802.3兼容的以太网控制器;(2)集成MAc和10BAsE—T(3)接收器和冲突抑制电路;(4)支持一个带自动极性检测和校正的10BAsE—T端口;(5)支持全双工和半双工模式;(6)可编程在发生冲突时自动重发;(7)可编程填充和cRc生成;(8)可编程自动拒绝错误数据包;(9)最高速度可达10MB/s的sPI接口。ENc28J60内部集成具有整形输出滤波器和环回模式功能的物理层,支持全双工和半双工模式,芯片内的8k双端口RAM可以自由进行配置,其特殊的过滤器(包括Microchip的可编程模式匹配过滤器),可自动评价、接收或拒收MagicPacket、单播、多播或广播信息包,以减轻主控单片机的处理负荷…。PHY;ENC28J60以太网控制器ENC28J60封装体积小,具有以下特性:收稿日期:2007—06—12作者简介:张伟业(1983一),男,安徽宿州人,主要从事计算机先进控制方面的研究。万方数据第1期张伟业,等:基于ENc28J60以太网通信接口的设计与实现2以太网通信接口设计与实现2.1硬件电路连接ENc28J60可以通过sPI方便地和微控制器连接而构成嵌入式以太网通信接口,对于没有sPI接口的微控制器也可以通过I/0口模拟SPI的方法实现。ENc28J60工作电压为3.3V的器件,它被设计为易于集成到5V的系统中。sPI的CS、SCK和SI输入以及REsET引脚都可以承受5V的电压。如果主控制器运行在5V电压下,当SPI和中断输入由ENc28J60上的3.3VcMOS输出驱动时需要一个单向电平转换器。本研究中采用74Hc08芯片来实现3。3V到5V的电平转换。差分接收引脚(TPIN+/TPIN一)以及差分发送引脚(TP0uT+/TP0uT一)与集成变压器带中心抽头的RJ45插座HR901170A连接,ENc28J60的内部模拟电路需要在RBIAs引脚与地之间外接一个2kn(精度为1%)电阻。为降低功耗,ENc28J60中的一些数字电路工作在2.5V标称电压下,该电压有其内部一个2.5V稳压器以产生,为使之工作稳定,需在VcAP引脚与地之间连接一个10¨F的电容。ENc28J60与主控单片机PIcl8F4550以及相应外部器件的连接,如图1所示。,—-12SoVDD3.3叫目卧坩c厂];RESET一U瑾WoLVCAPINTRBIAS要剖2k10reset『_+。『10咎TPOUT+INT2三§坠盯TPOUT-29CSRD6—畦—一1池16一j¨RD730reseSI7SISDo三箜I竖上TPIN+量蝥DI量业CS—畦栅『_SDSCK348S0SCKTPrN.簪|104图l以太网通信接口硬件连接2.2TCP/IP协议栈的移植照TcP/IP参考模型来实现的,每层的实现代码驻留在一个独立的源文件中,另外协议栈采用模块化设计,每个模块可以只在使用的时候才被添加到协议栈中,MicrochipTcP/IP协议栈,如图2所示。与传统TcP/IP协议栈实现方法的不同之处是添加了两个新模块:“stackTask”和“ARPTask”。“StackTask”管理协议栈及其所有模块的操作,而“ARPTask''管理地址解析协议(ARP)层的服务。MicrochipTCP/IP协议栈使用了协同式多任务处理技术。在协同式多任务处理系统中,同时存在多个任务,每个任务在执行自己的作业后万方数据交回控制权,这样下一个任务才能够执行作业。因而“stackTask”和“ARPTask”都是协同式任务。MicrochipTCP/IP协议栈的应用程序编程接口(API)是通过头文件或包含文件定义的。“。本研究中使用了uDP、IcMP以及TcP协议,因此需要在stack—tsk.h文件中使用#definesTAcK—usE—IcMP、#defineSTACK—uSE—TCP、#defineSTACK—usE—UDP语句,这样协议栈就会自动添加IcMP、uDP、TCP模块。ENc28J60通过sPI和主控制器连接,不同的主控制器的sPI接口管脚以及通信操作可能不一样,协议栈中对sPI接口的管脚的定义是通过宏定义实现的,对sPI接口通信的操作是通过相关的函数来实现的,通过对这两处的修改就可以在协议栈中实现主控制器和ENc28J60的sPI通信。本研究使用的是Micro—chipl8系列单片机PIcl8F4550,通过对与协议栈移植相关部分的修改,实现了MicrochipTcP/IP协议栈到PICl8F4550上的移植。TcP/IP参考模型Mjcrochip协议栈匿图2MicrochipTcP/IP协议栈2.3以太网通信实现ENC28J60和PIcl8F4550通过sPI连接来进行通信日141,PIcl8F4550对ENc28J60的各种操作均通过sPI接口进行,包括寄存器的设置,数据的发送和接收。PICl8F4550的sPI工作在主动方式,即ENc28J60的sPI时钟信号由PIcl8F4550提供,sPI通信速率设置成5MB/s。要实现以太网通信首先要设置ENc28J60的MAc地址与IP地址、子网掩码以及网关等,这些参数可以用宏定义放在单片机ROM里,也可以以数据的方式放在单片机的E2PROM里。在协议栈中,“StackTask”和“ARPTask”函数实现ARP和ICMP协议,这两个函数作为必要的任务驻留在无限循环的函数里。设定好ENc28J60的IP地址后,PC机可以通过ping该IP地址的方式来查看通信接口的ARP协议和IcMP协议是否正常。基于MicmchipTcP/IP协议栈uDP和TcP协议的应用程序需要用户根据不同的应用进行编程,本研究实现了一个基于uDP的应用程序,通过ss=uD—机电工程第25卷P0pen(74,&remoteNode,68)建立了一个使用uDP的socKET连接,本地端口是74,远程端口是68,&remoteNode为远程主机信息,在远程主机上使用uDP的通信软件已经完成对uDP协议的测试。还实现了基于TCP的应用程序,通过“TcpSocket=TCP“s—ten(8376)”语句建立一个TcP连接,对端口8376进行监听,在远程主机上使用TcP通信软件,根据ENC28J60的IP地址和端口8376,可以实现和以太网通信接口进行TcP通信∞’“。试验证明以太网通信接口的uDP、TcP通信稳定可靠:以太网通信接口的软件流程图,如图3所示。uDP为无连接的服务,只在对数据准确性要求不高的场合使用。而TcP协议面向连接,提供可靠的数据传输,但是实现起来较为复杂,代码量也占了整个协议栈代码量的大部分,由于嵌入式系统的应用一般对数据的准确性和实时性要求都比较高,大都使用基于TcP的服务。本研究把以太网通信接口应用到电脑绣花机监控系统中就是通过采用基于TcP的网络连接这一手段,利用端口8376建立了一个TcP连接,用于接收远程主机发送的花样文件以及向远程主机发送相关数据等。3结束语符合IEEE802.3协议的ENc28J60不但能提供以太网通信的相应功能,而且体积小,能够简化设计,从而可以设计出目前最小的嵌入式应用以太网解决方案。本研究采用PIcl8F4550作为主控单片机,设计出了基于ENc28J60的以太网通信接口,实现了以太网通信中的IcMP、uDP、TcP协议。现在已经把该以太网通信接口应用到电脑绣花机监控系统中,试验证明该通信接口运行稳定、可靠。此外,基于ENc28J60的嵌入式应用以太网解决方案电路连接简单,功能强大,并且完全符合未来工业以太网控制器的发展趋势,可以应用于通信(VoIP电话适配器)、库存管理、远程诊断/警报系统、保安及遥感/传动器等场合,有着广阔的应用前景。参考文献(Reference):[1]MicrochipTechn0109yInc.ENc28J60standAloneEthernetcontroUerwithsPIInterface[EB/0L].[2004—10一20].http://www.microchip.com.[2]MicrochipTechnologyInc.MicrochipTcP/IPstack[EB/0L].[2002—05—16].http://www.microchip.com.[3]王廷尧.以太网技术与应用[M].北京:人民邮电出版社,2005.[4]赵小敏,陈庆章.TcP/IP网络原理与技术[M].北京:高等教育出版社,2006.f5]RAJENDRAY,PRASHANTP,RAPHAELF.tion-basedCSMAprotocolforintegratedIEEETransactionsonAreserva—manufacturingnet—works[J].陈systems,Man,andCybemetics,1994,24(8):1247—1258.[6]磊,冯冬芹,金建祥,等.以太网在工业应用中的实时特性研究[J].浙江大学学报:工学版,2004,38(6):图3以太网通信接口软件流程图[编辑:李辉](上接第13页)由于ARM与Pc/AT模型在处理器架构上有本质性的差异,在ARM平台上构建的Pc/104总线在所有的具体应用中要做到与标准PC/104规范完全兼容几乎是不可能的,但是在特定的应用需求及确定的操作系统下,这种努力是完全可行并且有效的。对于使用Pc/AT模型I/0端口资源的Pc/104设备,Linux通过内核驱动以存储器地址实现访问,会造成访问效率的显著下降。另外,在使用遵守IsAPnP(Plug规范的设备时,也存在较多的困难。[5]参考文献(Reference):and19—20.[2]Pc/104Embeddedconsonium.Pc/104spec讯cationsionVe卜2.5[M].sanFrancisco:Pc/104Embeddedconsoni—um.2003.[3]杨素行.微型计算机系统原理及应用[M].北京:清华大学出版社,1995.[4]InstituteofE1ectricalandElectronicEngineers,P996,IsABusTimingInc.IEEEPlay)Diagrams[M].NewYork:InstituteofE1ect“calandElectronicEngineers,Inc,1999.毛德操,胡希明.Linux内核源代码情景分析[M].杭州:浙江大学出版社,2001.[1]梁军兵,赵鸿鸣,金建祥.基于ARM处理器的Pc/104处理器模块的开发[J].工业控制计算机,2004,17(12):[6]刘洋,李兰英.u_boot的启动流程分析[J].科技资讯,2006(29):110一111.[编辑:李辉]万方数据基于ENC28J60以太网通信接口的设计与实现作者:作者单位:张伟业,黄云龙,陈国定,ZHANGWei-ye,HUANGYun-long,CHENGuo-ding张伟业,陈国定,ZHANGWei-ye,CHENGuo-ding(浙江工业大学,信息工程学院,浙江,杭州,310014,黄云龙,HUANGYun-long(浙江工业大学浙西分校,电子与信息工程系,浙江,衢州,324006机电工程MECHANICAL&ELECTRICALENGINEERINGMAGAZINE2008,25(17次刊名:英文刊名:年,卷(期:被引用次数:参考文献(6条1.陈磊;冯冬芹;金建祥以太网在工业应用中的实时特性研究[期刊论文]-浙江大学学报(工学版)2004(062.RAJENDRAY;PRASHANTP

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论