大学毕业设计-基于ARM处理器的车载GPS系统_第1页
大学毕业设计-基于ARM处理器的车载GPS系统_第2页
大学毕业设计-基于ARM处理器的车载GPS系统_第3页
大学毕业设计-基于ARM处理器的车载GPS系统_第4页
大学毕业设计-基于ARM处理器的车载GPS系统_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、;.GPS设计报告基于ARM处理器的车载GPS系统课程名称:ARM9嵌入式 LINUX系统构建与应用学 院:电子与信息工程学院专 业:信息工程专业班 级:2007级(2)班小组成员:秦乙,胡天协,赵勇,徐康指导老师:杜景林项目索引:1、可行性分析编写目的第2页项目背景第2页要求和目标第3页技术可行性分析第3页经济可行性分析第3页2、 项目开发计划工作内容第4页组员分工第4页条件与限制第4页环境与预算第4页3、 概要设计目标第4页需求概述第4页软硬件要求第5页总体结构和模块设计第5页功能设计第6页4、详细设计(主要部分)服务器部分设计第6页车载GPS部分设计第11页5、用户操作说明功能特性第14

2、页应用环境第14页使用说明第14页6、测试计划和分析测试方案第15页结果与分析第15页7、项目开发总结所用时间第15页自我评价第15页成员贡献第15页参考资料第16页一、可行性分析1、编写目的 由所有组员一起讨论并提出建议与意见,对此次项目做一次全面的可靠的分析,以达到组员之间的协调一致、高度统一的态度。有利于今后各项工作的分配、执行与协作。说明项目从背景、技术能力,经济效益,以及社会因素等方面的可行性,评述为了合理地达到开发目标可供选择的各种可能实施方案,说明并论证所选定实施方案的理由。2、项目背景 现代人对于GPS都很不陌生了,有好多带GPS定位功能的产品都已经悄悄步入我们的生活,给我们的

3、生活工作带来了很多便利。而我们现在要做的基于ARM处理器的车载GPS导航系统这是由于现在GPS在民用上的普及而想要实现的其某一应用。随着现代社会人们生活水平的日益提高,汽车成为了现代人们居家出行的主要工具,尤其私家车越来越普及的的今天。车载GPS导航系统可以为出行车辆提供地图信息,可以为各车辆调度站与车辆交互信息等,有广泛的应用前景。虽然现在已经有各式的车载GPS系统已经问世了,但我们出于学习与实践的目的仍可以对此进行项目设想和创造,相信从中一定能学到很多。关于GPS的应用背景:1、GPS原理:24颗GPS卫星在离地面1万2千公里的高空上,以12小时的周期环绕地球运行,使得在任意时刻,在地面上

4、的任意一点都可以同时观测到4颗以上的卫星。 由于卫星的位置精确可知,在GPS观测中,我们可得到卫星到接收机的距离,利用三维坐标中的距离公式,利用3颗卫星,就可以组成3个方程式,解出观测点的位置(X,Y,Z)。考虑到卫星的时钟与接收机时钟之间的误差,实际上有4个未知数,X、Y、Z和钟差,因而需要引入第4颗卫星,形成4个方程式进行求解,从而得到观测点的经纬度和高程。 事实上,接收机往往可以锁住4颗以上的卫星,这时,接收机可按卫星的星座分布分成若干组,每组4颗,然后通过算法挑选出误差最小的一组用作定位,从而提高精度。 由于卫星运行轨道、卫星时钟存在误差,大气对流层、电离层对信号的影响,以及人为的SA

5、保护政策,使得民用GPS的定位精度只有100米。为提高定位精度,普遍采用差分GPS(DGPS)技术,建立基准站(差分台)进行GPS观测,利用已知的基准站精确坐标,与观测值进行比较,从而得出一修正数,并对外发布。接收机收到该修正数后,与自身的观测值进行比较,消去大部分误差,得到一个比较准确的位置。实验表明,利用差分GPS,定位精度可提高到5米。2、GPS应用基础:GPS(Global Positioning System),主要分三大块,地面控制站、卫星、接收机。主控制站,在美国科罗拉多。三个地面天线,五个监测站,分布在全球。主要是收集数据,计算导航信息,诊断系统状态,调度卫星这些杂事。卫星,有

