嵌入式系统网络接口模块设计Word下载.docx
- 文档编号:17226372
- 上传时间:2022-11-29
- 格式:DOCX
- 页数:10
- 大小:151.44KB
嵌入式系统网络接口模块设计Word下载.docx
《嵌入式系统网络接口模块设计Word下载.docx》由会员分享,可在线阅读,更多相关《嵌入式系统网络接口模块设计Word下载.docx(10页珍藏版)》请在冰豆网上搜索。
嵌
入
式
系
统
网
络
接
口
模
块
设
计
摘要
嵌入式系统已广泛应用于网络中,所以需要相应的网络接口满足需求,介绍了设计此系统网络接口模块所需要的核心以太网控制器ENC28J60,分析了其工作机理,通过设置ENC28J60内部寄存器来完成数据的有效接收和发送,采用高速高性能的LPC2132微控制器与以太网控制器ENC28J60和接口芯片MAX232相连接实现网络接口模块设计,对接口电路作了详细阐述,并对系统控制软件进行了具体分析。
该模块用途广泛,具有良好的应用前景。
【关键词】ENC28J60,SPI,TCP/IP协议,使能
ABSTRACT
Embeddedsystemsareappliedwidelyinnetwork,itisnecessarytOprovidecorrespondingnetworkinterfaces.ThepaperintroducescoreEthernetcontrollerENC28J60anditsworkmechanism.TransferringandReceivingdatabyENC28J60internalregistersareanalyzedindetail.ModulardesignofnetworkinterfaceisimplementedthroughconnectingefficientandhighspeedMCULPC2132microcontrollerwithEthernetcontrollerENC28J60andinterfacechipMAX232.Interfacecircuitandsystemcontrolsoftwarearestudiedindetail.EmbeddedsysteminterfacemodulebasedonEthernetiswidelyutilizedandhasgoodapplicationprospect.
KEYWORDSENC28J60,SPI,TCP/IPprotoc01.Emp
一设计要求
采用高性能的lpc2132和新以太网控制器enc28j60以及max232连接实现网络接口模块硬件软件
二设计内容描述
随着Internet商品化进程的加速,特别是在Internet上越来越多的信息资源共享显示出巨大的诱惑力,在不使用PC机的情况下利用微控制器通过ISP(Internet服务供应商)接入互联网,将取代以传统的PC机为中心的应用,成为未来Internet发展的趋势。
通过以太网可实现局域网内的嵌入式器件与互联网的连接,所以要将单片机系统接人Internet必须做好两方面的准备:
①硬件上,要结合系统主控器(单片机)加一个网络接口;
②软件上,要提供相应的通信协议。
用TCP/IP协议中的UDP、ARP及简单的应用层协议,实现了嵌入式系统的网络接口模块,从而使得各种不具备网络功能的嵌入式系统设备具有了互通和联网功能,既提高了数据传输速度和准确性,又扩展了数据的有效传输半径。
三网络接口模块的硬件设计
模块主要由3部分组成(图1):
PHILIPS公司的ARM体系结构的LPC2132芯片作为主控芯片的功能,又可以片,MICROCHIP公司的ENC28J60作为以太网控制芯片,还有MAX公司的MAX32作为串口通讯芯片。
3.1主控芯片LPC2132
RX
TX
图一
LPC2132微控制器是基于一个支持实时仿真和嵌入式跟踪的32位ARM7TDMI—SCPU,带有64kB
的高速Flash存储器。
128位宽度的存储器接口和独特的加速结构使32位代码能够在最大时钟速率下运
行。
对代码规模有严格控制的应用可使用16位Thumb模式将代码规模降低超过30%,而性能的损
失却很小。
较小的封装和很低的功耗使LPC2132特别适用于访问控制和POS机等小型应用中;
由于内置了宽范围的串行通信接口和16kB的片内SRAM,也非常适合于通信网关、协议转换器。
LPC2132集成了丰富的外围模块,提供了方便的调试手段,可以完全满足设计需要,并大大简化了设计步骤。
它可以通过片内boot装载程序实现在系统编/在应用编程(ISP/IAP);
同时对代码进行实时调试和高速跟踪;
片内有1个10位的A/D转换器和1个10位的D/A转换器、2个32位定时器/外部事件计数器(带4路捕获和4路比较通道)、PWM单元(6路输出)和看门狗、多个串行接口(2个16C550、UART、2个高速12C总线、SPI和SSP)、可配置优先级和向量地址的向量中断控制器、小型的LQFP64封装上包含多达47个通用I/0口(可承受5V电压);
多达9个边沿或电平触发的外部中断管脚;
低功耗模式:
空闲和掉电;
通过外部中断或BOD将处理器从掉电模式中唤醒;
单电源,具有上电复位(POR)和掉电检测(BOD)电路ICPU操作电压范围:
3.0V~3.6V(3.3V士10%)。
Lpc2132芯片图
MAX232芯片是美信(MAXIM)公司专为RS-232标准串口设计的单电源电平转换芯片,使用+5v单电源供电。
器件特别适合电池供电系统,这是由于其低功耗关断模式可以将功耗减小到5uW以内。
MAX225、MAXX233、MAX235以及MAX245/MAX246/MAX247不需要外部元件,推荐用于印刷电路板面积有限的应用。
MAX220–MAX249系列线驱动器/接收器,专为EIA/TIA-232E以及V.28/V.24通信接口设计,尤其是无法提供±
12V电源的应用。
Max232引脚图
3.2以太网控制器ENC28J60
ENC28J60是Microchip生产的,全球目前最小封装的以太网控制器,符合IEEE802.3协议的ENC28J60有28引脚,既大大简化相关设计,又减小占板空间。
此外,ENC28J60以太网控制器采用业界标准的SPI串行接口,只需4条连线即可与主控单片机连接。
这此功能加上由Microchip免费提供的、用于单片机的TCP/IP软件堆栈,使之成为目前市面上最小的嵌入式应用以太网解决方案。
ENC28J60的主要特点①兼容IEEE802.3协议的以太网控制器;
②集成的MAC和10BASE—T物理层;
⑧支持个双工和半双工模式;
④数据冲突时可编程自动重发;
⑤SPI接口速度高达10Mb/s;
⑥8k数据接收发送双端口RAM;
⑦提供快速数据移动的内部DMA控制器;
⑧可配置的接收发送缓冲区大小;
⑨支持中播、多播和广播;
⑩两个可编程LED输出,带7个中断源的两个中断引脚,TTL电平输入。
ENC28J60兼容IEEE802.3协议,内部集成了物理层,支持个双工和半双工模式,芯片内的8k双端口RAM可以自由配置,特殊的过滤器Microchip的可编程模式匹配过滤器,可自动评价、接受或拒收、中播、多播、或广播信息包,以减主控单片机机的处理负荷。
ENC28J60引脚简单,SPI接口和中和单片机机相连接,网络的四个引脚通过网络变压器后连接到RJ45接口,两个中断引脚接接单片机的外部中断或者连接到通用I/O口,两个指示灯引脚外接发光管连接到地或者电源,其余引脚是电源和地。
ENC28J60内部采用3.3V电源,但是其接口都可以容忍5V的电压值,振荡器可以选用无源晶体或者有源晶振。
以太网控制器ENC28J60硬件连接图
四络接口模块的软件设计
软件部分主要包括模块的TCP/IP协议软件、以太网芯片ENC28J60的驱动程序、参考开放系统互连(OSI)模型,在嵌入式系统中通常采用一种简化的4层网络模型,分别为:
应用层、传输层、网络层和链路层
表一
层次结构
功能
应用层
通过以太网和TCP/IP传输数据,实现与Ethernet
和数据终端的交互通信
传输层
实现UDP协议。
让网络程序通过明确定义的通道及某些特性获取数据
网络层
实现IP协议,提供ARP地址解析协议,实现从地址到数据链路物理地址的映像
链路层
由单片机控制网卡芯片ENC28J60实现
4.1以太网芯片ENC28J60的驱动程序设计
在编写网络驱动程序之前,必须对ENC28J60的寄存器设置和工作过程有所了解。
ENC28J60内部的静态RAM有三种类型,控制寄存器,以太网缓冲区和物理层寄存器,控制寄存器用来进行芯片的配置和控制等功能,直接SPI读写;
以太网缓冲区可以由SPI接口配置为接收和发送以太网数据包的RAM区;
物理层寄存器用来配置,控制和监测物理层的状态,此寄存器不能直接由SPI接口读写,只能通过媒体独立接口MII访问。
ENC28J60控制寄存器中最基本和重要的5个寄存器,EIE:
以太网中断使能控制寄存器,分为总中断使能和各部分使能控制,EIR:
以太网中断标志寄存器,在接收和发送数据包时根据不同的标志位进入不同的执行程序。
ESTAT以太网状态寄存器,反映以太网当前是否数据碰撞、忙信息、错误信息、时钟状态等信息,ECON2:
以太网辅助控制寄存器,设置数据指针,芯片节能等,ECoNl:
以太网主控制寄存器,主要用来设置不同层的寄存器空间。
以太网缓冲区大小共8kB,可以通过SPI接口编程配置成接收和发送缓冲区两大部分,由以太网控制器相关寄存器进行设置。
物理层寄存器共有32个寄存器,其中只有9个可以使用,每个寄存器为16位宽度,不能直接由SPI总线读写,主要配置的寄存器包括物理层的复位、节电、双工设置,LED的设置等。
ENC28J60与以往的以太网控制器在程序设计上
不同,但采用的也是类似RTL8019A的中断的方式。
当主程序响应ENC28J60的中断的时候,在EIR入口,根据读取EIR寄存器的值来确定程序的走向。
其网络驱动程序软件流程图。
读ENC28160的EIR
收到一新帧
帧发送完
中断返回
清EIR的PKUTF标志
读该帧数据
置已收到的数据供上层软件使用
接受缓冲区为空
清EIR的TXIP标志
该传递状态寄存器
置传递状态到上层软件
发送队列完?
传递下一帧数据
重新列队指针
Y
N
图二
初始化ENC28160
按UDP打包数据
有串口数据
有网络数据
UDP数据?
UDP端口正确?
按UDP拆包
ARP数据?
ARP协议处理
图三
4.2MCU(LPC2132)主控程序
LPC2132主控程序流程图如图3所示,LPC2132首先初始化芯片ENC28J60。
.初始化部分主要完成:
软件复位;
设定临时使用的以太网物理地址;
设定接收帧的类型;
确定数据的传送方向;
中断允许;
使能接收中断;
接收发送使能。
LPC2132主要完成数据的解包打包。
LPC2132从网络接收到数据报,则对数据报进行分析,如果是ARP数据包,则程序转入ARP处理程序。
如果是IP数据包且使用UDP协议,端口正确,则将数据解包后通过串口输出。
反之,如果LPC2132从串口收到数据,则将数据按照UDP协议格式打包,送入ENC28J60,
由ENC28J60把数据输出到局域网中。
可以看出,链路层由ENC28J60完成,TCP/IP的网络层和传输层由LPC2132来处理,而应用层则由用户根据需要进行数据处理。
整个系统模块是通过UC/OS—II来对系统资源进行有效管理并合理调度任务的。
心得体会
所设计的嵌入式系统网络接口模块具有成本低、硬件少、传输速度快、使用方便等优点。
特别适合于对传统不具备网络通讯能力的设备进行智能化改造,也适用于新型智能仪器仪表和工业自动化系统设备的开发,有着广泛的应用前景。
当计算能力不再是瓶颈,当计算机、手机、PDA和各种智能机器,都能通过有线或无线网络连接起来的时候,IT技术的热点和市场竞争的焦点将是人机智能交互技术,即人类通过使用多种手段或技术与信息终端进行交互,实现人与人、人与机器及网络进行信息沟通。
FreeTTS是Java体系中一个轻量级的语音交互实现,但其功能完备,实现方法简单,结合Java本身的特点,基于该工具的各类语音交互系统开发将会快速有效的完成,在人机智能交互及其相关领域,FreeTTS必将扮演举足轻重的角色之一。
参考文献
[1]祁树胜.SPI接口以太网控制器ENC28J60及其应用].微计算机信息,2006,22(8z)1266—268.
[2]周立功.ARM嵌入式系统软件开发实例
(一)[M].北京:
北京航空航天大学出版社。
2004.
[3]KennethD.Reed.TCP/IP基础[M].北京:
电子工业出版社,2002.
[4]郝洁,王慕坤,付金生.嵌入式TCP/IP技术研究及应用[J].哈尔滨理工大学学报,2004,9
(2):
100-102.
[5]周立功.ARM嵌入式系统基础教程[M].北京:
北京航空航天大学出版社,2005.
附录
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 系统 网络 接口 模块 设计