您现在的位置: 首 页 >> 教育论文 >> 基于VxWorks系统的嵌入式TCP/IP协议栈的研究与实现

基于VxWorks系统的嵌入式TCP/IP协议栈的研究与实现

作者:建筑工程
出处:www.lunrr.com
时间:2020-03-02

摘要:随着计算机科学技术的不断发展,嵌入式系统已经广泛应用于军事、航空空航天、工业、通信和人们日常生活等领域 近年来,嵌入式系统的网络互联已经成为嵌入式应用领域的研究热点。 为了实现嵌入式系统的网络互联,必须首先在嵌入式系统中实现TCP/IP协议栈。

本研究以德国科创科技公司的嵌入式平台AM4140为硬件平台,以美国风河公司的VxWorks操作系统为软件平台,以风河工作台3.3为集成开发环境。通过对嵌入式协议原理和设计思想的深入研究,我们自行设计并实现了一个轻量级、高效的嵌入式协议堆栈,满足应用需求。

本文从嵌入式系统的介绍入手,研究了嵌入式系统的组成原理和特点,深入研究了实时操作系统VxWorks 6.9及其开发环境Wind River Workbench 3.3的特点,并仔细研究了丰河公司VxWorks操作系统的组成原理。 随后,我们深入研究了相关的TCP/IP协议,研究了其设计原理和实现方案,描述了该协议的设计思想和实现方法,并根据嵌入式TCP/IP协议的特点和功能要求,设计并实现了一个轻量级的同时满足项目要求的嵌入式TCP/IP协议栈。 在嵌入式TCP/IP协议栈的设计与实现中,不仅对要实现的特定协议的功能模块进行了详细划分,并对每个功能模块的功能进行了详细说明,而且嵌入式TCP/IP协议栈的内存池也是自行设计的,并且该协议栈与VxWorks操作系统相链接。最后,在硬件平台上测试了嵌入式协议栈。测试结果表明,所设计的TCP/IP协议栈能够满足项目要求,具有良好的稳定性和可靠性。

关键词:嵌入式TCP/IP协议;实时操作系统;VxWorks内存池管理

第1章简介

21世纪以来,随着计算机科学技术的飞速发展和人们生活需求的不断增加,微电子器件已经逐渐渗透到人们生活的各个方面。现在几乎每个人都使用嵌入式电子设备。嵌入式计算机系统的发展已经逐渐进入普适计算机器时代。 例如,移动电话、全球定位系统导航系统、娱乐掌上电脑、数字随身听和人们日常生活中使用的其他消费电子产品都使用嵌入式系统。 众所周知,嵌入式计算机系统的主要特点是系统简单,功能单一,专用性强,运行速度和效率高,没有标准的输入和输出组件。因此,嵌入式系统通常不具备通用计算机的综合处理能力。

1.1研究背景和意义

近年来,由于日常生活的需要,越来越多的工程开发人员热衷于连接嵌入式设备(如电视机、机顶盒等)。)连接到互联网。由于互联网网络通信使用通用标准的TCP/IP协议,因此有必要设计并实现专用的嵌入式TCP/IP协议栈,以使嵌入式设备能够接入互联网进行网络通信。 一些国外专业嵌入式操作系统提供商默认提供TCP/IP网络组件,以便于他们的嵌入式系统产品无缝接入互联网 然而,由于平台问题,这些网络组件很难直接用于其他嵌入式环境,也就是说,这些网络组件的可移植性非常差。因此,适合本项目应用的嵌入式协议栈的设计与实现对于项目的完成具有非常重要的应用价值。

本课题来源于中国科学院计算技术研究所无线通信研究中心的超级基站项目,即嵌入式协议栈在超级基站通信系统中的应用,该系统采用32位PowerPC作为嵌入式系统的微处理器。微处理器接收通信数据,并根据嵌入式TCP/IP协议栈将数据发送到以太网。以太网的另一端是处理通信数据的核心网络。因为超级基站系统使用嵌入式VxWorks操作系统,所以必须简化TCP/IP协议栈,以定制满足工程项目要求的嵌入式TCP/IP协议栈

1.2国内外研究综述

根据嵌入式系统的特点,嵌入式系统是为特定应用而专门设计的计算机系统。 为了满足实际应用的需要,通过在微处理器系统外部增加外围设备来实现某些特定的功能,因此在嵌入式系统资源有限的情况下无法实现标准的TCP/IP协议栈。 同时,没有必要完全实现标准的TCP/IP协议栈,只需要根据实际应用需求实现一些TCP/IP协议。 为了简化协议层数,便于代码编写实现功能,在当前的嵌入式系统中,嵌入式TCP/IP协议只有四层协议模型,分别是数据链路层、网络层、传输层和应用层 其中每层协议由多个特定协议的组合组成 因此,嵌入式TCP/IP协议栈是通过删除和集成标准的TCP/IP协议家族而形成的一组协议。

1.2.1外国研究概述