6、27 颗,距离地面20200 公里。27 颗卫星有24 颗运行,3 颗备用。这些卫星已经更新了三代五种型号。卫星发射两种信号:L1 和L2。L1:1575.42MHZ, L2:1227.60MHZ。卫星上的时钟采用铯原子钟或铷原子钟,计划未来用氢原子钟。GPS应用有接收机,袖珍式、背负式、车载、船载、机载等等。一般常见的手持机接收L1信号,还有双频的接收机,做精密定位用的。 3、GPS接收机原理:3、要求和目标我们设计的车载GPS系统是用于管理调度某运输系统车辆的,采用C/S模式。要求:服务器能够接受和管理运输系统内所有的的车辆信息,包括车辆的车牌号、经纬度、车辆状态(空闲、出货,回程)、司机

7、及其信息、各时间信息等等;车载GPS能够定时向服务器传输当前车辆经纬度,显示GPS地图供司机寻路,响应服务器传输来的一些指令等等。目标:用VB、Delphi或C#编写服务器端,数据库采用SQL Server,希望开发的程序具有很好的通用性和延展性;而车载GPS端以ARM处理器和LINUX操作系统作为开发平台,通过采用ARM处理器可达到最大为60MHz的CPU操作频率,使得数据处理能力大大加强,同时,基于LINUX操作系统开发设计的软件具备了很强的扩展性和稳定性。4、技术可行性分析利用现有的技术,我们制定的方案是以Delphi为开发平台制作服务器端,而车载GPS端的GPS模块从市场购买,地图使用

8、Google或百度地图。对于我们小组的主要技术困难是如何实现服务器端与车载GPS端的信息通信,这是亟待解决的问题。小组成员只有4人,由各自能力分别负责不同方面。由于人数不多,技术性方面的工作也第一次尝试,规定时间也较短,可能不能够及时完成项目或做的很好。但技术理论上实现基于ARM处理器的车载GPS系统是可行的。5、经济可行性分析支出:主要车载GPS端的ARM嵌入式板、GPS模块和其他一些器件的的购买,预计400多元。收益:基于市场的车载GPS导航仪的报价大概800-900元,又由于我们服务的对象是用于管理调度某运输系统车辆的,具有专业性,能够取得更高的收益。收益/投资比将会很高,投资回收周期会

9、比较短。系统生存周期:主要是由硬件方面的购买的ARM嵌入式板和GPS模块决定,软件方面可以不断更新为客户维护。工作负荷量:关注于接收信息量多少达到多少可能会造成丢失,由后期项目测试得到结果。设备和软件变化对支出和收入的影响:设备成本比较低,价格波动不会太大,也就是支出的波动不会变化很大,更由于是高效益,在出现强力竞争现象前绝不会亏损,但服务人群比较有限(也是高效益的原因)。二、项目开发计划1、工作内容 参考资料的搜集,项目方案的讨论,Delphi制作服务器端,车载GPS端的开发,信息通信模块的制作,项目的测试分析,项目文档的编写总结。2、组员分工组员共四人:秦乙,胡天协,赵勇,徐康。由于人数较

10、少,所以共同负责协作的各个方面的工作内容。分工如下:参考资料的搜集:秦乙、徐康。项目方案的讨论:秦乙、胡天协、赵勇、徐康。Delphi制作服务器端:赵勇、秦乙。车载GPS端的开发:徐康、胡天协。信息通信模块的制作:赵勇、秦乙项目的测试分析:徐康、胡天协。项目文档的编写总结:赵勇、胡天协。3、条件与限制软件方面:Delphi、SQL Server、Linux系统。硬件方面:ARM嵌入式板、GPS模块、通信模块。限制主要来自于制作硬件模块没实验室,进行设计、焊接、加工等,还有经济方面的支出问题。4、环境与预算运行环境:服务器运行于Windows 2000、XP,Vista,Win7等广泛应用的操作

