基于arm的嵌入式远程控制系统的研究与应用本科论文.docx
- 文档编号:6681711
- 上传时间:2023-01-08
- 格式:DOCX
- 页数:31
- 大小:242.22KB
基于arm的嵌入式远程控制系统的研究与应用本科论文.docx
《基于arm的嵌入式远程控制系统的研究与应用本科论文.docx》由会员分享,可在线阅读,更多相关《基于arm的嵌入式远程控制系统的研究与应用本科论文.docx(31页珍藏版)》请在冰豆网上搜索。
基于arm的嵌入式远程控制系统的研究与应用本科论文
基于ARM的嵌入式远程控制系统的研究与应用
徐永强
(自动化与电气工程学院指导教师:
邵世凡)
摘要:
计算机技术发展到今天,嵌入式系统的应用越来越广泛:
嵌入式计算机在应用数量上远远超过了各种通用计算机,一台通用计算机的外部设备中就包含5-10个嵌入式微处理器。
而随着网络技术日新月异的发展,各种网络器件成为嵌入式系统新的应用。
微处理器产生后,价格低廉、结构小巧的CPU和外设连接提供了稳定可靠的硬件架构。
20世纪90年代,ARM32位嵌入式RISC处理器扩展到世界范围,占据了低功耗、低成本和高性能的嵌入式系统应用领域的领先地位。
Linux因其可应用于多种硬件平台;是免费软件,源代码可以得到;微内核,本身内置网络支持和高度模块化等优点,非常适合做嵌入式开发的操作系统。
Uclinux是Linux的一个分支,是专为没有MMU(内存管理单元)的CPU而设计的。
本论文主要研究了基于ARM的嵌入式Linux开发。
这个研究开发是在实践的基础上完成的,设计了以三星ARM7TDMICPU为核心的嵌入式硬件系统,并在此基础上嵌入Uclinux操作系统,在uclinux系统上可以开发各种应用,本文主要研究了其中一个应用--嵌入式WEB服务器,该WEB服务器采用HTTP协议。
我们已经成功解决了ARM的开发难题,研究了ARM的开发方案,以及uclinux针对ARM的移植难题,这在嵌入式系统研究领域,有较高的实践和研究价值。
我们所研究的这个嵌入式系统具有低成本,高效率的特点,值得推广。
最后本论文对所做的工作地总结并展望了本嵌入式系统的其它应用。
关键词:
嵌入式;WEB服务器;远程控制;ARM;Internet应用
Abstract:
Withtherapiddevelopmentofcomputertechnology,embeddedsystemismoreandmorewidelyused.Bynow,embeddedcomputersystemismuchmorethancommoncomputerinquantity:
thereareabout5-10microprocessorintheperipheralequipmentofacomputer.Atthemeantime,lotsofnetworkequipmentsbecomethenewapplicationenvironmentofembeddedsystemsincetheprogressivelydevelopmentofnetworktechnology.Thecheapandpowerfulmicroprocessorandvariouskindsofperipheralequipmentshavemakethehardwareframesofallkindsofembeddedapplicationsstableandreliable.Since1990s,ARMwhichis32-bitembeddedRISCmicroprocessor,hasbeenspreadtotherangeoftheworldandoccupiedinthefieldofapplicationoflowconsumption,lowcostandhighperformanceembeddedsystem.
Becauseit’sexcellentkerneldesignandapplicationperformance,Linuxisrunningonmanykindsofhardware.Linuxalsoownsothermeritssuchasitsfreesourcecode,itsinheritnetworkingfunctionsanditsmodularizationdesigninkernel.ThereforeLinuxisverysuitabletobetheoperatesystemofembeddedsystem.uClinuxisabranchofembeddedLinuxAnditisdesignedforNO-MMUCPU.
Inthisthesis,theembeddedLinuxsystembasedonARMhasbeendeveloped.TheembeddedhardwaresystemwasdesignedtakingSamsungARM7TDMICPUascore.AndasmalluClinuxsystemcanbedeveloped.Thisthesisintroducesoneapplicationembeddedwebserveranditsprotocol-HTTP.WehavealreadysolvedtheproblemofdevelopingARMandrescarchedtheprojectofdevelopingARM.TheimportantthingisthatwesuccessfullysolvedthedifficultyesofportinguClinuxintoARMhardwareplatform.Thisprovideswithahigherpracticeandresearchvalueinthefieldofstudyingembeddedsystem.Ourembeddedsystemhasthecharactersoflowcostandhighefficiency.Atlast,asum-upandprospectofsomeotherusageofLinuxembeddedsystemaregiven.
Keywords:
Embedded;WEBservers;Remotocontrol;ARM;InternetApplication
1前言
随着互联网技术在全球的飞速发展,网络技术广泛应用于各种企业和工业系统,越来越多的信息化产品需要能够接入互联网通过web页面进行远程访问和控制。
嵌入式web服务器是当今研究嵌入式的应用热点,可广泛的应用到工业设备,自动化农业,信息化家电,远程监控报警系统等。
目前正在开发的嵌入式系统中,将近一半的项目都选用Linux作为嵌入式操作系统,而uClinux是一个经过对标准Linux内核改动,高度优化、代码紧凑的嵌入式Linux它保留了Linux的大多数优点,具有良好的移植性、优秀的网络功能[1][2][3]。
目前,基于三星S3C4510b与uClinux下web服务器已经实现,而基于S3C44B0[4][5]与uClinux下web服务器的实现尚不多见。
本文通过网口控制芯片RTL8109AS与S3C44B0的连接,实现了硬件设计,采用uClinux源代码和boa服务器源代码的编译以及CGI网关接口程序的编写实现了软件设计,在自行设计的S3C44B0开发板上实现了基于uClinux下的boa服务器和动态网页CGI网关接口程序,通过浏览器输入开发板的IP地址就可以动态地访问开发板上的网页,通过网页控制远程电机执行相关操作。
1.1嵌入式系统现状及发展趋势
在当前的数字信息技术和网络技术高速发展的信息时代,嵌入式系统已经广泛的渗入到人们的生产,生活等各个方面中。
随着国内外嵌入式产品的进一步开发和推广,嵌入式技术越来越和人们的生活紧密相结合。
嵌入式系统技术涉及到硬件软件技术,已经成为目前最热门的技术之一。
1.1.1嵌入式系统的理解
一般来说,嵌入式系统是“执行专用功能并被内部计算机控制的设备或者系统。
嵌入式系统不能使用通用型计算机,而且运行的是固化的软件,用术语表示就是固件(firmware),终端用户很难或者不可能改变固件。
”
1.1.2嵌入式系统特点及应用领域
与通用型计算机系统相比,嵌入式系统功耗低、可靠性高;功能强大、性能价格比高;实时性强,支持多任务;占用空间小,效率高;面向特定应用,可根据需要灵活定制。
嵌入式系统应用广泛:
可用于移动计算平台(PDA、掌上计算机),信息家电(数字电视、机顶盒、网络设备),无线通信设备(智能手机、股票接收设备),工业/商业控制(智能工控设备、POS/ATM机),电子商务平台,甚至军事应用等诸多领域。
据估计,其在全球每年带来的相关工业产值已超过1万亿美元。
1.1.3嵌入式系统的发展趋势
①Internet功能成为必然趋势
随着二十一世纪的来临、全球化的趋势越来越明显、Internet作为获取信息的便捷手段,已逐渐被人们所共识。
另外,未来Internet接入设备将呈现多元化的特征,因此嵌入式操作系统作为嵌入式Internet接入设备的灵魂必然向完善的Internet支持方向发展,并随着Internet的发展而发展。
②SOC(SystemonChip)
随着微电子技术的快速发展,软件硬件的紧密结合,SOC将成为趋势。
这不仅能降低成本、缩小产品体积,还可以增强产品的可靠性。
③无线互联
近几年来,无线互联已成为发展的主流,全球知名厂商纷纷推出自己的无线互联的解决方案。
嵌入式设备,特别是消费电子类产品,具有很强的移动性,所以嵌入式操作系统对于无线互联的支持显得尤为重要,以实现任何人在任何地方任何时间获取任何信息。
④个性化与标准化并存
由于嵌入式设备种类繁多、千差万别,因而具有很强的个性特征。
嵌入式操作系统为了满足这些需求,必须在个性化和标准化之间达到平衡以实现最优。
嵌入式操作系统产业关联度大,市场前景好。
发展嵌入式软件将有利于增强企业持续创新能力,有利于刺激消费,有利于培植新的经济增长点。
中国有巨大的市场需求,有从事操作系统方面的开发队伍,中国企业呼唤中国的操作系统。
1.2嵌入式操作系统
嵌入式操作系统由一个体积很小的内核及一些可以根据需要进行定制的系统模块组成。
能够运行在各种不同的硬件平台上,提供最基本的程序运行环境和接口,成为应用软件运行的基础。
1.2.1嵌入式操作系统的概述[6][7]
嵌入式操作系统EOS(EmbeddedOperatingSystem)是一种用途广泛的系统软件,过去它主要应用于工业控制和国防系统领域。
EOS负责嵌人系统的全部软、硬件资源的分配、调度工作,控制协调并发活动;它必须体现其所在系统的特征,能够通过装卸某些模块来达到系统所要求的功能。
目前,已推出一些应用比较成功的EOS产品系列。
随着Internet技术的发展、信息家电的普及应用及EOS的微型化和专业化,EOS开始从单一的弱功能向高专业化的强功能方向发展。
嵌人式操作系统在系统实时高效性、硬件的相关依赖性、软件固态化以及应用的专用性等方面具有较为突出的特点。
嵌入式操作系统作为嵌入式系统的核心。
能运行于各种类型的微处理器上,兼容性好;内核精小、效率高,具有高度的模块化和扩展性;具备文件和目录管理、设备支持、多任务、网络支持、图形窗口以及用户界面等功能;具有大量的应用程序接口API;嵌入式应用软件丰富。
1.2.2嵌入式操作系统的特点
1实时性
在信息时代,人们需要在有效的时间里对接受的信息进行处理,为进一步的工作和决策争取时间,这就要求工作系统具有很高的实时性。
所谓实时性,其核心含义在于操作系统在规定时间内准确完成应该做的事情,并且操作系统的执行线索是确定的,而不是单纯的速度快。
大多数嵌入式操作系统工作在对实时性要求很高的场合,主要对仪器设备的动作进行检测控制,这种动作具有严格的、机械的时序;而一般的桌面操作系统基本上是根据人在键盘和鼠标发出的命令进行工作,人的动作和反应在时序上并不很严格。
比如,用于控制火箭发动机的嵌入式系统,它所发出的指令不仅要求速度快,而且多个发动机之间的时序要求非常严格,否则就会失之毫厘,谬以千里。
在这样的应用环境中,非实时的普通操作系统无论如何是无法适应的。
即使我们所开发的并不是生命攸关的或者生产控制那样的关键任务系统,例如对嵌入式操作系统应用来说很有前途的领域-----消费电子产品,设备的高可靠性可以有效地减低维护成本,软件运行效率高也会降低对CPU的要求,从而降低硬件成本。
对于此类价格十分敏感的产品,实时性、可靠性仍然是非常值得重视的问题。
因此,实时性是嵌入式系统最大的优点,在嵌入式软件中最核心的莫过于嵌入式RTOS实时操作系统。
2可剪裁性
能否根据悠扬的乐曲对系统的功能模块进行配置是嵌入式系统与普通系统的另一区别。
这可以从以下几个方面分析:
i. 从硬件环境来看,普通系统具有标准化的CPU存储和I/O架构,而嵌入式环境的硬件环境只有标准化的CPU,没有标准的存储、I/O和显示器单元。
ii. 从应用环境来看,桌面操作系统面向复杂多变的应用,而嵌入式操作系统面向单一设备的固定的应用。
iii. 从开发界面来看,桌面操作系统给开发人员提供一个“黑箱”,让开发人员通过一系列标准的系统调用来使用操作系统的功能,而嵌入式试图为开发人员提供一个“白箱”,让开发人员可以自主控制系统的所有资源。
普通系统的研究开发是尽可能在不改变自身的前途下具有广泛的适应性。
也就是说:
不论应用环境怎么改变,都不应对自身做太多的变化。
而应用于嵌入式环境的RTOS,在研发的时候就必须立足于面向对象,改变自身、开放自身,让开发人员可以根据硬件环境和应用环境的不同而对操作系统进行灵活的裁剪和配置,因为对于任何一个具体的嵌入式设备,它的功能是确定的,因此只要从原有操作系统中把这个特定应用所需的功能拿来即可以。
可剪裁性在软件工程阶段是利用软件配置方法实现软件构建的“即插即用”。
3可靠性
一般来说,嵌入式系统一旦开始运行就不需要人的过多干预。
在这种条件下,要求负责系统管理的嵌入式操作系统具有较高的稳定性和可靠性。
而普通操作系统则不具备这种特点。
这导致桌面操作环境与嵌入式环境在设计思路上有重大的不同。
i. 桌面环境假定应用软件与操作系统相比而言是不可靠的,而嵌入式环境假定应用软件与操作系统一样可靠。
运行于嵌入式环境中的RTOS要求应用软件具有与操作系统同样的可靠性,这种设计思路对应用开发人员提出了更高的要求,同时也要求操作系统自身足够开放。
ii. 桌面操作系统比较庞大复杂,而嵌入式系统提供的资源有限,由于硬件的限制,嵌入式操作系统必须小巧简捷。
对于系统来说,组成越简单、性能越可靠,组成越复杂,故障概率越大是一个常理。
局部的不足会导致整体的缺陷,系统中任何部分的不可靠都会导致系统整体的不可靠。
[8][9][10]
1.2.3嵌入式操作系统的发展趋势
目前各种嵌入式Linux操作系统正迅速发展,已经形成了能与WindowsCE等嵌入式操作系统进行有力竞争的局面。
嵌入式Linux操作系统的迅速崛起,主要由于人们对自由软件的渴望与嵌入式系统应用的特制性,要求提供系统源码层次上的支持,而嵌入式Linux正适应了这一需求,它不仅具有开放源代码,系统内核小、效率高、内核网络结构完整,裁减后的系统很适于如信息家电等嵌入式系统的开发。
嵌入式Linux操作系统的产品化及可靠性是目前受制约的一个重要因素。
微软的WinCE是一个较具代表性的、由桌面操作系统演变而成的实时嵌入式操作系统。
虽然提供了较为强大的类似于桌面操作系统的功能,但针对嵌入式系统的特征与特性而言,WinCE显得笨拙且在内核结构的设计中并未考虑适应系统的高度可裁减性的要求。
以VxWorks为代表的传统嵌入式操作系统是应用最广泛、市场占有率较具优势的几个系统,它们是专门为嵌入式微处理器设计的高模块化、高性能的实时操作系统,广泛应用于高科技产品中,包括消费电子设备、工业自动化、无线通信产品、医疗仪器、数字电视与多媒体设备,具有很好的安全性、容错性以及系统灵活性。
虽然它们都提供专有的API接口,但是缺乏应用的高效性,网络连接功能较差,系统对应用程序开发支持相对较弱。
对现在复杂的、网络化的、多处理器的嵌入式系统的许多应用需要而言,它已显得力不从心。
随着硬件技术、应用需求和开发需求的变化,如,微电子技术--芯片的集成技术和片上系统;强实时、高可靠应用需求--飞机、火箭控制等;开发需求--信息家电需要越来越多的研究和设计人员参与嵌入系统的开发,如同台式系统一样嵌入系统需要使用方便、功能强大的开发系统,嵌入操作系统也需要支持面向对象和可重用等技术。
[11][12][13][14]
1.2.4几种主流嵌入式操作系统的比较
在嵌入式操作系统中,可供选择的有很多,比如winCE,VxWorks,uClinux,μcos等,但是如WinCE,VxWorks等价格比较高的操作系统就不予考虑了。
uClinux和ucos都是不错的选择。
比较ucos和uClinux:
ucos和uClinux操作系统,是当前得到广泛应用的两种免费且公开源码的嵌入式操作系统。
uc/os适合小型控制系统,具有执行效率高、占用空间小、实时性能优良和可扩展性强等特点,最小内核可编译至2k。
uClinux则是继承标准linux的优良特性,针对嵌入式处理器的特点设计的一种操作系统,具有内嵌网络协议、支持多种文件系统,开发者可利用标准linux先验知识等优势。
其编译后目标文件可控制在几百k量级。
ucos是一种免费公开源代码、结构小巧、具有可剥夺实时内核的实时操作系统。
其内核提供任务调度与管理、时间管理、任务间同步与通信、内存管理和中断服务等功能。
其内核是针对实时系统的要求设计实现的,相对简单,可以满足较高的实时性要求。
uClinux是一种优秀的嵌入式linux版本[15]。
uClinux是micro-conrol-linux的缩写。
同标准linux相比,它集成了标准linux操作系统的稳定性、强大网络功能和出色的文件系统等主要优点。
但是由于没有mmu(内存管理单元),其多任务的实现需要一定技巧。
在结构上继承了标准linux的多任务实现方式,仅针对嵌入式处理器特点进行改良。
还继承了linux网络操作系统的优势,可以很方便的支持网络文件系统且内嵌TCP/IP协议,这为uClinux开发网络接入设备提供了便利。
根据以上比较,在开源性,结构上面ucos和uClinux都比较好,体积上ucos更小,但是uClinux在网络上支持比较好,在实现多个移动机器人交互时比较方便,ucos在实时性方面比较好,uClinux是分时系统,如果要实现实时的话需要带有RTlinux模块。
鉴于我们采用ARM系列的高性能单片机,我们不需要采用实时性比较高的操作系统,加上考虑以后的网络扩展等,uClinux也相对比较容易实现,加上uClinux资料相对多,所以最终方案决定采用uClinux。
1.3ARM概述及其应用领域
ARM即AdvancedRISCMachines的缩写,ARM嵌入式处理器是一种高性能、低功耗的RISC芯片。
采用ARM技术IP核的微处理器遍及汽车、消费电子、成像、工业控制、海量存储、网络、安保和无限等各类产品市场。
目前,基于ARM技术的处理器已经占据了32位RISC芯片75%的市场份额。
可以说,ARM技术几乎无处不在。
1.3.1ARM概述
ARM(AdvancedRISCMachines),既可以认为是一个公司的名字,也可以认为是对一类微处理器的通称,还可以认为是一种技术的名字。
[16][17][18]
1991年ARM公司成立于英国剑桥,主要出售芯片设计技术的授权。
目前,采用ARM技术知识产权(IP)核的微处理器,即我们通常所说的ARM微处理器,已遍及工业控制、消费类电子产品、通信系统、网络系统、无线系统等各类产品市场,基于ARM技术的微处理器应用约占据了32位RISC微处理器75%以上的市场份额,ARM技术正在逐步渗入到我们生活的各个方面。
ARM公司是专门从事基于RISC技术芯片设计开发的公司,作为知识产权供应商,本身不直接从事芯片生产,靠转让设计许可由合作公司生产各具特色的芯片,世界各大半导体生产商从ARM公司购买其设计的ARM微处理器核,根据各自不同的应用领域,加入适当的外围电路,从而形成自己的ARM微处理器芯片进入市场。
目前,全世界有几十家大的半导体公司都使用ARM公司的授权,因此既使得ARM技术获得更多的第三方工具、制造、软件的支持,又使整个系统成本降低,使产品更容易进入市场被消费者所接受,更具有竞争力。
1.3.2ARM微处理器的特点及应用领域
采用RISC架构的ARM微处理器一般具有如下特点:
1、具有大量的寄存器。
绝大多数操作都在寄存器中进行,通过Load/Store的体系结构在内存和寄存器之间传递数据。
2、寻址方式简单。
3、采用固定长度的指令格式。
4、除此之外,Arm体系采用了一些特别的技术,在保证高性能的同时尽量减小芯片体积,减低芯片的功耗。
这些技术包括:
5、在同一条数据处理指令中包含算术逻辑处理单元处理和移位处理。
6、使用地址自动增加(减少)来优化程序循环处理。
7、Load/Store指令可以批量传输数据,从而提高数据传输的效率。
8、所有指令都可以根据前面指令执行结果,决定是否执行,以提高指令执行的效率。
到目前为止,ARM微处理器及技术的应用几乎已经深入到各个领域:
1、工业控制领域:
作为32的RISC架构,基于ARM核的微控制器芯片不但占据了高端微控制器市场的大部分市场份额,同时也逐渐向低端微控制器应用领域扩展,ARM微控制器的低功耗、高性价比,向传统的8位/16位微控制器提出了挑战。
2、无线通讯领域:
目前已有超过85%的无线通讯设备采用了ARM技术,ARM以其高性能和低成本,在该领域的地位日益巩固。
3、网络应用:
随着宽带技术的推广,采用ARM技术的ADSL芯片正逐步获得竞争优势。
此外,ARM在语音及视频处理上行了优化,并获得广泛支持,也对DSP的应用领域提出了挑战。
4、消费类电子产品:
ARM技术在目前流行的数字音频播放器、数字机顶盒和游戏机中得到广泛采用。
5、成像和安全产品:
现在流行的数码相机和打印机中绝大部分采用ARM技术。
手机中的32位SIM智能卡也采用了ARM技术。
除此以外,ARM微处理器及技术还应用到许多不同的领域,并会在将来取得更加广泛的用。
1.3.3ARM7TDMI系列的原理与特点
ARM7系列微处理器核集成了16位的Thumb指令系统,具有32位机的性能,8/16位机的成本,其低成本和低功耗的特性在消费电子领域显得尤为重要。
ARM7系列有四种32位RISC微处理器核ARM7TDMI、ARM7TDMI-S、ARM7EJ-S和ARM720T,其微处理器核体系结构比较如下表所示。
ARM7系列微处理器核体系结构比较
arm7tdmi
arm7tdmi-s
arm7ej-s
arm720t
内存管理单元MMU
—
—
—
*
高速缓存Cache
—
—
—
8KB
外围总线接口
—
—
—
*
Java功能模块
—
—
*
—
ICE调试
*
*
*
*
ETM7接口
*
*
ETM9
*
Thumb扩展
*
*
*
*
ARMv4T指令集架构
*
*
ARMvT5EJ
*
ARM7内核
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 arm 嵌入式 远程 控制系统 研究 应用 本科 论文