嵌入式系统作业解读.docx
- 文档编号:25830636
- 上传时间:2023-06-15
- 格式:DOCX
- 页数:10
- 大小:64.46KB
嵌入式系统作业解读.docx
《嵌入式系统作业解读.docx》由会员分享,可在线阅读,更多相关《嵌入式系统作业解读.docx(10页珍藏版)》请在冰豆网上搜索。
嵌入式系统作业解读
基于TCP/IP协议栈的嵌入式系统通信方案设计
DesignofEmbeddedSystemCommunications
ProgramontheBasisofTCP/IPProtocolStack
学科专业:
仪器科学与技术
学生姓名:
学号:
指导老师:
第一章绪论
1.1研究动机
嵌入式的应用随着嵌入式技术的不断深入发展,越来越多的作用于社会的各领域中。
大到高科技的军用型装备小到消费型的智能化家用电器,嵌入式应用的优势在各领域中体现的越来越明显,嵌入式应用的重要性也越来越彰显出来。
目前,嵌入式系统还有很大的进化空间,大部分的嵌入式系统还只是单独应用,各自具有一定的功能。
嵌入式系统的结构一般来说是以微控制单元(MicroControllerUnit,简称MUC)为核心,控制一些具有指示和监测功能的设备以实现一定的应用功能。
在一些应用领域中,对一些嵌入式系统利用RS—48、CAN等总线方式实现多个嵌入式系统之间的信息交流,但是这种方式没有利用上Internet网络,网络半径小,且没有太多专业的通信协议来保证数据连接,实用性与可靠性较差,已经阻碍了嵌入式系统的进一步发展。
嵌入式Interter技术是解决此类问题的最好办法,能将多个嵌入式系统通过Internet连接起来,可以大大提升嵌入式系统的工作性能,目前,世界上不少国家的科研机构和各大公司纷纷加入了嵌入式Internet技术的研究行列。
可以预言,嵌入式设备与Internet的结合代表着嵌入式系统和网络技术的未来,开展嵌入式Internet技术的研究是有必要的,并且具备重大的应用价值。
1.2研究重点
嵌入式Internet技术目前还面临一定的技术难题。
传统的Internet网络是为PC准备的,网络协议也是针对PC来开发的,在嵌入式Internet的应用中,通常是由嵌入式系统自己的处理器来处理网络协议并进行网络连接的,而其中大部分处理器都是容量小,速度慢的单片机,很难完整的运行TCP/IP协议,但是嵌入式Internet有自己的特点,与PC的Internet传输又有不同,因此需要在数据传输的准确性和效率之间进行取舍,并根据嵌入式系统的要求对TCP/IP协议进行剪裁,从而实现嵌入式系统与Internet的完美结合。
1.3嵌入式Internet简介
随着着嵌入式技术的高度发展,其与网络技术相结合,产生了嵌入式Internet这门新技术,使得传统嵌入式系统可以自由接入Internet网。
一般来说,是指嵌入式设备通过嵌入式模块接入Internet,而不是通过微机。
这是在Internet上实现多个嵌入式系统之间信息交流的过程,所以又被称为非PCInternet接入。
嵌入式Internet技术的主要功能是,在不同物理区域、不同子网对接入到Internet的设备和异类子网进行维护、管理及监控等功能,从而实现,对各个接入到Internet的设备及子网都具有远程监控的能力。
这项技术出现的时间并没有多久,但是它自从出现之后,便开始飞速发展,不断的进行着创新与改革,展现出了不出抑制的强大活力,21世纪必将是嵌入式Internet的鼎盛时代。
下面介绍嵌入式Internet的主要特点:
(1)从成本角度来看,对成本有较高的要求。
此技术更多的是应用在家用电器上,若技术成本过高,产品很难推广,因此降低嵌入式Internet技术的成本需要给予足够的重视。
(2)从实现方式来看。
第一种,采用单独的处理器,此处理器作为原系统的一个功能模块。
第二种,不增加新的设备,只是在原有嵌入式系统处理器中加入嵌入式代码。
(3)从应用角度来看,嵌入式系统Internet技术的主要用途是为嵌入式系统提供Internet网络连接,但是也可以为一些普通的电器设备提供Internet网络接入功能。
(4)从环境角度来看,需要有较高的稳定性和持久性。
此技术应用对象为各种电器或者工业仪器,因为未必会有专门的维护,因此需要更高一些的稳定性要求。
(5)在技术角度来看,存在一定的技术难题。
在嵌入式Internet的应用中,通常是由嵌入式系统自己的处理器来处理网络协议并进行网络连接的,而其中大部分处理器都是容量小,速度慢的单片机,很难完整的运行TCP/IP协议。
总之,有社会生产生活中,网络仪器、信息家电、网络监控技术,网络测量都可以应用上嵌入式系统Internet技术。
嵌入式Internet解决了计算机以外的终端设备网络化问题,为终端设备产品提高竞争力创造条件,为工业控制领域设备的发展提供动力,为信息家电和智能家居提供了技术保证。
1.4TCP/IP参考模型
OSI模型分为七层,表述的是整个网络传输的结构,而TCP/IP模型分为四层,重视功能分布,主要描述数据传送是怎样在设备间实现的,因此,TCP/IP模型已经成为事实上的网络协议标准。
两个模型的比较,如表1.1所示。
表1.1TCP/IP参考模型和OSI参考模型的比较
从表2.1中可以看出,TCP/IP参考模型实现了OSI参考模型中的所有相同功能。
TCP/IP协议栈共包括4个功能层:
应用层、运输层、网络层和链路层。
(1)应用层
应用层更多的是处理用户界面的应用程序,为远程访问和资源共享提供协调支持。
需要在IP网络上要求通信的任何应用(包括用户自己开发的和在商店买来的软件)也在模型的这一层中描述。
(2)运输层(TCP层)
这一层支持的功能包括:
为了在网络传输中对应用数据进行分段,执行数学检查来保证所收数据的完整性,为多个应用同时传输多路复用数据流(传输和接收)。
这意味着主机到主机间能识别特殊应用,对乱序收到的数据重新进行排序。
(3)网络层(IP层)
网络层(IP)负责数据报文路由,也必须支持其他的路由管理功能和提供第二层地址到第三层地址的解析及反向解析。
UDP和TCP/IP协议都使用IP协议,IP协议也是网络层上的主协议。
IGMP是Internet组管理协议,用来把一个UDP数据报多播到多台主机。
(4)OSI链路层(即网络接口层)
TCP/IP协议将OSI模型中的数据链路层和物理层合在一起,统称链路层。
第二章系统设计
2.1嵌入式设备接入Internet的方案选择
运用处理机加上TCP/IP协议的方式,MCU处理机处理TCP/IP协议像PC机一样直接。
处理机可以是主频较高的或者是8位的MCU,但其每条指令的执行速度需要比较快,结构如图2.1所示。
图2.1处理机加上TCP/IP协议
对TCP/IP协议的两种处理方法:
第一种方法为采用已经固化了TCP/IP协议的芯片,此种方法方便快捷,开发难度较低。
第二种方法使用软件的方式处理,此种方法使用实时操作系统,即RTOS,此种方法功能强大,普遍支持图形界面与TCP/IP协议。
2.2TCP/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、PPP。
从节省硬件资源、软件实现简单等方面考虑,现对TCP/IP协议栈裁剪如下:
(1)最底层为Ethernet协议。
(2)链路层保留ARP协议,裁剪掉RARP协议。
(3)网络层保留IP协议和ICMP协议,裁剪掉IGMP协议。
考虑到为了测试网络的可通性,同时加强数据传输的可靠性,因此保留ICMP协议。
(4)运输层保留UDP协议,裁剪掉TCP协议。
TCP协议与UDP协议都有各自不同的特点和应用场所。
TCP(传输控制协议)是面向可靠的、基于连接的协议,安全性好,可靠性高,适合于传送大量数据,但是连接建立与安全验证过程过于繁琐。
而UDP(用户数据报协议)是基于非连接的协议,直接发送数据包,适合于快速发送小量数据。
在嵌入式系统中,系统内部只在以太网层传送数据,可靠性高,不需要考虑安全问题,而是需要数据及时传送,UDP协议的安全性可以满足系统要求,因此在运输层裁剪掉TCP协议,只保留UDP协议。
裁剪后的TCP/IP协议栈系统结构框图如图2.2所示。
图2.2裁剪后的TCP/IP协议栈系统结构框图
至此,硬件系统的设计已经完毕,TCP/IP协议的裁剪也已完成。
TCP/IP协议的实现作为软件实现部分的重点内容,将在下一章进行细致说明。
第三章核心功能的软件实现
3.1核心协议
本章是软件实现部分,裁剪后的TCP/IP协议的功能实现是本部分的核心。
本章分节说明了协议栈中各协议实现所需的数据结构和API函数,并附带介绍了UDP套接口及网卡驱动程序,最后对裁剪后的协议栈通信功能进行了测试。
1.EthernetAPI
2.ARP协议
3.IP协议
4.ICMP协议
5.UDP协议
3.2通信功能测试
这里对裁剪后的协议栈进行通信测试,测试的主要内容为UDP数据包的收发,UDP数据包收发主要编码如下:
voidNutUdpInput(NETBUF*nb,ureg_tbcast)
{……
if((sock=NutUdpFindSocket(uh->uh_dport))==0){
if(bcast||NutIcmpResponse(ICMP_UNREACH,
ICMP_UNREACH_PORT,0,nb)==0)
{
NutNetBufFree(nb);
}
return;
}
if(sock->so_rx_bsz){
if(sock->so_rx_cnt+nb->nb_ap.sz>sock->so_rx_bsz){
NutNetBufFree(nb);
return;
}else{
if(sock->so_rx_nb){
NETBUF*snb;
for(snb=sock->so_rx_nb;snb->nb_next!
=0;snb=snb->nb_next);
snb->nb_next=nb;
}else
sock->so_rx_nb=nb;
sock->so_rx_cnt+=nb->nb_ap.sz;
};
}else{if(sock->so_rx_nb){
NutNetBufFree(sock->so_rx_nb);}
……
}
intNutUdpOutput(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;
}else
saddr=0;
uh->uh_sum=0;
……
returnNutIpOutput(IPPROTO_UDP,daddr,nb);
}
此处使用开发板运行程序,向一个局域网中的全部计算机广播发送UDP数据包。
开发板的IP地址设为192.168.0.2,发送的数据包内容为FFFFFFFFFFFF加上16遍00:
26:
22:
0d:
60:
06,这是一种特殊的数据包,称WOL(局域网唤醒)数据包,其中的00:
26:
22:
0d:
60:
06为局域网中某计算机的网卡物理地址,到该数据包的计算机会将其中的网卡地址与自己的比较,若原本处于关机状态且物理地址相同,则会开机,这就实现了局域网唤醒。
上述情形经实验验证,证明能有效开启局域网中希望被唤醒的计算机。
同时,在局域网中另外一台已开启的计算机上运行的Wireshark软件中也捕获了相应数据包,可解析出UDP广播数据包的内容。
读书的好处
1、行万里路,读万卷书。
2、书山有路勤为径,学海无涯苦作舟。
3、读书破万卷,下笔如有神。
4、我所学到的任何有价值的知识都是由自学中得来的。
——达尔文
5、少壮不努力,老大徒悲伤。
6、黑发不知勤学早,白首方悔读书迟。
——颜真卿
7、宝剑锋从磨砺出,梅花香自苦寒来。
8、读书要三到:
心到、眼到、口到
9、玉不琢、不成器,人不学、不知义。
10、一日无书,百事荒废。
——陈寿
11、书是人类进步的阶梯。
12、一日不读口生,一日不写手生。
13、我扑在书上,就像饥饿的人扑在面包上。
——高尔基
14、书到用时方恨少、事非经过不知难。
——陆游
15、读一本好书,就如同和一个高尚的人在交谈——歌德
16、读一切好书,就是和许多高尚的人谈话。
——笛卡儿
17、学习永远不晚。
——高尔基
18、少而好学,如日出之阳;壮而好学,如日中之光;志而好学,如炳烛之光。
——刘向
19、学而不思则惘,思而不学则殆。
——孔子
20、读书给人以快乐、给人以光彩、给人以才干。
——培根
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 系统 作业 解读
![提示](https://static.bdocx.com/images/bang_tan.gif)