您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 基于单片机的网络通信模块设计
基于单片机的网络通信模块设计前言随着Internet的普及和以太网的迅速发展,基于以太网的设备控制越来越多。加之电子技术的飞快发展,各种工业过程数字仪表应运而生。以太网是目前应用非常广泛的网络通信技术,它具有丰富而完善的通讯协议,支持现场设备的热拔插,提高系统运行的稳定性和抗干扰性,安装、维护成本低。用以太网实现嵌入式系统的网络连接有多种方案,传统的多器件以太网连接解决方案,是通过MCU扩展以太网控制器来实现的,必要时还需要扩展外部RAM和ROM,虽然这个计划中的应用还不是很困难,但有大量的外部元件,系统开销较大,它以ATmega16单片机和带芯片ENC28J60和集成网络变压器的接口模块HR91105为核心。分析了ATmega16的功能和特点,介绍ENC28J60芯片的结构特性和主要性能,并给出了接口的硬件设计和软件设计方案。在此基础上。这个方案不仅成本低,而且能实现500Kbps以上的传输速率,满足了嵌入式系统的Internet控制要求。但设计师在为远程控制或监控系统提供以太网接入时,可选的以太网控制器均是专为个人计算系统设计的,那些超过80引脚封装的以太网控制器大量运用于上述情况,这些器件不仅结构复杂,面积庞大,且系统开销较大。无法很好地满足嵌入式网络应用系统。在测控领域,以单片机为核心符合IEEE802.3协议的ENC28J60只有28引脚,却具有早期器件相应的功能,满足系统设计的要求,ENC28J60以太网控制器采用业界标准的RJ45串行接口,只需4条连线即可与主控单片机连接,使得嵌入式应用系统的以太网接口变得极其简便。不过到目前为止,基ENC28J60以太网应用却不是很多。在测控领域,以单片机为核心的各种智能监控、测试系统因其高性价比等原因正得到越来越广泛的应用。本项研究的目的是要利用ENC28J60在ATmega16+ENC28J60平台上实现以太网通信。对于没有开放总线的单片机,虽然有可能是其他以太网控制器连接模拟并行总线,但不管从效率还是性能上来看,都不如用RJ45接口或采用一个通用I/O口模拟RJ45接口连接ENC28J60的方案。随着国民经济的快速发展,互联网络硬件、软件也迅猛发展,网络用户的发展已成倍增长。利用廉价的AVR单片机来控制ENC28J60实现以太网通讯这一做法,在使用计算机网络进行互联的各种家用电器及设备,仪器仪表,工业生产数据采集与控制设备逐步地走向网络化,以共享网络中巨大的信息资源的大背景下,仍然具有十分重要的意义。它适用于现有的网络传输系统,有着广泛的应用前景,特别是数据采集、数据传输领域。1.总体设计方案1.1基于单片机的网络通信模块设计要求该嵌入式以太网接口的通信设计是以ATmega16单片机配合带RJ45接口的独立以太网控制器ENC28J60,通过片上程序开发,将程序移植在此嵌入式系统中,就可以实现通过互联网对其进行远程控制或远程数据采集等功能。本文将从硬件系统和软件系统两部分的设计和实施着手,对ATmega16单片机和ENC28J60的RJ45通讯进行阐述。系统的硬件部分,包括各核心器件的功能特点、用法、应用电路以及调试过程等,如ATmega16单片机相关电路的设计及应用,网络控制器ENC28J60外围电路的设计。软件部分包括网络控制器驱动程序设计与实现、单片机串口通讯程序的设计与实现。论文的最后部分为系统的综合测试以及结论。1.2基于单片机的网络通信模块设计方案从硬件本质上看,RJ45接口就是两个简单的移位寄存器,RJ45传输的是8位的数据,ENC28J60可以与许多单片机的RJ45接口应当指出,当需要从ENC28J60中读取多个数据时,即使ENC28J60并不需要ATmega16串行输出数据,但每读取一个数据到发送缓冲区之前,都要向RJ45发送缓冲器写一个数据以启动RJ45接口的时钟。由于RJ45系统的发送方向只有1个缓冲器,而在接收方向有2个缓冲器,所以在发送时一定要等到移位过程全部结束后,才能对RJ45数据寄存器执行写操作;而在接收数据时,需要在下一个字节移位过程结束之前通过访问RJ45数据寄存器读取当前接收到的数据,否则将导致第1个数据的丢失。如果以太网连接采用最简单的TCP/IP协议集和微控制器,就可以连接各个最小功能设备。当采用标准化和嵌入式以太网连接后,就可实现经济高效的目的。以太网作为通用的网络接口,在WAN和MAN节点中的应用频率日渐增加。当前,全球基于以太网的企业网络已有3亿多个,超过85%的已有网络连接是以太网。这充分证明了以太网的成功。以太网不仅拥有庞大的用户群体,而且保持着强劲的增长势头,所以很可能一统连接方式的天下。为了实现以太网联网和因特网的连接,采用独特的单芯片16位以太网解决方案。其拥有比8位解决方案更强的处理能力和更多的存储资源(共享8KB的RAM数据/消息存储区),可使吞吐量和存储空间使用之间的平衡得到改善,从而将大部分的MCU资源留给各种应用。一些响应快速的微控制器对不同大小的IP数据包进行组装/拆卸时都有充分的时间,所以,在要求严苛的工业环境中,它依然能应付自如。它之所以可以承担以太网联网的重任,是因为其兼有高速的内部总线和突出的寻址模式,并通过以太网进行远程监测和控制。当前嵌入式研究领域的技术热点之一是以太网(Ememct)技术在嵌入式系统上的开发应用。首先,与传统的RS-485、CAN等相比较,以太网更高速、通用,而且直接与Internet相连接,提供了更大范围的远程访问;其次,相对于新兴的USB2.0、IEEEl394等总线,以太网技术明显的优势集中体现在传输距离、布线成本以及控制软件的通用性上。在今天的数字系统设计中,嵌入式微控制器能结合微处理器的内核与丰富的外围接口设备,不但能提供强大的运算和控制功能,还降低了系统成本和功耗,因而它作为数字系统的控制核心无可厚非,如有需要,再配以适当的专用芯片(例如音视频编解码器、数字调制解调整器等)。这种体系结构适用于大多数复杂数字系统的设计。1.3ENC28J60简介ENC28J60是MicrochipTechnology(美国微芯科技公司)推出的28引脚独立以太网控制芯片,由于目前市场上大部分以太网控制芯片采用的封装均超过80引脚,所以它是目前以太网控制芯片中的最小封装形式。另外,它符合IEEE802.3的全部规范,采用了一系列机制来限制传入数据包,它提供了一个内部DMA模块,使快速数据吞吐及硬件支持的IP校验和计算得以实现。ENC28J60与主控单片机的通信通过两个中断引脚和RJ45实现,数据传输速率高达10Mb/s。由于ENC28J60芯片带有RJ45接口,因此作为任何配备有RJ45接口的单片机系统的以太网接口芯片毫无问题。对于没有开放总线的单片机,不管从效率还是性能上,采用单片机的RJ45接口连接ENC28J60的办法都是一个十分不错的方案。即便有采用模拟并行总线的方式连接其他以太网控制器的可能。1.4Atmega16介绍在单片机中有很多型号供我们选择,在这里我们将着重介绍一下ATmega16。它是一种微控制器,是AVRRISC结构的增强版,具有8位低功耗CMOS。由于它的指令集足够先进,周期指令执行时间也非常短,因此ATmega16的数据收发率可高达1MIPS/MHz,这样就可以使得功率消耗问题与处理速度之间的矛盾得以减缓。ATmega16AVR内核的指令是十分充足的指令集,此外还有它的通用工作寄存器也高达32个。这些寄存器都是与运算逻辑单元(ALU)直接连接,这样就可以使得一条指令一个时钟周期内能够同时到达两个独立寄存器进行访问。ATmega16还具有以下特点,比如:在16K字节的系统内可进行Flash编程,也就是说这个系统具有同时读写能力,512BEEPROM,1KBSRAM,32个通用I/O口线,32个工作寄存器(能通用的),用于边界扫描的JTAG接口,支持片内调试与编程,有三个具有比较模式的灵活的定时器/计数器(T/C),片内/外中断,可编程串行USART,有起始条件检测器的通用串行接口,8路10位具有可选差分输入级可编程增益(TQFP封装)的ADC,具有片内振荡器的可编程看门狗定时器,一个SPI串行端口,以及六个可以通过软件进行选择的省电模式。工作于空闲模式时CPU停止工作,而USART、两线接口、A/D转换器、SRAM、T/C、SPI端口以及中断系统继续工作;停电模式时晶体振荡器停止振荡,所有功能除了中断和硬件复位之外都停止工作;在省电模式下,异步定时器继续运行,允许用户保持一个时间基准,而其余功能模块处于休眠状态;ADC噪声抑制模式时终止CPU和除了异步定时器与ADC以外所有I/O模块的工作,以降低ADC转换时的开关噪声;Standby模式下只有晶体或谐振振荡器运行,其余功能模块处于休眠状态,使得器件只消耗极少的电流,同时具有快速启动能力;扩展Standby模式下则允许振荡器和异步定时器继续工作。该芯片是以Atmel高密度非易失性存储器技术生产的。片内ISPFlash允许程序存储器通过ISP串行接口,或者通用编程器进行编程,也可以通过运行于AVR内核之中的引导程序进行编程。引导程序可以使用任意接口将应用程序下载到应用Flash存储区(ApplicationFlashMemory)。在更新应用Flash存储区时引导Flash区(BootFlashMemory)的程序继续运行,实现了RWW操作。通过将8位RISCCPU与系统内可编程的Flash集成在一个芯片内,ATmega16成为一个功能强大的单片机,为许多嵌入式控制应用提供了灵活而低成本的解决方案。ATmega16具有一整套的编程与系统开发工具,包括:C语言编译器、宏汇编、程序调试器/软件仿真器、仿真器及评估板。2.系统功能2.1单片机的网络通信模块的基本功能以太网的核心思想是使用共享的公共传输信道。今天我们知道的以太网是在1972年开创的,在20世纪70年代末出现了几十种局域网技术,其中有一种就叫做以太网在当时最著名的网络当中,包括以太网在内还有数据通用公司MCA、网络系统公司的Hyperchannel、Data'Point公司的ARCNET和Corvus公司的OMNINET。经历了几十年的发展,以太网已经成为一种主流技术。目前,以太网已经和我们的生活息息相关,无论是构筑信息高速公路,还是企业信息系统,以及平时的娱乐活动都离不开以太网。这主要是应为以太网有如下优势:(1)开放型好(2)数据传输率高(3)远程技术的应用(4)易于信息网络集成,有利于资源共享(5)支持多种的物理介质和拓扑结构(6)成本和费用低廉从工厂、办公室到家庭,我们正在经历一场革命式的网络连接。商业和住宅用户可以发送及接收丰富多彩的数据、语音、图像、视频和先进的宽带服务。随着越来越多的建筑、生产设备、智能家居、智能互联网设备相互连接到对方,巨大的商业机会呈现在先进半导体的面前。网络将医院、大学校园、社区、企业和行业组织都相互连接起来还能连接至因特网。随着网络的扩展,用户要在不同子网之间进行标准化、低成本的连接以太网是首选接口。联网售货:连接到网络后,通过自动售货机,销售商可以监控货物销售,处理实时信用卡交易,进行库存管理和维护,并回应恶意破坏行为。联网医疗:在病房中使用健康监控器后,护理人员能密切关视每个房间中的病人当有情况发生时,护士站的监控器界面会发出报警信号。微控制器使这一切得以实现,并为各种应用提供了一个连接。要在这些应用中进行高效通信,微控制器需要一些基本的组件,包括TCP/IP协议栈、媒介访问控制器(MAC)、物理层(PHY),以及足够的程序和数据存储空间资源。TCP/IP协议将系统连接到互联网,是数据在网上传输的事实标准。以太网协议,一般说,是指根据IEEE802.3规范制定的局域网协议(LAN,LocalNetwork)中酶CSMA/CD协议。以太网通信目前常用的介质是双绞线和光纤。其中,CSMA/CD协议是CarriersensemultipleAccesswithCollisionDetection的缩写,是
本文标题:基于单片机的网络通信模块设计
链接地址:https://www.777doc.com/doc-7850671 .html