(毕业生论文)基于嵌入式系统小车寻物的设计与实现.doc
《(毕业生论文)基于嵌入式系统小车寻物的设计与实现.doc》由会员分享,可在线阅读,更多相关《(毕业生论文)基于嵌入式系统小车寻物的设计与实现.doc(38页珍藏版)》请在三一文库上搜索。
1、摘要 I 摘摘 要要 随着社会经济和科学技术的发展,嵌入式技术的应用越来越多走进人们的生活, 由于 Linux 具有对各种设备的广泛支持性,因此,能方便地应用于机顶盒、IA 设 备、PDA、掌上电脑、WAP 手机、车载盒以及工业控制等智能信息产品中。与 PC 相比,手持设备、IA 设备以及信息家电的市场容量要高得多,而 Linux 嵌入式系 统的强大的生命力和利用价值,使越来越多的企业和高校表现出对它极大的研发热 情。图像采集及无线通信技术是两大相当关键的应用门类,在各种场合的应用都相 当广泛,因此,我们通过开发一个智能小车,采用 S3C2440 核心板,L298N 作为 电机驱动,用摄像头实
2、现图像采集,Wifi 无线网卡实现数据传输,使其能够沿着轨 道寻迹,同时实施图像采集,把图像传输到后台服务器,达到以应用嵌入式 Linux 操作系统平台来建立一个实现远程寻物模型,便于查找物品,尤其适合在大型仓储 中应用,同时也能够对整个仓库进行监控,实现安全管理。 关键词:关键词:嵌入式系统 无线通信 ARM 图像采集 目录 II 目 录 摘摘 要要I 第一章第一章 绪论绪论1 1.1 设计背景1 1.2 嵌入式 LINUX发展现状及趋势1 1.3 方案论证2 1.4 采用的基本设计思路和要实现的基本功能3 第二章第二章 嵌入式嵌入式 LINUX 应用应用.4 2.1 嵌入式 LINUX开发
3、环境建立4 2.2U-BOOT的移植.4 2.2.1U-boot 简介 .4 2.2.2U-boot 目录结构 .5 2.2.3 主要功能.5 2.2.4 移植 u-boot .5 2.3LINUX内核移植8 2.3.1 配置 Linux 内核.8 2.3.2 网卡驱动添加.9 第三章第三章 系统硬件设计系统硬件设计12 3.1 控制主板12 3.2 电源电路的设计与分析14 3.3 驱动电路的设计与分析15 3.3.1 电机驱动电路的设计与分析.15 3.3.2 光电隔离电路的设计与分析.15 3.3.3 光耦光电管驱动电路设计与分析.16 3.3.4 码盘测速接口电路设计与分析.16 3.
4、4 寻迹电路设计与分析17 3.4.1 红外发射与接收管的基本工作原理.17 3.4.2 红外寻迹电路板的整体分布与抗干扰设计.17 3.4.3 红外寻迹板的基本工作原理.18 第四章第四章 系统软件设计系统软件设计20 4.1 主程序的设计20 4.2 寻迹算法20 4.3 红外传感器驱动的设计23 4.4PWM 驱动的设计23 4.5 无线通信的设计23 4.5.1 上位机程序.24 4.5.2 下位机程序.24 第五章第五章 系统测试系统测试26 5.1 测试环境26 目录 III 5.1.1 跑道图介绍.26 5.1.2 寻迹过程说明.26 5.2 通信测试27 5.2.1 图像采集测
5、试.27 5.2.2 系统软件测试.28 5.3 测试问题及解决办法30 第六章第六章 总结与展望总结与展望31 6.1 总结31 6.2 展望32 致致 谢谢33 参考文献参考文献34 第一章 绪论 1 第第一一章章绪绪论论 1.1设计设计背景背景 2010 年 4 月,为促进校企合作,引导企业参与赛项设计、提供技术支持和后 援保障,推动工学结合人才培养模式的改革与创新,引导高职教育在嵌入式技术高 速发展背景下的相应专业领域的教学改革与专业调整,检验高职学生在嵌入式技术 应用方面的职业能力以及质量、效率、成本和安全意识。全国职业院校技能大赛组 委会决定将“嵌入式产品开发”作为竞赛项目之一。
6、1.2嵌入式嵌入式 Linux 发发展展现现状及状及趋势趋势 关于嵌入式系统(Embedded Systems)的定义:以应用为中心、以计算机技术为 基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要 求的专用计算机系统。举例来说,大到油田的集散控制系统和工厂流水线,小到家 用 VCD 机或手机,甚至组成普通 PC 终端设备的键盘、鼠标、软驱、硬盘、显示 卡、显示器、Modem、网卡、声卡等均是由嵌入式处理器控制的,嵌入式系统市场 的深度和广度,由此可见一斑。尽管如此,它的市场价值也许仍然超过了您的想象: 今天,嵌入式系统带来的工业年产值已超过了 1 万亿美元。 自由开源
7、软件在嵌入式应用上受到青睐,Linux 日益成为主流的嵌入式操作系 统之一。随着 MOTOROLA 手机 A760、IBM 智能型手表 Watch Pad、SharpPDA、Zaurus 等一款款高性能“智能数码产品”的出现,以及 Motorola、Samsung、MontaVista、Philips、Nokia、IBM、SUN 等众多国际巨头的 加入,嵌入式 Linux 的队伍越来越庞大了。目前不少大学、研究机构和知名公司加 入了嵌入式 Linux 的开发工作,成熟的嵌入式 Linux 产品不断涌现。 2004 年全球嵌入式 Linux 市场规模已达 9150 万美元,2005 年有 1.3
8、36 亿美元, 2006 年有 1.633 亿美元,2007 年已达 2.011 亿美元,每年平均增长 30%。 一个完整的系统,当然要包括硬件和软件两个部分,这就好像必须要有丈夫和 妻子,才能组成一个完整的家庭。尽管嵌入式系统有着无比广阔的市场需求和发展 前景,但嵌入式系统的发展,多年来却经历了一个比相对后期产生的个人计算机 (PC)更为曲折和痛苦的历程。随着微处理器的产生,价格低廉、结构小巧的 CPU 和外设连接提供了稳定可靠的硬件架构,那么限制嵌入式系统发展的瓶颈,就突出 表现在了软件方面。尽管从八十年代末开始,陆续出现了一些嵌入式操作系统,比 较著名的有 Vxwork、pSOS、Nec
9、uleus 和 Windowss CE,但仍然有大量的嵌入式系 统摒弃操作系统于不顾,而仅仅包括一些控制流程。当然,我们可以说在嵌入式系 统相对简单的情况下,这些控制流程足以应付。但是,当嵌入式系统的功能复杂后, 也就是说需要提供更完善的服务的时候,简单控制逻辑就不够用了。毋庸置疑,对 于任何一个产品来说,服务的内容和质量,都是价值的源泉和生存的基础。我们不 妨做一个夸张而又通俗的比喻,也许雇一个保姆,能够解决生活的一部分后顾之忧, 淮安信息职业技术学院毕业设计论文 2 但一个真正意义上的家庭,必须需要一位妻子。那么是什么造成嵌入式系统领域大 量的黄金、钻石王老五至今孑然一身呢?特殊的人才有特
10、殊的需求,显然我们需要 的是一个身材苗条、容貌姣好、身体健康、聪慧善良、上得厅堂下得厨房,甚至不 向我们的工资袋多看一眼的贤内助,也就是说,嵌入式系统需要的是一套高度简练、 友善界面、质量可靠、应用广泛、易开发、多任务,并且价格低廉的操作系统。 人们可以发现,以上所说的要求简直就是在形容 Linux。更为令人心动的是, 除上述优点之外,Linux 与生俱来的优秀网络血统,更为今后的发展铺平了一条宽 广平坦的大路。这里的网络,并不仅仅指 Internet,关于 Linux 在 Internet 中的优势, 将需要专门著文论述,这里仅仅提醒大家注意的是另一个也许可以说较 Internet 更 为广
11、阔的市场:家庭网络。尽管全世界每分每秒都有成千上万的优秀软件工程师致 力于将个人电脑(PC)的操作系统变得更加简单易用,但令人遗憾的是,对某些特定 的年龄和社会阶层的人群来说,要想开启精彩的网络世界大门,依然有一道难以逾 越的门槛。事实就是社会上关于个人电脑的普及班和书籍依然铺天盖地,而我们却 从未听说过关于操作电视或者空调的培训。LINUX 系统和嵌入式设备的结合,无 疑将会对智能住宅及数字家电事业,注入无限澎湃的动力。这并不是什么超前的设 想,许多具有高前瞻性的企业,已经从研发阶段过渡到生产阶段,推出了多姿多彩 的嵌入式 LINUX 操作系统的 PDA、相机、或者更为概念化的咨讯家电。如推
12、出全 球最小的嵌入式操作系统内核夸克(QUARK),而闻名于世的网虎国际(XLinux), 已与 Intel 成功合作,将夸克应用于 Intel 去年推出的 strongARM 芯片上。人们可以 在这一平台上享受上网和听 MP3 的乐趣。而据我所知, LINUS 本人在归家的途 中已经在利用手机指令家中的咖啡壶为自己准备咖啡了。 1.3方案方案论证论证 基于嵌入式 Linux 智能小车基本组成是: 1)主控模块主要采用三星公司的 S3C2440 作为主控芯片,它是一种低功耗, 32 位 ARM9 处理器,具有强大的嵌入式操作系统运行能力,并具有丰富的外设接 口,核心板下面是扩展 MCU 外围部
13、件的一块电路板,包括 SD 卡接口、USB 接口、 多媒体(扬声器和话筒等)接口、网卡接口、摄像头接口、串行通信接口、LCD 液晶显示接口、按键和 LED 指示接口、I2C 和 SPI 接口、GPIO 接口、实时时钟电 源和系统总线扩展口等。 2)光电隔离接口驱动模块负责对整个机器人的供电系统进行控制,采用两组 电源,一组用于驱动电机运转,另一组用于 MCU 系统及接口电路供电,当两组之 间的器件需要信号传输的,可以有效的通过光电隔离进行,从而可靠的防止信号串 扰,避免因电机运转产生的强电磁波通过线路产生干扰。 第一章 绪论 3 3)该模块还实现将 ARM 发出的驱动信号通过光电隔离传送到电机
14、驱动芯片 上,从而控制四只直流电机的运转和停止。具体的,可控制直流电机转动方向、速 度(脉冲宽度控制,简称 PWM) 4)机器人摄像头接口模块,该模块实现对 ARM 和摄像头之间的信号进行传 输。一方面,ARM 通过该板下达对摄像头的采集命令;另一方面 ARM 板通过元 线网卡把采集到的图像传到上位机上,以便实时观察仓库中的物品。 1.4 采用的基本设计思路和要实现的基本功能 1)利用光电循迹技术,编程获取轨道信息,控制嵌入式智能小车能在轨道上 前进、后退、左转和右转。 2)当光电循迹板检测到特定的停止位置信息后,通过 GPIO 接口,将停止信 息传送给 ARM,ARM 立即下达命令停止直流电
15、机运转,使嵌入式智能小车在规定 的标记点上停止。 3)小车将停止点的信息用摄像头把实时图像用无线网卡传送到后台服务器, 服务器根据图像特征再给小车发送下一步运行指令。 淮安信息职业技术学院毕业设计论文 4 (应应该该是是奇奇数数页页开开始始 ) 第第二二章章嵌嵌入入式式 Linux 应应用用 2.1 嵌入式嵌入式 Linux 开开发环发环境建立境建立 通过运用 crosstool-0.43.tar.gz 脚本工具包来制作自己的交叉编译器。并且此编 译器能够编译 u-boot-1.3.4,linux-2.6.14 内核。本实验旨在让读者学会一种编译制 作交叉编译器的方法。在实际开发中,大多根据编
16、译目标,选择一些编译好的、经 过测试的交叉编译器。 crosstool 是由美国人 Dan Kegel(毕业于加(利福尼亚)州工学院)开发的一套可 以自动编译不同匹配版本 gcc 和 glibc,并作测试的脚本程序。下载地址: http:/ 在 http:/ CPU 和 GCC+Glibc 版本,哪些已经编译成功,哪些部分成功,哪些彻底失败。 制作之前确保你的系统中已经安装了下面的工具包:bison,flex,build- essential。如果系统没有这些软件包,必须进行安装。在 ubuntu 发行版中,使用 apt-get 命令即可非常方便的进行安装。 安装方法: 一、ubuntu 系统
17、中可以使用超级用户(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, FreeBSD,4.4BSD
18、, 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 的支持最完善。
19、其它系列 的处理器和操作系统基本是在 2002 年 11 月 PPCBOOT 改名为 U-Boot 后逐步扩充 的。从 PPCBOOT 向 U-Boot 的顺利过渡,很大程度上归功于 U-Boot 的维护人德国 第二章 嵌入式 Linux 应用 5 DENX 软件工程中心 Wolfgang Denk以下简称 W.D本人精湛专业水平和持着不懈 的努力。当前,U-Boot 项目正在他的领军之下,众多有志于开放源码 BOOT LOADER 移植工作的嵌入式开发人员正如火如荼地将各个不同系列嵌入式处理器 的移植工作不断展开和深入,以支持更多的嵌入式操作系统的装载与引导。 2.2.2U-boot 目目录
20、结录结构构 * board 目标板相关文件,主要包含 SDRAM、FLASH 驱动; * common 独立于处理器体系结构的通用代码,如内存大小探测与故障检测; * cpu 与处理器相关的文件。如 mpc8xx 子目录下含串口、网口、LCD 驱动及 中断初始化等文件; * driver 通用设备驱动,如 CFI FLASH 驱动(目前对 INTEL FLASH 支持较好) * doc U-Boot 的说明文档; * examples 可在 U-Boot 下运行的示例程序;如 hello_world.c,timer.c; * include U-Boot 头文件;尤其 configs 子目录下
21、与目标板相关的配置头文件是 移植过程中经常要修改的文件; * lib_xxx 处理器体系相关的文件,如 lib_ppc, lib_arm 目录分别包含与 PowerPC、ARM 体系结构相关的文件; * net 与网络功能相关的文件目录,如 bootp,nfs,tftp; * post 上电自检文件目录。尚有待于进一步完善; * rtc RTC 驱动程序; * tools 用于创建 U-Boot S-RECORD 和 BIN 镜像文件的工具。 2.2.3 主要功能主要功能 * 系统引导 支持 NFS 挂载、RAMDISK(压缩或非压缩)形式的根文件系统 * 支持 NFS 挂载、从 FLASH
22、中引导压缩或非压缩系统内核; * 基本辅助功能 强大的操作系统接口功能;可灵活设置、传递多个关键参数 给操作系统,适合系统在不同开发阶段的调试要求与产品发布,尤以 Linux 支持最 为强劲; * 支持目标板环境参数多种存储方式,如 FLASH、NVRAM、EEPROM; * CRC32 校验,可校验 FLASH 中内核、RAMDISK 镜像文件是否完好; * 设备驱动 串口、SDRAM、FLASH、以太网、LCD、NVRAM、EEPROM、 键盘、USB、PCMCIA、PCI、RTC 等驱动支持; * 上电自检功能 SDRAM、FLASH 大小自动检测;SDRAM 故障检测;CPU 型号;
23、* 特殊功能 XIP 内核引导。 2.2.4 移植移植 u-boot 建立自己的平台类型 (1)解压文件 淮安信息职业技术学院毕业设计论文 6 #tar jxvf u-boot-1.3.4.tar.bz2 (2)进入 U-Boot 源码目录 #cd u-boot-1.3.4 (3)创建自己的开发板: #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
24、退回 U-Boot 根目录:#cd / (4)建立编译选项 #vi Makefile smdk2410_config: unconfig $(MKCONFIG) $(:_config=) arm arm920t smdk2410 NULL s3c24x0 qq2440_config: unconfig $(MKCONFIG) $(:_config=) arm arm920t qq2440 NULL s3c24x0 arm: CPU 的架构(ARCH) arm920t: CPU 的类型(CPU),其对应于 cpu/arm920t 子目录。 qq2440: 开发板的型号(BOARD),对应于 bo
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业生 论文 基于 嵌入式 系统 小车 设计 实现
链接地址:https://www.31doc.com/p-3899334.html