UC/IP协议栈是不列颠哥伦比亚理工学院盖伊兰卡斯特(Guy Lancaster)编写的一套基于UC/操作系统的TCP/IP协议栈。协议栈是完全开源的,提供了当时嵌入式系统领域相对完善的网络功能。此外,协议栈可以按需缩减,并容易移植到其他操作系统。uC/IP协议栈的大部分源代码都是从开源BSD发布站点移植过来的。 UC/IP协议栈可以很好地支持IP/TCP/UDP协议,甚至是PPP协议,但是该协议需要认证和报头压缩,并且还具有优化的单个请求/回复交互过程等特点。 统一通信/IP协议栈代码容量空通常在50-80KB之间 因此,它通常被设计为具有最小化用户界面的网络模块,但是这种界面有许多缺点,例如不容易应用于文档支持和软件升级。

uIP协议栈由瑞典着名计算机科学研究所网络嵌入式系统团队的亚当邓克尔斯(Adam Dunkels)开发。最新版本是uIP1.0,由BSD授权。 嵌入式TCP/IP协议栈具有良好的互操作性和严格遵守射频通信标准的特点。它是一个轻量级嵌入式TCP/IP协议栈,专门为8位和16位嵌入式微控制器设计。 UIP协议栈支持ARP协议、IP协议、SLIP协议、UDP协议、TCP协议和ICMP协议,其中TCP和IP协议遵循RFC标准,还具有流量控制、超时重传和分段等功能。 它最大的优点是源代码占用的空间更少空,内存只占用几百字节。 然而,这种协议栈只能在一些高可靠性的情况下使用。

Tiny Tcp协议栈是一个非常小的TCP/IP协议栈,它提供FTP客户端。微型Tcp协议栈具有代码容量小、功能简化的特点,仅适用于某些特殊场合

LwIP协议栈是瑞士计算机科学研究院亚当邓克尔斯(Adam Dunkels)等人在uIP协议栈的基础上开发的一套源代码TCP/IP协议栈 轻量级协议是一种轻量级的TCP/IP协议栈。LwIP只有几十千个只读存储器的容量,大约40K可以运行协议,并且可以在没有操作系统的情况下运行。当然,协议也可以嵌入到操作系统中,并用作操作系统的一个组件。

1.2.2外国研究概述

2004年,吴周凯和王波(2004)研究了可配置的嵌入式TCP/IP协议栈,设计了一种便于在8位微处理器上移植和配置的嵌入式贵宾协议栈。 贵宾协议栈不仅是可配置的,而且在8位微处理器上也是可靠的。

2006年,王瑞鹏和龙柯平(2006)在Linux操作系统下设计了一个基于低端单片机的嵌入式TCP/IP协议栈,可用于无线环境

2007年,周海瑞、戴冠中(2007)设计了基于P89C51单片机系统的eIP协议栈,并将嵌入式TCP/IP协议应用于低端单片机,具有良好的稳定性和可靠性

2008年,陈峰和柯敏仪(2008)在友好的arm S3C2410实验板的硬件平台下,实现了一个可以在ARM架构上运行的嵌入式TCP/IP协议栈。该协议增加了对IPv6的支持,以增强嵌入式系统的安全性

2010年,王梁文和李岩(2010)基于实时操作系统UC/OS-II和S3C44B0处理器,研究了LwIP的移植方法,开发了一个具有网络地址端口转换的嵌入式TCP/IP协议栈(NAPT),弥补了LwIP没有网络地址端口转换的缺点(NAPT)

1.3嵌入式协议堆栈原则

设计嵌入式协议堆栈时,必须遵守以下原则:

(1)良好的便携性 嵌入式系统最大的特点是便携性差。多种选择导致嵌入式产品的多样性。 因此,在满足需求的基础上设计一个可移植性好的软件是非常重要的,这样可以节省开发人员的时间,把主要精力放在应用程序的编译上,节省人力成本。

(2)实现代码简洁 在嵌入式系统资源有限的情况下,协议栈代码得到了最大程度的简化。只要实现基本功能,就删除冗余功能,降低嵌入式产品开发难度,节省存储空间空。

(3)易于切割 因为嵌入式产品是多样的,那么嵌入式产品的硬件内存空是非常有限的,在去掉设计的嵌入式TCP/IP协议栈之后,应该能够满足嵌入式产品的要求。

1.4研究内容和组织

1.4.1研究内容

本文主要做了以下研究工作:

(1)在深入研究了美国风河公司的嵌入式实时操作系统VxWorks 6.9之后,学习如何利用系统集成开发环境风河工作台3.3设计和开发嵌入式TCP/IP协议栈

(2)深入研究标准TCP/IP协议栈的设计原则和开发思路,结合中国科学院计算技术研究所超级基站系统的功能需求,根据项目需求设计并实现一个简洁明了的嵌入式协议栈。

(3)研究如何将嵌入式的TCP/IP协议栈链接到VxWorks操作系统,使其能够被开发人员作为操作系统的一个组成部分使用,并设计了一个TCP/IP协议栈链接方案

(4)系统进行功能测试,验证设计的嵌入式TCP/IP协议栈的正确性和可靠性

1.4.2论文

第一章绪论的组织形式,介绍了研究背景和意义,列举了国内外在嵌入式领域的TCP/IP协议研究工作和成果,从而引出研究的来源和研究价值。

