基于单片机以太网通信模块的软件设计课题(25页).docx
《基于单片机以太网通信模块的软件设计课题(25页).docx》由会员分享,可在线阅读,更多相关《基于单片机以太网通信模块的软件设计课题(25页).docx(25页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-基于单片机以太网通信模块的软件设计课题-第 24 页基于单片机以太网通信模块的软件设计第1章 绪论1.1 选题的目的与意义随着信息技术的飞速发展,Internet应用己经深入到生活的方方面面。传统的互联网应用以PC为中心,现在已开始转向以嵌入式设备为中心,许多嵌入式设备尝试着接入Internet。嵌入式系统己经广泛地渗透到航空、汽车电子、工业生产、通信、消费电子以及人们日常生活的方方面面。IA(Internet Appliance)概念现在甚为流行,这表明互联网应用进入嵌入式互联网的时代己经来临。中国计算机学会(China Computer Federation)于1999年6月举行了“嵌入
2、式系统及产业化在中国的发展前景”研讨会,专家们探讨了嵌入式系统在当今计算机工业中的地位及其网络化问题,认为下一代网络设备中嵌入式设备将大大增加,互联网上传输信息的70%将会来自小型嵌入式系统。随着嵌入式系统更广泛的应用以及网络的进一步普及,嵌入式系统接入网络已成为嵌入式系统应用的一个重要方向和必然结果。嵌入式Web服务器是嵌入式系统网络化应用的重要方面。把嵌入式系统作为Web服务器与Internet相连接很适合于远程监控和生产过程控制等系统,通过特定的手段采集数据,利用远程浏览器通过访问嵌入式Web服务器就可以直接监控现场设备的运行,提高生产效率和管理水平。在嵌入式系统上实现WEB服务器,不仅
3、克服了嵌入式系统用户界面死板甚至无界面的缺点,同时也为嵌入式系统的远程应用提供了一种人机可交互的方便的操作方式,从而使嵌入式MCU以WEB服务器的方式提供给客户端。在嵌入式系统网络化应用日趋流行的今天,设计和实现微处理器的网络接入是一个很有现实意义的问题,可以实现基于Internet的远程数据采集、远程控制、自动报警、上传/下载数据文件、自动发送E-mail等功能,同时也为IST(Internet Sensor Technology网络传感器技术)、HVAC(家庭环境自动控制)、局部环境自动监测、智能小区管理、网络自动抄表等技术的应用与发展提供技术保证。8051系列微处理器被广泛应用于从军事、
4、自动控制到PC机上的键盘上等各种应用系统中,很多制造商都可提供8051内核系列单片机,像Intel、Philips、Atmel、Siemens等。这些制造商给51系列单片机加入了大量的性能和外部功能,像I2C总线接口、模拟量到数字量的转换、看门狗、PWM输出等,更加丰富了8051单片机的功能和外围接口。不少芯片的工作频率达到40MHz,工作电压下降到1.5V,由于这些功能都是基于同一个内核,使得8051单片机很适合作为厂家产品的基本构架。同时由于基于8051系列微处理器的硬件系统价格低廉,因此对于那些需要开发低成本产品的项目来说是一种不错的选择。而伴随着Internet遍布于全世界的每个角落,
5、对于大量低端的以8051系列微处理器为核心的小型嵌入式设备来说,把其作为一个简单的WEB服务器,借助于Internet来传送各种测量和控制信息,可以使人们在任何时候,任何地方实时监控现场设备和数据,还可以在远方对现场设备进行诊断和软件升级,具有快速、方便、可靠的特点。因此单片机如何控制以太网网卡控制器进行数据传输,如何嵌入TCP/IP协议使其连接到互联网,这些都具有深远的意义。1.2 本课题在国内外的发展现状近几年来,国外投入嵌入式Internet研究的公司逐渐增多,参与研究的公司规模差异也越来越大,大的如Philips、Microsoft、NEC、Motorola等公司,小的则是一些刚刚成立
6、的高科技公司。下面主要介绍一些国外公司在嵌入式Internet领域的研究状况。1)iReady公司致力开发各种TCP/IP堆栈处理器硅片解决方案。它己成功开发TCP/IP堆栈技术,这种独特的技术可提供全面的传送卸载支持,确保以太网网络可以发挥极高的性能。多家公司已获许可使用iReady的硬件加速TCP/IP堆栈技术,有关公司包括Toshiba、Seiko Instruments、Sony及Agilente Seiko公司在此基础上推出IC芯片S7600A芯片,将TCP/IP协议栈用硬件方法予以实现。2)Accelerated Technologies公司开发的Nucleus Plus实时核心软
7、件,提供了完整的TCP/IP协议栈,包括全部源程序(称为Nucleus Net,价格约为14995美元)。3)美国EmWare公司提出嵌入式微互联网EMIT(Embedded Internet Technology)运行技术,即嵌入式微型网络技术,将串口设备接入Internet,实现基于Internet的远程数据采集、智能控制、上传/下载数据文件等功能。松下电工的家庭网络中间件,核心技术即采用的EmWare公司开发的EMIT构架。4)在工业测控领域,1999年成立的“工业以太网协会”(IEA)正在积极致力于工业以太网现场总线的研究开发,美国OPT022公司采用嵌入式Internet技术,研制开
8、发了“以太网I/O系统”-SNAPI/O系统,成功应用于工业控制过程、楼宇智能化监控等多项工程中。此外,惠普公司应用IEEE1451.2标准,生产的嵌入式以太网控制器具备10-BaseT接口,运行FTP/HTTP/TCP/UDP协议,应用于传感器、驱动器等现场设备。而国内嵌入式Internet技术的研究才刚刚起步,有一些公司也正在积极研究嵌入式Internet技术,但成果没有国外的丰硕,且大多停留在理论阶段。对工业控制网络领域的理论研究主要局限于现场总线网络上,对建立工业以太网控制网络还未进入到实质研究阶段。在产品开发方面,北京英贝多公司研发出了基于芯片的微型Internet网关和瘦服务器,为
9、迎接Internet向嵌入式领域发展的第三阶段做好基础性准备。另外武汉力源公司也推出了专用网络接口芯片PS2000以及一款用于连接电子设备和Internet网络的集成电路Web chip,其内部固化了MCU NET协议,该协议与EmGateway和OSGI协议兼容。这种应用系统通过Web chip网络芯片与Gateway连接,再接入Internet。目前国内己经有基于该芯片的相关应用开发。可见,如何通过互联网共享以“微控制器”(MCU, Micro Controller Unit)为中心的小型嵌入式设备相关的信息,也即如何使MCU成为Web服务器是当今嵌入式研究领域中的一项重要内容。1.3 本
10、课题要解决的主要问题本文主要是针对以RAT8019AS单片机为硬件平台的中低档嵌入式系统,用C5l编程语言开发一个适合小型系统使用的轻型嵌入式TCP/IP协议。具体的工作主要有:(1)RTL8O19AS的驱动编程,为TCP/IP协议栈的开发提供易用的接口。(2)从实际成本出发,本文采用低档单片机直接控制网卡芯片,在单片机中实现TCP/IP协议的方案。(3)在本文对网络协议做了详细的阐述,特别是本设计中需要进行设计的几个协议,IP协议、ARP协议、UDP协议。(4)精简TCP/IP协议的编程,这是本课题的重点所在。(5)联机调试,完成各层协议的测试。第2章 TCP/IP协议TCP/IP协议即传输
11、控制协议/网际协议是发展至今最成功的通信协议,它被成功应用于当今所构筑的最大的开放式网络系统Internet之上就是其成功的明证。Internet最初的设计是为了满足美国国防部的需要,今天Internet已经发展得更加商业化,更加面向消费者,尽管基本目的发生了改变,但其最初的所有质量标准(也就是开放式、抗毁性和可靠性)依然是必需的。这些特性包括可靠传输数据、自动检测和避免网络发生错误的能力。TCP/IP是一个开放式的通信协议,开放性意味着在任何组合间,不管这些设备的物理特征有多大差异,都可以进行通信。本章主要介绍了TCP/IP协议分层模型及其工作原理,并按照由下向上的顺序介绍了TCP/IP协议
12、族中最重要的一些协议如ARP、IP、ICMP、UDP、TCP、HTTP等。其中结合本课题的需要,重点介绍了IP协议和TCP协议。如同0SI参考模型,TCP/IP也是一种分层模型。它是由基于硬件层次上的四个概念性层次构成,即应用层、传输层、IP层和数据链路层。图2.1给出了TCP/IP的概念性层次结构图。概念性层次 层次之间的传递对象报文或字节流传输协议分组IP数据包特定网络帧图2.1 TCP/IP概念性层次结构2.1 TCP/IP分层模型的工作原理TCP/IP协议是一个大的协议族,其中一些常用协议在TCP/IP分层模型中所处的位置如表2.1所示。数据包在TCP/IP在协议栈中流动的时候,也是由
13、上至下或由下至上,逐层进行传输的。在TCP/IP参考模型中,每个实体和另一个系统的同层实体按协议进行通讯,而一个系统内实体和上下层间的通讯,则通过接口进行。表2.1 协议在TCP/IP分层模型中的位置应用层HTTP FTP Telnet E-mail DNS 等传输层TCPUDPIP层IP ICMP ARP数据链路层介质访问控制协议MAC,以太网协议物理层网路接口芯片不同系统间同层实体间的数据传输过程如图2.2所示。图2.2 数据包在TCP/IP分层模型中的传输过程在整个协议层次结构中,通信协议使用了复用和分解的技术。发送方在报文中加入报文的类型、选用的协议等附加信息,在接收方收到分组后,参考
14、附加信息对收到的分组进行分解,根据其中的协议类型选择相应的协议进行处理,图2.3是IP包的去复用过程。图2.3 IP数据报的去复用过程2.2 数据链路层协议数据链路层(Data Link Layer)是TCP/IP协议族的最底层,它负责接受IP数据报并把数据报通过选定的网络发送出去,或者从网络上接收物理帧,抽取出IP数据报,交给IP层。数据链路层一般可再细分为介质访问控制子层MAC和逻辑链路控制子层LLC。MAC子层的协议实现一般是由MAC接口芯片来完成的;而LLC子层的实现一般是由网络接口芯片的驱动程序来完成的。除此之外,数据链路层典型的协议就是地址解析协议ARP(Address Resol
15、ution Protocol)。以太网的网络接口层支持的是48位以太网地址,而网络层支持的是32位的IP地址。ARP协议的功能是为32位IP地址到对应的48位以太网物理地址之间提供动态映射,将上层的仲地址与底层的物理地址进行绑定,它形成了只能使用IP地址的上层协议软件与只能使用物理地址的下层设备驱动程序软件之间的分界线。以太网首部位功能描述48以太网目的地址48以太网源地址16以太网帧类型(ARP-0X0806 IP-X0800)以太网ARP字段16硬件类型(以太网-1)16协议类型(ARP-0X0806 IP-X0800)8硬件地址的长度(以字节数计算,ARP请求或应答为6)8协议地址的长度
16、(以字节数计算,ARP请求或应答为4)16操作码(ARP请求1,ARP应答2)6发送端以太网地址4发送端的协议地址(IP地址)6目的端以太网地址4目的端的协议地址(IP地址)图2.4 ARP报文格式图当某主机要向以太网中另一台主机发送IP数据时,它首先根据目的主机的IP地址在ARP高速缓存中查询相应的以太网地址,ARP高速缓存是主机维护的一个IP地址到相应以太网地址的映射。如果查到匹配结点,则相应的以太网地址被写入以太网帧首部,数据包被加入输出队列等候发送。如果查询失败,APR会先广播一个询问目的主机硬件地址的APR报文,等到收到回答后再将数据包发送出去。APR包格式如图2.4所示。2.3 I
17、P层协议IP层主要提供传输层数据分片、封装和路由功能以及控制报文的生成与传送服务。IP层是TCP/IP协议族的核心。IP层的主要协议是网际协议IP(Internet Protocol)和网络控制报文协议ICMP(Internet Control Message Protocol)。IP协议提供了一种不可靠的、尽最大努力传送的、无连接分组传送服务。所谓不可靠,指的是不能保证正确传送,分组可能丢失、重复、延迟或不按序传送,而且服务不检测这种情况,也不通知发送方和接收方。所谓无连接,是指每个分组都是独立处理的,可能经过不同的路径,有的可能丢失,有的可能到达。所谓尽最大努力传递,指的是协议栈软件尽量传
18、送每个分组,只有当资源用尽或底层网络出现故障时,才会出现不可靠服务。2.3.1 IP首部结构IP数据报的首部格式如图2.5所示。普通的IP首部长为20个字节,除非含有选项字段。0 15 16 314位版本4为首部长度8位服务类型(TOS)16位总长度(字节数)20字节16位标识3位标志13位偏移8位生存时间(TTL)8位协议16位首部效验和32位源IP地址32位目的IP地址选项(如果有)数据图2.5 IP数据报的首部格式IP数据报首部各数据域的含义分析如下: IP版本号:目前的协议版本号是4,因此IP有时也称为工Pv4。IP协议的下一个版本是Ipv6,这也是当今互联网界研究的热点。 首部长度:
19、指明IP首部中32bit字的数目,包括任何选项。由于它是一个4比特的字段,因此IP首部最长为60个字节。. 服务类型:TOS(Type of Service)指服务是否是最小时延,最大吞吐量,最高可靠性,或最小费用之中的一种。目前大多数TCP/IP栈的实现都不支持TOS特性。 总长度:总长度字段是指整个IP数据报的长度,以字节为单位。利用首部长度字段和总长度字段,就可以知道IP数据报中数据内容的起始位置和长度。由于该字段长16比特,所以IP数据报最长可达65535字节。 标识:标志字段唯一的标志主机发送的每一份数据报,通常每发送一份报文,它的值就会加1。 标志和片偏移:这两个数据域主要用于IP
20、数据报的分片。 生存时间TTL:生存时间字段TTL(time-to-1ive)设置了数据报可以经过的最多路由器数,它指定了数据报的生存时间。 协议字段:该字段表明IP数据报所采用的上层协议的类型。IP数据报的去复用就是根据该协议字段进行的。 首部校验和:首部检验和字段是根据IP首部计算的检验和码。为了计算一份数据报的IP检验和,首先把检验和字段置为0。然后,对首部中每个16bit进行二进制反码求和(整个首部看成是由一串16bit的字组成),结果存在检验和字段中。它不对首部后面的数据进行计算。当收到一份IP数据报后,同样对首部进行校验。由于接收方在计算过程中包含了发送方存在首部中的校验和,因此,
21、如果首部在传送过程中没有发生任何错误,那么接收方计算的结果应该为全1。如果不是全1(即校验和错误),那么IP就丢弃收到的数据报,但是IP层并不生成差错报文,而是由上层协议去发现数据报的丢失并进行重传。2.3.2 ICMP协议简介最初设计的ICMP仅仅为了路由器向主机报告投递出错原因,但发展到现在ICMP在两台主机上的协议软件之间能提供了通信,因此产生了多种ICMP报文。尽管每个ICMP报文有自己的格式,但它们都以相同的三个字段开始:比特整数的报文类型(TYPE)字段用来标识报文;一个8比特的代码(CODE)字段提供有关报文类型的进一步信息,以及一个16比特校验(CHECKSUM)字段。各种报文
22、类型如下图2.6所示。类型字段ICMP报文类型0回送应答3目的地不可达4源站抑制5重定向8回送请求11数据报超时12数据报参数错13时间戳请求14时间戳应答17地址掩码请求18地址掩码应答图2.6 ICMP报文类型2.4 传输层协议传输层(Transport Layer):传输层为其上层运行的应用层协议提供不同层次的端到端的通信服务。TCP/IP协议模型定义了两个传输层协议:传输控制协议TCP(Transmission Control Protocol)和用户数据报协议UDP(User Datagram Protocol)。UDP提供无连接的、开销最小的、快速但不可靠的端到端通信服务。主要应用
23、于三个领域:1)依赖广播方式传输的TCP/IP控制应用,例如域名解析服务DNS、引导协议BOOTP和动态主机配置协议DHCP等;2)有规则重传信息的面向网络的服务,例如路由信息协议RIP和简单网络控制协议SNMP等;3)对一传输实时性和效率要求高且对分组丢失不敏感的Web多媒体业务。TCP为应用层协议提供了面向连接的、可靠的服务。应用于数据传输量大且可靠性要求高的业务,例如远程通信网络协议Telnet、文件传输协议FTP、简单邮件传输协议SMTP和超文本传输协议HTTP等。TCP全权负责确保所有数据段都已安全正确地到达了目的端,并且能重组成正确的序列。TCP协议包括:面向连接的服务、分组确认、
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 以太网 通信 模块 软件设计 课题 25
限制150内