基于ARM9的排爆机器人远程控制系统设计与实现_第1页
基于ARM9的排爆机器人远程控制系统设计与实现_第2页
基于ARM9的排爆机器人远程控制系统设计与实现_第3页
基于ARM9的排爆机器人远程控制系统设计与实现_第4页
基于ARM9的排爆机器人远程控制系统设计与实现_第5页
已阅读5页,还剩67页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

大连理工大学硕士学位论文基于ARM9的排爆机器人远程控制系统设计与实现姓名:李劲魁申请学位级别:硕士专业:软件工程指导教师:曹晓东20080601大连理工大学专业学位硕士学位论文摘要近年来,恐怖主义在世界上的活动不断升级,许多国家都在不遗余力地打击恐怖主义。排爆机器人的发展无疑给反恐提供了有力的武器保证。排爆机器人研究也逐渐成为特种机器人的研究热点。随着现代计算机技术和互联网技术的飞速发展,嵌入式系统成为当前IT行业最热门的焦点之一。而ARM以其高性能低功耗的特性成为目前应用最广泛的32位嵌入式处理器,嵌入式Linux也凭借其功能强大、开源及多任务实时性等优势占据了嵌入式操作系统的主导地位。本文是以ARM9为处理器硬件平台上运行嵌入式Linux来实现一种具有视觉功能的智能排爆机器人远程控制系统为目标。为了提高数据处理的速度,本系统选用了人多任务并行处理的能力,选用了嵌入式Linux操作系统作为应用软件的开发平台;为了扩大排爆机器人可控制范围,增大数据传输的可靠性,系统选用CDMA代替传统的无线电台控制方式;为了减少大量视频数据处理对EMPU的占用,选用了美国WIS公司提供的G07007SB视频压缩芯片来代替软件算法,以实现对视频数据的压缩处理,性能指标均达到预期效果。本文详细阐述了该控制系统硬件平台和软件开发环境的构建方法和步骤,并给出了主要功能模块:拨号接入模块,视频传输模块,GPS和电子罗盘数据提取模块等的设计和实现方案。该系统的开发必将提高排爆机器人的自动控制水平,远远增大了排爆机器人可控制的范围,提高排爆机器人的操作性和可靠性,对于保障公共安全、提高排爆效率有极其重要的意义。关键词:排爆机器人;ARM9处理器;嵌入式LinuxSAMSUNG基于删9的S3C2440处理器代替传统的PLC控制器;为了实现排爆机器基于ARM9的排爆机器人远程控制系统设计与实现DesignandRealizationofControlSystemofExplosiveDisposalRobotBasedonARM9AbstractInrecentyears,theactofterrorismiSmuchmoresavageandithasbeenhittingutterlyinmanycountries.ThedevelopmentofExplosiveDisposalRobotsprovidepowerfulandensurealTnSundoubtedlyincounteractingactofterrodsm.Ithasbecomeahotpointaboutspecialkindofrobotinresearching.Asthespeeddevelopmentofmorderncomputerandintemettechonology,embeddedsystemisoneofthehottestpointinITaindustry.MeanwhileARM谢thits11ighqualityandlowefficiencybecomessuplyofthe32ndembeddedprocessor.onEmbeddedLinuxtakesanimportantpartinembeddedoperatingsystemandrelypower,morebroadenSOurCeSaswellasrealtasks.itsstrongTIliSiternwillcompletethedesignwhichmovesembeddedLinuxtocomeuptointelligentExplosiveDisposalRobot、Ⅳithvisualanfanctionsinlong.distancecontrolsystem.Inonordertoimproveitsspeedofdataprocessing,wechooseSAMSUNGbasingS3C2440processorinsteadoftraditionalPLCcon仃olLinuxoperatingsystemasaARM9’Sprocessor.WealsouseEmbeddeddevelopingplatformofapplyingsoftwareinordertoachieveitsabilitiesofmanytaskstogetherwithitsprocessing;inordertoexpanditscontrolrangeandenhancetheorderreliabilityofdatatransfer,useCDMAinsteadofthecontrolformofradio;intodecreasemorevideodataprocessingtotakeupEMPU.chooseG07007SBvideocompressionhardwaremainprovidedbyAmericanMScompanyinsteadofsoftwarearithmetic.Indetail,thisarticleexpressesitsmethodsandstepsofdesignandrealizationofcontrolingsystemplatformandsoftwaredevelopingenvironment;giveitsdesignandrealizationoffunctionmodulesincludingauto.dialmodule、videotransmissionetc.module、datecollectingmoduleofGPSanddigitalcompass111edevelopmentofthissystemwillDisposalRoboLincreaseitscontrolimprovetheauto.controlling1evelofExplosiverangeandenhanceserviceabilityandreliabilityforkeepingsafetyinpublic,risingexplosivedisposalefficiency.KeyWords:ExplosiveDisposalRobots;ARM9ProcessorEmbeddedLinux—II—独创性说明作者郑重声明:本硕士学位论文是我个人在导师指导下进行的研究工作及取得研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写的研究成果,也不包含为获得大连理工大学或者其他单位的学位或证书所使用过的材料。与我一同工作的同志对本研究所做的贡献均已在论文中做了明确的说明并表示了谢意。作者签名:幽日期:丝坳刎习大连理t人学专业学位硕士学位论文大连理工大学学位论文版权使用授权书本学位论文作者及指导教师完全了解“大连理工大学硕士、博士学位论文版权使用规定’’,同意大连理工大学保留并向国家有关部门或机构送交学位论文的复印件和电子版,允许论文被查阅和借阅。本人授权大连理工大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,也可采用影印、缩印或扫描等复制手段保存和汇编学位论文。作者签名.垄塑绰翩虢:旌童大连理工大学专业学位硕士学位论文1绪论1.1项目背景介绍众所周知,自2001年美国的911事件以来,恐怖主义已经体现出目标国际化、行动国际化和组织国际化等特点。反恐已不是某个国家的事情,而是全世界各国都必须面临的紧迫任务。利用爆炸物造成破坏并造成社会恐慌是恐怖分子常用的手法。爆炸物的安置就是以尽可能多地杀伤爆炸物周围的人员为目的,一旦发现可疑爆炸物,就必须去排除、移走、销毁这一爆炸物,就必须有人去处理,以免造成更多的人员伤亡和财产损失。除了恐怖分子安放的炸弹外,在世界上许多战乱的国家中,散布着许多未爆炸的各种弹药。例如,海湾战争后的科威特,就象一座随时可能爆炸的弹药库。在伊科边境一万多平方公里的地区内,有16个国家制造的25万颗地雷、85万发炮弹和多国部队投下的布雷弹及子母弹的2500万颗子弹,其中至少有20%没有爆炸。而且直到现在,在许多国家中甚至还残留有第一次世界大战和第二次世界大战未爆炸的炸弹和地雷。正是由于排爆的需要,才使排爆机器人(EODRobot)逐步走入人们的视野,并逐步成为新兴的热点。排爆机器人可丝替代人进入人无法或者不能靠近的有爆炸物的危险境地【l】,它不仅可以在危险的环境下对可疑的爆炸物品进行检查、抓取、搬运和销毁,是搜爆、排爆作业的专业装备,还可以应用在危险、有毒、有害的恶劣环境中,进行侦察、消防、救援,以及在核工业中核辐射环境下的作业,保护人员不受到有害物体的伤害。1.2国内外EOD研究现状目前,由于恐怖事件的不断增多,国内外都非常重视反恐排爆机器人的研究开发工作,国内外已经有许多种排爆机器人出现,并且有些突出的排爆机器人已经大规模的应’用在军事上。ABPrecisionLimited(ASP)公司是英国国防部常用工程设备的供应商。近30年以来,ABP专为英国国防部生产和供应EOD爆炸品解拆装置。‘其生产的排爆机器人有Cyclops、Bison&#8482、Groundhog&#8482、Lynx等型号。其中,Cyclops采取车型结构,可在有限的空间灵活操作。体积小,不但能在乡村环境运行,而且可以在火车、公共汽车和飞机上狭窄的通道内转动,可无线遥控或通过光纤进行操作。同时它的2米加长臂令其能搜索藏于座位上方行李架、储物柜或座椅下方的可疑物品。Cyclops具有除障和爬梯能力,可携带和操作爆炸物解拆器、小型武器、操纵器、手动工具、化学武器和爆炸品侦测器、X光检测仪以及热成像系统等等(如图1.1所示)。基于ARM9的排爆机器人远程控制系统设计与实现图1.1英国Cyclops型排爆机器人Fig.1.1EODRobotCyclopsinEnglish由美国Remotec公司生成的Andros系列机器人受到各国军警部门的欢迎,白宫及国会大厦的警察局都购买了这种机器人。Andros机器人可用于小型随机爆炸物的处理,它是美国空军客机及客车上使用的唯一的机器人。海湾战争后,美国海军也曾用这种机器人在沙特阿拉伯和科威特的空军基地清理地雷及未爆炸的弹药。Andros系列包括了多种型号的机器人,如AndrosF6.A、AndrosWolverine、AndrosMiniII、AndrosV.A1等。以AndrosF6.A为例,该机器人也由一个移动载体和一个机械手组成。移动载体是关节式行走底盘,可以适合各种复杂地形,如沙地、泥地、草地等,还可以跨越障碍、壕沟,爬楼梯。并且最小化的设计可以使机器人在狭小的空间中自由操作。机器人还配备了多个摄像头(红外摄像头,彩色摄像头),方便远程操作人员观察机器人周围的环境。同时机器人还配备各种排爆装备,可以做到当场销毁炸弹或拆除炸弹的功能。(如图1.2)TSR.700黄蜂警戒车是以色列研制的一种作为保安用的地面机器人车辆,可用于易爆物处理、警戒、侦察、消防、巡逻和危险品搬运等。该车长1.7m、高1.2m、重695kg,可携带290kg重物,行驶速度可达12km/h,内燃机可连续工作711。它的机械手臂全部伸展开为3m,且很灵活而坚固,有7个自由度,可举起120kg重物。该车可用于无线电在1.5"一3km的距离内遥迭,操作手可在电视监视器上看到手臂的操作,图像由车上的两个摄像机提供,车上微型计算机帮助操作手进行控制。黄蜂系遥控车中还包括一种小型TSR.50履带式遥控车,用于执行保安任务。警方已订购部分车辆。此外,目前该公司还正在设计一种中型TSR.150履带式遥控车,它能进行有限的障碍导航,在平地上能以较高的速度行驶。(如图1.3所示)大连理工大学专业学位硕士学位论文图1.2美国AndrosF6-A型排爆机器人Fig.1.2EODRobotAndrosF6-AinAmerica图1.3以色列TSR-700型排爆机器人Fig.1.3EODRobotTSR-700inIsrael图1.4德国TEODOR型排爆机器人Fig.1.4EODRobotTEODORinGermany一3一基于ARM9的排爆机器人远程控制系统设计与实现德国TEODOR公司生产的TEODOR型排爆机器人,对爆炸物的处理方面具有强大的功能。该机器人装有四台摄像头和一台X光射线仪,用以检查物体的内部。操作人员可以通过无线通讯控制机器人,它有武器系统和水炮,还有一个特殊的冷冻装置,利用冷冻方法使可疑爆炸物失去作用[21。(如图1.4所示)在国内,排爆机器人的研制明显落后于国外的产品。但由于反恐形势的严峻,国内逐渐重视起EODRobot的研制工作。已有多家科研单位以及企业投入资金和人力进行排爆机器人的研制,并且有些已经投入了实际应用。中国科学院沈阳自动化研究所自行研制的反恐排爆机器人“灵蜥—-A”型、“灵蜥一B”型也先后取得成功。(如图1.5所示)“灵蜥—B’’型属于遥控移动式作业机器人,是一种具有抓取、销毁爆炸物等功能的新型机器人产品。它由本体、控制台、电动收缆装置和附件箱四部分组成。自重180kg,由电池电力驱动,最大直线运动速度40m/min,三段履带的设计可以让机器人平稳上下楼梯,可以通过小于45度的斜坡和楼梯,跨越0.45m高的障碍,实现全方位行走。同时可以根据要求装备爆炸物销毁器、连发霰弹枪、催泪弹等武器,完成相应的各种功能。图1.5灵蜥—B型排爆机器人Fig.1.5EODRobotofLingXi-B1.3课题概述及意义早期研制的排爆机器人大多是遥控机器人,移动机器人的研究主要集中在无人驾驶车辆和遥控机器人方面。移动平台和操作手都是由操作员来进行操作和控制的。80年代后期,由于新的控制方法、控制思想的出现,研究人员开始研究半自主移动机器人,可在人的监视下自主行驶,在遇到情况时工作人员可以进行遥控干预。到了90年代,移大连理工大学专业学位硕士学位论文动机器人已经发展到了具有自主能力的自主型移动机器人,它依靠自身的智能自主导航,躲避障碍物。但目前的技术水平还难以实现全自主的排爆机器人,需要受到人远程监控和操作,人与机器人之间正确无误的通信,特别是由排爆机器人的作业环境和作业特点决定的必需的、准确的、远距离无线通信的成功实现便成了排爆机器人研制中尤为重要的一部分。因此研究高性能远程控制系统成为排爆、消防等各种遥操地面移动机器人的共同课题。利用先进的嵌入式系统技术可以较好地解决这类问题。本项目中的排爆机器人控制系统不再采用传统机器人所采用的PLC[3】控制方式,而是利用在以ARM9为处理器硬件平台上运行嵌入式Linux来完成一种具有视觉功能的智能排爆机器人设计。本设计中选用SAMSUNG的基于ARM9处理器¥3C2440,外围使用了GPS、电子罗盘,超声波等传感器,通过CCD摄象机获得图象信息经压缩后与传感器所获得的信息一起通过CDMA无线传输至主控PC机。主控PC机使用图象识别分析、解码技术获得对象物体视频信息,同时将视频信息显示在计算机屏幕上。在人工指明目标物后,主控PC机经人工智能(模式识另jjt4]、路径规划、轨迹避碰等)计算(或人工操作),将控制指令通过无线传输给机器人嵌入式系统,自动控制机器人运动。此排爆机器人控制系统是一个开放式的控制系统,基于ARM9微秒级运算速度和嵌入式Linux多任务实时性、灵巧性、开源性和强大网络功能性,实现了机器人的智能化和网络化功能。该系统的开发必将提高排爆机器人的自动控制水平,远远增大了机器人可控制的范围,提高排爆机器人的操作性和可靠性,对于保障公共安全、提高排爆效率有很大帮助。1.4本文的主要内容及组织结构本文主要介绍了一种新的可用于排爆机器人远程控制系统的解决方案,即利用在当前比较流行的基于ARM9处理器开发的硬件平台上运行嵌入式Linux操作系统,通过视频采集压缩模块和传感器模块对机器人所处周围环境进行信息收集,经CDMA通信方式传输给主控PC,从而实现对机器人的远程控制。全文主要包括以下几个部分:(1)绪论:介绍了EOD发展现状和课题的意义。(2)相关技术:介绍了系统设计所涉及到的主要技术。(3)需求分析:通过对当前EOD控制系统研究的调研,完成了本系统需求分析(4)硬件平台设计:采用当前比较流行的技术开发的硬件模块来构建本系统的硬件平台。(5)构建系统开发环境:详细介绍了嵌入式Linux操作系统开发环境的搭建。(6)应用软件的开发:对系统主要功能模块的实现进行了详细的叙述。基于ARM9的排爆机器人远程控制系统设计与实现2相关技术2.1嵌入式系统简介嵌入式系统是指用于执行独立功能的专用计算机系统。它由微处理器、定时器、微控制器、存储器、传感器等一系列微电子芯片及器件,和嵌入在存储器中的微型操作系统及控制应用软件组成,共同实现诸如实时控制、监视、管理、移动计算、数据处理等各种自动化处理任务。嵌入式系统以应用为中心,以微电子技术、控制技术、计算机技术和通信技术为基础,强调硬件和软件的协同性及整合性,软件及硬件可裁减,以满足系统对功能、成本、体积和功耗的要求【5’6】。嵌入式计算机系统同通用型计算机系统相比具有以下特点:(1)嵌入式系统通常是面向特定应用的。与通用型的最大不同就是嵌入式CPU大多工作在为特定用户群设计的系统中,它通常都具有低功耗、体积小、集成度高等特点,能够把通用CPU中许多由板卡完成的任务集成在芯片内部,从而有利于嵌入式系统设计趋于小型化,移动能力大大增强,跟网络的耦合也越来越紧密。(2)嵌入式系统是将先进的计算机技术、半导体技术和电子技术与各个行业的具体应用相结合后的产物。这一点就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。(3)嵌入式系统的硬件和软件都必须高效率地设计,量体裁衣、去除冗余,力争在同样的硅片面积上实现更高的性能,这样才能在具体应用中对处理器的选择更具有竞争力。(4)嵌入式系统和具体应用有机地结合在一起,它的升级换代也是和具体产品同步进行,因此嵌入式系统产品一旦进入市场,具有较长的生命周期。(5)为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储器芯片或单片机本身中,而不是存储于磁盘等载体中。(6)嵌入式系统本身不具备自举开发能力,即使设计完成以后用户通常也是不能对其中的程序功能进行修改的,必须有一套开发工具和环境才能进行开发。2.2嵌入式处理器嵌入式系统的核心部件是各种类型的嵌入式处理器,目前,嵌入式处理器的寻址空间一般介于64KB一"16MB之间,处理速度介于0.1"一2000MIPS之间,常用封装形式从8个引脚到144个引脚不等。一6一大连理工大学专业学位硕士学位论文2.2.1嵌入式处理器品种划分(1)嵌入式微处理器(EmbeddedMicroprocessorUnit,EMPU)嵌入式微处理器的基础是通用计算机中的CPU。在应用中,将微处理器装配在专门设计的电路板上,只保留与嵌入式应用有关的功能,这样可以大幅度减小系统的体积和功耗。为了满足嵌入式应用的特殊要求,嵌入式微处理器虽然在功能上同标准微处理器基本一样,但在工作温度、抗电磁干扰、可靠性等方面一般都做了增强。与工业控制计算机相比,嵌入式微处理器具有体积小、重量轻、成本低和可靠性高的优点。嵌入式处理器目前主要有Aml86/88、386EX、SC-400、PowerPC、68000、M1PS和ARM系列等。嵌入式微处理器根据指令体系的不同,又可分为CISC和RISC两类。大家熟悉的大多数台式PC机都是使用CISC微处理器,如Inter的x86。RISC结构体系有两大主流:SiliconGraphics公司的MIPS技术,ARM公司的AdvancedRISCMachines技术。(2)嵌入式微控制器(MicrocontrollerUnit,MCU)嵌入式微控制器又称单片机,就是将整个计算机系统集成到一块芯片中【7】。嵌入式微控制器一般以某一种微处理器内核为核心,芯片内部集成ROM/EPROM、RAM、Flash、总线、总线逻辑、定时/计数器、WatchDog、I/O、串行口、A/D、D/A等各种必要的功能模块。(3)嵌入式DSP处理器DSP处理器对系统结构和指令进行特殊设计,使其适合于执行DSP算法,编译效率较高,指令执行速度也较高。在数字滤波、FFT和谱分析等方面,DSP算法正在大量进入嵌入式领域,DSP应用正从在通用单片机中以普通指令实现DSP功能过渡到采用嵌入式DSP处理器。DSP的设计者们把重点放在了处理连续的数据流上。在嵌入式应用中,如果强调对连续的数据流的处理及高精度复杂运算,则应选用DSP器件。(4)嵌入式片上系统(SOC)随着VLSI设计的普及化及半导体工艺的迅速发展,可以在一块硅片上实现一个更为复杂的系统,这就是SystemOnChip(SOC)t81。各种通用处理器内核将作为SOC设计公司的标准库,和许多其他嵌入式系统外设一样,成为VLSI设计中一个标准的器件,用标准的VHDL等语言描述,存储在器件库中。用户只需定义出整个应用系统,仿真通过后就可以将设计图交给半导体工厂制作样品。这样除了个别无法集成的器件以外,整个嵌入式系统大部分均可集成到一块或几块芯片中去,应用系统电路板将变得简洁,对于减小体积和功耗、提高可靠性非常有利。基于ARM9的排爆机器人远程控制系统设计与实现2.2.2嵌入式ARM微处理器ARM(AdvancedRISCMachines),即可以认为是一个公司的名字,也可以认为是对一类微处理器的通称,还可以认为是一种技术的名字。1991年ARM公司成立于英国剑桥,主要出售芯片设计技术的授权,作为知识产权供应商,本身不直接从事芯片生产,靠转让设计许可由合作公司生产各具特色的芯片,世界各大半导体生产商从ARM公司购买其设计的ARM微处理器核,根据各自不同的应用领域,加入适当的外围电路,从而形成自己的ARM微处理器芯片进入市场191。目前,采用ARM技术知识产权(IP)核的微处理器,即我们通常所说的ARM微处理器,已遍及工业控制、消费类电子产品、通信系统、网络系统、无线系统等各类产品市场,基于ARM技术的微处理器应用约占据了32位RISC微处理器75%以上的市场份额,ARM技术正在逐步渗入到我们生活的各个方面。目前,全世界有几十家大的半导体公司使用ARM公司的授权,因此既使得ARM技术获得更多的第三方工具、制造、软件的支持,又使整个系统成本降低,使产品更容易进入市场被消费者所接受,更具有竞争力【10】。ARM微处理器目前包括7个产品系列:ARM7、ARM9、ARM9E、ARMl0E、SecurCore、Inter的Xscale和StrongARM,每一个系列的ARM微处理器都有各自的特点和应用领域。采用RJSC架构的ARM微处理器一般都具有以下特点:(1)体积小、低功耗、低成本、高性能。(2)支持Thumb(16位)/ARM(32位)双指令集,能很好的兼容8位/16位器件。(3)大量使用寄存器,指令执行速度更快。(4)大多数数据操作都在寄存器中完成。(5)寻址方式灵活简单,执行效率高。(6)指令长度固定。到目前为止,ARM微处理器的应用几乎已经深入到各个领域:(1)工业控制领域(2)无线通讯领域(3)机器人领域(4)网络应用(5)消费电子产品(6)成像和安全产品除此之外,ARM微处理器及技术还应用在许多不同的领域,并将更广泛应用。一8一大连理工大学专业学位硕士学位论文2.3嵌入式操作系统嵌入式操作系统EOS(EmbeddedOperatingSystem)是一种用途广泛的系统软件,过去它主要应用于工业控制和国防系统领域。EOS负责嵌入式系统的全部软、硬件资源的分配、调度工作,控制、协调并发活动,它必须体现其所在系统的特征,能够通过装卸某些模块来达到系统要求的功能。EOS是相对于一般操作系统而言的,它除具备了一般操作系统最基本的功能,如任务调度、同步机制、中断处理、文件功能等外,还有以下特点:(1)可装卸性。开放性、可伸缩性的体系结构。(2)强实时性。EOS实时性一般较强,可用于各种设备控制当中。(3)统一的接口。提供各种设备驱动接口。(4)操作方便、简单,提供友好的图形GUI。(5)强大的网络功能,支持TCP/IP协议及其它协议,提供TCP/UDP/IP/PPP协议支持及统一的MAC访问层接口,为各种移动计算设备预留接口。(6)强稳定性,弱交互性。嵌入式系统一旦开始运行就不需要用户过多的干预,这就要负责系统管理的EOS具有较强的稳定性。嵌入式操作系统的用户接口一般不提供操作命令,它通过系统调用命令向用户程序提供服务。(7)固化代码。在嵌入式系统中,嵌入式操作系统和应用软件被固化在嵌入式系统计算机的ROM中。(8)更好的硬件适应性,良好的移植性。目前,国际上嵌入式操作系统有40多种左右。市场上主要流行的包括3Com公司的PalmOS,Microsoft公司的WindowsCE,美国WindRiver公司的VxWorks,美国人JeanJ.Labrosse开发的斗c/os.U和开放源代码的Linux等。嵌入式Linux是指对标准Linux经过小型化模块裁剪处理之后,能够固化在容量只有几K或几十M字节的存储芯片上,适用于特定嵌入式应用场合的专用操作系统。Linux内核主要由5个模块组成,它们分别是:进程调度模块、内存管理模块、文件系统模块、进程间通信模块和网络接口模块。进程调度模块用来负责控制进程对CPU资源的使用。所采取的调度策略是各进程能够公平合理地访问CPU,同时保证内核能及时地执行硬件操作。内存管理模块用于确保所有的进程能够安全地共享主机内存区,同时内存管理模块还支持虚拟内存管理方式,使得Linux支持进程使用比实际内存空间更多的内存容量。并可以利用文件系统把暂时不用的内存数据块交换到外部存储设备上,当需要时再交换回来。文件系统模块用于支持对外部设备的驱动和存储。进程间通信模一9一基于ARM9的排爆机器人远程控制系统设计与实现块子系统用于支持多种进程间的信息交换方式。网络接口模块提供对多种网络通信标准的访问并支持许多网络硬件。模块的内核结构㈣如图2.1所示。用户程序JL;函数库---・●・・-l--_・-・--・・.一I一一.一.JIL一一一.一.一1‘,系统调用接口●,●’●H,文件孑系统高速缓冲●字符设备j块设备■一.子系统!、,●o…一●J’_,H。一_……。・……..进程控制;调度程序;“…”………’o・-・・-・・・・-・・・・・i设备驱动程序内存管理}硬件控制:0一一....一一....8.一一....一...一.硬件图2.1Fig.2.1内核结构框图LinuxKernelStructureLinux将所有的设备看作具体的文件,通过文件系统层对设备进行访问。所以在Linux/I_tClinux的框架结构中,与设备相关的处理可以分为两个层次:文件系统层和设备驱动层。设备驱动层屏蔽具体设备的细节,文件系统层则向用户提供一组统一的规范的用户接口。这种设备管理方法可以很好地做到“设备无关性",使Linux/pClinux可以根据硬件外设的发展方便地进行扩展,比如要实现一个设备驱动程序,只要根据具体的硬件特性向文件系统提供一组访问接口即可【l2.421。CDMA技术CDMA(CodeDivisionMultipleAccess)码分多址,它是在数字技术的分支一扩频通信技术上发展起来的一种崭新而成熟的无线通信技术。CDMA技术的原理是基于扩频技术,即将需传送的具有一定信号带宽信息数据,用一个带宽远大于信号带宽的高速伪随大连理工大学专业学位硕士学位论文机码进行调制,使原数据信号的带宽被扩展,再经载波调制并发送过去。接收端使用完全相同的伪随机码,与接受的带宽信号做相关处理,把带宽信号换成原信息数据的窄带信号即解扩,以实现信息通信。目前,CDMA传输最高速率为384kbps。实际应用过程中,下载能达到120kbps左右,上传能达到60kbps左右。CDMA具有清晰更逼真、保密性能好、业务功能多等高品质特点Il3。。除CDMA外,可用于远程控制系统的主要通讯方式有:(1)现场总线现场总线如CAN总线等技术,主要用于工业现场的通信。其特点是抗干扰能力强,设备简单,便于微处理器使用。但通信距离较短,一般在几十到几百米之间。(2)局域网局域网有以太网、高速以太网、令牌环网、FDDI、ATM等类型,传输介质一般为双绞线、同轴电缆和光缆。局域网有很高的带宽,系统的通用性和可扩展性强,但传输距离只有几百米,而且投资较大。(3)广域网广域网的连接方式包括PSTN(公共交换电话网)和ADSL,PSTN是用Modem和电话线拨号上网,优点是覆盖范围广,连接容易,成本低但数据传输率低。ADSL是在普通电话线上传输高速数字信号技术,它的数字通信和语音通信使用不同的频段,互不干扰,且传输速率较高,能达到Mbps。(4)无线电台方式采用无线电台数传方式是指监控系统通过调制解调器把采集到的数字信息转换成音频信号,通过特定频率的电台发射出去,接受端解调恢复原来的信号的方式。电台数传方式是传统上无线监控系统应用最广泛的通讯方式。(5)无线集群集群通信是指系统可用信道可为系统中全体用户共用,具有自动选择信道功能、资(6)GSMGSM短消息通讯方式是指充分利用移动公网资源,通过GSM通信模块发送和接受(7)GPRS源共享、费用分担、信道设备共用的多用途、高效能的无线调度通信系统。所谓数字集群系统就是采用数字通信技术的集群通信系统,这种通讯方式只能实现无线对无线的远程监控。有限长度的文本信息,实现对远程设备的监控的通讯方式。目前,GSM主要用于在一些数据量传输不是很大,实时性要求不是很高的场合。基于ARM9的排爆机器人远程控制系统设计与实现GPRS的通讯方式是指监控系统以GPRS(GeneralPacketRadioService)分组型数据业务为基础,通过GPRS网络完成远程数据传输和远程终端监控的通讯方式。GPRS采用信道捆绑和增强数据速率改进实现高速接入,目前GPRS的设计可以在一个载频或8个信道中实现捆绑,将每个信道的传输速率提高到14.4kbps,因此GPRS最大速率是8x14.4=115.2kbps[141。上述的几种通讯方式中,可用于无线远程控制系统的方式有:无线电台方式、无线集群、GSM、GPRS和CDMA。和CDMA的通讯方式相比,其他无线通讯方式都有固有的缺陷:(1)传统的无线电台传输方式,产品硬件部分成本高昂,从而导致再开发产品成本居高不下,限制了客户发展空间。数传距离短,一般商用电台的传输距离都在100公里的数量级,不利于长距离数据传输。而且电台都工作在固定单一频点,电磁环境恶劣会导致数传可靠性低。另外基于数传协议的缺陷等问题也是数传可靠性低的重要原因。(2)无线集群通信系统属于专用移动通信网,需要大量的建设资金投入,建设周期较长,保养与维护不便,而且专网的覆盖范围有限,不利于全局整体控制。(3)GSM短消息通讯方式为半双工通信方式,不能同时双向收发数据,平均传输时延较大,容易发生信道堵塞,导致通信不畅。(4)与CDMA相比,GPRS的传输速率要慢,性能上不占优势。综上所述,基于CDMA通信技术的无线远程控制系统与以上几种无线通讯方式相比更具有优势。2.56PS技术GPS基本原理是测量出已知位置的卫星到用户接收机之间的距离,然后综合多颗卫星的数据就可知道接收机的具体位置。要达到这一目的,卫星的位置可以根据星载时钟所记录的时间在卫星星历中查出。而用户到卫星的距离则通过纪录卫星信号传播到用户所经历的时间,再将其乘以光速得到,由于大气层电离层的干扰,这一距离并不是用户与卫星之间的真实距离,而是伪距(PR):当GPS卫星正常工作时,会不断地用l和0二进制码元组成的伪随机码(简称伪码)发射导航电文。GPS系统使用的伪码一共有两种,分别是民用的C/A码和军用的P(Y)码。C/A码频率1.023MHz,重复周期~毫秒,码间距1微秒,相当于300m;P码频率10.23MHz,重复周期266.4天,码间距0.1微秒,相当于30m。而Y码是在P码的基础上形成的,保密性能更佳。导航电文包括卫星星历、工作状况、时钟改正、电离层时延修正、大气折射修正等信息。它是从卫星信号中解调制出来,以50b/s调制在载频上发射的。导航电文每个主帧中包含5个子帧每大连理工大学专业学位硕士学位论文帧长6s。前三帧各10个字码;每三十秒重复一次,每小时更新一次。后两帧共15000b。导航电文中的内容主要有遥测码、转换码、第1、2、3数据块,其中最重要的则为星历数据。当用户接受到导航电文时,提取出卫星时间并将其与自己的时钟做对比便可得知卫星与用户的距离,再利用导航电文中的卫星星历数据推算出卫星发射电文时所处位置,用户在WGS.84大地坐标系中的位置速度等信息便可得知。可见GPS导航系统卫星部分的作用就是不断地发射导航电文。然而,由于用户接受机使用的时钟与卫星星载时钟不可能总是同步,所以除了用户的三维坐标X、Y、z外,还要引进一个△t即卫星与接收机之间的时间差作为未知数,然后用4个方程将这4个未知数解出来。所以如果想知道接收机所处的位置,至少要能接收到4个卫星的信号。GPS接收机可接收到可用于授时的准确至纳秒级的时间信息;用于预报未来几个月内卫星所处概略位置的预报星历;用于计算定位时所需卫星坐标的广播星历,精度为几米至几十米(各个卫星不同,随时变化);以及GPS系统信息,如卫星状况等。GPS接收机对码的量测就可得到卫星到接收机的距离,由于含有接收机卫星钟的误差及大气传播误差,故称为伪距。对0A码测得的伪距称为UA码伪距,精度约为20米左右,对P码测得的伪距称为P码伪距,精度约为2米左右。GPS接收机对收到的卫星信号,进行解码或采用其它技术,将调制在载波上的信息去掉后,就可以恢复载波。严格而言,载波相位应被称为载波拍频相位,它是收到的受多普勒频移影响的卫星信号载波相位与接收机本机振荡产生信号相位之差。一般在接收机钟确定的历元时刻量测,保持对卫星信号的跟踪,就可记录下相位的变化值,但开始观测时的接收机和卫星振荡器的相位初值是不知道的,起始历元的相位整数也是不知但前提是解出整周模糊度,因此只有在相对定位、并有一段连续观测值时才能使用相位按定位方式,GPS定位分为单点定位和相对定位(差分定位)。单点定位就是根据一台接收机的观测数据来确定接收机位置的方式,它只能采用伪距观测量,可用于车船等的概略导航定位。相对定位(差分定位)是根据两台以上接收机的观测数据来确定观测点在GPS观测量中包含了卫星和接收机的钟差、大气传播延迟、多路径效应等误差,道的,即整周模糊度,只能在数据处理中作为参数解算。相位观测值的精度高至毫米,观测值,而要达到优于米级的定位精度也只能采用相位观测值。之间的相对位置的方法,它既可采用伪距观测量也可采用相位观测量,大地测量或工程测量均应采用相位观测值进行相对定位。在定位计算时还要受到卫星广播星历误差的影响,在进行相对定位时大部分公共误差被抵消或削弱,因此定位精度将大大提高,双频接收机可以根据两个频率的观测量抵消大基于ARM9的排爆机器人远程控制系统设计与实现气中电离层误差的主要部分,在精度要求高,接收机间距离较远时(大气有明显差别),应选用双频接收机【l2.651。MPEG一4MPEG--4是运动图像专家组标准家庭中的一员,是国际标准化组织为多媒体通信制定的一种解决方案。当今迅速发展的交互式计算机游戏图像显示、交互式视频点播都表明电视正由“纯线性"向“非线性"的方向发展。MPEG一1/2均是以音频帧、视频帧为编码对象的,图像中的AV(Audio、Video)对象所组成的场景不能与人们进行交互。而MPEG一4的主要特点是对图像中的内容进行编码,其具体的编码对象就是图像中的音频和视频信号,称为AV对象。MPEG一4就是围绕着AV对象的编码、存储、传输和组合而制定的。所以,MPEG--4有非线性电视的编码、存储、传输和组合的标准之称。在MPEG-4制定之前,MPEG.1、MPEG.2、H.261、H.263都是采用第一代压缩编码技术,着眼于图像信号的统计特性来设计编码器,属于波形编码的范畴。第一代压缩编码方案把视频序列按时间先后分为一系列帧,每一帧图像又分成宏块以进行运动补偿和编码,这种编码方案存在以下缺陷:(1)将图像固定地分成相同大小的块,在高压缩比的情况下会出现严重的块效应,即马赛克效应;(2)不能对图像内容进行访问、编辑和回放等工作;(3)未充分利用人类视觉系统(HVS,HumanVisualSystem)的特性。MPEG.4则代表了基于模型/对象的第二代压缩编码技术,它充分利用了人眼视觉特性,抓住了图像信息传输的本质,从轮廓、纹理思路出发,支持基于视觉内容的交互功能,这适应了多媒体信息的应用由播放型转向基于内容的访问、检索及工作的发展趋势。MPEG.4标准主要应用于视像电话、视像电子邮件和电子新闻等,其传输速率要求较低,在4800.64000bits/sec之间,分辨率为176x144。MPEG-4利用很窄的带宽,通过帧重建技术,压缩和传输数据,以求以最少的数据获得最佳的图象质量。MPEG-4不仅可提供高压缩率,同时也可实现更好的多媒体内容互动性及全方位的存取性,它采用开放的编码系统,可随时加入新的编码算法模块,同时也可根据不同应用需求现场配置解码器,以支持多种多媒体应用。与MPEG.1和MPEG.2相比,MPEG-4的特点是其更适于交互AV服务以及远程监控。大连理工大学专业学位硕士学位论文3系统需求分析及概要设计系统功能性需求野外环境通常为非结构化地形,并且环境地面比较复杂,草地、沙地、卵石、软泥3.1等环境都需要考虑,有时还可能有水坑。野外环境下往往机器人需要进行较大尺度的移动,且非结构化环境难以预测。机器人很难依靠超声波传感器、激光测距仪等局部定位传感器实现定位和自主移动。而能够使用与野外定位的传感器包括:超声传感器:在室内可以用于测距、电子地图绘制等,在室外基本只能用于避障。陀螺仪:可用于保持机器人方位,在打滑、陷入泥坑等时候还能够通过闭环反馈保持机器人的给定行进方向。三轴电子罗盘:可用于测量机器人的绝对姿态。包括绝对航向、俯仰和翻滚角度信息。GPS接收机:可用于指定点到点的运动。例如,假设一个任务,机器人需要在机场跑道上完成某种巡检任务,需要自主长距离移动,移动路线为L型折线,要求机器人基本准确到达各个顶点,路线方位不能偏差太大,并且完全没有人参与,机器人不能出现翻车、碰撞等事故。分析其实现过程,可以软件设定从北纬40度11分20秒/东经130度23分20秒的位置(航点1)移动到北纬40度11分28秒/东经130度23分18秒(航点2),然后到北纬40度11分26秒/东经130度23分1秒(航点3)的这样一条路线,如图3.1所示(地图来自GOOGLE电子地图)。图3.1Fig.3.1GOOGLE电子地图GOOGLEDigitalM印基于ARM9的排爆机器人远程控制系统设计与实现机器人要完成这样一个航线的移动,包括以下步骤:(1)首先通过上位机软件设定GPS航点,把三个点的经纬度输入进去,分别设定为1、2、3号航点。(2)然后,把机器人放到1号点。(3)机器人的导航软件计算出1点到2点的角度,机器人需朝北偏西5度运动;机器人采集内置罗盘数据,判断机器入当前姿态和朝向;例如当前机器人摆放的角度朝正东,因此需要左转。(4)机器人左转,同时不断比对是否朝北偏西5度运动,如果朝向正确,前进。(5)过程中如果遇到障碍或者打滑、被阻挡,则依靠超声传感器、陀螺仪来感知和修正;例如遇到障碍(如:一辆卡车),机器人的逻辑是:超声传感器探测到前方遇到障碍,则左转,2秒钟后再探测;如果没有了,就:①读GPS,得到机器人当前经纬度,可根据当前经纬度和航点2经纬度计算出新的所需航向。②罗盘新的航向行走,直到到达航点2;这是一种最简单的策略,也是机器人内置的策略。(可以用更好的策略,例如绕开障碍后,先大致回到原来出发点前方的位置,再朝给定方向走,这样避免路线偏离给定轨迹)。(6)过程中如果遇到石头堵住履带、而避障传感器有没有探测到(在户外,这种情况很多)的情况,会出现机器人乱转。这时陀螺仪能感知到机器人没有朝给定方向行走,而是在偏转;因此可以启动“逃离”逻辑,即机器人随即后退,转弯,然后行走一段距离,然后再朝目标航点2前进。(7)如果过程中遇到坡度过大、倾斜过大的角度,机器人有可能翻倒。但是除了峭壁之外,地形的起伏总是渐变的。在倾斜度、坡度超过机器人承受范围之前,电子罗盘输出的俯仰角、翻滚角可以用来告知“危险处理’’逻辑,“危险处理”逻辑启动“逃离”逻辑,离开危险地带。(8)到达点2附近的范围后(例如设定30米的范围),即认为到达航点2。然后再次计算方向,通过罗盘反馈修正,朝航点3行走。(9)这个过程中遇到障碍、或者轮子堵转等情况的处理,和前面一样。(10)到达点3附近的范围后(例如设定30米的范围),即认为到达航点3。机器人在整个移动过程中,都将CCD摄像机所拍摄的画面经视频压缩后与传感器所获得的信息一起通过CDMA实时发送到监控服务器上,到达点3附近的范围后,若在监控服务器屏幕上发现目标物体(可疑爆炸物),则通过人工指明目标物体后,通过监大连理工大学专业学位硕士学位论文控服务器的人工智能计算(也可以人工操作),将控制指令通过无线传输给排爆机器人嵌入式系统,控制排爆机器人接近目标物体,完成排爆任务。3.2系统一『生能需求为了保证系统可以长期、可靠、稳定和高效地运行,该系统应该具有以下性能需求:(1)系统的开源性和可扩展性系统选用嵌入式Linux操作系统来搭建软件平台,就是在于其开源性,开源的意义也代表系统可具有很好的可扩展性,可以通过增加和减少系统的模块来实现系统的升级和更新换代。(2)系统的先进性由于计算机技术的飞速发展,为了延长系统的生命周期,在系统的设计和开发过程中,应在考虑成本的基础上尽量采用当前比较主流的和性价比高的产品作为系统部件。(3)系统的响应速度系统在设计和开发的过程中,应事先考虑到系统对于控制指令的响应时间问题,要通过各种测试,保证系统不会因响应速度慢而影响工作效率。(4)视频画面的流畅性由于系统采用无线通讯的方式进行视频数据的传输,限于目前无线通讯技术的传输速率不高的问题,应尽量采用对视频数据可高压缩的设备,达到在相同传输速率的基础上可以获得更多的视频数据,从而获得更流畅的视频效果。(5)系统的实时性和准确性由于此控制系统工作环境的不可预知性及危险性,系统的实时性和准确性显得尤为重要。3.3系统设计的目标本系统的总体目标是利用在以ARM9为处理器的硬件平台上运行嵌入式Linux操作系统来设计完成一种具有视觉功能的可无线远程控制的智能排爆机器人。系统的具体目标如下:(1)鉴于ARM微处理器寻址方式灵活简单,执行速率更快,且其大量使用寄存器存储、处理指令和数据,执行效率更高的特点,本系统放弃了传统远程PLC控制方式,从而使系统对数据处理能力达到更高的级别。基于ARM9的排爆机器人远程控制系统设计与实现(2)由于嵌入式Linux操作系统的多任务实时性,从而可以实现无线远程控制系统的实时操作。(3)采用CDMA模块来取代传统的无线电台传输模块,从而使排爆机器人的可控制范围更广,可靠性更高。(4)采用最新的MPEG--4视频编码技术,使CCD摄像机得到的视频数据可以获得更高的压缩比率,从而可以在无线网络上获得更加流畅,更加清晰的监控视频效果。3.4系统概要设计比芒■一_-÷}通:统图像采鑫泰墟HCCDl嵌入式●计算机Ib—_服系统lI电机伺ll。触酚融q超声渡愀图3.2排爆机器人控制系统基本结构Fig.3.2BasicStructureofControlSystemofEODRobot广一激光传感器由上图所示,排爆机器人控制系统主要由两部分组成:主控PC机和机器人本体。而机器人本体又包括:嵌入式计算机、信息融合系统、图象采集系统和电机伺服系统。系统通过CCD摄像机和超声波等传感器获得的图象信息通过CDMA传输给主控PC机,在人工指明目标物后,主控PC通过人工智能计算(或人工操作),将控制信息传送给机器人嵌入式系统,控制机器人运动。而且机器人本体可通过学习[16,17】然后结合自己的信息融合系统和电机伺服系统来完成自主躲避障碍物的运动。大连理工大学专业学位硕士学位论文4硬件平台的设计与实现4.1硬件系统整体结构图4.1硬件系统整体结构Fig.4.1HolisticStructureofEODHandwareSystem由上图所示,该硬件系统结构包括:ARM的主控部分、协控制单片机组和各种外围模块。基于ARM9的排爆机器人远程控制系统设计与实现本设计中硬件平台有以下特点:(1)选用¥3C2440做为核心处理器,扩展了存储器、串口等,搭建了主控部分。(2)加入CDMA通讯模块,使得EOD在有CDMA网络信号时能与控制中心通讯和传输数据。(4)加入GPS模块,以便获取EOD的全球定位信息,确定EOD的当前位置。(5)加入电子罗盘,用它可以获取其自身的倾角等状态信息,根据这些信息可以控制EOD本体的平衡。(6)加入外围单片机,用来采集激光、超声波等传感器的信息,以获得目标物距离、障碍物等信息,通过串口以数据形式上报给主控部分。(7)加入外围单片机来控制EOD的电机,通过串口以数据形式接受主控部分控制。(8)加入两部CCD摄像机,通过视频压缩模块将所获得的视频数据编码后通过USB接口传输给主控部分,通过CDMA无线传输给监控中心服务器。4.2ARM主体由于EOD要完成多种传感器数据采集、电机控制、通讯控制等多项任务,处理任务量大,而且要求系统并行处理,为了满足这些要求,本设计选用了以ARM9为主的处理器,扩展了存储器,串口,在其基础上运行嵌入式Linux来进行对EOD的控制。4.2.1S3C2440开发板本设计采用了一款基于三星¥3C244016/32位RISC处理器(ARM920T)的开发版作为ARM主体的核心控制板。(如图4.2)该开发板主要具有以下外设:(1)¥3C2440.系统稳定运行在405MHz,最高可达530MHz;(2)64M字节的SDRAM,由两片K4S561632组成,工作在32位模式下;(3)64M字节NANDFlash,采用的是K9F1208,可以兼容16M,32M或128M字节;1MNORFlash;(4)10M/100M以太网接El,采用的是CS8900Q3,带传输和连接指示灯;(5)LCD和触摸屏接口;(6)2个USBHOST,其中一个是HOST和Device接口复用;(7)1个USBDEVICE;(8)2路UART串行口,波特率可高达115200bps,并具有RS232电平转换电路;(9)SD卡接口,兼容SDMemoryCardProtocol1.0和SDIOCardProtocol1.O;(10)JTAG接口,支持ADS,SDT软件的下载和调试以及FLASH的烧写;大连理工大学专业学位硕士学位论文(11)摄像头接口,支持数字图象输入;(12)扩展SPI接口;(13)串行EEPROM:AT24C024KbytesEEPROM,IIC接口;(14)开关电源,分布式电源供电,3V锂电池,提供RTC电源;图4.2¥3C2440开发板Fig.4.2¥3C2440DevelopmentBoard4.2.2串口的扩展在嵌入式领域,由于UART具有操作简单,工作可靠,抗干扰强,传输距离远(组成485网络可以传输1200米以上),设计人员普遍认为UART是从EMPU或MCU向系统的其他部分传输数据的最佳方式。本核心板只带有两个UART串口,需要进行UART串口扩展。本系统选用了维肯电子推出的VK3266多总线UART器件实现串口的扩展。其特点为:支持8位并行总线,SPI总线,UART等多种主机总线接口。VK32系列UART包括5个产品系列,各个产品系列的特点如下:VK321X系列为主接口为UART的产品,仅通过RX,TX和GND三根信号线与主机相连,通过芯片内部的处理协议采用时分复用的方式将一个串口扩展成为2"---4个可基于ARM9的排爆机器人远程控制系统设计与实现以同时工作的全双工串口。在该模式下,EMPU以查询方式操作UART器件,设计中需要注意的是为保证在时分复用下各个子通道能够同时全双工通信,主接口的波特率需要设置为大于各个子串口波特率之和。VK321X产品适用于对通信速度要求不高,需要设计可靠简单的嵌入式产品。VK322X系列产品的主接口为SPI同步传行总线,最高传输速度为4Mbit/s。适合于带SPI接口的MCU/DSP扩展异步串口。大多数DSP都只有同步串口,通过SPI接口实现异步串口的桥接和扩展,可以简化并行总线扩展串口的硬件规模和模拟异步串口的软件开销。VK323X系列产品同时具备SPI和UART两种可以选择的主接口,扩展子串口具备硬件流量控制和RS-485自动收发功能,尤其适合于需要高可靠数据传输的RS一485总线应用。VK325X产品为8位并行总线接口的UART器件,VK326X为同时具备3种可选主机接口的UART器件。这两个器件应用于需要减少备货种类,需要进行大量数据传输的应用。VK3266是VK32系列中功能最全的型号,本文以VK3266的原理图为基础,对VK32系列UART芯片原理进行介绍:(如图4.3)VK3266内部结构包括主机接口,子通道部分,MODEM控制逻辑,中断控制逻辑几部分。主机接口为VK3266与EMPU相连的接口,通过M1,MO模式选择信号线,可以分别选择8位并行总线,SPI总线,UART三种接口与主机相连。MODEM控制逻辑用于与MODEM相连时的状态信号线的监控和控制。中断控制逻辑用于产生和控制各种内部中断。时钟发生器为芯片的提供时钟,可以用CLKSEL引线选择从晶振还是外部时钟源获取时钟。子通道逻辑部分处理各个的数据接收和发送。数据发送的处理过程为:主机接口将从主口总线发送来的数据进行处理后传送到相应的子通道FIFO,FIFO里的数据经过流量控制逻辑后,在波特率发生器的作用下,通过发送移位寄存器顺次将数据发送到TX串行输出信号线上。接收数据与此正好相反。子通道处理模块中,控制寄存器用于对各个子通道进行设置,瓜编解码器用于对红外信号进行编解码,子通道流量控制器用于子通道传输数据时的自动流量控制。大连理工大学专业学位硕士学位论文m蛳//jFTsl/1㈣mmn八MI.M啦11酬F笈送IFO酬礞铲酬臻黪I'●盯sd亿JtoT14—IXSsck.E,1R1I,”/CSTg./SfIiXmI巧,删T,^。/%o:、J砰【盛口Ht.舶t00八W~百。矿。f/L^Jy耕FHr,曩骺援:一溉礴H紊}\i"-i/1垃乱寄存嚣r—]/1生嚣干埔j蓝IlAETL.—_卜J被特睾垤』IJ}lCT5ltnCTH虬d“1‘(砒舯\埘繁…/1曲瞄科f/1\卜\/蛐'I灌控制夏辑矾●It^LI—ln舰XT^匕:J瞄“札m越./L卜卜\厂]/\/。岛一《>中断拧髓辑瑚图4.3Fig.4.3VK3266原理图TheoryChartofVK3266、礓32每和UARn,l"x1…一I电子+—.I∞+-r|凇V唧p跚町,+U^RT+-U^IU『2一1x2.,~E一P.,R)o,/1\鼬SPI川UART√\/Tx3一cT潞+J£膳R£净MOD丑陋.JR触R】舀■DCD3一∞MA■D11}t3。图4.4Fig.4.4VK3266连接图ConnectingChartofVK3266MODEM接口的设计:目前的PSTN/GPRS/CD舢SMMODEM支持三线串口(TX,RX,GND)通过AT命令操作。但实际应用中,仅仅使用三线串口容易丢包,造成数据重发,使得上传速度变慢,建议使用VK32系列中带MODEM接口的UART器件,基于ARM9的排爆机器人远程控制系统设计与实现用DSR,DTR,RI,DCD来监控MODEM状态,用RTS,CTS来做流控,这样速度可以达到最高.其中DCD信号用于模块是处于数据传送状态还是处于AT命令传送状态,DTR信号用来通知模块传送工作已经结束。(如图4.4)4.2.3FLASH的选择Flash存储器可用来存储程序代码、系统配置参数及EOD运行过程中需要记录的各种信息。Flash存储器是一种在系统上可进行电擦写,掉电后信息不丢失的存储器。它具有低功耗、大容量、可整片或分扇区地系统编程和擦除等特点,并且可由内部嵌入的算法完成对芯片的操作,因而在各种嵌入式系统中得到了广泛的应用。Flash主要分为Nor—Flash和Nand—Flash两类。它们比较的特点如下:Nor-Flash的读取速度比Nand.Flash要快,Nand.Flash的写入速度和擦除要比Nor-Flash的快,大多数写入操作要先进行擦除操作,Naiad.Flash的擦除单元更小,相应的擦除电路更少。Nor-Flash带有SDRAM接121,线形寻址,可以很容易的存取内部的每一个字节。Nor-Flash使用复用接口和控制I/O多次寻址来存取数据,Nand.Flash读和写操作采用512字节的块,这一点类似硬盘的操作。Nand—Flash生产过程简单,成本低。常见的Nor-Flash为128KB~16MB,而Nand-Flash通常为8MB~128MB。Nor-Flash一般应用在存储体积较小的代码,Nand—Flash适合于数据存储。Nand.Flash一次只能读取一整块的内存,因此不能直接执行存储在Nand.Flash中的程序,必须把Nand.Flash中的程序拷贝到SDRAM中,在SDRAM中执行该程序。一般在Nand.Flash中保存存储量较大的内核和文件系统。由于Nor—Flash的价格较高,而Nand.Flash和SDRAM的价格相对低一点,所以,很多用户就希望在Nand.Flash里执行启动代码,然后在SDRAM中执行主程序。¥3C2440的启动代码就可以在Nand.Flash中执行。为了支持Nand.Flash的Bootloader,¥3C2240预置了一块称为“Steppingstone”的内部SRAM缓存区。当¥3C2440启动的时候,Nand-Flash的起始4Kbytes的内容将自动载入“Steppingstone”,载入到“Steppingstone”里的启动代码将被执行。通常情况,启动代码就会把Nand.Flash的内容复制到SDRAM中去。当完成复制后,主程序代码就可以在SDRAM中执行了。本设计中ROM只用到Nand.Flash,必须用Nand.Flash启动操作系统,必须按照以下进行跳线:(1)J13:决定S3C2440的启动模式短路块连接:从Nand—Flash中启动短路块不连接:从Nor-Flash中启动,但J11必须短路1,2脚大连理工大学专业学位硕士学位论文(2)J6:Nand.Flash数据线宽度选择短路1,2脚:8bit短路2,3脚:16bit(3)J11:Nor.Flash连接的片选选择短路1,2脚:CS0短路2,3脚:CSl4.3图象采集系统本设计中图象采集系统是由CCD摄像头和视频压缩模块组成。4.3.100D摄像头目前,可用于本系统的摄像头有CCD和CMOS两种,CCD和CMOS在制造上的主要区别是CCD是集成在半导体单晶材料上,而CMOS是集成在被称做金属氧化物的半导体材料上,工作原理没有本质的区别。在相同像素下CCD的成像通透性、明锐度都很好,色彩还原、曝光可以保证基本准确。而CMOS的产品往往通透性一般,对实物的色彩还原能力偏弱,曝光也都不太好,由于自身物理特性的原因,CMOS的成像质量和CCD还是有一定距离的。因此,本设计中采用CCD作为首选【191。本系统中排爆机器人机械手上装有双目系统,利用双目系统和目标物可构成“测矩三角型【20,21】”(如图4.5)。测矩三角型求得距离误差较大,需要利用激光测距的“光斑”辅助测矩,从而获得坐标物的空间座标。随着机器人的双目接近目标物,目标物与基坐标的相对坐标精度提高,经过数次双目逼近目标物之后,最终实现机械手准确地抓到目标物。X图4.5测距三角形原理图Fig.4.5TheoryChartofMeasureTriangle基于ARM9的排爆机器人远程控制系统设计与实现4.3.2视频压缩芯片G07007SB的连接G07007SB是美国WIS公司生产的一款支持多格式的MPEG.4音视频编码芯片,它采用了多种高精度的压缩算法,能输出MPEG.1、MPEG.2、MPEG.4、MJPEG、H.263等数据流格式瞄】,同时支持完美的音视频同步输出。并且能够输出的最大规格为:以30帧/秒的帧率输出NTSC制式的分辨率为720×480,以25帧/秒的帧率输出PAL制式的分辨率为720x576。4-8MSDRAMHPUl2C/USB/GPIOSDRAM控制器糍。l模块内部总线和中断控制器lF阿多格式视频广1Il……一。DMA控制器到Ill量化/反量化广'1I删总线数据总线MECSIMD引擎IIL——1一L—1—一L———一IDCT/IDCTVLC编码器运动估计II片内SRAM图4.6Fig.4.6G07007SB内部结构图InteriorStructureofG07007SBG07007SB的内部结构(如图4.6)所示。它内部的功能模块分为前端模块和后端模块。前端模块包括所有提供数据处理和视频压缩的功能块,后端块提供数据传输和控制信息以及与外部设备的通信。前端模块包括视频输入处理VP(Video运动估计与补偿MEC(Motion量化(QDQ)、变长编码VLC(VariableInputProcessor)、EstimationandCompensate)、DCT/IDCT变换、量化和反LengthCode)、MPEG.X/H.263/MJPEG编码等模块。后端模块的主要功能是:对并列的前端块提供控制和计划安排;控制进出SDRAM以及前端块之间的数据流动;并为USB、HPI、外部SDRAM和其它片外设备提供接口。大连理工大学专业学位硕士学位论文来自视频解码器或CCD的视频源首先进入VIP模块,再由DMA控制器经内部数据总线传送到SDRAM输入处理帧存储区。然后,当前处理帧与SDRAM中预存的参考帧一起送到视频压缩引擎,通过硬件处理MEC、DCT/IDCT变换、量化/反量化及VLC,完成用户指定类型的MPEG压缩算法。压缩好的数据流由DMA控制器送到SDRAM中的编码数据缓冲区,主机并行接口(HPI)控制器将编码后的视频数据流送到USB接口或HPI接口输出;音频数据经IIS或AC97接口输入到片内的音视输入接口模块,完成PCM或ADPCM编码压缩。编码后的音频数据经HPI控制器从USB接口或HPI接口输出。这样就可以通过计算机上的USB2.0接口实时地将数据传送到ARM板上,从而完成音视频数据的采集和压缩。音频采样计数和音频标志在片内产生,能较好地解决音频、视频的同步问题。HPI控制器是G07007SB与外部控制器之间的桥梁,外部控制器可以是微控制器或PCI总线主机接口。HPI控制器有4个基本功能:初始化、配置、数据传输和调试。在初始化过程中,固件和初始化数据通过HPI从外部控制器传输到G07007SB,外部控制器能接收来自芯片内部XRISCCPU的中断请求并对它发布命令。通过配置命令可以改变所需要的压缩参数。编码后的数据流经由HPI接口传输。在调试模式下,外部控制器能通过调试寄存器访问芯片内部模块。G07007SB的HPI接口能操作在同步或异步模式,由HPISYNC引脚设置。由于G07007SB只支持USBl.1接口规范,为了实现视频数据的实时传输,要采用USB2.0接口来进行传输,因此需外接USB控制芯片。综上所述,图象采集系统可用以下解决方案实现(如图4.7)图4.7图像采集系统Fig.4.7VideoCollectingSystem基于ARM9的排爆机器人远程控制系统设计与实现5嵌入式Linux开发环境的构建构建嵌入式Linux开发环境是设计与实现系统软件平台的第一步,只有为开发做好必备的工具及建立好环境,才有利于进一步开发。构建Linux开发环境主要包括硬件环境和软件环境。所谓硬件开发环境就是指要使用的硬件设备以及如何连接这些必要的硬件设备。软件开发环境就是指在开发时在PC机及嵌入式系统中所必备的开发软件,如编译器、链接器及引导程序等。硬件开发环境(如图5.1)所示。整个硬件开发环境由文件服务器、PC宿主机及ARM9开发板构成的局域网。其中文件服务器用来进行软件开发的版本控制,PC宿主机用于实际开发,ARM9开发板就是开发的主体,PC宿主机通过网络和RS232接口与ARM9进行通信,从而完成对ARM9调试和通信功能。寓伟剐黝栅震版图5.1嵌入式Linux硬件开发环境Fig.5.1HardwareExploitableEnvironmentofEmbeddedLinux本章重点介绍如何构建软件开发环境,下面就重点介绍如何构建嵌入式Linux软件开发环境,具体内容包括以下几部分(1)建立交叉编译工具链(2)编写引导加载程序Bootloader(3)移植Linux内核(4)构建根文件系统(5)设备驱动程序的开发大连理工大学专业学位硕士学位论文5.1建立交叉编译工具链在进行Linux内核移植之前,首先要建立交叉开发环境。考虑到Linux与GNU工具链之间的紧密联系,我们采用GNU工具链作为交叉开发环境。下面就重点介绍GNU跨平台开发工具链的构建方法。5.1.1获得GNU工具链和Linux内核源码本设计中需要用到的软件包包括:(1)binutils.2.10.1.tar.gz:链接、汇编和目标文件管理工具(2)gec-2.95.3.tar.gz:GNU交叉编译工具,包括C/C++编译工具(3)glibc.2.1.3.tar.gz:GNUC的运行库(4)Linux.2.4.18.tar.bz2:版本为2.4.18的Linux内核(5)Linux一2.4.18一patch—rmk7.tar.gz:有关Linux内核在ARM平台上的补丁包5.1.2编译GNU工具链建立交叉开发环境有了前面下载的软件包,我们可以通过四步操作来完成交叉编译环境的构建。下面详细介绍这四步的开发流程。第一步:编译交叉汇编器、链接器和bootstrap编译器第一步完成后,该编译器就可以编译运行库和内核的最小编译,但是这个编译器不能编译普通的应用程序,因为此时C运行库还没有编译,响应的头文件还不存在.下面详细介绍实现第一步所要的操作(以下操作必须以root用户登录):(1)设定环境变量样exportTARGET=alTn—linux饕exportPREFIX=|usr|local挣exportPATH=¥{PATH):¥{PREFIX)/bin(2)编译binutils撑tarxzvfbinutils一2.10.1.tar.gz替mkdir—pbuild|binutils&&cdbuild|binutils拌../binutils一2.1O.1/configure~target=¥TARGET—prefix=¥PREFⅨ撑makea11install存cd一(3)编译生成bootstrapgcc(弓l导编译器)撑tarxzvfgcc一2.95.3.tar.gz饕mkdir-pbuild}gee&&cdbuild|gee群../gee一2.95.3/configure~target=¥TARGET—prefix=¥PREFⅨ\一29—基于ARM9的排爆机器人远程控制系统设计与实现--without——header一一with—newlib--disable—shared・一enable——languages=C群makeall—gccinstall—gcc撑cd..完成上述步骤以后,就会在/usr/local/bin/arm/2.95.3/bin下出现二进制工具如arm—linux—as、arm—linttx—ld、ann—linux—ar等以及引导编译器锄一linux—gcc。第二步:配置Linux内核头文件在编译C运行库的过程中需要从Linux内核头文件中获得一些有用的信息,所以在编译C运行库之前必须正确地配置内核。详细步骤如下(假设Linux内核源代码已经复制到目录/Bsr/local/arm—linux中):接cd|usr|local|aHn—linux拌make甍cd|ARCH2armCROSS—COMPILE=arm—linux—menuconfig第三步:编译运行库glibc第三步完成之后,就会生成在ARM9平台上运行的动态库。具体的操作步骤如下所示:(1)解压缩及建立目录#tarxzvfglibc一2.1.3.tar.gz#mkdir-pbuildfglibc&&cdbuild}glibc(2)将Linux头文件复制到合适的位置尊mkdir呻¥{PREFIX、}¥{TARGET}|include接cp吨lusr|local|arm—linuxl接

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论