嵌入式系统作业解读

上传人:枫** 文档编号:464808041 上传时间:2023-05-16 格式:DOCX 页数:10 大小:133.80KB
返回 下载 相关 举报
嵌入式系统作业解读_第1页
第1页 / 共10页
嵌入式系统作业解读_第2页
第2页 / 共10页
嵌入式系统作业解读_第3页
第3页 / 共10页
嵌入式系统作业解读_第4页
第4页 / 共10页
嵌入式系统作业解读_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《嵌入式系统作业解读》由会员分享,可在线阅读,更多相关《嵌入式系统作业解读(10页珍藏版)》请在金锄头文库上搜索。

1、基于TCP/IP协议栈的嵌入式系统通信方案设计DesignofEmbeddedSystemCommunicationsProgram on theasis of TCP/IPProtocol Stack学科专业:仪器科学与技术 学生姓名: 学号: 指导老师:第一章绪论1.1 研究动机嵌入式的应用随着嵌入式技术的不断深入发展,越来越多的作用于社会的各领域中。大到高科技的军用型装备小到消费型的智能化家用电器,嵌入式应用的优势在各领域中体现的越来越明显,嵌入式应用的重要性也越来越彰显出来。目前,嵌入式系统还有很大的进化空间,大部分的嵌入式系统还只是单独应用,各自具有一定的功能。嵌入式系统的结构一般来

2、说是以微控制单元(MicroControllerUnit,简称MUC)为核心,控制一些具有指示和监测功能的设备以实现一定的应用功能。在一些应用领域中,对一些嵌入式系统利用RS48、CAN等总线方式实现多个嵌入式系统之间的信息交流,但是这种方式没有利用上Internet网络,网络半径小,且没有太多专业的通信协议来保证数据连接,实用性与可靠性较差,已经阻碍了嵌入式系统的进一步发展。嵌入式Interter技术是解决此类问题的最好办法,能将多个嵌入式系统通过Internet连接起来,可以大大提升嵌入式系统的工作性能,目前,世界上不少国家的科研机构和各大公司纷纷加入了嵌入式Internet技术的研究行列

3、。可以预言,嵌入式设备与Internet的结合代表着嵌入式系统和网络技术的未来,开展嵌入式Internet技术的研究是有必要的,并且具备重大的应用价值。1.2 研究重点嵌入式Internet技术目前还面临一定的技术难题。传统的Internet网络是为PC准备的,网络协议也是针对PC来开发的,在嵌入式Internet的应用中,通常是由嵌入式系统自己的处理器来处理网络协议并进行网络连接的,而其中大部分处理器都是容量小,速度慢的单片机,很难完整的运行TCP/IP协议,但是嵌入式Internet有自己的特点,与PC的Internet传输又有不同,因此需要在数据传输的准确性和效率之间进行取舍,并根据嵌入

4、式系统的要求对TCP/IP协议进行剪裁,从而实现嵌入式系统与Internet的完美结合。1.3 嵌入式Internet简介随着着嵌入式技术的高度发展,其与网络技术相结合,产生了嵌入式Internet这门新技术,使得传统嵌入式系统可以自由接入Internet网。一般来说,是指嵌入式设备通过嵌入式模块接入Internet,而不是通过微机。这是在Internet上实现多个嵌入式系统之间信息交流的过程,所以又被称为非PCInternet接入。嵌入式Internet技术的主要功能是,在不同物理区域、不同子网对接入到Internet的设备和异类子网进行维护、管理及监控等功能,从而实现,对各个接入到Inte

