基于ARM的嵌入式系统在竞赛机器人.docx
- 文档编号:9886989
- 上传时间:2023-02-07
- 格式:DOCX
- 页数:38
- 大小:833.38KB
基于ARM的嵌入式系统在竞赛机器人.docx
《基于ARM的嵌入式系统在竞赛机器人.docx》由会员分享,可在线阅读,更多相关《基于ARM的嵌入式系统在竞赛机器人.docx(38页珍藏版)》请在冰豆网上搜索。
基于ARM的嵌入式系统在竞赛机器人
摘要
本次课程设计以全国机器人大赛为背景,设计一个能在静止的场地上有目运动的机器人。
其研究内容是:
为了提高系统的高速实时性、可扩展性和可移植性,将传统的8位机的C51控制平台改为基于ARM的32位微处理器控制平台,在此硬件系统上成功地进行了相应的软件设计和控制算法的研究。
本次课程设计主要的工作有两部分:
首先,分析了竞赛机器人底层控制系统的设计要求,制定了ARM7系列下的以LPC2131微处理器为核心的系统设计方案。
其次,论文重点阐述了竞赛机器人控制系统的硬件和软件设计原理,主要包括以ARM7嵌入式处理器为核心的系统组成结构和以步进电机驱动为主的控制模块的设计。
该结构和模块都是基于全国机器人竞赛的主题目标设计的。
本次课程设计对核心器件的选型,单元电路的设计,控制原理以及控制算法都进行了详尽的说明。
本次课程设计完成了ADSl.2集成开发环境下DebuglnFLASH调试平台搭建,该平台在全国机器人大赛上得到了验证。
本次课程设计的特色之处在于将低功耗、高性能、外设裁减容易、I/O接口丰富的嵌入式MCU与控制算法相结合,设计出较为完善的竞赛机器人控制系统,简化了系统的设计,满足机器人比赛的要求,而且具有良好的扩充性和可移植性,为建立系统级的通用控制平台打下了基础。
关键词:
机器人嵌入式MCUARMLPC2131步进电机
Abstract
Thiscourseisdesignedtonationalrobotcontestasthebackground,designasiteonthestationarymotionoftherobothead.Theirresearchare:
toimprovethesystem'shigh-speedreal-timeperformance,scalabilityandportability,thetraditional8C51machinecontrolplatformtoARM-based32-bitmicroprocessorcontrolplatform,thesuccessofthishardwaresystemcarriedoutthecorrespondingsoftwaredesignandcontrolalgorithm.
Themainworkofcurriculumdesignhastwoparts:
First,theanalysisunderlyingcompetitionrobotcontrolsystemdesignrequirements,developedundertheorderLPC2131ARM7familymicroprocessorasthecoreofthesystemdesign.
Secondly,thepaperfocusesonthecompetitionrobotcontrolsystemhardwareandsoftwaredesignprinciples,includingtheARM7embeddedprocessorasthecoreofthesystemarchitectureandtosteppermotordriverbasedcontrolmoduledesign.ThestructureandthemodulesarebasedonthethemeoftheNationalRoboticsCompetitiontargetdesign.Thiscourseisdesignedforthecoreofthedeviceselection,unitcircuitdesign,controltheoryandcontrolalgorithmshavecarriedoutadetaileddescription.ThiscourseisdesignedtocompletetheADSl.2integrateddevelopmentenvironmentDebuglnFLASHdebuggingplatformtobuildtheplatforminthenationalroboticscontesthasbeenverified.
Thecoursedesignfeaturesisthatthelow-power,highperformance,easytocutperipherals,I/Ointerface,richembeddedMCUandcontrolalgorithmisdesignedbycombiningamoreperfectcompetitionrobotcontrolsystem,simplifyingthesystemdesignedtomeettherequirementsoftherobotcompetition,butalsohasgoodscalabilityandportabilityfortheestablishmentofacommonsystem-levelcontrolplatformfoundation.
Keywords:
RobotembeddedMCUARMLPC2131steppermotor
目录
摘要I
AbstractII
第1章绪论-1-
1.1国内外机器人发展状况-1-
1.2竞赛的主题和规则-2-
1.3课题的研究内容及主要工作-4-
第2章基于ARM的嵌入式系统-5-
2.1嵌入式系统-5-
2.1.1嵌入式系统的组成-5-
2.2基于ARM的微处理器-7-
2.2.1ARM处理器的结构和特点-7-
2.2.2ARM7TDMI处理器-7-
2.3嵌入式系统的一般设计流程-9-
第3章控制系统硬件设计-10-
3.1EasyARM2131开发板-11-
3.2机器人控制系统-12-
3.2.1电机及驱动器-15-
3.2.2I/O光电隔离控制模块-18-
3.2.3运动机构控制电路-19-
3.2.4电源系统-20-
第4章系统软件设计-21-
4.1ADS的集成开发环境-21-
4.2系统控制软件总体设计-23-
4.3竞赛机器人程序结构设计-23-
4.3.1程序总体流程-24-
4.3.3系统的初始化-24-
4.3.3中断服务模块-27-
第5章总结与展望-28-
致谢-30-
参考文献-31-
基于ARM的嵌入式系统在竞赛机器人
第1章绪论
人们对机器人的幻想与追求已有3000多年的历史。
当时人类总希望制造一种像人一样的机器,以便代替人类完成各种工作。
西周时期,我国的能工巧匠偃师就研制出了能歌善舞的伶人,这是我国最早记载的机器人。
公元前2世纪,亚历山大时代的古希腊人发明了最原始的机器人——自动机,它是以水、空气和蒸汽压力为动力的会动的雕像,它可以自己开门,还可以借助蒸汽唱歌。
随着现代工业文明的发展,那么按现代的定义究竟什么是机器人呢?
1987年国际标准化组织(ISO)对工业机器人进行了定义:
“工业机器人是一种具有自动控制的操作和移动功能,能完成各种作业的可编程操作机”。
1988年法国的埃斯皮奥将机器人定义为:
“机器人是指能根据传感器信息实现预先规划好的作业系统”。
我国科学家对机器人的定义是:
“机器人是一种自动化的机器,所不同的是这种机器具备一些与人或生物相似的智能能力,如感知能力、规划能力、动作能力和协同能力,是一种具有高度灵活性的自动化机器”。
前中国工程院院长宋健指出:
“机器人学的进步和应用是20世纪自动控制最有说服力的成就,是当代最高意义上的自动化”。
机器人技术综合了多学科的发展成果,代表了高技术的发展前沿,它在人类生活应用领域的不断扩大,正引起国际上重新认识机器人技术的作用和影响。
机器人是一种通过编程,可以自动完成一定操作或移动作业的机械装置。
或者更确切地说,有像人的上肢那样高度灵活,能做复杂动作的机械。
有视觉、听觉等感觉功能,有识别功能、能行动的装置。
1.1国内外机器人发展状况
当今世界各国以高新技术为代表的综合国力的竞争日趋激烈。
随着机器人的发展诞生了一门跨多学科、综合性技术很强的学科——机器人学,它广泛涉及自动控制、计算机、电子技术、通讯、新材料、传感器、人工智能和机械工程等学科技术,特别是新一代计算机芯片处理速度的飞跃和人工智能技术的发展为机器人技术的发展提供了强劲动力。
现代机器人的研究始于20世纪中期,其技术背景就是计算机和自动化的发展以及原子能的开发利用。
随着计算机技术和人工智能技术的飞速发展,使机器人在功能和技术层次上有了很大的提高,移动机器人和机器人的视觉和触觉等技术就是典型的代表。
由于这些技术的发展,推动了机器人概念的延伸。
80年代,将具有感觉、思考、决策和动作能力的系统称为智能机器人,这是一个概括的、含义广泛的概念。
这一概念不但指导了机器人技术的研究和应用,而且又赋予了机器人技术向深度和广度发展的巨大空间,水下机器人、空间机器人、空中机器人、地面机器人、微小型机器人等各种用途的机器人相继问世,许多梦想成为了现实。
将机器人的技术(如传感技术、智能技术、控制技术等)扩散和渗透到各个领域形成了各式各样的新机器——机器人化机器。
当前与信息技术的交互和融合又产生了“软件机器人”、“网络机器人”等名称,这也说明了机器人所具有的创新活力。
竞赛机器人作为机器人的一个重要分支越来越受到世界各国的重视。
它一般以某个竞赛主题为背景,通过发挥参赛者各种智慧和知识,设计制作出具有一定功能和一定对抗能力的机器人。
举办这样的活动可以增强国民对机器人的了解,提高青少年的创新和动手能力。
正因为如此,大凡机器人发展得比较好的国家都要举办一些类似的全国性的比赛。
1.2竞赛的主题和规则
总结以前比赛的经验以及参赛要求,增强系统的通用性、可移植性和可扩展性,设计目标是开发一套基于ARM的高性能的嵌入式机器人控制系统。
机器人大赛比赛场地如图1和图2所示。
马来西亚的88层、高452米的PETRONAS双子塔楼(KLCC)是当今世界上最高的双子塔,是吉隆坡市政中心最著名的标志性建筑。
大赛的主题是比赛双方各自以一组机器人搬运聚苯乙烯积木模仿建造双子塔及其周边建筑。
比赛中每个队需要设计制作一个手动机器人和至少一个自动机器人。
手动机器人由一名参赛队员手动操作手动机器人在外围手动区将外围的积木搬到己方的主塔上,每放上一个积木得1分;自动机器人预装好积木后从自动启动区(图中四方格)出发将积木按自己策略通过规定的运动区域和自己选择的路径放置到场地中间的三个柱子(桥墩)上,边上的两个桥墩上每放一个积木得2分,最中间的桥墩上每放一个积木得3分。
首先建成本队所属的双塔之一和两个“天桥”桥墩的参赛队,则实现了“竣工”,将获得胜利。
如果在计时3分钟时间到而双方没有队伍完成“竣工”,则比较双方各自所得分数束判定胜负。
赛场地面用2mm厚的聚乙烯片(PVC地板革)铺设。
图1场地投影图
图2场地平面图
1.3课题的研究内容及主要工作
机器人技术是一门跨多门学科的高新技术,研究和发展机器人技术可以推动我国传统产业的改造和高新技术产业化的进程。
机器人技术的核心是控制工程技术。
本次课程设计论文出发点是在吸取以往机器人大赛经验的基础上,设计开发一套基于LPC2131的参赛机器人的嵌入式控制系统。
传统的参赛机器人控制平台都是基于8位或16位的C51系列单片机,为了提高系统的高速实时性、可扩展性和可移植性,本次课程设计论文目标是在基于ARM的32位微处理器平台上设计制作的机器人能实现位置和姿态控制,并将其应用于机器人路径引导,使机器人能在静止场景中实时高速完成预先选定的目标任务。
本次课程设计论文的研究内容是:
嵌入式的控制平台要能成功移植;系统具有多路信号的采集、存储、处理和识别能力,并且接口要丰富,便于裁减和扩展;软件应能实现预定的动作功能;能耗要低,电源容量要小;系统不仅对外界而且对自身信号环境要具有一定的抗干扰能力。
本次课程设计论文的主要工作有以下几个方面:
(1)采用低功耗、高性能的嵌入式ARM7TDMI-S32位处理器作为核心代替以前常用的C51系列单片机及多CPU控制,为参赛机器人设计支持实时仿真调试的控制系统。
。
(2)对系统的任务模块进行了规划,完成了行走驱动、工作提升、排障对抗三大功能子系统的设计。
(3)设计控制流程,实现对各功能子系统的控制调度管理。
系统硬件结构设计主要包括有:
电机的选择与控制;I/O信号隔离转换模块;位置及方向反馈模块;机构运动控制电路;供电电源模块等。
(4)设计传感器接口和信号接口,如光电检测、行程开关、红外线等,使机器人能够实时感知赛场上的位置和状态要素,并通过这些接口与其他控制单元构成闭环控制系统。
(5)采用多传感器对机器人协调控制并设计相应的控制算法,对机器人的直线纠偏和转弯算法进行重点研究。
(6)设计制作机器人机构,绘制制作控制系统的PCB原理图和电路板,对硬件电路和软件进行调试。
第2章基于ARM的嵌入式系统
计算机是应数值计算的要求而诞生的。
在计算机发展的早期,电子计算机技术一直是沿着满足高速数值计算的道路发展的。
直到20世纪70年代,计算机在数值计算、逻辑运算与推理、信息处理以及实际控制方面表现出非凡能力后,人们对计算机在通信、测控和数据传输等领域给予更大的期望。
这些领域的应用主要是直接面向控制对象,控制系统嵌入到具体的应用体中而不以计算机的面貌出现,能在现场可靠地运行,体积小,应用灵活,突出控制功能,特别是对外部信息的捕捉与丰富的I/O功能等。
从此可以看出,满足这些要求的计算机系统与满足高速数值计算的计算机是不可兼得的。
2.1嵌入式系统
通常把满足海量高速数值计算的计算机称为通用计算机系统;而把面向测控对象,嵌入到实际应用系统中,实现嵌入式应用的计算机称之为嵌入式计算机系统,简称嵌入式系统(EmbeddedSystem)。
IEEE(国际电气和电子工程师协会)对嵌入式系统的定义为:
嵌入式系统是“用于控制、监视或者辅助操作机器和设备的装置"。
从总体来说,通用计算机系统主要用于数值计算、信息处理,兼顾控制功能;而嵌入式计算机系统主要用于控制领域,兼顾数据处理。
在一个综合系统中,会出现通用计算机系统与嵌入式计算机系统的结合,各自扮演不同的角色,共同完成系统任务。
国内对嵌入式系统普遍认同的定义为:
以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。
嵌入式系统是将先进的计算机技术、半导体技术和电子技术和各个行业的具体应用相结合后的产物。
2.1.1嵌入式系统的组成
一个典型的嵌入式系统主要由四个部分组成:
嵌入式处理器/微处理器、外围硬件设备、嵌入式操作系统以及应用软件系统,如图3所示,其中的嵌入式微处理器和外围硬件设备称为硬件部分,嵌入式操作系统和应用软件属于软件部分。
在实际应用中由操作系统控制应用软件与硬件的交互,由应用软件控制系统的运作和行为。
图3嵌入式系统的组成
嵌入式操作系统并不是必须的。
当需要运行多任务且内存分配复杂,系统需要大量协议支持,需要很好的图形用户接口GUI等时,系统应考虑使用操作系统。
嵌入式系统的核心部件是嵌入式处理器。
据不完全统计,全世界嵌入式处理器的品种数量己经超过1000多种,流行体系结构有30几个,其中8051体系占大多数。
生产8051单片机的半导体厂家有20多个,共350多种衍生产品,仅Philips就有近100种。
目前嵌入式处理器的寻址空间可以从64KB到256MB,处理速度从0.1MIPS到2000MIPS。
根据其发展现状,可以分为四大类:
(1)嵌入式微控制器(MicrocontrollerUnit,MCU),典型代表是各种类型的单片机。
微控制器是目前嵌入式系统工业的主流,微控制器的片上外设资源一般比较丰富,适合于控制,因此称为微控制器。
嵌入式微处理器是在通用CPU基础上发展起来,增加满足测控对象要求的外围接口电路,用于测控领域。
(2)嵌入式DSP处理器(DigitalSignalProcessor,DSP),是专门用于信号处理方面的处理器,其在系统结构和指令算法方面进行了特殊的设计,具有很高的编译效率和执行速度。
(3)嵌入式微处理器((MicroprocessorUnit,MPU),是由通用计算机的CPU演变而来,它的特征是具有32位以上的处理器,具有较高的性能,但与普通处理器不同的是,嵌入式微处理器只保留和嵌入式应用紧密相关的功能硬件,去除其它的冗余功能部分,这样就做到了以最低的功耗和资源实现嵌入式应用的特殊要求,嵌入式微处理器具有体积小、重量轻、成本低、可靠性高的优点。
目前主要的嵌入式微处理器类型有Aml86/188、386EX、SC-400、PowerPC、68000、MIPS、ARM/StrongARM等。
(4)嵌入式片上系统(SystemonChip,SoC),SoC的最大特点是实现了软硬件的无缝结合,直接在处理器片内嵌入操作系统的代码模块。
由于绝大部分系统构件都在片内,整个系统特别简洁,不仅减小了系统的体积和功耗,而且提高了系统的可靠性。
比较典型的SOC产品是Philips的SmartXA,少数通用系列如Siemens的TRICORE、Motorola的M-Core。
2.2基于ARM的微处理器
2.2.1ARM处理器的结构和特点
ARM由英国的AdvancedRISCMachineLimited公司最先推进,目前这个概念被认为是对一类处理器的通称。
ARM处理器采用RISC(ReduceInstructionComputer,精简指令集计算机)结构,与传统的CISC(ComplexInstructionComputer,复杂指令集计算机)相比,具有如下的特点:
RISC指令集的种类少,指令格式规范,通常只使用一种或几种格式,并且在字边界对齐;利用流水线和超标量技术让处理器在一个时钟周期可以完成一条或多条指令;几乎所有的指令都使用寄存器寻址方式的简化寻址方式;多数的操作都是寄存器到寄存器的操作,只以简单的Load和Store访问内存。
由于ARM处理器具有上述结构上的特点,使得它具备了很多优点:
(1)体积小、低功耗、低成本、高性能;
(2)支持Thumb(16位)/ARM(32位)双指令集,能很好的兼容8位、16位器件;
(3)大量使用寄存器,指令执行速度快;
(4)大多数数据操作都在寄存器中完成;
(5)寻址方式灵活简单,执行效率高。
2.2.2ARM7TDMI处理器
ARM处理器自问世以来推出了很多系列,其中的ARM7,ARM9,ARM9E和ARM10为4个通用处理器系列,每一个系列提供一套相对独特的性能来满足不同应用领域的需求。
在这几大通用系列中ARM7系下的以ARM7TDMI为内核的ARM7处理器是目前使用最广泛的32位嵌入式RISC处理器。
对于TDMI的基本含义是:
T:
支持16位压缩指令集Thumb;
D:
支持片上Debug;
M:
内嵌硬件乘法器(Multiplier);
I:
嵌入式ICE,支持片上断点和调试点。
(1)指令流水线
ARM7TDMI使用3级流水线,以提高处理器指令的流动速度,指令的执行分为三个阶段:
取指、译码和执行。
图4是具体的操作流程:
图4ARM7TDMI单周期指令的三级流水线操作
当正常操作时,在执行一条指令期间,其后续的一个指令可以进行译码,且第三条指令从存储器取指。
程序计数器指向正在取指的指令,而不是正在执行的指令。
(2)存储器访问
ARM7TDMI只有加载、存储和交换指令可以访问存储器中的数据。
数据可以是8位(字节)、16位(半字)和32位(字)。
字必须是4字节边界对准,半字必须是2字节边界对准。
(3)嵌入式ICE-RT逻辑
嵌入式ICE-RT逻辑为ARM7TDMI核提供了集成的在片调试支持,可以利用ICE-RT逻辑来编程断点或观察断点出现的条件。
嵌入式ICE-RT逻辑包含调试通信通道(DCC)DebugCommunicationsChannel。
DCC用于在目标处理器和调试器之间传送信息。
嵌入式ICE-RT逻辑通过JTAG接口(JointTestActionGroup)进行控制。
(4)ARM7TDMI操作模式
ARM7TDMI支持7种操作模式:
(一)用户模式:
这是程序正常的运行状态;
(二)快速中断模式:
为快速数据传输或通道处理设计;
(三)中断模式:
用于通用的中断操作;
(四)监控模式:
操作系统的保护模式;
(五)终止模式:
取数据或指令错误后进入该模式;
(六)系统模式:
操作系统中有特权的用户模式;
(七)无定义模式:
当有未定义的指令被执行时进入该模式。
模式之间的切换可以通过软件控制,多数的用户程序都是在用户模式下运行,进入非用户模式一般都是完成操作系统中的一些操作。
(5)ARM7TDMI的寄存器
ARM7TDMI共有37个寄存器,其中31个为32位通用寄存器,6个为状态寄存器。
但是这些寄存器不能同时被访问,处理器的状态和操作模式决定了哪些寄存器可以被访问。
以上是ARM7TDMI的结构特点,本文采用的Philips公司的LPC2131处理器就是属于该系列处理器中的一款。
2.3嵌入式系统的一般设计流程
嵌入式系统设计一般由5个阶段完成:
1.系统需求分析
首先按系统的功能性需求和非功能性需求两方面确定设计任务和设计目标,并完成设计规格说明书,作出正式设计指导和验收的标准。
2.体系结构设计
描述系统如何实现所述的功能和非功能需求,包括对硬件、软件和执行装置的功能划分以及系统的软件、硬件选型等。
嵌入式系统设计的工作大部分都集中在软件设计上,采用面向对象技术、软件组件技术和模块化设计等现代软件工程常用方法。
3.硬件/软件设计
基于体系结构对系统的软硬件并行实施详细设计。
4.系统集成
把系统的软硬件和执行装置集成在一起进行调试,发现并改进单元设计中的错误。
5.系统测试
对设计好的系统进行测试,看其是否满足规格说明书中给定的功能要求。
综上所述,嵌入式系统的开发可以说是把开发者从反复进行硬件平台的设计过程中解脱出来,从而可以把主要精力放在编写特定的的应用程序上。
参赛机器人控制系统作为一个嵌入式平台在设计中一样按系统结构体系可裁减的原则进行,这也是为创建一个通用的参赛机器人控制平台的研究目的所要求。
第3章控制系统硬件设计
竞赛机器人嵌入式控制系统硬件设计的任务包括合理地选择微处理器、电机及驱动器件,设计制作信号电路隔离的I/O控制板、支持各功能元件动作的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 ARM 嵌入式 系统 竞赛 机器人