基于单片机的网络通信模块设计.
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
前言
随着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.3 ENC28J60简介
ENC28J60是Microchip Technology( 美国微芯科技公司) 推出的28引脚独立以太网控制芯片,由于目前市场上大部分以太网控制芯片采用的封装均超过80引脚,所以它是目前以太网控制芯片中的最小封装形式。另外,它符合IEEE802.3的全部规范,采用了一系列机制来限制传入数据包,它提供了一个内部DMA模块,使快速数据吞吐及硬件支持的IP校验和计算得以实现。ENC28J60与主控单片机的通信通过两个中断引脚和RJ45实现,数据传输速率高达10Mb/s。由于ENC28J60芯片带有RJ45接口,因此作为任何配备有RJ45接口的单片机系统的以太网接口芯片毫无问题。对于没有开放总线的单片机,不管从效率还是性能上,采用单片机的RJ45接口连接ENC28J60的办法都是一个十分不错的方案。即便有采用模拟并行总线的方式连接其他以太网控制器的可能。
1.4 Atmega16介绍
在单片机中有很多型号供我们选择,在这里我们将着重介绍一下ATmega16。它是一种微控制器,是AVR RISC结构的增强版,具有8位低功耗CMOS。由于它的指令集足够先进,周期指令执行时间也非常短,因此ATmega16 的数据收发率可高达1 MIPS/MHz,这样就可以使得功率消耗问题与处理速度之间的矛盾得以减缓。
ATmega16 AVR 内核的指令是十分充足的指令集,此外还有它的通用工作寄存器也高达32个。这些寄存器都是与运算逻辑单元(ALU)直接连接,这样就可以使得一条指令一个时钟周期内能够同时到达两个独立寄存器进行访问。
ATmega16 还具有以下特点,比如:在16K字节的系统内可进行Flash编程,也就