5、rnet的设备及子网都具有远程监控的能力。这项技术出现的时间并没有多久,但是它自从出现之后,便开始飞速发展,不断的进行着创新与改革,展现出了不出抑制的强大活力,21世纪必将是嵌入式Internet的鼎盛时代。下面介绍嵌入式Internet的主要特点:(1) 从成本角度来看,对成本有较高的要求。此技术更多的是应用在家用电器上,若技术成本过高,产品很难推广,因此降低嵌入式Internet技术的成本需要给予足够的重视。(2) 从实现方式来看。第一种,采用单独的处理器,此处理器作为原系统的一个功能模块。第二种,不增加新的设备,只是在原有嵌入式系统处理器中加入嵌入式代码。(3) 从应用角度来看,嵌入式系

6、统Internet技术的主要用途是为嵌入式系统提供Internet网络连接,但是也可以为一些普通的电器设备提供Internet网络接入功能。(4) 从环境角度来看,需要有较高的稳定性和持久性。此技术应用对象为各种电器或者工业仪器,因为未必会有专门的维护,因此需要更高一些的稳定性要求。(5) 在技术角度来看,存在一定的技术难题。在嵌入式Internet的应用中,通常是由嵌入式系统自己的处理器来处理网络协议并进行网络连接的,而其中大部分处理器都是容量小,速度慢的单片机,很难完整的运行TCP/IP协议。总之,有社会生产生活中,网络仪器、信息家电、网络监控技术,网络测量都可以应用上嵌入式系统Inter

7、net技术。嵌入式Internet解决了计算机以外的终端设备网络化问题,为终端设备产品提高竞争力创造条件,为工业控制领域设备的发展提供动力,为信息家电和智能家居提供了技术保证。1.4 TCP/IP参考模型OSI模型分为七层,表述的是整个网络传输的结构,而TCP/IP模型分为四层,重视功能分布,主要描述数据传送是怎样在设备间实现的,因此,TCP/IP模型已经成为事实上的网络协议标准。两个模型的比较,如表1.1所示。表1.1 TCP/IP 参考模型和OSI参考模型的比较台匕 目匕TCP/IP协议栈共包括4个功能层:应用层、运输层、网络层和链路层。(1)应用层应用层更多的是处理用户界面的应用程序,为

8、远程访问和资源共享提供协调支持。需要在IP网络上要求通信的任何应用(包括用户自己开发的和在商店买来的软件)也在模型的这一层中描述。(2)运输层(TCP层)这一层支持的功能包括:为了在网络传输中对应用数据进行分段,执行数学检查来保证所收数据的完整性,为多个应用同时传输多路复用数据流(传输和接收)。这意味着主机到主机间能识别特殊应用,对乱序收到的数据重新进行排序。(3)网络层(IP层)网络层(IP)负责数据报文路由,也必须支持其他的路由管理功能和提供第二层地址到第三层地址的解析及反向解析。UD济口TCP/IP协议都使用IP协议,IP协议也是网络层上的主协议。IGM%Internet组管理协议,用来

9、把一个UD呦据报多播到多台主机。(4)OSI链路层(即网络接口层)TCP/IP协议将OSI模型中的数据链路层和物理层合在一起,统称链路层。第二章系统设计2.1 嵌入式设备接入Internet的方案选择运用处理机加上TCP/IP协议的方式,MCU处理机处理TCP/IP协议像PC机一样直接。处理机可以是主频较高的或者是8位的MCU但其每条指令的执行速度需要比较快,结构如图2.1所示。MCI;%TCP/IP图2.1处理机加上TCP/IP协议对TCP/IP协议的两种处理方法:第一种方法为采用已经固化了TCP/IP协议的芯片,此种方法方便快捷,开发难度较低。第二种方法使用软件的方式处理,此种方法使用实时

10、操作系统,即RTOS此种方法功能强大,普遍支持图形界面与TCP/IP协议。2.2 TCP/IP协议栈的裁剪Ethernut的Nut/Net协议栈是精简的TCP/IP协议栈,并不完整地支持全部的TCP/IP协议,这是由单片机资源有限的特点决定的。Nut/Net中的网络仅支持以太网而不支持令牌网等其他网络。Nut/NetAPI包含套接口(Socket)API和协议(Protocols)两个模块,在SocketAPI模块中又包含TCPSockets和UDPSockets两个模块。Protocol又包含以下几个模块:UserProtocols、TCP、UDP、IP、ICMP、ARP、Ethernet、

