目录0摘要………………………………………………………………………………………………………11引言…………………………………………………………………………………………………………21系统方案选择与论证………………………………………………………………………………………21.1总体设计方案……………………………………………………………………………………31.2部分模块设计方案…………………………………………………………………………………31.2.1主控芯片选择方案………………………………………………………………………31.2.2操作系统及选择方案……………………………………………………………………31.2.3GPS模块设计方案…………………………………………………………………………31.2.4显示模块设计方案………………………………………………………………………31.2.5地图文件存放方案……………………………………………………………………错误!未定义书签。1.3总体方案确定………………………………………………………………………………………42系统硬件设计2.1主控芯片电路………………………………………………………………………………………52.2flash芯片电路……………………………………………………………………………………72.3串口电路…………………………………………………………………………………………82.4usb接口电路……………………………………………………………………………………92.6系统总线及lcd接口电路…………………………………………………………………………92.5电源电路…………………………………………………………………………………………103系统的软件设计…………………………………………………………………………………………103.1程序结构框图……………………………………………………………………………………103.2Maintab类………………………………………………………………………………………113.3Mainwidget类…………………………………………………………………………………123.4config类………………………………………………………………………………………123.5map类……………………………………………………………………………………………133.6gps_diver类…………………………………………………………………………………143.7staSNR类………………………………………………………………………………………153.8debug_PDF类…………………………………………………………………………………163.9Makefile文件…………………………………………………………………………………163.10地图文件(mapinfo.txt文件)………………………………………………………………错误!未定义书签。4测试………………………………………………………………………………………………………164.1操作系统烧写测试………………………………………………………………………………164.2卫星接收测试……………………………………………………………………………………184.3地图显示测试……………………………………………………………………………………204.4GPS信号检测测试…………………………………………………………………………………错误!未定义书签。4.5功耗测试…………………………………………………………………………………………234.6其他测试…………………………………………………………………………………………234.7测试结果分析……………………………………………………………………………………235总结………………………………………………………………………………………………………231参考文献:…………………………………………………………………………………………………23谢:………………………………………………………………………………………………………24录:………………………………………………………………………………………………………24基于ARM-LINUX的GPS导航系统李双元(西安交通大学城市学院计算机科学与技术08级)摘要:本系统由GPS数据采集并显示、地图显示两大部分组成,模拟GPS导航的过程。通过GPS模块、arm11硬件环境、嵌入式LINUX操作系统、TFT触摸屏等模块来完成整个体系的运作,使其实时采集GPS数据,然后将GPS数据对应的地图显示出来,再利用串口将数据送入PC机数据库中实现查询等一系列功能。本设计的特点在于界面友好、用户易操作、功耗低、便于长时间户外导航。关键词:ARM11;LINUX;GPS;C++语言;SHELL编程;嵌入式Linux操作系统;S3C6410TheARM-LINUX-basedGPSnavigationsystemZhuHeng(Institute:InstituteofPhysicsandElectronicInformationProfessional:AppliedElectronicTechnologyEducationYear:06Instructor:ZHOUYong-hong)Abstract:ThissystemconsistsofGPSdatacollection,mapdisplaycomposedoftwoparts,simulatedGPSnavigationprocess.ThroughtheGPSmodule,arm11hardwareenvironment,embeddedLINUXoperatingsystem,TFTtouchscreenandothermodulestocompletetheoperationoftheentiresystemtocollectreal-timeGPSdata,GPSdataandthendisplaythecorrespondingmap,re-usethedataintothePCserialportmachineinthedatabasequeries,andsotoachieveaseriesoffunctions.Thisdesignfeatureisuser-friendly,usereasyto2operate,lowpowerconsumption,easytonavigatealongtimeoutdoors.Keywords:ARM11;LINUX;GPS;C++language;SHELLprogramming;Embeddedlinuxoperatingsystem;S3C64100引言GPS是英文GlobalPositioningSystem(全球定位系统)的简称,而其中文简称为“球位系”。GPS是20世纪70年代由美国陆海空三军联合研制的新一代空间卫星导航定位系统。其主要目的是为陆、海、空三大领域提供实时、全天候和全球性的导航服务,并用于情报收集、核爆监测和应急通讯等一些军事目的。随着人民生活水平的法杖,GPS技术被越来越多的应用在个人PDA、个人车载终端、手机等个人设备上。人们通过手持GPS,能准确知道自己所在的位置,从实现到导航、确定旅游路线、获取地理信息等功能。本文介绍的GPS导航系统,以ARM作为主控芯片,配以GPS、TFT触摸屏、嵌入式LINUX操作系统,构建了一个集GPS信息显示、地图显示、语音导航为一体的完整系统。本系统在一定程度上推动了个人手持GPS导航设备研究的发展。1系统方案选择和论证1.1总体设计方案个人手持设备要求界面美观、功耗低、易于操作。系统应有彩色触摸屏;低功耗、高速度的处理芯片;带有嵌入式操作系统;GPS信息接收模块;sd卡用以存放地图;模块框图分别如图1所示:S3c6410TFT触摸屏Sd卡(存放地图)Gps模块Nandflash3图1系统结构框图Fig.1SystemStructureDiagram1.2部分模块设计方案1.2.1控制模块设计方案采用samsung公司的s3c6410。S3c6410采用ARM-Linux2.3.28的内核,实现了MMU、ARBA、BUS和Harvard高速缓冲体系结构。是一块高性能、低功耗的嵌入式芯片。可植入操作系统。在个人PDA领域应用及广。植入操作系统后,在用户GUI编程方面具有很大优势。内置AD/DA,便于扩展语音模块。1.2.2操作系统选择方案Linux操作系统广泛应用在嵌入式设备中,其源代码开放、免费;内核性能高效、多任务、可制定;完善的图形管理、文件管理机制;良好的开发环境、强大的工具集。可移植QT开发环境,可实现跨平台的编译,代码重用率高。1.2.3GPS模块选择方案采用串口接口GPS模块。优点:便于驱动,价格便宜。缺点:嵌入式linux的调试需要用到串口,若GPS模块占用了串口会造成调试不便。1.2.4显示模块设计方案采用TFT显示。TFT屏幕带有四线式电阻触摸膜,能实现触摸功能、便于用户操作。1.2.5地图文件存放方案采用外置sd卡。Sd卡读取速度相对较慢,且会增加成本。但能存放大量数据(1G~8G),地图更新升级也很方便。电源串口(调试及下载)41.3总体方案确定1)控制芯片:采用s3c6410arm11处理器2)液晶显示模块:采用4.3寸TFT真彩液晶屏幕块(480*272)3)GPS模块:采用三星公司的GPS模块4)nandflash:采用K9F1208;5)音频处理芯片:UDA1341TS;6)SD卡模块:采用金士顿公司的4GBSD卡;7)电源模块:插座;8)操作系统:采用嵌入式linux操作系统2系统的硬件设计与实现UT-S3C6410开发板是性能稳定、功能强大、高性价比的ARM11处理器开发板;专为消费类电子、工业控制、车载导航、行业PDA等电子产品的开发而设计,主要供广大企业用户进行产品前期软硬件性能评估验证、设计参考用,其小巧、紧凑、一体式的人性化外观设计也是高校、培训机构、嵌入式爱好者学习研究的最佳工具。如下图5图2主控芯片电路Fig.2Master-chipcircuitry2.1主控芯片电路主控芯片为s3c6410的6层核心板,该核心板性能稳定、工艺精良。67图2.1主控芯片电路Fig.2.1Circuitofultrasonictransmittingandreceiving2.2flash芯片电路2.2.1nandflash芯片电路Nandflash是操作系统的程序存储区,该芯片掉电不丢失数据、寿命长,可反复擦写。芯片容量128M。适合存放高密度数据结构图2.2.1主控芯片电路Fig.2.2.1Circuitofultrasonictransmittingandreceiving2.2.2norflash芯片电路Norflash是系统BIOS存储区。该芯片掉电不丢失数据、寿命长,可反复擦写。芯片容量8M。适合高速度、低数据密度的数据结构。8图2.2.2主控芯片电路Fig.2.2.2norflashchipcircuitry2.3串口电路采用max3232电平转换芯片与计算机通信9图2.3串口电路Fig.2.3Serialcircuit2.4usb端口电路采用usb2.0协议,usb接口用以连接gps模块图2.4usb端口电路Fig.2.4Drivingcircuit2.5系统总线及lcd接口电路10图2.5系统总线及lcd接口电路Fig.2.5Drivingcircuit2.6电源电路系统输入电压为DC5VC,通过LM1117-1.8、LM1117-33、MAX8869EU18芯片转换成系统需要的三种电压:1.8V、3.3V、1.25V图2.6电源电路Fig.6Powercircuit113系统的软件设计本系统的所有程序均采用C++语言编写,开发工具为QTembed2.0。程序定义了许多类来分别管理各