11、系统,并要求有SQL Server数据库;车载GPS端,安装于车辆内即可。预算:500多元,主要是制作ARM处理器的车载GPS端的支出。三、概要设计1、目标分析客户需求,设计SQL Server数据库中的各个表结构和关系。服务器端用Delphi编写,并连接SQL Server数据库,能显示各项信息数据并对其进行操作。用Socket编程,能向车载GPS传输一些简单命令和接受其由司机回馈的信息。车载GPS端能用ARM嵌入式板嵌入GPS模块,显示地图并传回服务器车辆的经纬度等有用信息。有简单的指令灯,使服务器能对运输系统中的车辆进行管理和调度;并有一些命令按钮,使司机能回馈服务器一些必要的信息。2、

12、需求概述 现代人们的生活理念和工作需要,诞生了许许多多的物流公司用于运送物品和货物。例如,由于网店的发展和影响,造成现在快递行业的红火;由于公司业务的范围扩张,雇佣运输人员专项运送货物等等。这些都需要调度和管理,尤其做大做多的时候,并且这种情况必将持续和发展。这也就产生了我们项目所提供服务的应用背景了。3、软硬件要求软件方面:Delphi开发程序、SQL Server数据库、Linux操作系统。硬件驱动程序操作系统应用技术软件 软件层次关系内核及 内核调试系内核移植 统 应用程序调试 嵌入式系统的软件:开发的特点是以面向过程为主,代码利用率高,规模小,实时性强。Linux操作系统负责管理嵌入式

13、硬件部分,控制各按键功能设置和应用软件。应用软件:Delphi开发程序用于编写服务器端的软件,SQL Server数据库用于设计、管理和存储车辆的各项信息。硬件方面:ARM嵌入式板、GPS模块、通信模块和一些电子元器件。CPU要有一定的处理能力,能够处理GPS和GSM的串行数据,能够完成较为复杂的GUI交互功能,对系统存储也有一定的要求,为了储存无法发送的信息,需要较大的空间。为了方便软件开发,CPU应当具有两个串口,并且能够在线调试。系统中的要完成的任务有:接收GPS数据;完成GUI交互并填充相应的数据结构,整理数据并通过GSM模块将数据发送上位机,必要时将数据储存到FLASH中,为了实现这

14、些任务的调度,需要操作系统的支持。选择适合的RAM,提供系统运行空间。使用市场上现有的GPS模块采集经纬度等信息。使用市场现有的GSM模块进行无线通信。使用LCD液晶屏来显示内容。尺寸合适,美观。外接电源口和数据通信口。面板设计具有一下按键:数字键 选择键 取消 确定 定位和发送键等。4、总体结构和模块设计总体结构采用C/S模式,即客户端/服务器模式。客户端为基于ARM处理器的车载GPS系统,服务器为Delphi编写的应用软件。服务器部分设计:管理员登录界面查询车辆信息查询车辆位置车辆调度按车牌查询按司机查询按状态查询按车牌号查询经度 纬度空闲出货回程空闲空闲出货回程Google或百度地图调度

15、信息车辆信息车辆信息车辆信息服务器部分设计图:车载GPS部分设计: 车载GPS部分设计图5、功能设计服务器端:1、 用户登录,修改密码,查询并显示各项信息数据,修改或删除各项信息数据等的基本的面向用户操作的功能。2、 用Socket编程,能向车载GPS传输一些简单命令和接受其由司机回馈的信息。3、 能由经纬度下载并显示Google地图(放大系数确定地图大小),并实现保存和下次调用时的读取。 车载GPS端:1、显示地图并传回服务器车辆的经纬度等有用信息。2、有简单的指令灯,使服务器能对运输系统中的车辆进行管理和调度3、有一些命令按钮,使司机能回馈服务器一些必要的信息。 四、详细设计(主要部分)1

