基于单片机的GPS定位系统硬件设计.docx
《基于单片机的GPS定位系统硬件设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的GPS定位系统硬件设计.docx(25页珍藏版)》请在冰豆网上搜索。
基于单片机的GPS定位系统硬件设计
本科生毕业设计(论文)
基于单片机的GPS定位系统硬件设计
HardwareDesignofGPSPositionInformationProcessingSystemBasedonSingleChipComputer
总计:
20页
表格:
3个
插图:
10幅
学院(系):
电子与电气工程
专业:
电子信息工程
基于单片机的GPS定位系统硬件设计
[摘要]本文介绍了一项利用单片机采集和处理GPS定位信息的设计,实现全球定位功能。
该系统以ATMEL公司的AT89C51单片机为核心控制器件,通过串行口与GPS模块C3-370B通信,接收GPS模块输出的时间和定位信息,该输出信息格式采用NMEA-0183标准格式中的GPRMC语句。
单片机接收到定位信息和时间信息后,将GPS模块输出的时间信息进行时差调整,再将所获取的位置和时间信息通过显示终端显示。
经过调试后,本系统可以接收GPS定位信息和时间信息,并把经度、纬度和时间通过屏幕显示出来。
该系统主要由GPS模块、看门狗EEPROM模块、液晶显示模块及键盘组成,采用以AT89C51来控制各模块的设计思想。
本文对每个模块逐一进行了研究,全面详细地论述了硬件电路的设计,对本设计中各模块的工作原理及功能进行了详细的论述。
[关键词]单片机;GPS接收机;看门狗;液晶显示模块
TheHardwareDesignofGPSPositionInformationProcessingSystemBasedonSingleChipComputer
Abstract:
ThedesignofGPSpositioninformationprocessingsystembasedonsinglechipcomputerisintroduced.ThissystememploysATMEL’SAT89C51asacorecontroller,communicatingwithGPSmodule(C3-370B)inserialsport,receivesNMEA-0183standardformednavigatingdataoutputfromGPSmodule,amongwhichGPRMCisselectedtoacquiregeologicalinformationandtiminginformation.Finallytheacquiredgeologicalinformationandtiminginformationaredisplayedonthedisplayterminalafterproperdataprocessingsuchastimedifferencecorrection.Afterdebugging,thissystemcanreceiveGPSpositioninformationandtimeinformation,canmeanwhiledisplaylongitude,latitudeandtime.
ThesystemmainlyconsistsofGPSmodule,watchdogandEEPROMmodule,LCDmoduleandkeyboardmodule,withthedesignideasofuseAT89C51tocontroleachmodule.Thispaperstudieseachmoduleonebyone,acomprehensiveanddetailedexpositionofthehardwarecircuitdesignisgiven,whiletheprinciplesandfunctionsofthevariousmodulesarediscussedindetail.
Keywords:
Singlechipcomputer;GPSreceiver;watchdog;LCDmodule
1引言
本章主要介绍了研究该课题的背景及意义,简要叙述了GPS的发展历程,并概括出本设计的主要内容及特点。
1.1课题的背景及意义
GPS(GlobalPositionSystem)全球定位系统具有全天候、高精度的特点,随着硬件配置以及软件技术的发展,应用领域也在不断的扩展,并逐步深入到了人们的日常生活中。
GPS已经在经济、军事、科研和社会生活各领域得到了广泛应用,发挥着日益重要的作用。
作为导航领域内一种全新的技术,GPS全球定位系统主要利用卫星进行定位。
GPS最初由美国政府机构控制使用,是目前世界上最为成熟和完好的全球卫星导航系统。
它由30颗(4颗为备份星)在轨卫星组成。
早期的GPS系统对民用信号的定位精度限制为100米左右,2000年后则取消这一限制。
目前,GPS可以提供的民用信号定位精度为10米左右。
GPS现可应用于多领域,如民用航空,车辆调度管理,深海海运等整个海陆空范围内的导航等,特别是在目前的车载导航领域,GPS全球卫星定位技术更是具有广泛的应用。
随着应用领域的日益扩大,中国卫星导航仪的市场规模已从2000年的不到10亿元增长到了2009年的120亿元[1]。
对目的地及周边环境的精准查询需求带动了GPS导航产品市场的繁荣。
据相关统计,欧美国家GPS导航设备普及率达到90%,日本更是超过95%。
一项对3G应用的展望和创意的专业调查显示,17.79%的被调查者选择了3G网络视频对话,15.34%的被调查者选择了GPS/地图搜索,在3G时代来临之际,人们对GPS/电子地图的关注,足以显现它在日常生活中的重要性。
此外,消费及市场需求也促使导航产业发展和走向成熟。
2009年,我国民用汽车保有量就达到了一亿七千万辆,但是装载导航设备的车辆,还不足70万辆。
尽管不少汽车厂家对其高端车型在出厂前就安装了导航系统,对其他低端车型也会有选装导航产品的服务,但价格不菲的车载导航仪(花冠的GPS选装件一项就价值1.5万元,而后装型价格也在7000元左右)让不少买车的人放弃了实用性很强的导航配置。
按照私人汽车拥有量年均增速20%测算,对导航产品的需求也是一个很大的增量。
因此,对GPS进行研究和二次开发势在必行[2]。
1.2GPS的发展历程
(1)无线电导航系统
在卫星定位系统出现之前,远程导航与定位主要采用无线导航系统。
●罗兰—C:
工作在100KHz,由三个地面导航台组成,导航工作区域2000Km,一般精度200-300m。
●Omega(奥米茄):
工作在十几千赫。
由八个地面导航台组成,可覆盖全球。
精度几英里。
●多卜勒系统:
利用多卜勒频移原理,通过测量其频移得到运动物参数(地速和偏流角),推算出飞行器位置,属自备式航位推算系统。
误差随航程增加而累加。
缺点:
覆盖的工作区域小;电波传播受大气影响;定位精度不高。
(2)卫星定位系统
最早的卫星定位系统是美国的子午仪系统(Transit),1958年研制,1964年正式投入使用。
由于该系统卫星数目较少(5-6颗),运行高度较低(平均1000Km),从地面站观测到卫星的时间间隔较长(平均1.5h),因而它无法提供连续的实时三维导航,而且精度较低。
为满足军事部门和民用部门对连续实时和三维导航的迫切要求。
1973年美国国防部制定了GPS计划。
(3)GPS发展历程
GPS实施计划共分三个阶段:
第一阶段为方案论证和初步设计阶段。
从1973年到1979年,共发射了4颗试验卫星。
研制了地面接收机及建立地面跟踪网。
第二阶段为全面研制和试验阶段。
从1979年到1984年,又陆续发射了7颗试验卫星,研制了各种用途接收机。
实验表明,GPS定位精度远远超过设计标准。
第三阶段为实用组网阶段。
1989年2月4日第一颗GPS工作卫星发射成功,表明GPS系统进入工程建设阶段。
1993年底实用的GPS网即(21+3)GPS星座已经建成,今后将根据计划更换失效的卫星[3]。
1.3本设计的主要内容
本设计的主要目的是在单片机的理论基础上,选用ATMEL公司的AT89C51提取GPS模块的接收数据并由液晶显示接收数据。
使用NMEA输出命令,结合单片机串行通信知识能实现对GPS接收到的卫星信息进行提取,并在液晶显示平台上选择性的显示数据。
(1)GPS模块实现定位;
(2)单片机通过串口控制GPS模块,获得定位数据;
(3)根据需要把定位数据存储在EEPROM或在液晶显示模块进行显示;
(4)键盘实现功能选择;
(5)看门狗电路确保系统的可靠性。
2GPS系统的构成和工作原理
2.1概述
全球定位系统(GlobalPositionSystem简称GPS)是美国第二代军用导航系统,也是美国20世纪三大空间技术之一,是当今世界航天航空技术、无线电通讯技术和计算机技术的综合结晶。
可实现全球范围内的实时导航和定位。
太空卫星共有27颗,24颗运行,3颗备用。
24颗可操作的工作卫星以55°的倾角分布在地球上空2D~2DDKm的6个轨道面上。
这些卫星轨道上的分布状态使地球上的任何位置在任意时刻都可以同时收到至少6颗卫星的定位信息,这些卫星则不断地给全球用户发送位置和时间的广播数据[1]。
2.2GPS系统的构成
GPS系统包括三大部分:
空间部分—GPS卫星星座;地面控制部分—地面监控系统;用户设备部分—GPS信号接收机[4]。
(1)空间部分
GPS的空间部分是由24颗工作卫星组成,它位于距地表20200Km的上空,均匀分布在6个轨道面上(每个轨道面4颗),轨道倾角为55°。
此外,还有4颗有源备份卫星在轨运行。
卫星的分布使得在全球任何地方、任何时间都可观测到4颗以上的卫星,并能保持良好定位解算精度的几何图象。
这就提供了在时间上连续的全球导航能力。
GPS卫星产生两组电码,一组称为C/A码(Coarse/AcquisitionCode—11023MHz);一组称为P码(ProciseCode—10123MHz),P码因频率较高,不易受干扰,定位精度高,因此受美国军方管制,并设有密码,一般民间无法解读,主要为美国军方服务。
C/A码人为采取措施而刻意降低精度后,主要开放给民间使用。
(2)地面控制部分
地面控制部分主要由1个主控站,5个全球监测站和3个地面控制站组成。
监测站均配装有精密的铯钟和能够连续测量到所有可见卫星的接受机。
监测站将取得的卫星观测数据,包括电离层和气象数据,经过初步处理后,传送到主控站。
主控站从各监测站收集跟踪数据,计算出卫星的轨道和时钟参数,然后将结果分别送到3个地面控制站。
地面控制站在每颗卫星运行至上空时,把这些导航数据及主控站指令注入到卫星。
这种注入对每颗GPS卫星每天一次,并在卫星离开注入站作用范围之前进行最后的注入。
如果某地面站发生故障,那么在卫星中预存的导航信息还可用一段时间,但导航精度会逐渐降低。
(3)用户设备部分
用户设备部分即GPS信号接收机。
其主要功能是能够捕获到按一定卫星截止角所选择的待测卫星,并跟踪这些卫星的运行。
当接收机捕获到跟踪的卫星信号后,就可测量出接收天线至卫星的伪距离和距离的变化率,解调出卫星轨道参数等数据。
根据这些数据,接收机中的微处理计算机就可按定位解算方法进行定位计算,计算出用户所在地理位置的经纬度、高度、速度、时间等信息。
接收机硬件和机内软件以及GPS数据的后处理软件包构成完整的GPS用户设备。
GPS接收机的结构分为天线单元和接收单元两部分。
接收机一般采用机内和机外两种直流电源。
设置机内电源的目的在于更换外电源时不中断连续观测。
在用机外电源时机内电池自动充电。
关机后,机内电池为RAM存储器供电,以防止数据丢失。
目前各种类型的接受机体积越来越小,重量越来越轻,便于野外观测使用。
2.3GPS系统的工作原理
每颗GPS卫星时刻发布其位置和时间数据信号,用户接收机可以测量每颗卫星的信号到接收机的时间延迟,根据信号传输的速度可以计算出接收机到不同卫星的距离。
同时收集至少4颗卫星的数据时,就可以算出三维坐标、速度和时间。
24颗GPS卫星在离地面1万2千公里的高空上,以12小时的周期环绕地球运行,使得在任意时刻,在地面上的任意一点都可以同时观测到4颗以上的卫星。
由于卫星的位置精确可知,在GPS观测中,我们可得到卫星到接收机的距离,利用三维坐标中的距离公式,利用3颗卫星,就可以组成3个方程式,解出观测点的位置(X,Y,Z)。
考虑到卫星的时钟与接收机时钟之间的误差,实际上有4个未知数,X、Y、Z和钟差,因而需要引入第4颗卫星,形成4个方程式进行求解,从而得到观测点的经纬度和高程[5]。
3总体电路的设计
合理的电路设计原则要求单片机系统应具有可靠性高、操作维护方便、性价比高等特点[6]。
(1)可靠性
高可靠性是单片机系统应用的前提,在系统设计的每一个环节,都应该将可靠性作为首要的设计准则。
提高系统的可靠性通常从以下几个方面考虑:
使用可靠性高的元器件;设计电路板时布线和接地要合理;对供电电源采用抗干扰措施;输入输出通道抗干扰措施;进行软硬件滤波;系统自诊断功能等。
(2)操作维护方便
在系统的软硬件设计时,应从操作者的角度考虑操作和维护方便,尽量减少对操作人员专用知识的要求,以利于系统的推广。
因此在设计时,要尽可能减少人机交互接口,多采用操作内置或简化的方法。
同时系统应配有现场故障诊断程序,一旦发生故障能保证有效地对故障进行定位,以便进行维修。
(3)性价比
单片机除体积小、功耗低等特点外,最大的优势在于高性能价格比。
一个单片机应用系统能否被广泛使用,性价比是其中一个关键因素。
因此,在设计时,除了保持高性能外,尽可能降低成本,如简化外围硬件电路,在系统性能和速度允许的情况下尽可能用软件功能取代硬件功能等。
3.1总体硬件设计
在GPS系统的硬件设计中采用AT89C51单片机作为微处理器,AT89C51是美国ATMEL公司生产的低电压、高性能CMOS8位单片机,片内4Kbytes可反复擦写的Flash只读程序存储器(ROM)和128bytes的随机存取存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MSC-51指令系统,片内置通用八位中央处理器(CPU)和Flash存储单元[7]。
外围电路由键盘、看门狗及EEPROM模块、液晶显示模块、GPS模块组成,如图1所示。
图1硬件电路结构框图
系统硬件设计包括如下内容:
(1)键盘模块
本设计采用的是4×4的矩阵式键盘,直接与AT89C51的I/O口进行连接。
利用键盘实现数据信息选择性输出的控制。
(2)看门狗及EEPROM模块
程序运行时,看门狗需要程序每隔一段时间给它个信号,用以清空它的计数器;如果没有这个信号,计数器溢出,则会给处理器一个复位信号,使处理器强制复位,这样可以避免死机,提高系统的可靠性。
此外EEPROM可以存贮GPS接收到的定位数据以便对定位精度及误差进行估算。
(3)液晶显示模块
液晶显示模块要实现的功能是显示由单片机输出的定位信息,包括经度、纬度、高度的三维坐标及时间等。
可由单片机选择性的显示某一个数据或同时显示几个数据。
(4)GPS模块
GPS模块是整个设计中最重要的核心模块,该模块的功能是把内部接受到的定位数据通过串行通信的方式传递给单片机,由单片机进而对这些数据进行相应的控制和处理。
(5)电源电路
电源电路负责为各模块芯片供电,使各芯片在其工作电压范围内正常工作。
3.2AT89C51单片机
AT89C51是一种低功耗高性能单片机,有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,2个16位可编程定时计数器,2个全双工串行通信口。
其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本[8]。
本设计中各模块的I/O分配如表1所示。
表1I/O分配
模块名称
I/O分配
看门狗及EEPROM
P3口
液晶显示
P1、P2口
键盘
P0口
GPS
P3口
4各模块硬件设计
本设计采用模块化设计的思路将各模块与单片机相连接,分模块实现功能,最后整合各模块得到完整的硬件电路,总体硬件电路原理图见附录一。
4.1键盘电路设计
键盘是人机对话的纽带,操作人员可以通过键盘输入数据和命令。
键盘可分为非编码键盘和编码键盘两种,前者用软件来识别输入键和产生代码,后者则用硬件来识别输入键和产生代码。
图2键盘电路设计
本设计采用的是4×4的矩阵式键盘接口电路,这种键盘接口电路的优点是可以大量节省I/O口,并且在取m=n时最为显著。
键盘的硬件接口电路图如图2所示,用P0的8个I/O口连接4×4矩阵键盘即可满足。
其中,P0.4-P0.7为行线,P0.0-P0.3为列线[9]。
4.2看门狗电路设计
单片机应用系统的开发一定要考虑系统的可靠性设计,“看门狗”是系统可靠性设计的重要一环。
在一个单片机系统中,所谓的“看门狗”是指在系统设计中通过软件或硬件方式在一定的周期内监控单片机的运行状况。
看门狗电路一般有软件看门狗和硬件看门狗两种。
软件看门狗不需外接硬件电路,但系统需要让出一个定时器资源,这在许多系统中很难办到,而且若系统软件运行不正常,可能导致看门狗系统也瘫痪。
硬件看门狗是真正意义上的“程序运行监视器”,当程序跑飞或死机时,在规定的时间内没有收到单片机的清除信号,也就是我们通常所说的没有及时“喂狗”,RESET端输出复位脉冲,单片机强制复位,看门狗定时器清零,以保证系统在受到干扰时仍能维持正常的工作状态。
本系统设计采用X5045硬件看门狗电路。
4.2.1X5045芯片
X5045是美国Xicor公司生产的标准化8引脚集成电路,它将EEPROM、看门狗定时器、电压监控三种功能集合在单个芯片之内,大大简化了硬件设计,提高了系统的可靠性,减少了对印制电路板的空间要求,降低了成本和系统功耗,是一种理想的单片机外围芯片[10]。
X5045各引脚功能如下:
SO:
串行数据输出脚。
在一个读操作的过程中,数据从SO脚移位输出,在时钟的下降沿时数据改变。
SI:
串行数据输入脚。
所有的操作码、字节地址和数据从SI脚写入,在时钟的上升沿时数据被锁定。
SCK:
串行时钟。
控制总线上数据输入和输出的时序。
/CS:
芯片使能信号。
当其为高电平时,芯片不被选择,SO脚为高阻态,除非一个内部的写操作正在进行,否则芯片处于待机模式;当引脚为低电平时,芯片处于激活模式,在上电后,在任何操作之前需要CS的一个从高电平到低电平的跳变。
/WP:
当WP引脚为低电平时,芯片禁止写入,但是其他的功能正常;当WP引脚为高电平时,所有的功能都正常。
当CS为低电平时,WP变为低电平可以中断对芯片的写操作;但是如果内部的写周期已经被初始化后,WP变为低电平不会对写操作造成影响。
RESET:
复位输出端。
VCC:
电源端。
VSS:
接地端。
4.2.2X5045工作原理
X5045是一种集上电复位、看门狗、电压监控和串行EEPROM四种功能于一身的可编程控制电路,它有助于简化应用系统的设计,减少电路板的占用面积,提高可靠性[10]。
(1)上电复位
X5045加电时会激活其内部的上电复位电路,从而使RESET引脚有效。
该信号可避免系统微处理器在电压不足或振荡器未稳定的情况下工作。
当VCC超过器件的Vtrip限值时,电路将在200ms(典型)延时后释放RESET以允许系统开始工作。
(2)低电压检测
工作时,X5045对VCC电平进行监测,若电源电压跌落至预置的最小Vtrip以下时,系统即确认RESET,从而避免微处理器在电源失效或断开的情况下工作。
当RESET被确认后,该RESET信号将一直保持有效,直到电压跌到低于1V。
而当VCC返回并超过Vtrip达200ms时,系统重新开始工作。
(3)看门狗定时器
看门狗定时器的作用是通过监视WDI输入来监视微处理器是否激活。
由于微处理器必须周期性的触发CS/WDI引脚以避免RESET信号激活而使电路复位,所以CS/WDI引脚必须在看门狗超时时间终止之前受到由高至低信号的触发。
4.2.3X5045电路设计
X5045芯片内包含有一个看门狗定时器,可通过软件预置系统的监控时间。
看门狗定时器的预置时间是通过X5045的状态寄存器的相应位来设定的。
设置“看门狗”定时器的目的是使“看门狗”监控系统程序,在程序跑飞或系统“死机”后能够迅速使程序回到原位,而不会影响程序的正常功能。
图3看门狗电路连接图
X5045硬件连接图如图3所示。
WP与VCC同接电源使芯片所有功能正常,允许写入;SCK引脚与单片机的P3.4相连为芯片提供时钟信号;SI、SO引脚为串行数据输入、输出脚与单片机的P3.2、P3.3相连完成数据的读写操作;CS引脚为芯片使能端与单片机的P3.5口相连,控制芯片工作模式;RESET引脚与单片机的RST引脚相连,向单片机发送复位信号[11]。
4.3液晶显示模块设计
液晶显示模块以其微功耗、体积小、显示内容丰富、模块化、接口电路简单等诸多优点得到广泛应用。
液晶显示模块分字符型和点阵型两种,前者只能显示常用的字符,后者除可显示字符外还能显示各种图形和汉字。
本设计采用的是点阵型液晶显示模块TS12864A1。
4.3.1TS12864A1
TS12864A1是一种图形点阵液晶显示器,它主要由行驱动器/列驱动器及128×64全点阵液晶显示器组成。
可完成图形显示,也可以显示8×4个(16×16点阵)汉字。
带中文字库的12864是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块,其显示分辨率为128×64点,内置8192个16×16点汉字和128个16×8点ASCII字符集。
利用该模块灵活的接口方式和简朴、方便的操作指令,可构成全中文人机交互图形界面。
可以显示8×4行16×16点阵的汉字,也可完成图形显示。
低电压低功耗是其又一显著特点。
各管脚功能如表2所示。
表212864管脚说明
引脚
名称
功能
引脚
名称
功能
1
GND
接地
15
CS1
选择芯片(左半屏)
2
VCC
电源
16
CS2
选择芯片(右半屏)
3
VLCD
液晶显示器
驱动电压
17
RST
复位信号
4
RS
H:
数据输入;
L:
指令码输入
18
VEE
LCD驱动负电压
5
RW
H:
数据读取;
L:
数据写入
19
LED+
背光板电源(+)
6
EN
使能信号
20
LED-
背光板电源(-)
7-14
DB0-DB7
数据线
4.3.2TS12864A1基本特性
(1)低电源电压(VDD:
+3.0—+5.5V)。
(2)显示分辨率:
128×64点。
(3)内置汉字字库,提供8192个16×16点阵汉字(简繁体可选)。
(4)内置128个16×8点阵字符。
(5)2MHZ时钟频率。
(6)显示方式:
STN、半透、正显。
(7)驱动方式:
1/32DUTY,1/5BIAS。
(8)视角方向:
6点。
(9)背光方式:
侧部高亮白色LED,功耗仅为普通LED的1/