《基于ARM的智能探测小车的设计与实现硕士论文.doc》由会员分享,可在线阅读,更多相关《基于ARM的智能探测小车的设计与实现硕士论文.doc(82页珍藏版)》请在三一办公上搜索。
1、硕士专业学位论文论文题目基于ARM的智能探测小车的设计与实现研究生姓名指导教师姓名专业名称研究方向论文提交日期学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。作者签名: 日期: 年 月 日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权
2、大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。涉密论文按学校规定处理。作者签名:日期: 年 月 日导师签名: 日期: 年 月 日基于ARM的智能探测小车的设计与实现中文摘要随着国人在嫦娥工程的初步成功和逐步深入,月球探测器的设计一直吸引着众多科学工作者的关注。智能探测小车属于机器人的范畴,它融合了先进的嵌入式技术、传感器技术、电子电气、路径规划、人工智能和自动控制等技术。机器人车应用领域广泛,包括自动驾驶、反恐、核电站维护、未知区域探测、无人工程产品运输等等,机器人控制技术的发展必将对人们的生产和生活产生深远影响。课题旨在设
3、计一款具有良好可扩展性,模块化的教育型智能探测小车控制平台,使其既能够满足大专院校学生开展机器人比赛的要求,同时又能成为嵌入式课程开发和项目研究的平台。本文以ARM9处理器和Linux操作系统为基础构建了智能探测小车控制平台的软硬件系统。本文通过分析国内外机器人的研究现状,设计实现了一种低功耗、高性能嵌入式微处理器和嵌入式操作系统相结合的智能探测小车控制系统。智能探测小车包括视嵌入式核心模块、主控模块、电机驱动模块、红外寻迹模块、测温模块、摄像头模块、无线通信模块等。具体内容如下:阐述了智能探测小车的应用价值和研究意义,并详细的描述了智能探测小车的体系结构。概述了基于ARM的智能探测小车控制系
4、统结构。设计了基于ARM的智能探测小车控制系统的硬件平台。对核心板、主控板、稳压电源、电机驱动、红外寻迹、温度测量、串口通讯、LED和蜂鸣器以及其他扩展接口等硬件电路分别给出了详尽的设计方案。依据PCB设计的原则、抗干扰措施,自行设计了印刷电路板(PCB)。设计了基于ARM的机器人小车控制系统的软件平台。先将Linux操作系统的启动代码、内核和文件系统移植到S3C2440A上。在Linux系统中编写相应的设备和接口驱动程序,编写了控制系统主程序群、图像采集程序群和温度测试程序等应用程序。设计了上位机监控软件、相关通信协议和数据传送格式。论述了红外寻迹处理中的PD变尺度增量控制算法,图像处理中的
5、灰度二值化算法以及温度测试中的环境温度补偿等问题的解决策略。测试结果表明,在该控制系统下,智能探测小车具有良好的位置跟踪和图像采集处理性能。关键词:ARM、智能探测、Linux、寻迹、图像处理、温度补偿、位置跟踪作 者:王 栋指导教师:陈 蕾ARM-based intelligent detection of car design and implementationAbstractWith our initial success in the goddess of the project and gradually, the design of the lunar probes has be
6、en drawing large number of scientific workers. Intelligent detection of the car belongs to the category of the robot, the embedded space technology and advanced technology, electrical sensor, the path planning, Artificial intelligence and automatic control and technology. Car in the area of robotics
7、 applications, including autopilot and nuclear terrorism, maintenance, the area is detected, the transport and control products, robot development of the people will in the production and life has profound implications.Project aims to design a good scalable, modular intelligent exploration of educat
8、ion car control platform. it is able to meet the tertiary students to carry out a robot the game demands, and became embedded curriculum development and research on the platform. In this paper, ARM9 processor and the Linux operating system for the car was constructed by intelligent control software
9、and hardware detection system.This paper analyzes the status of domestic and international research robot designed and implemented a low-power, high-performance embedded microprocessors and embedded operating system combines intelligent detection of car control system.Visit Intelligent detection of
10、the car including looking at the embedded key module, top management module, electrical machinery urge module, infrared to seek mark module, examine warm module, lens module, wireless communication module,etc.The concrete content is as follows:Describes the application of intelligent detection of ca
11、r value and significance, and a detailed description of the architecture of intelligent detection of car. Overview of ARM-based intelligent detection of car control system structure.ARM-based design of probe car control system of intelligent hardware platform. To the key board, top management board,
12、 steady voltage plug, electrical machinery urge, not infrared to seek mark, temperature survey, bunches of mouthfuls of communication, LED and buzzer and other expansion interface,etc. circuit of hardware provide the exhaustive design plan respectively. The principle designed according to PCB, anti-
13、interference measure, have designed the printed circuit board (PCB) by oneself.ARM-based robot designed car control system software platform. Start Linux operating system code, kernel, file system transplant S3C2440A to first. Write the corresponding apparatus and interface driver in Linux system, g
14、ather procedure group and temperature and test application program such as the procedure after writing main program group of control system, picture.Design, go location plane control software, relevant communication protocol and data transmission form. Expound the fact infrared to seek mark PD deal
15、with, turn into yardstick increment control algorithms, settlement tactics in problems such as the environmental temperature compensation in two value algorithms and temperature of grey level in pattern process are tested,etc. Test result indicate, under control system this, Intelligent detection of
16、 the car have good position follow with the picture gathering the performance of punishing.Keywords:ARM, Intelligent detection, Linux, Seeking the mark, Pattern process, Temperature Compensation, Position to follow Written by WANG DongSupervised by CHEN Lei目 录第一章 绪论11.1 引言11.2选题依据及研究意义21.3本课题的主要目的与工
17、作3第二章 嵌入式系统与智能探测小车的总体概述52.1 ARM硬件开发平台52.1.1 ARM处理器的体系和结构52.2 ARM操作系统72.2.1常见的ARM操作系统72.2.2选择Linux操作系统的原因82.3基于ARM的嵌入式系统设计方法92.4基于ARM的智能探测小车102.4.1智能探测小车系统层次结构102.4.2系统软硬件组成112.4.3智能探测小车的整体介绍122.5本章小结13第三章 智能探测小车控制系统硬件平台架构143.1总体设计143.2 智能探测小车控制系统硬件电路设计143.2.1智能探测小车核心板设计143.2.2主控板电路模块设计173.2.3稳压电源电路模
18、块设计213.2.4寻迹电路模块设计233.2.5电机驱动电路模块设计263.2.6温度探测电路模块设计283.2.7串口通讯电路设计293.2.8 LED、蜂鸣器电路设计303.3印制电路板的设计303.3.1印制电路板的设计原则313.3.2 PCB及电路抗干扰措施313.3.3 PCB设计版图323.4 硬件调试353.5本章小结35第四章 智能探测小车控制系统软件平台架构364.1嵌入式开发环境的构建364.2智能探测小车系统启动代码、内核和文件系统的烧写374.3控制系统应用程序设计414.3.1控制系统主程序设计414.3.2图像采集处理程序设计454.3.3温度测试程序设计484
19、.4服务通信协议与数据格式484.4.1服务通信协议484.4.2命令与数据格式504.5本章小结52第五章 智能探测小车控制策略研究与实验535.1网络配置与上位机监控软件535.2智能探测小车红外寻迹策略研究545.2.1误差检测方法545.2.2PD变尺度增量控制算法555.3智能探测小车图像采集处理策略研究595.3.1灰度图像二值化算法595.4智能探测小车温度采集策略研究605.4.1环境温度测量605.4.2目标温度测量615.5智能探测小车测试实验635.6本章小结65第六章 结束语与展望666.1结束语666.2展望66参考文献68攻读硕士学位期间公开发表的学术论文70致 谢
20、71第一章 绪论1.1 引言嫦娥奔月是几千年前中国人给月亮编织的一个美丽的故事。古往今来,我国对探索月球有着矢志不渝的追求。2004年,中国正式开展月球探测工程,并命名为“嫦娥工程”,直到“嫦娥一号”的奔月成功,国人的梦正一步一步地走向实现。今年的国庆,中国让世界再次瞩目这一天,“嫦娥二号”卫星从“月亮城”西昌腾空而起,准确进入预定轨道。美国媒体在嫦娥二号发射当天即用大量文字和图片报道中国月球探索历程;新加坡联合早报将中国的嫦娥二号和西方发射的探月卫星进行了比较,认为嫦娥二号只用112小时便能进入月球轨道,比欧洲和日本探月卫星的速度都要快。更让人振奋的是“嫦娥二号”在飞行180余小时后,在10
21、月9日上午11时32分正式进入轨道高度为100公里、周期为118分钟的圆形环月“使命轨道”。这代表着,“嫦娥二号”任务已基本取得成功。如图1.1所示本次嫦娥二号卫星发射的主要任务。图1.1 嫦娥二号探月任务“嫦娥二号”的成功发射标志着开展月球探测工作是我国迈出航天深空探测第一步的重大举措。实现月球探测将是我国航天深空探测零的突破。月球已成为未来航天大国争夺战略资源的焦点。月球具有可供人类开发和利用的各种独特资源,月球上特有的矿产和能源,是对地球资源的重要补充和储备,将对人类社会的可持续发展产生深远影响。1.2选题依据及研究意义 “嫦娥工程”是分阶段实施的“三步走” ,三阶段都采用无人自动探测,
22、可用“绕、落、回”来简单概括: 第一期工程叫“绕” 即发射一个月球探测器,围绕月球轨道靠近月面进行探测,包括对月球影像的拍摄,对近月表面情况(成分、月壤厚度等)的探测,以及对月地之间环境的探测等。这个探测器2007年就已经发射。 第二期工程叫“落” 即发射一个月球探测器,着陆在月球表面上,再从这个月球着陆探测器上释放出一个探月车,在月球表面上行走探测。如果申报获批,该工程预计在2012年前后进行(本文所研究设计的智能探测小车即为了模拟第二期工程中降落在月球表面的探测器)。第三期工程叫“回” 即发射一个月球着陆器着陆在月球表面,但这个着陆器与上一期“落”阶段的月球着陆器不一样,它还带有返回的功能
23、。这个月球着陆器落在月球表面就位探测后,再将从月球上所取的样品放回到返回器上,返回器最终把样品带回地球。“回”的技术水平更高、更复杂,预计在2017年左右进行。 等到这“三步走” 走下来,我国接着就将开始中华民族千年梦想的载人登月计划,并有可能与有关国家共建月球基地。甚至还有航天专家预想,我国将在2014年2033年间实现无人火星探测,2040年2060年实现载人火星探测1。在航天深空探索上,美国人有着全世界最好的技术和经验。2003年,美国宇航局发射“勇气”号和“机遇”号火星车执行火星探索任务。2004年1月,两辆火星车在火星的不同区域着陆。迄今为止,它们已在火星表面跋涉了5年多时间,以寻找
24、这颗星球过去是否有水的线索。根据最初的设计,“勇气”号和“机遇”号用来执行为期90天的火星探索任务,但这两个机器人最终上演了超龄服役的壮举。“勇气”号是迄今美国发射的最尖端的火星探测装置,其顶部的桅杆式结构上装有全景照相机及具有红外探测能力的微型热辐射分光计。“勇气”号成功实现了集通信、拍摄和计算等功能于一身。火星车能够在火星上自主行驶:当火星车发现值得探测的目标,它会驱动六个轮子向目标行驶,在检测到前进方向上的障碍后,火星车会去寻找可能的最佳路径。本文所述的智能探测小车,是类似火星车,以轮子作为移动机构、能够实现自主行驶的一种机器人,它具有机器人的基本特征易于再编程。目前各国关于机器人的定义
25、都各不相同,在美国标准中,只有易于再编程的装置才认为是机器人。智能探测小车不同遥控小车,后者需要操作员来控制其转向、启停和进退,比较先进的遥控车还能控制其速度。常见的模型小车,都属于这类遥控车。而智能探测小车,则可以通过计算机编程来实现其对行驶方向、启停以及速度的控制,无需人工干预。操作员可以通过修改小车的计算机程序来改变它的行驶方式。这种智能探测小车的另一基本特征是,依靠自动导航软件实现在一定道路条件下的自动行驶,这是车辆的另一个基本特征。自寻迹的智能探测小车,是一个集环境感知、规划决策,自动行驶等功能于一体的综合系统,它集中地运用了计算机、传感、信息、通信、导航、人工及自动控制等技术,是典
26、型的高新技术综合体。智能探测小车最适合在那些人类无法工作的环境中工作,因此这类机器人小车的研究和开发对未来的工业和社会具有十分重要的意义。另外,智能探测小车的自动控制、传感、通信等的研究将有助于车辆的研究,车辆驾驶任务的自动完成将给人类社会的进步带来巨大的影响2-5。1.3本课题的主要目的与工作作者在研究生期间一直从事嵌入式专业的研究和教学工作,嵌入式行业的蓬勃发展以及先进控制的理论成果使得对机器人的研究更具有挑战性。作者在从事嵌入式机器人的研究期间,曾带领学生参加过IEEE标准电脑鼠走迷宫、全国高职高专技能大赛嵌入式产品开发等比赛。在对智能探测小车的研究中面临的最大难题在于小车本身是一个独立
27、的系统,即机器人小车的“智能”在于它有自己的大脑,有自己的躯干,它不仅会思考而且要有效的管理自己躯干的各个部件。而要进行思考和管理就必须要有可靠的控制算法,但是常规的单一控制算法都不具备充当机器人小车更“智能”的条件。另外智能探测小车是一个独立的控制系统,对硬件的要求随着系统功能的增加而增高,嵌入式控制系统电路的设计势必要满足简介、可靠、低功耗等要求。目前基于单片机的控制系统外围电路、可靠性、可扩展性普遍较差,如何设计一套电路简单、性能可靠、功能齐全的嵌入式机器人小车硬件控制系统是另一个难题。由于智能探测小车对控制以及精度的要求,控制系统的软件部分亦将变的庞大而复杂。嵌入真正开放、资源丰富、扩
28、展性强、能实时多任务管理的Linux操作系统成为首选办法。本文以ARM920T核控制芯片为控制器,用红外传感器识别路径,使用直流电机进行转向控制和速度控制,使用CMOS摄像头来拍摄识别对象,使用无线网卡来传输数据,使用协Linux操作系统来管理应用程序,使用上位机软件来控制小车启停并接收反馈信号。研究红外寻迹的PD变尺度增量控制算法和图像处理的灰度二值化算法。最终实现一个能够自动识别路径,自动控制稳定性,自动拍摄识别沿途障碍标志物并自动传送图像参数的快速、安全、稳定的智能探测小车。为达到上述目的,本课题主要对以下方面进行了工作:1结合当前机器人发展状况、体系结构以及面临的主要技术问题,阐述了基
29、于ARM嵌入式智能探测小车控制系统的结构,设计出了基于ARM920T的最小系统。在大量的实验基础上设计了智能探测小车温度探测模块,电源模块,通信模块,控制和执行模块等硬件电路。2移植Linux、内核、系统文件,编写智能探测小车底层物理驱动并在Linux操作系统的平台基础上编写调试智能探测小车的应用程序。3控制算法的研究与实现:结合红外传感器硬件排布的结构特点,本文设计了自适应的扫描方法。对于红外寻迹本文实现PD变尺度增量控制算法并分析了的其优劣。结合CMOS摄像模块的性能,采用了二值化算法对拍摄图像进行二值化,并对数据结果分析后得到颜色和图像形状。4通过对智能探测小车做的大量实验的前提下,本文
30、给出了实验结果的数据比较和分析,并对机器人小车的研究做了展望。第二章 嵌入式系统与智能探测小车的总体概述2.1 ARM硬件开发平台什么是嵌入式系统(Embedded System)广义地讲,凡是不用于通用目的的可编程计算机设备,就可以算是嵌入式计算机系统。举例来说,个人计算机(PC)不是一种嵌入式系统,因为它是用于通用目的的系统。而一些电话系统就是采用个人计算机技术建立的嵌入式计算机系统,最典型的嵌入式系统如手机、可视电话等;另外还有一些嵌入式系统采用特殊的微处理器,如传真机、打印机等。狭义上而言,嵌入式系统是指以应用为核心,计算机技术为基础,软硬件可裁减,对功能、可靠性、成本、体积和功耗严格
31、要求的专用计算机系统。一般的嵌入式系统的设计过程是:从产品定义开始,接着进行硬件设计,然后将软件或操作系统移植到硬件上,并且进行应用程序的开发,最后经过测试与调试后即开始销售或使用。根据IEEE(国际电气和电子工程师协会)的定义:嵌入式系统是“用于控制、监视或者辅助操作机器和设备的装置”(原文为devices used to control,monitor,or assist the operation of equipment,machinery or plants)。可以看出此定义从应用上考虑,嵌入式系统是软件和硬件的综合体。ARM技术是嵌入式系统的一种,是全球微处理器行业中一家知名的企业
32、,该公司于1990年在剑桥大学成立,它是由苹果电脑、Acorn Computer Group和VLSI Technology联合成立的一家设计32位嵌入式RISC芯片内核的公司。如今,“ARM嵌入式内核”已经被全球各大芯片厂商采用,基于ARM的开发技术也席卷了全球嵌入式产品的市场,并成为嵌入式系统的主流技术之一6。2.1.1 ARM处理器的体系和结构ARM构架诞生至今已经有过多次变革,每一次都在性能上得到了很大的提高,目前ARM的架构有:(1) V1构架(ARM1):具有基本的数据处理指令(无乘法);字节、半字节、字的Load/Store指令;转移指令;软件中断指令;64MB的寻址空间。(2)
33、 V2构架(ARM2、ARM3):增加乘法指令;增加支持协处理器的操作;增加快速中断模式;增加SWP/SWPB的存储器和寄存器交换指令。(3) V3构架(ARM6):增加MRS/MSR指令,可以访问新增加的CPSR/SPSR寄存器。增加了异常处理返回;寻址空间扩展到4GB。(4) V4构架(ARM7、ARM9):低功耗的32位RISC处理器,包括32位地址线和数据线,具有ICE逻辑,调试开发方便;具有16位的Thumb指令集;主频高达130MIPS;完善了软件中断SWI指令。(5) V5构架(ARM10):具有带链接和交换的转移BLX指令;计数前导零CLZ指令;BRK中断指令;增加了一些信号处
34、理指令。(6) V6构架(ARM11):增加了SIMD功能,为多媒体处理的应用系统提供优化功能。其中,ARM7、ARM9、ARM10,Intel的StrongARM系列、Xscale系列等属于通用处理器系列,已经在很多领域大量应用。ARM是基于RISC(Reduced Instruction Set Computer 精简指令集计算机)7而设计的,它与CISC(Complex Instruction Set Computer 复杂指令集计算机)在一些地方有着很大的区别。传统的CISC计算机随着计算机技术的发展不断地引入新的复杂指令集,为了支持这些新增的指令,计算机的体系结构会越来越复杂,但在这
35、些指令中,只有约20%的指令会被反复调用,占程序代码的80%;余下的80%指令不经常使用,在程序代码中占20%,这就造成了浪费,显得设计不合理,而RISC则可以避免这些问题。RISC指令系统相对简单,能够满足大部分的功能需求,只要求硬件执行有限的最常用的那部分指令,大部分复杂的操作使用成熟的编译技术由简单指令合成,这使得计算机的执行效率得到提高。目前中高端的服务器普遍使用RISC指令集,把重点放在了如何使计算机的结构更加简单合理地提高运算速度。CISC和RISC架构各有其侧重点,现在出现了超长指令集计算机,融合了两只指令集的优势,成为未来CPU发展的趋势之一。2.2 ARM操作系统2.2.1常
36、见的ARM操作系统在嵌入式应用中嵌入式操作系统已经大量存在,尤其在功能复杂、系统庞大、要求较高的方案中显得越来越重要,可以说没有操作系统的计算机是没有用的,这点在普通的台式电脑上大家都有深刻体会。操作系统管理整个硬件系统的运行,负责各种资源的调配,充分发挥了32位CPU的多任务能力,是整个嵌入式系统的灵魂。目前有多种嵌入式操作系统,它们使得开发实时应用程序的设计和扩展变得容易,不需要大的改动就可以增加新的功能,把应用程序分割为若干独立运行的模块,使得程序的设计变得简化许多;对于实时性要求高的应用做到了快速响应和可靠处理;使得整个系统的资源得到很好的管理和应用。常见的嵌入式操作系统有: (1)
37、VxworksVxworks操作系统是美国WindRiver公司于1983年设计开发的一种嵌入式实时操作系统(RTOS),具有良好的持续发展能力、高性能的内核以及友好的用户开发环境,在嵌入式实时操作系统领域牢牢占据着一席之地。Vxworks所具有的显著特点是:可靠性、实时性和可裁减性,而且它支持多种处理器,如x86、i960、SunSparc、 Motorola MC68xxx、MIPS、POWER PC等等。大多数的 Vxworks API是专有的,火星机器人使用的就是Vxworks操作系统。(2) WindowsCEWindowsCE 3.0是一种针对小容量、移动式、智能化、32位、连接设
38、备的模块化实时嵌入式操作系统。针对掌上设备、无线设备的动态应用程序和服务提供了一种功能丰富的操作系统平台,WindowsCE嵌入式不够实时,属于软实时操作系统。由于其Windows背景,界面比较统一认可。操作系统的基本内核需要至少200K的ROM空间。(3) Palm OSPalm OS是著名的网络设备制造商3COM旗下的 Palm Computing掌上电脑公司的产品。Palm OS在PDA市场上占有很大的市场份额,目前主要与WIN CE进行激烈竞争。(4) QNXQNX是加拿大QNX公司的产品。它是在x86体系上面开发出来的,别的好多RTOS都是从68K的CPU上面开发成熟,然后再移植到x
39、86体系上面来的。QNX是一个实时的、可扩充的操作系统,它部分遵循POSIX相关标准,由于QNX具有强大的图形界面功能,因此很适合作为机顶盒、手持设备(手掌电脑、手机)、GPS设备的实时操作系统使用。(5) C/OSMicro Controller operating system,微控制器操作系统,它是由美国人JeanLabrosse 1992年完成的。应用面覆盖了诸多领域,如照相机、医疗器械、音响设备、发动机控制、高速公路电话系统、自动提款机等。1998年升级到 C/OS-II,2000年,得到美国航空管理局(FAA)的认证,可以用于飞行器上。(6) 嵌入式LinuxLinux的核心是由
40、Linus Torvalds在1991年开发出来,并放到网络上供大家下载学习使用。开放源代码,内核小、功能强大、系统健壮、效率高、易于裁减。可以支持数十种CPU芯片。嵌入式Linux就是指对Linux经过小型化裁减后,能够固化在容量只有几百K字节或几兆字节的储存器芯片中,用于特定嵌入式场合的专用Linux操作系统 8910 。2.2.2选择Linux操作系统的原因以上常见的嵌入式操作系统,虽然提供了很多高级的功能,如图形用户界面和网络支持,但这些专用操作系统都是商业化产品,其高昂的价格使许多低端产品的小公司望而却步;而且源码封闭性也大大限制了开发者的积极性。另外,结合我国国情,当前国家对自主操
41、作系统的大力支持,也为源代码开放的Linux的推广提供了广阔的发展前景。选择Linux有以下几个原因:(1) 可应用于多种硬件平台。Linux己经被移植到多种硬件平台,这对受开销、时间限制的研究与开发项目是很有吸引力的。可以在标准平台上开发然后移植到具体的硬件上,加快了软件与硬件的开发过程。(2) Linux可以随意的配置,不需要任何的许可证或商家的合作关系。唯一的限制是开发者必须做出对Linux社区有益的改动。(3) 它是免费的,源代码可以得到,这是最吸引人的。毫无疑问,这会节省大量的开发费用。Linux世界就是一个自由、开放的王国。(4) 优秀的网络支持,微内核直接提供网络支持,而不必像其
42、他操作系统要外挂TCP/IP协议包。(5) Linux高度模块化使添加部件非常容易。(6) Linux在台式机上的成功,也保证了Linux在嵌入式系统中的辉煌前景。基于Linux的嵌入式操作系统常见的有ARMLinux、RTLinux和CLinux等。本设计中选择ARMLinux作为操作系统 1112 。2.3基于ARM的嵌入式系统设计方法如图2.1所示,嵌入式系统设计一般由5个阶段构成:需求分析、体系结构设计、硬件/软件设计、系统集成和系统测试13。各个阶段之间往往要求不断的反复和修改,直至完成最终设计目标。图2.1 嵌入式系统设计流程(1) 系统需求分析/体系结构设计系统的需求一般分功能需
43、求和非功能性需求两方面。功能性需求是系统的基本功能,如输入输出信号、操作方式等;非功能需求包括系统性能、成本、功耗、体积、重量等因素。体系结构设计描述系统如何实现所述的功能和非功能需求,包括对硬件、软件和执行装置的功能划分以及系统的软件、硬件选型等。(2) 硬件/软件设计基于体系结构,对系统的软件、硬件进行详细设计。软硬件设计往往是并行的,并且嵌入式系统设计的工作大部分都集中在软件设计上,采用面向对象技术、软件组件技术、模块化设计是现代软件工程经常采用的方法。(3) 系统集成/测试把系统的软件、硬件和执行装置集成在一起,进行调试,发现并改进单元设计过程中的错误。对设计好的系统进行测试,看其是否
44、满足规格说明书中给定的功能要求。2.4基于ARM的智能探测小车2.4.1智能探测小车系统层次结构图2.2 系统结构层次图图2.2为基于ARM的智能探测小车控制系统结构层次图,系统主要由5层组成:上位机监控层,策略应用层,控制器层,传感和执行层以及机械层。上位机监控层由PC机和其上由C+开发的应用软件组成,上位机通过其上的无线网卡,由无线路由器桥接与智能探测小车上的无线网卡建立连接,数据通过无线接口模块来传输,上位机主要实现探月过程中沿路重要信息的监控与收集,如沿途被测对象的颜色、形状、距离、温度以及图像等信息;策略应用层主要包括操作系统、应用软件和控制算法,也是本课题的重点部分。小车控制器层主
45、要由ARM9内核控制器及其外围电路组成,是课题设计实现最为关键的层次。传感执行层可以看作是小车的各种器官,传感器用来实现信息采集,执行器用来执行上层发来的动作命令。机械层是被控制对象,是最底层的部件。2.4.2系统软硬件组成图2.3 系统软硬件组成智能探测小车控制系统软硬件组成如图2.3所示,系统由三部分组成,操作系统部分、中间部分和硬件部分。硬件部分由ARM9处理器S3C2440A,存储器,红外光电寻迹模块、电机模块、任务探测模块等电路组成。其中存储器包含了SDRAM、Nor Flash和Nand Flash;电机模块通过串口与处理器进行数据交换;红外光电寻迹模块则通过红外传感器来对地面路况
46、进行识别,处理后的数据通过SPI总线来传输给处理器;探测模块是智能探测小车的眼睛、鼻子和耳朵,它将月球表面的讯息采集处理和通过IIC总线传输给处理器。中间部分由驱动程序层和硬件抽象层组成。驱动程序层是可以使计算机和设备通信的特殊程序层,可以说相当于硬件的接口,操作系统只有通过这个接口,才能控制硬件设备的工作。硬件抽象层是位于操作系统内核与硬件电路之间的接口层,其目的在于将硬件抽象化。它隐藏了特定平台的硬件接口细节,为操作系统提供虚拟硬件平台,使其具有硬件无关性,可在多种平台上进行移植。 从软硬件测试的角度来看,软硬件的测试工作都可分别基于硬件抽象层来完成,使得软硬件测试工作的并行进行成为可能。
47、操作系统部分由系统内核、应用程序及算法程序等软件组成。在智能探测小车的核心板上移植ARMLinux操作系统,根据小车的功能编写应用程序。应用程序和算法包含:系统启动程序、呼叫上位机程序、路况采集程序、路信息过滤程序、电机控制程序、图像识别程序、图像处理程序、探测信息分析程序、无线通信程序等。2.4.3智能探测小车的整体介绍如图2.4所示小车共有6块电路板,分别是核心板、主控板、电机驱动板、红外寻迹板、摄像头和探测板组成。小车共有四个驱动电机,左右各两个,并且同一边的两个电机是共用一个PWM信号的,所以小车驱动起来只需要2路PWM信号。主板供电为+5V直流电源,通过跟驱动板的连接端口获取电源,也可以在主板的辅助电源插座上接上+5V的直流电源,主板上配有一个纽扣电池为2440的实时时钟供电;驱动板上有两组电源,分别以+12V直流电源供电;核心板为3.3V直流电源,取自主板。图2.4 小车实物图2.5本章小结本章首先介绍了嵌入式技术的发展现状、体系结构和应用,接着分析了基于ARM的嵌入式系统,包括ARM微处理器和嵌入式系统设计方法的介绍,其次给出了本文设计的基于ARM的智能探测小车控制系统的结构,以及软硬件组成。最后介绍了智能探测小车的整体结构。