16、、服务器部分设计 (1)主界面窗口设计菜单项:登录、查询、调度、退出。登录:用户登录、密码修改。查询:查询车辆信息、查询车辆位置。调度:空闲出货、回程空闲、增加车辆信息。界面下方的SpeedButton,同样实现菜单项中的各项功能,方便用户操作。主界面截图 (2)用户登录和密码修改窗口设计登录界面用户名直接从数据库的表中读取到Combobox的items里,用户可以自己输入或者直接选取,方便用户操作。登录后菜单栏的查询和调度,以及相应的SpeedButton都变为可用,重新登录输错,变为无用。登录界面截图密码修改界面用户名同样直接可选或输入。原密码输入后离开后方会判定输入正确与否的提示下面两次

17、输入新密码,重复密码离开后后方会判定是否相同的提示。同时密码正确和两次密码相同,才能完成密码修改,否则会有提示框提示错误。密码修改界面截图(3)查询车辆信息界面用RadioGroupBox选择查询方式,分别有按车牌、按状态、按货物、按司机、按车型和查询所有。查询所有,选择后直接查询结果。其他的先按它的方式从选择数据库的表中这组信息放到下面Combobox的列表中,再选择要查询的内容时查的结果。查询车辆信息界面截图(4)查询车辆位置窗口设计同样从数据库中读到车牌号放入Combobox的列表中,下方的两个编辑框显示其经纬度信息,设为只读。右侧是放大系数的选择,从0-18。点查询位置就可查询地图。由

18、此按经纬度和放大系数得到Google的地图的URL,并下载下来存到maps文件夹里。下次运行直接读取本地文件,不存在时才再次下载。这里计算URL的算法大致原理如下:Google卫星图片服务器,由不同层次的256x256大小的jpeg图片无缝拼接而成。zoom=1时,全球只有一个256x256的图片,它的中心经纬度为(0,0),其范围是地球按等角纵切圆柱投影后,左右为从西径180度到东径180度,上下范围为从南180度到北180度(这里并不是完全按地球南北只有90度进行划分),中点为赤道与中央子午线的交点,其编码为t。当zoom=2时进行第二级编码,即从中点开始上下左右从中分成相等的四等份,从左

19、上开始按顺时针方向分别编为左上q,右上r,右下s,左下t,每一块的编码就为:tq,tr,ts,tt。依此类推,每增大一级编码,就放大一倍,每一块都从中分为四块进行下一级编码,编码在前组编码的基础上再分别加上q,r,s,t。即一级编码由一个字母组成,二级编码由两个字母组成,三级由三个字母组成,其它级依次类推,不同地区提供下载的图层级数不尽相同,最多可分到21级。对于全球全部卫片的管理来讲,这种编码方法是最好的,是典型的金字塔索引编码方法,采用这种编码要得到某一个图块编号后,用算法将字符串编号换算成数值分别为地图编号x,y。最后可得地址http:/mt%从网上下载的地图文件不能被Image直接读取

20、,会报错,可能是本身的文件类型和我保存的后缀不同。所以改用了gdiplus插件,直接画到容器上显示。显示的地图只是一个256 x256的图片,放大系数调大后再查询得到下一层更大的图片。以全球地图为准按比例,将经纬度的点显示在地图上。由于每张图的缩放比不一,这个算法也不怎么精确。查询车辆位置界面截图(5)调度窗口设计调度窗口由空闲出货、回程空闲调用,调用时,空闲出货把车辆状态的更新信息设成出货,而回程空闲把车辆状态的更新信息设成空闲,也可选择更改,主要是先配置一些内容方便用户更新信息。车牌号同样从数据库中读取后放入Combobox的列表中。调度窗口的主要功能实现是更新信息和删除信息:1、更新信息

21、:选择车牌号,在原信息模块显示各项信息,都为只读;更新信息模块,在选车牌号的同时,也读取了原信息,用户只需修改需要更新的信息即可。2、删除信息:根据车牌号,删除两张数据表中的这个车牌号的信息。删除前询问用户是否删除。更新、删除信息成功后都会提示用户,并刷新一遍数据,包括Combobox的列表。调度窗口界面截图(6)增加车辆信息窗口设计:向数据库的表中插入新的车辆信息。用于管理员增加车辆信息。车辆状态和车型可选择或编辑,经纬度的编辑框只能输入数字。(7)其他:1、所有窗口的建立都是动态的,减少占用缓存空间。2、注意各个字段是否允许为空,对更新和插入操作设提示信息。3、窗口显示时候的焦点设置。4、

