基于嵌入式系统小车寻物的设计与实现.doc
《基于嵌入式系统小车寻物的设计与实现.doc》由会员分享,可在线阅读,更多相关《基于嵌入式系统小车寻物的设计与实现.doc(38页珍藏版)》请在咨信网上搜索。
1、摘要摘 要随着社会经济和科学技术的发展,嵌入式技术的应用越来越多走进人们的生活,由于Linux具有对各种设备的广泛支持性,因此,能方便地应用于机顶盒、IA设备、PDA、掌上电脑、WAP手机、车载盒以及工业控制等智能信息产品中。与PC相比,手持设备、IA设备以及信息家电的市场容量要高得多,而Linux嵌入式系统的强大的生命力和利用价值,使越来越多的企业和高校表现出对它极大的研发热情。图像采集及无线通信技术是两大相当关键的应用门类,在各种场合的应用都相当广泛,因此,我们通过开发一个智能小车,采用S3C2440核心板,L298N作为电机驱动,用摄像头实现图像采集,Wifi无线网卡实现数据传输,使其能
2、够沿着轨道寻迹,同时实施图像采集,把图像传输到后台服务器,达到以应用嵌入式Linux操作系统平台来建立一个实现远程寻物模型,便于查找物品,尤其适合在大型仓储中应用,同时也能够对整个仓库进行监控,实现安全管理。关键词:嵌入式系统 无线通信 ARM 图像采集19目录目录摘 要I第一章 绪论11.1设计背景11.2嵌入式Linux发展现状及趋势11.3方案论证21.4采用的基本设计思路和要实现的基本功能3第二章 嵌入式LINUX应用42.1嵌入式Linux开发环境建立42.2U-boot的移植42.2.1U-boot简介42.2.2U-boot目录结构52.2.3主要功能52.2.4移植u-boot
3、52.3Linux内核移植82.3.1配置Linux内核82.3.2网卡驱动添加9第三章 系统硬件设计123.1控制主板123.2电源电路的设计与分析143.3驱动电路的设计与分析153.3.1电机驱动电路的设计与分析153.3.2光电隔离电路的设计与分析153.3.3光耦光电管驱动电路设计与分析163.3.4码盘测速接口电路设计与分析163.4寻迹电路设计与分析173.4.1红外发射与接收管的基本工作原理173.4.2红外寻迹电路板的整体分布与抗干扰设计173.4.3红外寻迹板的基本工作原理18第四章 系统软件设计204.1主程序的设计204.2寻迹算法204.3红外传感器驱动的设计234.
4、4PWM驱动的设计234.5无线通信的设计234.5.1上位机程序244.5.2下位机程序24第五章 系统测试265.1测试环境265.1.1跑道图介绍265.1.2寻迹过程说明265.2通信测试275.2.1图像采集测试275.2.2系统软件测试285.3测试问题及解决办法30第六章 总结与展望316.1总结316.2展望32致 谢33参考文献34第一章 绪论第一章绪论1.1设计背景2010年4月,为促进校企合作,引导企业参与赛项设计、提供技术支持和后援保障,推动工学结合人才培养模式的改革与创新,引导高职教育在嵌入式技术高速发展背景下的相应专业领域的教学改革与专业调整,检验高职学生在嵌入式技
5、术应用方面的职业能力以及质量、效率、成本和安全意识。全国职业院校技能大赛组委会决定将“嵌入式产品开发”作为竞赛项目之一。1.2嵌入式Linux发展现状及趋势关于嵌入式系统(Embedded Systems)的定义:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。举例来说,大到油田的集散控制系统和工厂流水线,小到家用VCD机或手机,甚至组成普通PC终端设备的键盘、鼠标、软驱、硬盘、显示卡、显示器、Modem、网卡、声卡等均是由嵌入式处理器控制的,嵌入式系统市场的深度和广度,由此可见一斑。尽管如此,它的市场价值也许仍然超过了您
6、的想象:今天,嵌入式系统带来的工业年产值已超过了1万亿美元。自由开源软件在嵌入式应用上受到青睐,Linux日益成为主流的嵌入式操作系统之一。随着MOTOROLA手机A760、IBM智能型手表Watch Pad、SharpPDA、Zaurus等一款款高性能“智能数码产品”的出现,以及Motorola、Samsung、MontaVista、Philips、Nokia、IBM、SUN等众多国际巨头的加入,嵌入式Linux的队伍越来越庞大了。目前不少大学、研究机构和知名公司加入了嵌入式Linux的开发工作,成熟的嵌入式Linux产品不断涌现。2004年全球嵌入式Linux市场规模已达9150万美元,2
7、005年有1.336亿美元,2006年有1.633亿美元,2007年已达2.011亿美元,每年平均增长30%。一个完整的系统,当然要包括硬件和软件两个部分,这就好像必须要有丈夫和妻子,才能组成一个完整的家庭。尽管嵌入式系统有着无比广阔的市场需求和发展前景,但嵌入式系统的发展,多年来却经历了一个比相对后期产生的个人计算机(PC)更为曲折和痛苦的历程。随着微处理器的产生,价格低廉、结构小巧的CPU和外设连接提供了稳定可靠的硬件架构,那么限制嵌入式系统发展的瓶颈,就突出表现在了软件方面。尽管从八十年代末开始,陆续出现了一些嵌入式操作系统,比较著名的有Vxwork、pSOS、Neculeus和Wind
8、owss CE,但仍然有大量的嵌入式系统摒弃操作系统于不顾,而仅仅包括一些控制流程。当然,我们可以说在嵌入式系统相对简单的情况下,这些控制流程足以应付。但是,当嵌入式系统的功能复杂后,也就是说需要提供更完善的服务的时候,简单控制逻辑就不够用了。毋庸置疑,对于任何一个产品来说,服务的内容和质量,都是价值的源泉和生存的基础。我们不妨做一个夸张而又通俗的比喻,也许雇一个保姆,能够解决生活的一部分后顾之忧,但一个真正意义上的家庭,必须需要一位妻子。那么是什么造成嵌入式系统领域大量的黄金、钻石王老五至今孑然一身呢?特殊的人才有特殊的需求,显然我们需要的是一个身材苗条、容貌姣好、身体健康、聪慧善良、上得厅
9、堂下得厨房,甚至不向我们的工资袋多看一眼的贤内助,也就是说,嵌入式系统需要的是一套高度简练、友善界面、质量可靠、应用广泛、易开发、多任务,并且价格低廉的操作系统。 人们可以发现,以上所说的要求简直就是在形容Linux。更为令人心动的是,除上述优点之外,Linux与生俱来的优秀网络血统,更为今后的发展铺平了一条宽广平坦的大路。这里的网络,并不仅仅指Internet,关于Linux在Internet中的优势,将需要专门著文论述,这里仅仅提醒大家注意的是另一个也许可以说较Internet更为广阔的市场:家庭网络。尽管全世界每分每秒都有成千上万的优秀软件工程师致力于将个人电脑(PC)的操作系统变得更加
10、简单易用,但令人遗憾的是,对某些特定的年龄和社会阶层的人群来说,要想开启精彩的网络世界大门,依然有一道难以逾越的门槛。事实就是社会上关于个人电脑的普及班和书籍依然铺天盖地,而我们却从未听说过关于操作电视或者空调的培训。LINUX系统和嵌入式设备的结合,无疑将会对智能住宅及数字家电事业,注入无限澎湃的动力。这并不是什么超前的设想,许多具有高前瞻性的企业,已经从研发阶段过渡到生产阶段,推出了多姿多彩的嵌入式LINUX操作系统的PDA、相机、或者更为概念化的咨讯家电。如推出全球最小的嵌入式操作系统内核夸克(QUARK),而闻名于世的网虎国际(XLinux),已与Intel成功合作,将夸克应用于Int
11、el去年推出的strongARM芯片上。人们可以在这一平台上享受上网和听MP3的乐趣。而据我所知, LINUS本人在归家的途中已经在利用手机指令家中的咖啡壶为自己准备咖啡了。1.3方案论证基于嵌入式Linux智能小车基本组成是:1)主控模块主要采用三星公司的S3C2440作为主控芯片,它是一种低功耗,32位ARM9处理器,具有强大的嵌入式操作系统运行能力,并具有丰富的外设接口,核心板下面是扩展MCU外围部件的一块电路板,包括SD卡接口、USB接口、多媒体(扬声器和话筒等)接口、网卡接口、摄像头接口、串行通信接口、LCD液晶显示接口、按键和LED指示接口、I2C和SPI接口、GPIO接口、实时时
12、钟电源和系统总线扩展口等。2)光电隔离接口驱动模块负责对整个机器人的供电系统进行控制,采用两组电源,一组用于驱动电机运转,另一组用于MCU系统及接口电路供电,当两组之间的器件需要信号传输的,可以有效的通过光电隔离进行,从而可靠的防止信号串扰,避免因电机运转产生的强电磁波通过线路产生干扰。3)该模块还实现将ARM发出的驱动信号通过光电隔离传送到电机驱动芯片上,从而控制四只直流电机的运转和停止。具体的,可控制直流电机转动方向、速度(脉冲宽度控制,简称PWM)4)机器人摄像头接口模块,该模块实现对ARM和摄像头之间的信号进行传输。一方面,ARM通过该板下达对摄像头的采集命令;另一方面ARM板通过元线
13、网卡把采集到的图像传到上位机上,以便实时观察仓库中的物品。1.4采用的基本设计思路和要实现的基本功能1)利用光电循迹技术,编程获取轨道信息,控制嵌入式智能小车能在轨道上前进、后退、左转和右转。2)当光电循迹板检测到特定的停止位置信息后,通过GPIO接口,将停止信息传送给ARM,ARM立即下达命令停止直流电机运转,使嵌入式智能小车在规定的标记点上停止。3)小车将停止点的信息用摄像头把实时图像用无线网卡传送到后台服务器,服务器根据图像特征再给小车发送下一步运行指令。第二章 嵌入式Linux应用(应该是奇数页开始)第二章嵌入式Linux应用2.1 嵌入式Linux开发环境建立通过运用crosstoo
14、l-0.43.tar.gz脚本工具包来制作自己的交叉编译器。并且此编译器能够编译u-boot-1.3.4,linux-2.6.14内核。本实验旨在让读者学会一种编译制作交叉编译器的方法。在实际开发中,大多根据编译目标,选择一些编译好的、经过测试的交叉编译器。crosstool是由美国人Dan Kegel(毕业于加(利福尼亚)州工学院)开发的一套可以自动编译不同匹配版本gcc和glibc,并作测试的脚本程序。下载地址:在制作之前确保你的系统中已经安装了下面的工具包:bison,flex,build-essential。如果系统没有这些软件包,必须进行安装。在ubuntu发行版中,使用apt-ge
15、t命令即可非常方便的进行安装。安装方法:一、ubuntu 系统中可以使用超级用户(root),调用 apt-get 命令#apt-get d install flex 二、可以使用dpkg 命令安装已经下载的软件包 如:我们将下载包放到 /home/linux/downloads/下,可以使用如下命令安装flex。2.2U-boot的移植2.2.1U-boot简介 U-Boot不仅仅支持嵌入式Linux系统的引导,当前,它还支持NetBSD, VxWorks, QNX, RTEMS, ARTOS, LynxOS嵌入式操作系统。其目前要支持的目标操作系统是OpenBSD, NetBSD, Fre
16、eBSD,4.4BSD, Linux, SVR4, Esix, Solaris, Irix, SCO, Dell, NCR, VxWorks, LynxOS, pSOS, QNX, RTEMS, ARTOS。这是U-Boot中Universal的一层含义,另外一层含义则是U-Boot除了支持PowerPC系列的处理器外,还能支持MIPS、 x86、ARM、NIOS、XScale等诸多常用系列的处理器。这两个特点正是U-Boot项目的开发目标,即支持尽可能多的嵌入式处理器和嵌入式操作系统。就目前来看,U-Boot对PowerPC系列处理器支持最为丰富,对Linux的支持最完善。其它系列的处理器和
17、操作系统基本是在2002年11 月PPCBOOT改名为U-Boot后逐步扩充的。从PPCBOOT向U-Boot的顺利过渡,很大程度上归功于U-Boot的维护人德国DENX软件工程中心Wolfgang Denk以下简称W.D本人精湛专业水平和持着不懈的努力。当前,U-Boot项目正在他的领军之下,众多有志于开放源码BOOT LOADER移植工作的嵌入式开发人员正如火如荼地将各个不同系列嵌入式处理器的移植工作不断展开和深入,以支持更多的嵌入式操作系统的装载与引导。2.2.2U-boot目录结构* board 目标板相关文件,主要包含SDRAM、FLASH驱动;* common 独立于处理器体系结构
18、的通用代码,如内存大小探测与故障检测; * cpu 与处理器相关的文件。如mpc8xx子目录下含串口、网口、LCD驱动及中断初始化等文件; * driver 通用设备驱动,如CFI FLASH驱动(目前对INTEL FLASH支持较好) * doc U-Boot的说明文档; * examples可在U-Boot下运行的示例程序;如hello_world.c,timer.c; * include U-Boot头文件;尤其configs子目录下与目标板相关的配置头文件是移植过程中经常要修改的文件; * lib_xxx 处理器体系相关的文件,如lib_ppc, lib_arm目录分别包含与Power
19、PC、ARM体系结构相关的文件; * net 与网络功能相关的文件目录,如bootp,nfs,tftp; * post 上电自检文件目录。尚有待于进一步完善; * rtc RTC驱动程序; * tools 用于创建U-Boot S-RECORD和BIN镜像文件的工具。2.2.3主要功能* 系统引导 支持NFS挂载、RAMDISK(压缩或非压缩)形式的根文件系统 * 支持NFS挂载、从FLASH中引导压缩或非压缩系统内核; * 基本辅助功能 强大的操作系统接口功能;可灵活设置、传递多个关键参数给操作系统,适合系统在不同开发阶段的调试要求与产品发布,尤以Linux支持最为强劲; * 支持目标板环境
20、参数多种存储方式,如FLASH、NVRAM、EEPROM; * CRC32校验,可校验FLASH中内核、RAMDISK镜像文件是否完好; * 设备驱动 串口、SDRAM、FLASH、以太网、LCD、NVRAM、EEPROM、键盘、USB、PCMCIA、PCI、RTC等驱动支持; * 上电自检功能 SDRAM、FLASH大小自动检测;SDRAM故障检测;CPU型号; * 特殊功能 XIP内核引导。2.2.4移植u-boot建立自己的平台类型(1)解压文件#tar jxvf u-boot-1.3.4.tar.bz2(2)进入U-Boot源码目录#cd u-boot-1.3.4(3)创建自己的开发板
21、:#cd board#cp smdk2410 qq2440 a#cd qq2440#mv smdk2410.c qq2440.c#vi Makefile (将smdk2410修改为qq2440)#cd ././include/configs#cp smdk2410.h qq2440.h退回U-Boot根目录:#cd ././(4)建立编译选项#vi Makefilesmdk2410_config:unconfig$(MKCONFIG) $(:_config=) arm arm920t smdk2410 NULL s3c24x0qq2440_config:unconfig$(MKCONFIG)
22、$(:_config=) arm arm920t qq2440 NULL s3c24x0arm: CPU的架构(ARCH)arm920t: CPU的类型(CPU),其对应于cpu/arm920t子目录。qq2440: 开发板的型号(BOARD),对应于board/qq2440目录。NULL: 开发者/或经销商(vender),本例为空s3c24x0: 片上系统(SOC)(5)编译将:ifeq ($(ARCH),arm)CROSS_COMPILE = arm-linux-endif修改为:ifeq ($(ARCH),arm)CROSS_COMPILE = arm-softfloat-linux-
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 嵌入式 系统 小车 设计 实现
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【可****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【可****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。