11、PPP。从节省硬件资源、软件实现简单等方面考虑,现对TCP/IP协议栈裁剪如下:(1) 最底层为Ethernet协议。(2)链路层保留ARP协议,裁剪掉RAR初议。(3)网络层保留IP协议和ICMPB议,裁剪掉IGMPB议。考虑到为了测试网络的可通性,同时加强数据传输的可靠性,因此保留ICMP协议。(4)运输层保留UDFW议,裁剪掉TCPB议。TCPB议与UDPft、议都有各自不同的特点和应用场所。TCP传输控制协议)是面向可靠的、基于连接的协议,安全性好,可靠性高,适合于传送大量数据,但是连接建立与安全验证过程过于繁琐。而UDP(用户数据报协议)是基于非连接的协议,直接发送数据包,适合于快速

12、发送小量数据。在嵌入式系统中,系统内部只在以太网层传送数据,可靠性高,不需要考虑安全问题,而是需要数据及时传送,UDP协议的安全性可以满足系统要求,因此在运输层裁剪掉TCP协议,只保留UDP协议。裁剪后的TCP/IP协议栈系统结构框图如图2.2所示。图2.2裁剪后的TCP/IP协议栈系统结构框图至此,硬件系统的设计已经完毕,TCP/IP协议的裁剪也已完成。TCP/IP协议的实现作为软件实现部分的重点内容,将在下一章进行细致说明。第三章核心功能的软件实现3.1 核心协议本章是软件实现部分,裁剪后的TCP/IP协议的功能实现是本部分的核心。本章分节说明了协议栈中各协议实现所需的数据结构和API函数

13、,并附带介绍了UDP套接口及网卡驱动程序,最后对裁剪后的协议栈通信功能进行了测试。1. EthernetAPI2. ARP协议3. IP协议4. ICMP协议5. UDP协议3.2 通信功能测试这里对裁剪后的协议栈进行通信测试,测试的主要内容为UD嗷据包的收发,UD嘤据包收发主要编码如下:voidNutUdpInput(NETBUF*nb,ureg_tbcast)if(sock=NutUdpFindSocket(uh-uh_dport)=0)if(bcast|NutIcmpResponse(ICMP_UNREACH,ICMP_UNREACH_PORT,0,nb)=0)NutNetBufFree

14、(nb);return;if(sock-so_rx_bsz)if(sock-so_rx_cnt+nb-nb_ap.szsock-so_rx_bsz)NutNetBufFree(nb);return;elseif(sock-so_rx_nb)NETBUF*snb;for(snb=sock-so_rx_nb;snb-nb_next!=0;snb=snb-nb_next);snb-nb_next=nb;elsesock-so_rx_nb=nb;sock-so_rx_cnt+=nb-nb_ap.sz;elseif(sock-so_rx_nb)NutNetBufFree(sock-so_rx_nb);i

15、ntNutUdpOutput(UDPSOCKET*sock,u_longdaddr,u_shortport,NETBUF*nb)if(nb=NutNetBufAlloc(nb,NBAF_TRANSPORT,sizeof(UDPHDR)=0)return-1;if(dev=NutIpRouteQuery(daddr,&saddr)!=0)nif=dev-dev_icb;saddr=nif-if_local_ip;elsesaddr=0;uh-uh_sum=0;returnNutIpOutput(IPPROTO_UDP,daddr,nb);此处使用开发板运行程序,向一个局域网中的全部计算机广播发送UD嘤据包。开发板的IP地址设为192.168.0.2,发送的数据包内容为FFFFFFFFFFFF口上16遍00:26:22:0d:60:06,这是一种特殊的数据包,称WOL(局

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 市场营销

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号