基于arm嵌入式系统的通信设计.docx
- 文档编号:8663121
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:39
- 大小:915.56KB
基于arm嵌入式系统的通信设计.docx
《基于arm嵌入式系统的通信设计.docx》由会员分享,可在线阅读,更多相关《基于arm嵌入式系统的通信设计.docx(39页珍藏版)》请在冰豆网上搜索。
基于arm嵌入式系统的通信设计
西南科技大学
工程硕士专业学位论文
题目基于ARM嵌入式系统的通信设计
Classifiedindex:
TP391.41
U.D.C:
Southwestuniversity
ofthemasterdegreeofengineeringthesis
TheDesignofSocketCommunication
basedonARMembeddedsystem
Candidate:
XuPeng
Department:
SchoolofComputerScienceandTechnology
Speciality:
ComputerApplicationTechnology
Supervisor1:
SongHui
Supervisor2:
ZhangGeXiang
Date:
Nov.4,2011
学位论文原创性声明
本人郑重声明:
所呈交的学位论文,是本人在导师的指导下进行的研究工作所取得的成果。
尽我所知,除文中已经特别注明引用的内容和致谢的地方外,本论文不包含任何其他个人或集体已经发表或撰写过的研究成果。
对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式注明并表示感谢。
本人完全意识到本声明的法律结果由本人承担。
学位论文作者(本人签名):
年月日
学位论文出版授权书
本人及导师完全同意《中国博士学位论文全文数据库出版章程》、《中国优秀硕士学位论文全文数据库出版章程》(以下简称“章程”,见),愿意将本人的学位论文提交“中国学术期刊(光盘版)电子杂志社”在《中国博士学位论文全文数据库》、《中国优秀硕士学位论文全文数据库》中全文发表和以电子、网络形式公开出版,并同意编入CNKI《中国知识资源总库》,在《中国博硕士学位论文评价数据库》中使用和在互联网上传播,同意按“章程”规定享受相关权益。
论文密级:
□公开□保密(___年__月至__年__月)(保密的学位论文在解密后应遵守此协议)
作者签名:
_______________导师签名:
_________________
_______年_____月_____日_______年_____月_____日
声明
本人郑重声明:
此处所提交的硕士学位论文《基于ARM嵌入式系统的Socket通信设计》,是本人在西南科技大学攻读硕士学位期间,在导师指导下进行的研究工作和取得的研究成果。
据本人所知,除了文中特别加以标注和致谢之处外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得西南科技大学或其他教育机构的学位或证书而使用过的材料。
与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。
本学位论文成果是本人在西南科技大学读书期间在导师指导下取得的,论文成果归西南科技大学所有,特此声明。
学位论文作者签名:
日期:
关于学位论文使用授权的说明
本人完全了解西南科技大学有关保留、使用学位论文的规定,即:
①学校有权保管、并向有关部门送交学位论文的原件与复印件;②学校可以采用影印、缩印或其它复制手段复制并保存学位论文;③学校可允许学位论文被查阅或借阅;④学校可以学术交流为目的,复制赠送和交换学位论文;⑤同意学校可以用不同方式在不同媒体上发表、传播学位论文的全部或部分内容。
(涉密的学位论文在解密后遵守此规定)
作者签名:
导师签名:
;
日期:
日期:
;
摘 要
嵌入式系统是计算机技术、半导体技术和电子技术的综合体,已经广泛应用于科学研究、工程设计、国防军事、自动化控制等各个领域。
随着网络通讯技术的迅猛发展,生产和生活中广泛要求嵌入式系统终端能够完成网络通讯功能。
论文就是以ARM7TDMI为嵌入式开发平台,开发具有网络通信功能的嵌入式终端。
SOCKET是一个通信链的句柄,通过套接字向网络发出请求或者应答网络请求,用于TCP/IP协议的应用程序之间的相互通信。
论文选择了ARM体系结构的嵌入式LPC2200处理器,根据系统的需求,在综合各种设计方案的基础上,选择移植带有TCP/IP协议的ucLinux嵌入式操作系统。
裁剪和定制系统后,构建相关的文件系统。
在此基础上,编写应用程序,调用系统的Socket通信函数,实现服务器端和客户端的通信。
描述IP地址和端口,用于在两个
论文成功的实现了嵌入式设备的网络接入功能,各个带有网络通讯功能的嵌入式终端可以相互通讯,扩大了和提高了嵌入式设备的应用范围,对嵌入式系统的发展有较大的意义。
关键词:
嵌入式系统;ARM7TDMI;socket;TCP/IP
Abstract
Theembeddedsystemisacomplexsystemwiththecomputertechnology,semiconductortechnologyandelectronictechnology.Ithasbeenwidelyusedinscientificresearch,engineering,nationaldefense,automationandotherfields.Withtherapiddevelopmentofnetworkcommunicationtechnology,ourproductionandliferequirestheterminaltocompletethenetworkcommunicationfunctioninawiderangeofembeddedsystems.ThePaperselecttheARM7TDMIforembeddeddevelopmentplatform,developtheembeddednetworkcommunicationterminal.
Socketisacommunicationchainhandle,andsendsnetworkrequestorresponsetonetworkrequests.ItisusedtodescribetheIPaddressandportforbothTCP/IPbasedprotocoltocommunicatebetweenapplications,.ThepaperselectLPC2200embeddedARMasprocessorarchitecture,withthesystemneed,designtheintegrationbasedontransplantationwithTCP/IPprotocolucLinuxembeddedoperatingsystem.Thepaperbuildrelatedfilesystem.aftercuttingandcustomsystems.Onthisbasis,finishedanapplication,andcallthesystemfunctionofSocketCommunications,achieveserverandclientcommunication.
Thepaperachievedthenetworkaccessfunctionsoftheembeddeddevice,theembeddedwithanetworkcommunicationterminalcancommunicatewitheachother,andexpandandimprovetheapplicationrangeofembeddeddevices,andhasagreatersignificanceforembeddedsystems.
Keywords:
EmbeddedSystems;ARM7TDMI;socket;TCP/IP
目 录
1 绪论
1.1嵌入式系统
目前,嵌入式系统的应用越来越广泛,我们日常生活中就存在大量的嵌入式系统的产品:
比如手机、MP3、收音机、电视机等等,我们已经离不开嵌入式产品了。
嵌入式产品是面向应用的,应用的需求推动了嵌入式技术的发展。
嵌入式系统的基本技术仍然是计算机技术,包含软件、硬件、操作系统等。
嵌入式系统是可裁剪的,根据应用的具体场合和需求,选择相应的模块,把系统中不需要的部分去掉,这样做的主要目的是节约资源,降低功耗。
每一个嵌入式产品是不同的,使用不同的硬件和软件,搭建自己的嵌入式操作系统,但是核心技术都是一样的。
嵌入式系统主要有以下几个特点:
(1)以需求为目标:
嵌入式产品没有统一的要求,在开发过程中,它主要是解决用户的需求问题的。
比如我们使用的手机产品,用户有各种各样的需求,有的看重的是移动功能,有的看中的是娱乐功能,还有的看中的是导航功能。
那么在设计开发过程中,就需要按照不同的需求搭建自己的嵌入式系统。
这样做的主要目的是节约资源,让嵌入式芯片发挥更大的作用。
(2)运行高效,节约资源:
嵌入式系统要求运行速度快,具有很高的执行效率。
基于ARM7TDMI的嵌入式芯片,在指令设计上使用是精简指令集,执行效率高;使用三级流水技术,大大增强了嵌入式产品的性能[1]。
(3)较小的体积和可靠性:
嵌入式产品一般都要求体积较小,较小的体积,主要是可以满足便携功能。
在可靠性方面,要求嵌入式系统的代码执行效率高,系统运行稳定可靠,也别是在工业控制领域。
只有做到这一点,嵌入式产品才会有更大的应用空间和应用市场。
嵌入系统是一个片上系统,应用空间巨大,在各个方面都可以应用,比如工业控制领域、消费电子、移动通讯等,都得到了广泛的使用。
1.2国内外现状和趋势
随着信息化,智能化,网络化的发展,嵌入式系统技术也将获得广阔的发展空间。
信息时代,数字时代使得嵌入式产品获得了巨大的发展契机,为嵌入式市场展现了美好的前景,同时也对嵌入式生产厂商提出了新的挑战。
(1)嵌入式开发是一项系统工程,因此要求嵌入式系统厂商不仅要提供嵌入式软硬件系统本身,同时还需要提供强大的硬件开发工具和软件包支持。
目前很多厂商已经充分考虑到这一点,在主推系统的同时,将开发环境也作为重点推广。
比如三星在推广Arm7,Arm9芯片的同时还提供开发板和版及支持包(BSP),而WindowCE在主推系统时也提供EmbeddedVC++作为开发工具,还有Vxworks的Tonado开发环境,DeltaOS的Limda编译环境等等都是这一趋势的典型体现。
当然,这也是市场竞争的结果。
(2)网络化、信息化的要求随着因特网技术的成熟、带宽的提高日益提高,使得以往单一功能的设备如电话、手机、冰箱、微波炉等功能不再单一,结构更加复杂。
这就要求芯片设计厂商在芯片上集成更多的功能,为了满足应用功能的升级,设计师们一方面采用更强大的嵌入式处理器如32位、64位RISC芯片或信号处理器DSP增强处理能力,同时增加功能接口,如USB,扩展总线类型,如CANBUS,加强对多媒体、图形等的处理,逐步实施片上系统(SOC)的概念。
软件方面采用实时多任务编程技术和交叉开发工具技术来控制功能复杂性,简化应用程序设计、保障软件质量和缩短开发周期[2]。
(3)网络互联成为必然趋势。
未来的嵌入式设备为了适应网络发展的要求,必然要求硬件上提供各种网络通信接口。
传统的单片机对于网络支持不足,而新一代的嵌入式处理器已经开始内嵌网络接口,除了支持TCP/IP协议,还有的支持IEEE1394、USB、CAN、Bluetooth或IrDA通信接口中的一种或者几种,同时也需要提供相应的通信组网协议软件和物理层驱动软件。
软件方面系统系统内核支持网络模块,甚至可以在设备上嵌入Web浏览器,真正实现随时随地用各种设备上网[3]。
(4)精简系统内核、算法,降低功耗和软硬件成本。
未来的嵌入式产品是软硬件紧密结合的设备,为了减低功耗和成本,需要设计者尽量精简系统内核,只保留和系统功能紧密相关的软硬件,利用最低的资源实现最适当的功能,这就要求设计者选用最佳的编程模型和不断改进算法,优化编译器性能。
因此,既要软件人员有丰富的硬件知识,又需要发展先进嵌入式软件技术,如Java、Web和WAP等。
(5)提供友好的多媒体人机界面
嵌入式设备能与用户亲密接触,最重要的因素就是它能提供非常友好的用户界面。
图像界面,灵活的控制方式,使得人们感觉嵌入式设备就象是一个熟悉的老朋友。
这方面的要求使得嵌入式软件设计者要在图形界面,多媒体技术上痛下苦功。
手写文字输入、语音拨号上网、收发电子邮件以及彩色图形、图像都会使使用者获得自由的感受。
目前一些先进的PDA在显示屏幕上已实现汉字写入、短消息语音发布,但一般的嵌入式设备距离这个要求还有很长的路要走。
1.3选题必要性
当前,计算机技术和微电子技术发展迅猛,特别是纳米技术取得了重大进展,嵌入式芯片的设计和开发也越来越迅速。
对嵌入式芯片的运行速度要求越来越快,存贮器也越来越大,这大大推进了嵌入式技术的发展,嵌入式系统在一定的程度上推进了现代生活的提高和改善。
在网络通讯方面,嵌入式系统的发展增强了网络的智能化与灵活性,从而实现各种通信系统之间的互联互通。
互联网是我们日常办公生活中最常用的网络,很方便的把我们相互连接。
目前,互联网已经开始普及,包括广大的农村,网络成为了我们生活的一部分。
由于嵌入式系统低功耗、面向应用等特点,在网络通讯方面得到了广泛的应用。
我们使用的移动设备,基本上都是基于嵌入式系统设计开发的。
嵌入式系统是指将应用程序、操作系统与计算机硬件集成在一起的系统。
它以应用为中心、以计算机技术为基础,而且软硬件可以裁剪,因而能满足应用系统对功能、可靠性、成本、体积和功耗的严格要求的专用计算机系统。
嵌入式系统与通信、网络技术的结合可以极大地增强网络的智能化与灵活性,拓展通信功能,从而实现各种通信系统之间的互联互通[4]。
1.4选题的目的和意义
传统的数据传输和通讯,需要铺设专用的介质和电缆。
通过前端的传感器采集数据信息,并通过相关的通讯协议进行数据传输。
比如我们经常使用的CAN,485总线等。
这些总线和协议需要自己定制,硬件设备需要自己设计开发,面向的对象不同,解决的设计问题不同,主要面向专业设计开发,由于技术上的门槛,普通人员很难理解和使用。
以太网是使用最为广泛的网络,由于标准的统一,硬件的支持和配套,普通人员也可以使用,是信息交流和流通的重要渠道。
因此,基于嵌入式系统,设计开发网络应用产品具有重要的意思。
(1)嵌入式网络为终端设备网络化提供了保障
如果将我们所有的终端设备进行网络连接,可以方便有效地进行信息沟通和数据共享,同时也为管理者提供了一种有效的管理方式。
移动办公设备很方便的将我们连接在一起,无论何时何地,增强了我们的相互沟通。
(2)嵌入式网络技术为工业控制领域设备的发展提供动力
基于嵌入式系统的网络技术,随着嵌入式技术的迅猛发展,也得到了广泛的应用。
我们现在使用的手机设备,无论我们在天涯海角,都可以随时尽心交流和沟通;家庭经常使用的网络电视,可以方便的下载和点播节目;网络课堂更是把我们组织在一起学习,提高我们的能力好和水平;网络会议可以让我们处在不同地域的人组织在一起讨论和解决问题,节约费用。
当然,还有经常使用的B2B网上购物、远程会诊等等。
真不敢相信,离开了网络,我们的生活会是怎么样。
在工业控制方面,嵌入式网络可以有效可靠地进行远程控制和操作,通过网络通讯模块进行协议的转换,各个控制对象可以独立为嵌入式网络的一个终端,这种控制可以做到有效、可靠和实时。
(3)嵌入式网络为家庭生活的智能化提供了技术支持
现在的家庭都已经离不开网络。
通过网络,可以进行远程的家庭监控,我们经常使用的家用电器。
我们可以把家庭的所有设备联网,组成一个家庭智能中心,可以很方便的通过网络进行控制。
这种网络的设计和开发基本都是基于嵌入式技术的。
基于嵌入式系统的网络通讯,一般具有以下功能:
(1)嵌入式网络以Internet网络为基础,通过协议的转换,把相关的信息传输到目的地,大大节约了资源;
(2)TCP/IP协议是一个标准公开的协议,不做任何改变,我们就可以利用Web浏览器读取信息,非常的方便快捷;
(3)客户机根据信息的需求状况,获得相关的信息,并且能够自由的处理,并能够显示处理结果;
(4)信息的显示有多种方式,通过计算机技术处理成文字、图象、表格等形式,并且还能够实时的自动更新,在设备的终端上最好相关记录,更加方便有效的进行控制和操作[5]。
1.5课题研究范围及要达到的技术要求
课题是基于ARM的嵌入式socket通信设计,研究的范围包含:
ARM上uClinux操作系统的移植、Linux下socket通信的建立、交叉编译环境下嵌入式socket通信的实现等。
课题设计后应该实现在特定的ARM7平台上运行嵌入式uClinux操作系统,顺利的驱动网络设备运行,完成在ARM7开发板和PC机的通信,方便的进行数据收发。
将嵌入式系统与网络结合起来,主要的困难在于网络上的各种通讯协议对于计算机的存储器,运算速度等的要求比较高,而嵌入式系统中除部分32位微处理器外,大量存在的是8位和16位的微处理器,如果要支持TCP/IP等Internet协议将占用大量系统资源,或根本不可能实现[6]。
因此,设计中要解决以下问题:
(1)如果要移植操作系统,选择什么操作系统,才最适合;
(2)如何使开发板驱动网络芯片工作;
(3)如何建立交叉的编译环境;
(4)如何使ARM芯片上具有TCP/IP协议的网络环境;
(5)如何用Socket来建立网络的通信。
2需求分析
2.1任务概述
论文的主要工作,是选择适当的嵌入式开发平台和文件系统,建立交叉的编译环境,构建TCP/IP网络体系,实现客户端和服务器端的socket通信。
2.2系统的需求分析
2.2.1系统的功能需求
嵌入式系统设备能快速的接入网络,实现网络资源的共享和网络设备的通信,首先应该保证嵌入式设备具有完整的网络协议体系结构,满足网络设备的技术规范,能够正确控制嵌入式平台上的网络芯片,可以完整的接收和发送数据。
嵌入式设备还具有网络设备标识,也就是嵌入式设备有自己唯一的IP地址,只有这样,才能完成Internet上网络设备之间的通信。
2.2.2系统的性能需求
在系统的设计上,要求系统具有以下性能:
(1)实时性:
嵌入式设备具有足够的反映速度,能快速的接收来自网络设备数据,并作出快速的反应;
(2)稳定性:
系统在异常情况下不发生死循环,设备系统不会崩溃和瘫痪;
(3)可扩充性:
系统可以根据需要进行扩充,能够新的通信技术或新的通讯协议方案(程序),可以在不改动系统大部分硬件的情况下,其实现新的功能;
(4)易维护性:
在设备发生数据灾难的时候使系统及时的恢复,达到以前的状态;
(5)持久性:
嵌入式系统工作的特殊性,以及各种特定工作环境的具体要求,系统必须能够稳定地长时间工作,适应各种不同的工作环境。
2.3系统设计思路
系统的设计开发,宿主机采用的是任意发行版本的Linux系统,但程序是采用标准C语言来编写,可以在不同的Linux系统中实现通信功能。
考虑到在ARM开发板上需要运行特定格式的程序文件,所以设计采用Linux下的gcc开发工具,使用arm-elf-tools交叉编译工具生成在ARM开发板上的可以直接运行的程序。
由于嵌入式开发要结合软件和硬件的详细情况来操作,所以系统的开发应该具有以下的几种操作接口,第一用户可以通过以RJ45的以太网对开发板和系统操作,其次用户可以采用串口的方式对开发板的功能和运行效果进行操作,最后操作人员还可以通过开发板特有的JTAG对开发板进行操作。
系统分为宿主部分和开发板部分,每个部分独立成块,用网络相互连接,宿主机上运行的Linux操作系统,开发板上运行的是uClinux嵌入式操作系统[7]。
宿主机和开发板通过Switch交换机进行网络通信,宿主机一方作为服务器端,开发板作为客户端,系统的原理如下图2.1所示。
图2.1系统设计环境关系图
系统的设计目标是完成宿主机和开发板的网络通信实现。
要完成通信,就要完成系统底层硬件的驱动等一系列的工作,首先启动宿主机和客户机的操作系统Linux和uClinux,然后每个模块加载网络设备驱动程序,最后通过TCP/IP协议建立双方的通信链路,完成Socket通信,详细情况如图2.2所示[8]。
图2.2系统的原理示意图
3系统概要设计
3.1系统设计的基本原则
无论采用什么设计开发方式,最终的目的是驱动开发板完成网络的通信。
设计过程中,首先开发板的网络芯片能够正常工作,其次要完成通信就必须要有完善的通信的协议,根据系统的要求选择合适的协议[9]。
目前,Internet上用应用最多相对开放的协议就是TCP/IP协议,它能使不同网络设备以及不同类型的网络按照标准协议互相连接,轻松的实现上层的通信。
在此基础上,设计上层通信模块,通过调用socket函数来实现各种功能,包括数据的接收和发送,数据的校验等等[10]。
3.2系统设计方案分析
采用TCP/IP协议已经确定了,如何在开发板上移植入TCP/IP协议成了一个最主要的解决问题,开发板上虽然有网络通信芯片和足够的存储空间,但没有任何的网络通信协议,有以下几种方案可以实现系统的要求,具体的设计方案是:
(1)方案1
无操作系统,自己构建TCP/IP协议族,编写上层socket通信模块完成程序的通信。
(2)方案2
包含操作系统,其中又分为带TCP/IP协议族的操作系统和不带TCP/IP协议族的操作系统[11]。
带TCP/IP协议族的Linux或者uClinux操作系统,不需要自己构建TCP/IP协议族可以直接调用底层的函数,驱动上层模块完成socket通信[12]。
不带TCP/IP协议族的uCOS-II操作系统,自己构建TCP/IP协议族,编写上层socket通信模块完成程序的通信。
在选择什么样的操作系统这个问题上,主要归结于嵌入式系统的性能,主要有以下几点[13-15]:
(1)微处理器是否支持
微处理器是否支持是选用操作系统的核心因素。
从应用的角度来说,选用一种稳定可靠的微处理器是设计成功的关键。
(2)资源占用情况的多少
嵌入式系统的资源是有限的,资源占用是另外一个重要的指标。
通常所说的资源主要是嵌入式芯片的内存和Flash。
处于成本和体积等各方面的考虑,要求操作系统尽可能节约资源。
(3)应用软件资源
嵌入式操作系统在应用过程中需要多方软件支持,包括协议栈、设备驱动以及一些应用程序,在设计过程中,可以方便的应用这些软件,或者只需要很少的改动就可以适用于新的平台。
(4)操作系统性能
操作系统的可靠性通常无法在用户程序或者函数库层次得到增强。
操作系统的稳定性在操作系统设计之初,就已经由系统的设计构想和编码质量决定了。
嵌入式系统可靠性要求要比一般桌面系统要高,设计中有可能无法确定出现的问题是程序的问题还是操作系统的性能问题。
(5)执行效率
执行效率是另一个评价基准。
操作系统的执行效率可能直接影响操作系统的处理能力,还有一个重要的指标是这个操作系统的实时性到底如何。
操作系统选择不正确,有可能导致系统根本无法
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 arm 嵌入式 系统 通信 设计
![提示](https://static.bdocx.com/images/bang_tan.gif)