基于ARM-LINUX的GPS导航系统_毕业论文
- 格式:doc
- 大小:1.33 MB
- 文档页数:89
毕业论文声明本人郑重声明:1.此毕业论文是本人在指导教师指导下独立进行研究取得的成果。
除了特别加以标注地方外,本文不包含他人或其它机构已经发表或撰写过的研究成果。
对本文研究做出重要贡献的个人与集体均已在文中作了明确标明。
本人完全意识到本声明的法律结果由本人承担。
2.本人完全了解学校、学院有关保留、使用学位论文的规定,同意学校与学院保留并向国家有关部门或机构送交此论文的复印件和电子版,允许此文被查阅和借阅。
本人授权大学学院可以将此文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本文。
3.若在大学学院毕业论文审查小组复审中,发现本文有抄袭,一切后果均由本人承担,与毕业论文指导老师无关。
4.本人所呈交的毕业论文,是在指导老师的指导下独立进行研究所取得的成果。
论文中凡引用他人已经发布或未发表的成果、数据、观点等,均已明确注明出处。
论文中已经注明引用的内容外,不包含任何其他个人或集体已经发表或撰写过的研究成果。
对本文的研究成果做出重要贡献的个人和集体,均已在论文中已明确的方式标明。
学位论文作者(签名):年月关于毕业论文使用授权的声明本人在指导老师的指导下所完成的论文及相关的资料(包括图纸、实验记录、原始数据、实物照片、图片、录音带、设计手稿等),知识产权归属华北电力大学。
本人完全了解大学有关保存,使用毕业论文的规定。
同意学校保存或向国家有关部门或机构送交论文的纸质版或电子版,允许论文被查阅或借阅。
本人授权大学可以将本毕业论文的全部或部分内容编入有关数据库进行检索,可以采用任何复制手段保存或编汇本毕业论文。
如果发表相关成果,一定征得指导教师同意,且第一署名单位为大学。
本人毕业后使用毕业论文或与该论文直接相关的学术论文或成果时,第一署名单位仍然为大学。
本人完全了解大学关于收集、保存、使用学位论文的规定,同意如下各项内容:按照学校要求提交学位论文的印刷本和电子版本;学校有权保存学位论文的印刷本和电子版,并采用影印、缩印、扫描、数字化或其它手段保存或汇编本学位论文;学校有权提供目录检索以及提供本学位论文全文或者部分的阅览服务;学校有权按有关规定向国家有关部门或者机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权大学可以将本学位论文的全部或部分内容编入学校有关数据库和收录到《中国学位论文全文数据库》进行信息服务。
在不以赢利为目的的前提下,学校可以适当复制论文的部分或全部内容用于学术活动。
论文作者签名:日期:指导教师签名:日期:安徽工程大学嵌入式课程设计基于ARM_LINUX的GPS导航系统基于ARM-LINUX的GPS导航系统前言GPS 是英文Global Positioning System(全球定位系统)的简称,而其中文简称为“球位系”。
GPS是20世纪70年代由美国陆海空三军联合研制的新一代空间卫星导航定位系统。
其主要目的是为陆、海、空三大领域提供实时、全天候和全球性的导航服务,并用于情报收集、核爆监测和应急通讯等一些军事目的。
随着人民生活水平的法杖,GPS技术被越来越多的应用在个人PDA、个人车载终端、手机等个人设备上。
人们通过手持GPS,能准确知道自己所在的位置,从实现到导航、确定旅游路线、获取地理信息等功能。
本文介绍的GPS导航系统,以ARM作为主控芯片,配以GPS、TFT触摸屏、嵌入式LINUX操作系统,构建了一个集GPS信息显示、地图显示、语音导航为一体的完整系统。
本系统在一定程度上推动了个人手持GPS导航设备研究的发展。
目录第1章系统方案选择与论证 (1)1.1总体设计方案 (1)1.2部分模块设计方案 (1)1.2.1 主控芯片选择方案 (1)1.2.2 操作系统及选择方案 (2)1.2.3 GPS模块设计方案 (2)1.2.4显示模块设计方案 (2)1.2.5地图文件存放方案 (2)1.3总体方案确定 (3)第2章系统硬件设计----------------------------------------------------------------------------------------------------42.1主控芯片电路 (4)2.2 flash芯片电路 (6)2.3串口电路 (7)2.4 usb接口电路 (8)2.5系统总线及lcd接口电路 (9)2.6电源电路 (9)第3章系统的软件设计 (11)3.1程序结构框图 (11)3.2 Maintab类 (12)3.3 Mainwidget类 (13)3.4 config类 (13)3.5 map类 (14)3.6 gps_diver类 (15)3.7 staSNR类 (17)3.8 debug_PDF类 (17)3.9 Makefile 文件 (18)3.10 地图文件(mapinfo.txt文件)………………………………………………………………错误!未定义书签。
第4章测试 (18)4.1操作系统烧写测试 (17)4.2 卫星接收测试 (18)4.3地图显示测试 (20)4.4GPS信号检测测试…………………………………………………………………………………错误!未定义书签。
4.5功耗测试 (24)4.6其他测试 (23)4.7测试结果分析 (23)5总结 (23)参考文献: (23)致谢: (24)附录: (24)第1章系统方案选择和论证1.1 总体设计方案个人手持设备要求界面美观、功耗低、易于操作。
系统应有彩色触摸屏;低功耗、高速度的处理芯片;带有嵌入式操作系统;GPS信息接收模块;sd卡用以存放地图;模块框图分别如图1所示:1.2 部分模块设计方案1.2.1 控制模块设计方案方案一:采用凌阳公司的16位单片机,它是16位控制器,具有体积小、驱动能力高、集成度高、易扩展、可靠性高、功耗低、结构简单、中断处理能力强等特点。
用于语音处理和识别等领域。
满足系统GPS模块和语音导航功能的需要。
由于本系统需要彩色人机交互界面,对处理速度要求较高,故不采用。
方案二:采用samsung公司的s3c2440。
S3c2440采用ARM920t内核,实现了MMU、ARBA、BUS和Harvard高速缓冲体系结构。
是一块高性能、低功耗的嵌入式芯片。
可植入操作系统。
在个人PDA领域应用及广。
植入操作系统后,在用户GUI编程方面具有很大优势。
内置AD/DA,便于扩展语音模块。
故选用此芯片为主控芯片。
1. 2. 2 操作系统选择方案Linux操作系统广泛应用在嵌入式设备中,其源代码开放、免费;内核性能高效、多任务、可制定;完善的图形管理、文件管理机制;良好的开发环境、强大的工具集。
可移植QT开发环境,可实现跨平台的编译,代码重用率高。
1.2.3 GPS模块选择方案方案一:采用串口接口GPS模块。
优点:便于驱动,价格便宜。
缺点:嵌入式linux的调试需要用到串口,若GPS模块占用了串口会造成调试不便。
故不采用方案二:采用usb接口GPS模块。
优点:便于携带、连接开发板。
缺点:驱动相对较难、价格相对较贵。
为了便于调试和携带,采用usb接口GPS模块。
1.2.4显示模块设计方案方案一:采用LCD显示。
液晶显示屏(LCD)具有轻薄短小,低耗电量。
但不能实现触摸功能,故部采用。
方案二:采用TFT显示。
TFT屏幕带有四线式电阻触摸膜,能实现触摸功能、便于用户操作,故采用。
1.2.5地图文件存放方案方案一:采用s3c2440核心板内置nand flash 存放。
Nand flash 读取速度快。
但容量较小,只有128M,不适合存放大量地图数据,故不采用。
方案二:采用外置sd卡。
Sd卡读取速度相对较慢,且会增加成本。
但能存放大量数据(1G~8G),地图更新升级也很方便。
故采用。
1.3 总体方案确定1)控制芯片:采用s3c2440 arm9 处理器2)液晶显示模块:采用NEC TFT 3.5 寸屏幕3) GPS模块:采用三星公司的GPS-USBII模块4) nand flash:采用 K9F1208;5) nor flash:采用 AM29LV160DB5)音频处理芯片: UDA1341TS;6) SD卡模块:采用金士顿公司的 4GB SD卡;7)电源模块:采用两个8V可充电锂电池;8)操作系统:采用嵌入式linux操作系统第2章系统的硬件设计与实现系统硬件采用友善之臂的s3c2440 mini2440开发板。
Mini2440 体积小,便于携带;接口丰富,易于扩展;功耗低,便于长时间户外导航。
Mini2440硬件特性如下图:图2 主控芯片电路2.1 主控芯片电路主控芯片为s3c2440的6层核心板,该核心板性能稳定、工艺精良。
图2.1 主控芯片电路2.2 flash芯片电路2.2.1 nand flash芯片电路Nand flash 是操作系统的程序存储区,该芯片掉电不丢失数据、寿命长,可反复擦写。
芯片容量128M。
适合存放高密度数据结构图2.2.1 主控芯片电路2.2.2 nor flash芯片电路Nor flash是系统 BIOS 存储区。
该芯片掉电不丢失数据、寿命长,可反复擦写。
芯片容量8M。
适合高速度、低数据密度的数据结构。
图2.2.2 主控芯片电路2.3 串口电路采用max3232电平转换芯片与计算机通信图2.3 串口电路2.4 usb端口电路采用usb2.0协议,usb接口用以连接gps模块图2.4 usb端口电路2.5 系统总线及lcd接口电路图2.5系统总线及lcd接口电路2.6 电源电路系统输入电压为DC5VC,通过LM1117-1.8、LM1117-33、MAX8869EU18芯片转换成系统需要的三种电压:1.8V、3.3V、1.25V图2.6 电源电路第3章系统的软件设计本系统的所有程序均采用C++语言编写,开发工具为QT embed 2.0。
程序定义了许多类来分别管理各个模块,通过对各个类的操作,来构建整个程序框架。
3.1 程序整体结构框图图3.1 maintab类流程图3.2 Maintab类Maintab 类负责程序外框基本定义及程序初始化图3.2 maintab类流程图3.3 mainwidgt类Mainwidgt类负责对各个按钮部件、页面部件的初始化图3.3 mainwidget 类流程图3.4 config类流程图Config类用以实现对地图路径、gps模块波特率的设置结束图3.4 config 类流程图3.5 map类Map类负责读取mapinfo文件里的地图,并显示对应地图。
地图显示算法:首先把地图分割成n*n小块。
然后系统通过得知整张地图四角的坐标,计算出地图每个像素点所对应的坐标。
最后根据读取的gps信息,找到对应的地图,并显示到lcd上。