22、小点显示经纬度位置,是直接按照第一张图的比例定为位的,放大后由于伸缩比不同,小点位置的是不对的,算法不正确。增加车辆信息界面截图2、车载GPS部分设计(1)车载GPS定位系统的硬件设计本部分介绍车载GPS定位系统硬件系统的设计方案,着重阐述嵌入式处理器AT91RM9200硬件系统的设计,GPS卫星数据采集模块的接口设计和GPRS通信模块接口的设计。如图1所示,车载GPS定位系统的硬件结构主要由GPRS接收模块、GPS接收模块、SDRAM,FLASH存储器模块、串口通信模块,以及外围模块组成。图1 车载GPS定位系统的硬件结构组成 GPRS接收模块电路设计GPRS模块负责主电路板与监控中心的通信

23、任务,它将处理好了的GPS数据通过网络发送给监控中心,并接收监控中心发送给主电路板的控制命令,该模块直接影响到这个车载终端的实际使用效果。本系统选用的GPRS模块是由索尼爱立信公司推出的GR47模块,该模块的主要特点是内置TCP/TP协议栈。它允许一个TCP/UDP传输机制以最小的前期配置和操作来被使用。其内嵌控制器方便集成客户的应用,减少外部控制器的需求。GR47支持双频GSM宽带900MHz/1800MHz,可通过SMS短消息服务、CSD、HSCSD或GPRS来发送或接收资料,并可处理语音及传真。其TCP/IP协议栈也可通过AT命令或嵌入式应用进行访问。由于GR47模块内嵌了TCP/IP协

24、议栈,所以可以直接用AT命令对其进行控制,使用起来非常方便。图2描述了GPRS通信模块的串口电路设计。 图2 GPRS模块的串口电路设计图 GPRS模块的SIM卡电路设计GR47模块带有一个SIM卡的接口,遵从IS07816 IC卡标准。通过电线与外部扩展的SIM卡盒相连。图3描述了GPRS模块的SIM卡电路设计。图3 GPRS模块SIM卡电路设计图 GPS接收模块电路设计GPS模块负责接收GPS定位卫星发送的导航电文,他通过串行接口与主电路板相连接,是实现接收GPS数据的关键。对于GPS模块的选择而言,通常从技术参数,支持的通信协议,控制接口和成本几个方面考虑。目前商用的GPS模块,大都支持

25、12通道,采用C/A编码,NMEA0183协议,通过RS232接口控制。本系统选用的GPS卫星数据采集模块为上海丽浪公司出品的GPS-R25型GPS模块,具有以下特性:12通道C/A码接收控制,可同时监控12路卫星信号;内部集成16位ARM7TDMI处理内核;电池会在正常的使用过程中充电;GPS卫星采集模块的误差范围为15米;2种接口连接且用户可自选波特率;达到工业级的标准并且防水。并且该模块即可以通过RS-232的串口与主电路板相连接,也可以通过PS2接口与主电路板相连接,使用起来非常方便。 FLASH存储器电路设计Flash存储器是一种可在系统电擦写,掉电后信息不丢失的存储器。作为一种非易

26、失性存储器,Flash在系统中通常用于存放程序代码、常量表以及一些在系统掉电后需要保存的用户数据等。系统采用了一片K9F5608U0A的NAND型Flash,K9F5608U0A是三星公司生产的K9XXXXXU0A系列闪存中的一种,32MB容量,读写速度快,数据保存时间长以及高达10万次的擦除写入寿命等优点。该芯片具有一个八位的I/O端口。在CE为低电平时,把WE置低,地址、命令和数据都可通过该端口写入。数据在WE的上升沿被锁存,CLE和ALE分别用来控制对命令和地址的锁存。同时K9F5608U0A具有较强的纠错功能,能够最大限度地保护用户数据。 SDRAM存储器电路设计SDRAM存取速度大大

