论文(设计)基于单片机的网络通讯协议研究及应用.doc
《论文(设计)基于单片机的网络通讯协议研究及应用.doc》由会员分享,可在线阅读,更多相关《论文(设计)基于单片机的网络通讯协议研究及应用.doc(37页珍藏版)》请在三一办公上搜索。
1、 论文题目:基于单片机的网络通讯协议研究及应用摘 要 今天,嵌入式Internet的应用己经深入到日常生活的各个方面。研究嵌入式TCP/IP协议在内部资源有限微处理器上的实现,具有重要的现实意义和经济价值。论文首先介绍了嵌入式系统的组成及对嵌入式Internet产生。通过对现有的嵌入Internet及比较了目前几种单片机接入Internet实现方案的前提下,应用了一种基于单片机自身特点的具体的解决方案:嵌入式TCP/IP协议。通过对TCP/IP网络协议的深入分析,对TCP/IP协议进行合理的简化,将其嵌入到内部资源有限的微处理器中,实现以电子邮件方式进行远程数据传输。关键字:嵌入式;Inter
2、net;TCP/IP;单片机目 录摘 要I第1章 引 言11.1 论文选题的背景及意义11.2 本文主要工作1第2章 方案的选取3第3章 网络协议53.1 TCP/IP分层模型53.2 数据封装63.3 数据帧分用73.4 协议层简介83.4.1 网际层协议83.4.1.1 IP地址分配93.4.1.2 地址解析协议103.4.1.3 IP分片/重组113.4.1.4 ICMP协议113.4.2 传输控制协议123.4.2.1 TCP连接和释放123.4.2.2 用户数据报协议13第4章 系统总体设计144.1 硬件总体功能结构设计144.2 TCP/IP协议层选择及分析154.2.1 链路层
3、协议选择及分析164.2.2 网络层协议选择及分析164.2.3 传输层协议选择及分析164.2.4 应用层协议选择17第5章 TCP/IP协议栈的实现195.1 ARP协议的实现195.1.1 ARP分组格式195.1.2 ARP协议软件实现195.2 IP协议及其实现225.2.1 IP数据报格式225.2.2 IP软件实现225.3 ICMP报文协议的实现245.4 TCP协议的实现255.4.1 TCP的报文段255.4.2 TCP协议的实现265.4.2.1 运输控制块TCB265.4.2.2 处理传入数据模块275.4.2.3 处理数据输出模块285.4.2.4 定时管理器295.
4、5 SMTP协议的实现315.5.1 客户机与服务器之间的交互315.5.2 SMTP邮件协议的实现32第6章 参考文献34参考文献36第1章 引 言1.1 论文选题的背景及意义 嵌入式Internet是本世纪计算机世界的一项热门技术。目前,嵌入式系统已经成为我们生活的一部分,应用领域不断扩大。嵌入式设备的联网已经开始。但是,由于嵌入式系统资源有限,一些传统的Internet技术和设备无法直接应用。这种趋势使着嵌入式Internet技术的产生和迅速发展。嵌入式 Internet(简称EI, Embedded Internet)通常可以理解为把TCP/IP协议作为一种嵌入式的应用,从而实现嵌入式
5、设备Internet的技术1 。近年来以单片机(Micro Computer Unit,MCU)为代表的嵌入式系统在工业探测系统、智能仪器、智能家电和信息家电领域得到了广泛应用。如今嵌入式系统带来的年产值早己超过万亿美元,1997年来自美国嵌入式系统大会的报告指出,未来几年仅基于嵌入式的全数字电视产品,就将在美国产生一个每年上千亿美元的新市场2。在这样的背景下,嵌入网络得以快速发展,目前世界许多国家的科研机构和各大公司纷纷加入了嵌入式Internet技术的研究行列。另据网络专家预测,将来在Internet上传输的信息中,将有70%的信息来自于小型嵌入式系统3。现正的我们可以说是正由PC机成熟技
6、术向嵌入式产品转化的后PC时期。因此,研究嵌入式系统的Internet接入技术,将会有极具现实意义和经济价值。如何利用单片机接入Internet网络是当今最热门的技术之一。鉴于8/16位单片机大量存在于嵌入式领域,在单片机上实现TCP/IP协议时嵌入式Internet的关键技术之一。本文在这样的背景下,试图开展一些有益的研究。1.2 本文主要工作 本文主要工作是将TCP/IP协议嵌入低档单片机中。通过89C51系列单片机和网卡芯片RTL8019AS在单片机上实现Internet接入,在对TCP/IP协议深入分析的基础上,对TCP/IP协议栈进行合理的简化后嵌入到单片机中。具体的工作有:1. 对
7、TCP/IP协议嵌入低档单片机的硬件系统框图的设计。2. 对TCP/IP协议栈进行研究,并分析各协议,完成软件结构的总体规划设计。3. 对我们需要的协议进行必要的精简,以达到软件的实现。课题的难点在于要对TCP/IP协议熟悉,要对其有较为全面和深入的研究,由于低档单片机资源有限,就必须根据需求对TCP/IP协议进行精简,精简后固化到单片机中实现单片机中数据的远程传输。第2章 方案的选取 嵌入式Internet技术的实现方法有很多种,体系结构不同、使用的芯片不同采用的底层技术不同,采用的软件技术不同等等。大体可有以下几种方式:1. PC网关与专用网结合接入Internet emGateway(P
8、C机)文件系统InternetWeb BrowseremMirco应用系统+emnetMCUNetRS232RS485嵌入式系统和PC网关连接通信,连接方式采用RS482、RS232、RS485等总线技术组成专用网。在专用网中由PC网关实现TCP/IP协议,并完成与Internet连接,实现嵌入式系统与Internet之间的信息交换。PC网关为嵌入式系统提供通信和管理服务。如安全防护、协议处理、监听设备的运行情况、向外界则提供Web 服务器等。这种技术需要一个专用的PC网关,而且PC网关跟嵌入式系统之间通信也会受到网络协议的制约。这种方案对嵌入式系统处理器和资源要求都比较低,开发相对容易,足以
9、解决嵌入式系统与Internet之间通信的问题,特别适合在嵌入式系统多且集中的环境中应用。不足之处在于接入成本高,不适合大范围的推广。该方案适合于大型和昂贵工业设备的上网需求,不适合在信息家电及网络智能等领域推广4。基于这种技术模型,EmWare公司开发出嵌入式微Internet网络技术EMIT5 ( embedded micro internetworking technology)。EMIT由emMicro、emGateway 和网络浏览器组成,并在MCU内部以软件方式嵌入emNet协议。如图2-1所示。图2-1采用专用嵌入式网络协议方式2. 高性能MCU+RTOS RTOSMCUTCP/
10、IPInternet采用高档片机在 RTOS平台上进行软件的开发,在单片机上实现对协议的处理。由于采用高档单片机,可以实现很多复杂功能。这种方法的缺点是:对程序员的要求高,须对RTOS和TCP/IP协议都要很熟悉,开发周期也较长,难度较大。同时高档单机价格不菲,因此硬件开发成本较高6。如图2-2所示。图2-2在嵌入式实时操作系统RTOS上运行TCP/IP3. 使用专用的嵌入式芯 MCU固化TCP/IP协议栈TCP/IPInternet专用嵌入式芯片是一种内置了通信和控制功能的单片机,采用这种方案的芯片有UbiCom公司的IP2022,iReady公司的Internet Tuner,Seiko
11、Instruments公司的S7600A ,Connect One公司的iChip等7。这些芯片固化了TCP/IP协议栈,支持HTTP,SMTP,MIME,POP3等协议,可进行E_mail的收发及Web浏览。此方案更为方便,无需操作系统,大大的节省资源,开发难度相对较低,要求对TCP/IP 协议与相关接口熟悉,技术实现也相对困难,且对处理器性能要求较高,需要提供大容量存储器。这类芯片功能强,能够实现多种网络协议,一般提供有相应的TCP/IP网络协议栈。但是这种芯片价格偏高,用户需要支付软硬件费用,不易于实现市场的广泛应用。如图2-3所示。图2-3 直接在嵌入式处理器上实现TCP/IP 协议4
12、. 使用普通单片机和网络控制芯片 通过在系统中集成网络接口芯片, 采用软件方式实现TCP/IP协议栈, 使得嵌入式系统具备网络功能从而接入Internt。单片机通过加载TCP/IP协议控制网卡来进行数据的传输,并通过TCP/IP协议接入互联网。远程控制端的操作指令的执行通过网络找到目标,经网卡接口传入单片机,通过在单片机上加载响应的程序来转换成物理帧格式,再让TCP/IP转换成相应的应用层控制指令。这种方法实现起来比较简单,而且可根据实际需要进行功能扩展,但是需要在单片机上实现嵌入式TCP/IP网络协议,软件编程的工作量比较大8。由于采用普通单片机,所以其优点是成本低,单片机体积小,而且产品可
13、以自己搭建,有利于产品的维护和二次开发,易于以极高的性价比向诸多需要实现嵌入式接入Internet的场合推广。本文设计的系统就是采用这种技术方案。第3章 网络协议3.1 TCP/IP分层模型TCP/IP采用分层体系结构,它与开放系统互联OSI模型的层次结构相似。如表2-1所示,它可以分为4层,由低到高依次为:链路层、网际层、传输层和应用层9。表2-1 OSI参考模型与TCP/IP参考模型比较OSI参考模型OSI层次号TCP/IP层次描述主要应用协议应用层7应用层FTP、e-mail和Telnet等表示层6会话层5传输层TCP和UDP传输层4网络层3网际层IP、ICMP和IGMP链路层设备驱动及
14、接口卡数据链路层2物理层1TCP/IP分层模型的四个协议层分层完成如下功能。(1) 第一层 链路层 链路层包括用于协作IP数据在已有网络介质上传输协议。实际上TCP/IP标准并不定义与ISO数据链路层和物理层相对应的功能。相反它定义像地址解析协议这样的协议,提供TCP/IP协议的数据结构和实际物理硬件之间的接口。(2) 第二层 网际层对应于OSI 7层参考模型的网络层,网络层主要解决计算机之间的通信问题,它负责管理不同设备之间的数据交换,它是Internet通信子网的最高层,它所提供的是不可靠的无连接数据报服务,无论传输是否正确,不做验证、不发确认,也不保证分组的正确 顺序。网际层主要有以下协
15、议。l IP协议:使用IP地址确定收发端,提供端到端的“数据报”传递,是TCP/IP协议簇的核心协议。l ICMP协议(网络控制报文协议):处理路由,协助IP层实现报文传送的控制机制,提供错误和信息报告。l ARP协议(正向地址解析协议):将网络层地址转换为链路层地址。l RARP协议(逆向地址解析协议):将链路层地址转换为网络层地址。(3) 第三层 传输层对应于OSI 7层参考模型的传输层,提供两种端到端的通信服务。其中TCP协议提供可靠的数据流运输服务,UDP协议提供不可靠的用户数据服务。该层有以下协议。l TCP协议:传输控制协议,提供可靠的面向连接的数据传输服务。l UDP协议:用户数
16、据报协议,一种无连接的数据传输协议,适合于一次少量数据传输情况,通信子网络相对可靠时,UDP的优越性便会得到充分的体现9。(4) 第四层 应用层对应于OSI 7层参考模型的应用层和表达层,应用层作用是把应用程序的数据传输到传输层,来进行信息的交换。它为应用程序提供各种使用协议,标注的应用层主要有以下协议。l FTP 文件传输协议:为文件传输提供路径,它允许数据从一台主机传送到另一台主机上,我们可以在FTP服务器上下载文件,或者往FTP服务器上传文件。l SMTP 简单邮件传输协议:实现互联网中电子邮件的传输功能。l HTTP 超文本传输协议:用来访问在WWW服务器上的各种页面。l DNS 域名
17、服务系统:用于实现主机域名到IP地址之间的转换。l TELNE虚拟终端服务:实现互联网中的工作站登陆到远程服务器的能力。l NFS网络文件系统:用于实现网络中不同主机之间的文件共享。l RIP路由信息协议:用于网络设备之间交换路由信息。3.2 数据封装当应用程序用TCP传送数据时,数据被传送入协议栈中,之后逐个通过每一层直到被当做一串比特流送入网络。其中每一层对收到的信息都要增加一些首部信息,必要时还要增加尾部信息,这个过程如图3-1所示。TCP传给IP的数据单元通常称TCP报文段,IP传给链路层的数据单元称作IP数据报,通过以太网传输的比特流称作帧。以太网数据帧的物理特性是其长度必须在46B
18、1500B之间10。用户数据用户数据TCP首部14B 20B 20B 4B应用数据应用数据应用数据Appl首部以太网驱动程序以太网首部以太网 尾部应用数据IP首部IP首部TCP首部TCP首部IP报文段TCP报文段以太网帧TCPIP以太网确切的说,图3-1中所示IP与链路接口之间传送的数据单元应该是分组,分组可以是一个IP数据报,也可以是IP数据报的一个片。图3-1 数据进入协议栈时的封装过程TCP和UDP都用一个16bit的端口号区分不同的应用程序,并将源端口号与目的端口号分别放入报文首部里,由于TCP、UDP、ICMP跟IGMP都要向IP传送数据,因此IP必须在生成的IP首部添加某种标识。1
19、表示ICMP协议,2表示IGMP协议,6表示TCP协议,17表示UDP协议。而链路接口分别要接收和发送IP、ARP和RARP数据,因此也需要在以太网帧首部中加入标识,以指明生成数据的网络协议层。所以,以太网的帧首部也有一个16bit的帧类型域这就是数据报文的封装,应用层数据是被逐层封装,直到数据链路层。要指出的是UDP数据与TCP数据唯一不同是UDP传给IP的信息单元称作UDP数据报,而且UDP的首部长为8B。3.3 数据帧分用应用程序应用程序应用程序应用程序UDPTCP ICMPIGMPIPARPRARP以太网驱动程序进入的帧以TCP或UDP首部端口号进行分用以IP首部中的协议值进行分用以以
20、太网首部中的帧类型进行分用 当目的主机收到一个以太网数据帧是,数据就开始从协议战中由底向上传送,与此同时去掉报文首部被各层协议加上的。每层协议盒都会检查报文首部中的协议标识,以确定接受数据的上层协议,这个过程称作分用10。图3-2显示这个如何过程如何发生的。图3-2 以太网数据帧的分用过程 3.4 协议层简介3.4.1 网际层协议网际协议是TCP/IP协议最重要的组成部分,是整个协议族的核心,主要负责网络层IP分组的传输。它位于网际层,为运输层提供服务,并从网络接入层请求服务。IP提供不可靠的、无连接的、尽最大努力交付的分组传输机制。IP提供了3个重要定义11:1) IP定义了数据传输所用的基
21、本单元,及规定了传输的数据格式。2) IP规定了IP分组的路由机制。3) 除了数据格式和路由机制以外,IP还包括了一组体现不可靠分组交付思路的规则。这些规则指明了主机和路由器应该如何处理IP分组、何时及如何发现错误信息以及在什么情况下可以放弃分组等等。IP是TCP/IP互联网设计里最基础的部分。3.4.1.1 IP地址分配1.IP地址计算机网络内的每台计算机必须具有唯一的身份标识符9。在TCP/IP协议簇中,这种标识符叫做IP地址。IP地址有两部分组成:网络号和主机号。其中网络号标识一个物理的网络,同一个网络上所有主机需要同一个网络号,该号在互联网中是唯一的;而主机号确定网络中的一个工作端、服
22、务器、路由器或其它TCP/IP主机。对于同一网络号而言,主机号是唯一的。IP地址有两种表示形式:二进制表示和点分十进制表示。在IPv4中使用的IP地址是32位的二进制地址。但是为了是32位的二进制地址更简洁和便于阅读,通常采用点分十进制。在点分十进制中,每个IP地址的长度为4个字节,有4个8位域组成,称之为八为体。八为体由句点“.”分开,来表示为一个0255之间的十进制书。IP地址的4个域分别标明了网络号和主机号。 目前,因网络大小不同,Internet定义了5种IP地址类型:A类、B类、C类、D类、E类。如表3.1所示。表3.1 IP地址分类地址类型特征地址位开始地址结束地址A类0B0.0.
23、0.0127.255.255.255B类10B128.0.0.0191.255.255.255C类110B192.0.0.0223.255.255.255D类1110B224.0.0.0239.255.255.255E类1111B240.0.0.0255.255.255.255A类地址:用于支持特大型的网络,最高位为0,紧跟的7位表示网络号,其余24为表示主机号,总共允许有126个网络。 B类地址:用于支持大型和中型网络。最高两位总置于二进制的10,允许有16384个网络。 C类地址:用于局域网。高3位置为二进制110,允许2097152个网络。D类地址:用于多路广播组用户。高4位总置为110
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 论文 设计 基于 单片机 网络通讯 协议 研究 应用
链接地址:https://www.31ppt.com/p-4150492.html