第2章介绍VxWorks系统和集成开发环境风河工作台3.3 首先,介绍了嵌入式实时操作系统VxWorks的特点和VxWorks操作系统的硬件启动过程。然后,介绍了风河工作台3.3集成开发环境的相关工具。最后,简要介绍了风河工作台3.3集成开发环境的特点。

第三章,嵌入式网络协议栈分析 首先,介绍了嵌入式TCP/IP分层模型和VxWorks操作系统的网络架构。其次,分析了以太网媒体访问控制帧的数据格式。最后,分析了嵌入式TCP/IP协议家族中的ARP协议原理、IP协议原理、UDP协议原理和ICMP协议原理。详细介绍了每种协议的数据报格式。

第四章,嵌入式网络协议栈的实现 首先,介绍了嵌入式网络协议栈的总体设计思想。其次,根据嵌入式协议栈的分层模型,介绍了嵌入式协议栈的总体实现过程。最后,根据所设计的嵌入式TCP/IP协议的各个功能模块,介绍了各个协议模块的实现

第5章,嵌入式TCP/IP协议栈链接到VxWorks操作系统 首先,介绍了嵌入式协议栈与VxWorks的连接方案。然后,介绍了如何定制VxWorks操作系统内核。最后,介绍了如何将嵌入式协议栈与VxWorks操作系统相连接。

第6章,硬件平台上的嵌入式网络协议栈测试 本文介绍了在硬件平台上实现的嵌入式网络协议栈的测试结果。

第7章,总结和展望 总结了本研究的主要工作内容和创新点 分析了当前研究工作中存在的一些不足,指出了未来对扩展嵌入式协议栈功能的一些要求。

第7章总结与展望

7.1工作总结

本文以中国科学院计算技术研究所的工程项目为背景,针对特定的嵌入式硬件平台,研究并实现了符合特定嵌入式硬件平台的嵌入式TCP/IP协议栈。

本课题基于嵌入式领域的设计和开发经验,结合标准的TCP/IP协议设计思想,利用计算机信息技术设计出一种可用于嵌入式平台的嵌入式TCP/IP协议栈。在设计和实现嵌入式TCP/IP协议栈时,除了对标准的TCP/IP网络通信协议有足够的了解之外,还需要非常准确地了解嵌入式平台的相关特性,同时还需要非常熟悉嵌入式软件开发过程。 具体来说,做了以下研究工作:

首先,对标准的TCP/IP协议和源代码进行了深入的研究 协议标准的研究主要集中在RFC791(互联网协议)、RFC 792(互联网控制消息协议)、RFC 826(以太网地址解析协议)和RFC 792(传输控制协议)等协议上

在研究了标准的协议之后,结合嵌入式系统的具体环境和实际应用,对标准的协议堆栈进行了简化,得出要实现的嵌入式协议堆栈包括媒体访问控制帧发送和接收模块、协议、ICMP协议、ARP协议和UDP协议

然后根据嵌入式硬件平台的特点,对嵌入式TCP/IP协议栈进行测试。测试结果证明,本文设计的嵌入式TCP/IP协议功能正确,能够满足实际工程应用。

7.2工作展望

由于本文设计和实现的嵌入式协议栈研究时间有限,针对性强,因此本课题设计的嵌入式协议栈的可扩展性没有得到很好的考虑。因此,作为本课题未来的延伸,我们可以从以下几个方面着手:

(1)将设计的TCP协议模块添加到设计的嵌入式TCP/IP协议栈中

(2)增加了协议的数据报分片和数据报重组机制

(3)为数据传输添加安全机制

最新论文
中车株洲所自主研发世界最先进高铁牵引技术
PNAS:识别长相的能力与基因有关天生而可遗传
基于VxWorks系统的嵌入式TCP/IP协议栈的研究与实现
国家重点研发计划设专项支持国际科技创新合作
中车株洲所自主研发世界最先进高铁牵引技术
新通道提升植物碳水利用效率
PRL:可在室温下工作的量子干涉仪问世
PNAS:识别长相的能力与基因有关天生而可遗传
中车株洲所自主研发世界最先进高铁牵引技术
四川高三男生凭羽毛球特长被北大“预录取”
四川高三男生凭羽毛球特长被北大“预录取”
中国首台自主化核电蒸汽发生器研制成功
热门论文
2017年考研报名人数首破200万
探讨大学生创新创业能力培养的必要性
促进小微企业发展的税收政策研究
2015年中国进入高考改革元年学生选择权大大增加
关于全省工商管理暨党风廉政建设会议召开
与轮式拖拉机相配套的电子液压提升控制系统的设计探究
《福布斯》全美高校排名揭晓小型私立学校问鼎
“科学之夜”在中国科学院动物研究所火热上演
教育部副部长:中国高校科研能力世界第五
关于城乡居民基本养老保险制度的若干思考
华中科大解除一论文造假副教授全部职务
《许三观卖血记》的“韩国化”改编
中国科协创新驱动助力工程总结交流会在宁波召开
热门标签
日期归档
2020年03月
2020年02月
2020年01月
2019年12月
2019年11月
2019年10月
2019年09月