27、高于Flash存储器,具有读/写的属性,因此SDRAM在系统中主要用作程序的运行空间,数据及堆栈区。系统启动时,CPU首先从复位地址0x0处读取启动代码,在完成系统的初始化后,程序代码一般应调入SDRAM中运行,以提高系统的运行速度,系统及用户堆栈、运行数据也都放在SDRAM中。在主电路板中用HY57V281620型SDRAM.。系统采用两片HY57V281620并联构建32位的SDRAM存储器系统,其中一片为高16位,另一片为低16位,可将两片HY57V281620作为一个整体配置到任意一个外部存储器的区域。SDRAM存储器电路设计如图4所示。图4 HY57V281620的连接框图(2)车载

28、GPS定位系统的软件设计车载GPS系统的应用程序在功能上可以分为7个功能模块,即初始化模块,控制模块,GPS数据获取模块,上行数据转换模块,用户界面模块,通信模块和下行数据处理模块。初始化模块主要实现对串口的初始化及把所有的标志位置零;控制模块主要是根据上位机的命令来执行相应的操作,比如采集GPS数据,发送当前行车状态等;用户界面模块主要功能就是把GPS数据,状态数据等在触摸屏上显示出来,同时还要可以响应触摸屏上的中断,以便实现通过触摸屏操作车载终端的功能。GPS数据获取模块的主要功能就是通过与串口相连接的GPS模块获取当前的GPS信息;在本程序中用的是GPRMC定位语句,将忽略其它信息。提取

29、GPRMC语句的思路是设置一个数据缓冲区,把接收到的GPS数据都放入这个缓冲区,当缓冲区满了的时候就在缓冲区中查找是否接受到GPRMC定位语句,如果没有接收到则重新接收GPS数据。如果找到了GPRMC定位语句则还要判断该语句在缓冲区中的位置离缓冲区的最大字节数是否大于62个字节。(因为本程序中需要的GPRMC定位语句所包含的字节数为62)上行数据转换模块的主要功能是把接收到的GPS数据或是相关的状态信息转换成约定好的数据格式以便同监控中心的通信。该模块会判断需要转换的数据是GPS数据信息还是相关状态信息或是两者都有,然后选择相应的转换程序。由上面的介绍可以知道接受到的GPS数据都是顺序存放在数

30、据缓冲区当中的,需要什么数据就到缓冲区中相应的位置提取就可以了。数据都是以字符形式存放的,所以实际要用的时候必须先转换成整形数据。下行数据转换模块的功能与上行数据转化模块的功能相反,它将监控中心发送的命令进行识别后发送给车载终端,并送用户界面模块显示。通信模块的主要任务是完成车载终端与监控中心的通信,它既可以通过GPRS网络实现与监控中心的无线通信,也可以通过网口与笔记本电脑连接进行通信。如果车载终端与上位机的距离隔的很远可以直接通过GPRS网络与监控中心进行连接,而且通过GR47模块连接GPRS网络与监控中心连接也非常方便,只用往GPRS模块发送几条AT命令就可以了,但是监控中心必须有能上因

31、特网的固定IP。启动车载终端的同时GR47模块也会被启动,这是模块会自动连接上GPRS网络进入命令模式。拨号成功以后就连接上了GPRS网络了,然后对于GR47模块连接的串口进行读写操作就可以实现与监控中心的无线通信了。通过网口进行通信则比较简单,直接采用Linux下的socket编程就可以实现。根据以上各个模块的功能的定义,软件部分主流程图如图5所示:图5 主程序流程图五、用户操作说明1、功能特性服务器端:用户管理操作信息,包括查询,调度,增加、更新、删除车辆信息等。向车载GPS端发送信息指令。车载GPS端:显示地图并传回服务器车辆的经纬度等有用信息。有简单的指令灯提示管理和调度的命令,并设按钮使司机能回馈服务器一些必要的信息

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论