基于GPS模块的时钟设计与开发【开题报告+文献综述+毕业论文】

基于GPS模块的时钟设计与开发【开题报告+文献综述+毕业论文】

ID:464477

大小:867.27 KB

页数:43页

时间:2017-08-05

上传者:U-944
基于GPS模块的时钟设计与开发【开题报告+文献综述+毕业论文】_第1页
基于GPS模块的时钟设计与开发【开题报告+文献综述+毕业论文】_第2页
基于GPS模块的时钟设计与开发【开题报告+文献综述+毕业论文】_第3页
基于GPS模块的时钟设计与开发【开题报告+文献综述+毕业论文】_第4页
基于GPS模块的时钟设计与开发【开题报告+文献综述+毕业论文】_第5页
资源描述:

《基于GPS模块的时钟设计与开发【开题报告+文献综述+毕业论文】》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

本科毕业论文系列开题报告通信工程基于GPS模块的时钟设计与开发一、课题研究意义及现状近年来,随着卫星技术的发展,全球定位系统(GlobalPositioningSystem-GPS)也越来越广泛地渗透进了大众们的生活。目前,以GPS为代表的卫星导航应用产业已成为当今国际公认的八大无线产业之一。随着技术的进步、应用需求的增加,GPS以全天候、高精度、自动化、高效率等显著特点及其所独具的定位导航、授时校频、精密测量等多方面的强大功能,已涉足众多的应用领域,使GPS成为继蜂窝移动通信和互联网之后的全球第三个IT经济新增长点。GPS技术已被广泛的使用,特别是地理信息定位与时钟提取方面的应用。通过对GPS时钟系统的研究,有助于我们了解这项新兴的技术,GPS时钟,更是具有高精度、全天候、多功能的特点,信号接收可靠性高,不受地域条件和环境的限制,误差极低,且高效稳定,即使断电也不影响其正常工作。对广播电视系统的时间授时,同步锁定及车站、码头、机场、宾馆及户外广场等场合的时间显示提供了较大帮助。二、课题研究的主要内容和预期目标主要内容:GPS技术正发展迅速,已经透进了越来越多人们的生活中。通过了解GPS原理,特别是其中时钟提取协议,利用单片机设计一种基于GPS信息、带显示的时钟系统。预期目标:Protel99se等开发工具,学会原理图和电路板的设计。了解GPS的原理和其中的时钟提取协议,熟悉单片机串口编程、数码管显示技术,通过单片机把接收到的GPS信息,提取出时间信息,并发送至显示模块显示准确的时间。三、课题研究的方法及措施首先,确定硬件所要用到的元器件和芯片,有AT8951单片机芯片、电阻若干、三极管、LED显示数码管、MAX232芯片、GPS接收模块和导线等。接着,学会使用Protel99se电路设计软件,在熟悉了Protel99se 后,查阅相关文献,得到自己所设计电路的各个芯片的接线方法和引脚的功能后,便可绘制出简单的原理图。之后,便开始焊接电路板,将元器件和导线按照原理图的连接方法焊接在一起,完成后,检查电路焊接是否正确。通过串口,发送一组数据,若显示器发亮,表明电路正确无误。GPS模块接收到的信息主要通过AT89C51单片来提取其中的时钟信息,并通过单片机处理后,发送至数码管显示。设计代码之前,首先要了解51单片机的工作原理,查阅相关文献,了解单片机如何接受数据、处理数据、发送数据以及如何进行串口编程。接着,要了解NMEA协议。NMEA协议是为了在众多不同的GPS导航设备中,建立统一的标准而制定的。GPS的NMEA协议输出信息如下,例:GPRMC,013120.57,A,3707.4997,N,12705.4397,E,000.0,000.0,030705,,,A*54。其中013120.57代表在01:31:20.57UTC时锁定,即我们只要通过单片机,将GPS模块发送的数据中的“013120.57”提取出来,这便是GPS时间了。之后,要学会C语言编程,查找相关资料,熟悉C语言的变成和技巧。之后,使用C语言编写出提取GPS时间信息并能驱动显示电路显示的代码,通过89C51仿真与调试软件进行调试,成功完成功能后将编好的代码烧至单片机内。单片机读取时间信息后,发送至显示模块,这里的显示模块采用单片机直接驱动,加上4个三极管和1个四位数码管组成,十分简单。通过调校并测试,最后将GPS接收板通过串口连接到电路板上,正常工作后,便看到了数码管显示出的准确的GPS时间,设计完成。四、课题研究进度计划第一阶段(2010/2011第一学期第9周-第10周):查阅相关资料,了解GPS原理,特别是其中时钟信息,熟悉开发平台,Protel99se,并制定课题方案。第二阶段(2010/2011第一学期第11周-第12周):熟悉GPS模块的应用及其时钟信息提取,熟悉单片机串口编程、数码管显示技术,完成开题报告。第三阶段(2010/2011第一学期第13周-第14周):利用Protel99se软件画出初步的电路原理图,进行电路板的焊接和调试,利用C语言进行初步的编程。第四阶段(2010/2011第一学期第15周-第20周):完善程序设计的,并进行测试。开始撰写论文。第五阶段(2010/2011第二学期第1周-第3周):设计作品完善,修改完善论文并打印五、参考文献教师指定: [1]张凤举,王宝山编著.GPS定位技术[M].北京:煤炭工业出版社,1997.[2]刘光.C++Builder程序设计导学[M].北京:清华大学出版社,2002,5.[3]基于ATMELANTARIS高感芯片组的GPS接收模块[EB/OL],[2010-10-26].http://shuma.zhendan.net/corp-38682.html.[4]丁化成等著.AVR单片机应用设计[M].北京:北京航空航天大学出版社,2002,5.[5]BondL..OverviewofGPSinterferenceissues[J].Boston:GPSInterferenceSymposiumVolpeNationalTransportationSystemsCenter,1998,6:16~20.自己选择:[6]肖玲妮,袁增贵编著.Protel99se印刷电路板设计教程[M].北京:清华大学出版社,2003,8.[7]GPS系统的NMEA简介及应用[EB/OL],[2010-10-28].http://www.pcauto.com.cn/qcyp/rmlm/gpsdh/0709/584049.html.[8]王幸之,钟爱琴等编著.AT89系列单片机原理与借口技术[M].北京:北京航空航天大学出版社,2004,5.[9]王晓勇.C语言程序设计[M].北京:科学出版社,2007,2.[10]徐进,李涛.一种实用GPS授时系统的设计[J].西安工程科技学院学报,2007,12,21(6):840-844. 毕业论文文献综述通信工程常见数字时钟设计方法综述摘要:本文主要介绍了普通数字时钟和GPS数字时钟的设计方法及特点,阐述了在硬件及软件上的设计,最后分析了GPS时钟相比普通数字时钟的优点和应用前景。关键词:GPS;数字时钟.一、引言近年随着卫星技术的发展,全球定位系统(GlobalPositioningSystem-GPS)也越来越广泛地渗透进了大众们的生活,手持以及车载GPS的普及化让这个几年前还比较神秘的产品与人们的生活息息相关起来,GPS是具有高精度、全天候、多功能的特点,并且拥有全球覆盖能力的导航系统,该系统不但在导航定位以及测量方面有着广泛的应用,在精确授时方面也是目前全世界都广泛采用的重要方式。在电力系统,电视广播播出系统中,为取得通信网络的同步,GPS授时系统也得到了大量的应用。通过参阅相关资料,简单的介绍了普通数字时钟,以及主要介绍了GPS时钟的设计方案,通过对比,着重介绍了GPS时钟的优点和前景等。二、普通数字时钟的设计普通的数字时钟设计,我们在课程设计等都做过很多次,是比较简单的一种系统设计。普通的数字时钟设计要求具备能用LED显示时、分、秒,具备校时功能,可以对小时和分单独校时,时钟误差控制在很小的范围内。文献[1]介绍了其数字时钟设计的案,给出了设计原理图和各模块的引脚图。具备了以上所说的各项功能,附加了蜂鸣器正点报时的功能,采用了晶体振荡器提供标准时间的基准信号,保证了计时的稳定和准确。同样,文献[2]的数字时钟设计也实现了上述功能,但设计方法上有所区别。采用了74160芯片,74160具有异步清零的功能,一共使用了6片74160芯片,加上简单的门电路和晶体震荡,完成了数字时钟的设计。三、GPS时钟特点相比普通数字时钟,GPS因具有高精度、全天候、多功能的特点,并且GPS 接收天线重点考虑了防雷设计、稳定性设计、抗干扰设计,信号接收可靠性高,不受地域条件和环境的限制,以至于GPS时钟误差极低,且高效稳定,即使断电也不影响其正常工作。文献[3]介绍了GPS的基本原理,我们了解到什么是GPS,以及什么是GPS时间系统,可以了解到GPS的特点和其GPS时间系统的优点,帮助我们理解GPS系统。文献[4]介绍了GPS无线数据的通信影响,从侧面我们了解了GPS通信的优点,可靠性高,全天候,不受天气影响等。四、GPS时钟设计1、守时模块为了能够输出高精度和高稳定性的时钟,需要守时电路提供高精度实时时间信息,以及与北斗时间同步的高精度实时秒脉冲,并在系统掉电以后由电源/电池模块中的电池供电,继续保持时间的运行。守时电路包括频标模块、实时时钟模块、电源管理模块3个部分文献[5]和文献[6]中从GPS时钟守时电路设计开始,比较详细的介绍了守时电路如何设计及其守时原理,并且给出了守时系统指标参数选择。守时电路收到高精度标准时间信息后,对外部频率标准进行高精度分频计时,同时产生数字时间信息,并且产生与标准时间保持同步的时间信号,通过接口模块提供给处理器,守时电路保证了时间的连续性。2、授时模块GPS授时系统是利用接收机接收卫星上的“原子钟”时间信号,然后把数据传输给单片机进行处理并显示出时间的系统。卫星不间断的传输自身的星历参数和时间信息,授时系统接收到卫星发射信号中的时间信息的数据,通过串口,将这些数据传送给计算机,从而计算出准确的时间信息。文献[7]的GPS时钟设计采用了GPS授时系统,由GPs25一LVS系列OEM板闳、89C51单片机、MAX232、LED显示器等组成,以及其各部分的设计和参数和原理。同样,文献[8]的GPS时钟设计也是以GPSOME板为接受模块,围绕GPSOME板进行设计。因此,GPS授时模块包含接受、计算、显示于一身,是GPS时钟的重要组成部分。3、NMEA协议NMEA协议是为了在众多不同的GPS导航设备中,建立统一的标准,由美国国家海洋电子协会制定的一套通讯协议。在制作GPS时钟时,我们必须将NMEA协议的基本GPS数据读取出来,分析计算后,取出时间信息,再传送至计算机内。文献[9]简单的介绍了什么是NMEA协议,以及NMEA协议的用途,对我们了解NMEA协议有一定帮助。 文献[10]非常详细的介绍了NMEA协议的信息输出说明,例:GPRMC,013120.57,A,3707.4997,N,12705.4397,E,000.0,000.0,030705,,,A*54以下是各数据代表的意义:RMC推荐使用最小句型C013120.57在01:31:20.57UTC时锁定A状况A=活动的或B=限定的3707.4999,N北纬47度07.4999分12705.4396,E东经127度05.1396分000.0离开地面的速率000.0跟踪角度0307052005年7月3号*54校验和通过分析计算,我们将013120.57数据读取出来,用来显示GPS时间。文献[11]和文献[12]介绍了如何利用C语言在单片机上编程。利用单片机,接收器接受到GPS发送的数据后,通过计算和分析,将信息里的时间信息读取出来,并且传送至显示模块显示出来。五、结束语通过普通数字时钟和GPS时钟的设计,对比之下,可以了解到很多关于GPS这项新兴技术,它涉及到地球动力学、航空摄影测量、地籍测量、地址调查、海洋测绘、导航、气象领域等各个方面,GPS的出现,是人类的一大进步,随着人类社会的进步,GPS将越来越广泛的被使用到人们生活中。参考文献:[1]数字时钟的设计[EB/OL],[2010-10-20].http://download.csdn.net/source/846871.[2]数字时钟设计方案[EB/OL],[2010-10-20].http://hi.baidu.com/%D2%C1%DD%E7%B5%C4%D0%A1%C4%A5%B7%BB/blog/item/0dd726a64b353392d0435866.html.[3]BondL..OverviewofGPSinterferenceissues[J].Boston:GPSInterferenceSymposiumVolpeNationalTransportationSystemsCenter,1998,6:16~20.[4]Ching-YuangHuang,etal..ImpactofGPSRadioOccultationDataAssimilationon RegionalWeatherPredictions[J].GPSSolutions.2010,Vol.14(No.1):1~13.[5]王伟.高精度GPS同步时钟设计[EB/OL],[2010-10-20].http://www.cnkcch.com/loreFile/soft_20100119160946.pdf.[6]周启民.高精度守时电路设计及其在导航接收机的实现[D].武汉:武汉理工大学,2008.[7]徐进,李涛.一种实用GPS授时系统的设计[J].西安工程学院学报,2007,12,21(6):840-844.[8]GPS时钟系统技术方案[EB/OL],[2010-10-26].http://www.renhe.cn/offer/1157716.html.[9]GPS系统的NMEA简介及应用[EB/OL],[2010-10-28].http://www.pcauto.com.cn/qcyp/rmlm/gpsdh/0709/584049.html.[10]基于ATMELANTARIS高感芯片组的GPS接收模块[EB/OL],[2010-10-26].http://shuma.zhendan.net/corp-38682.html.[11]丁化成,李君凯等.AVR单片机应用设计[M].北京:北京航空航天大学出版社,2002,5.[12]王晓勇.C语言程序设计[M].北京:科学出版社,2007,2. 本科毕业设计(20届)基于GPS模块的时钟设计与开发摘要 本论文首先介绍了GPS的发展状况、关键技术及其应用,探讨了基于GPS模块的时钟开发研究的意义和方法。然后介绍了一种基于GPS模块的时钟设计方案,简单地分为GPS接收模块,单片机处理模块,显示模块。阐述了GPS时钟的开发前景,因GPS具有全天候、高精度、自动化、高效率等显著特点,成为近年来应用最广泛,最具发展前景的产业之一。本系统主要分为三部分:GPS接收器、单片机控制器以及显示器。单片机控制器通过UART串口与GPS接收器进行通信。GPS接收器得到定位信息,传送至单片机,单片机提取出时间信息,之后发送至显示器显示准确的时间。本文用硬件实验搭建系统,验证系统的可行性,并给出了系统的测试结果。结果表明该系统能顺利接收来自卫星的GPS数据,并能准确的显示了当前的北京时间。关键词:全球定位系统(GPS);数字时钟;微处理器 AbstractFirst,thispaperanalyzesthedevelopmentstatusofGPS,keytechnologyanditsapplication,discussesthesignificanceandmethodsofresearchanddevelopmentofGPSmoduleclock.ThenintroducesadesignschemeofclockbasedonGPSmodule,implydividedintoGPSreceivingmodules,ingle-chipprocessormodule,displaymodule.ExpoundsthedevelopmentofGPSclock,Becauseofitsall-weathe,high-precision,automation,highefficiency,andothernotablefeatures,becomethemostwidelyusedinrecentyears,andoneofthemostpromisingindustriesintheworld.Thissystemismainlydividedintothreeparts:theGPSreceivers,microcomputercontrolleranddisplays.CPUcontrollerthroughaserialportandGPSreceiversUARTtocommunicate.GPSreceiverstolocateinformation,transmittedtoCPU,CPUextractedtimeinformation,thensendtodisplaytheexacttime.Thispaperisuseshardwaredexperimentaltobuildingsystem,thefeasibilityofverificationsystem,andgivesthesystemtestresults.ThehardwaresystemcanreceivesmoothlyfromsatellitereceivingtheGPSdata,andcanexactlyshowscurrentBeijingtime.KeyWords:GlobalPositioningSystem(GPS);DigitalClock;CentralProcessingUnit 目录1概述11.1课题的背景和意义11.2研究开发内容和论文主要内容12GPS技术32.1全球卫星定位技术GPS技术32.2GPS时间系统42.3GPS主要核心芯片和协议53常见数字时钟的设计73.1常见数字时钟设计方案73.2GPS时钟基本设计方案93.3GPS时钟的特点94系统硬件设计104.1SR-87H模块介绍104.2微处理器系统104.2.1系统选用芯片介绍114.2.2晶振电路的设计114.2.3复位电路的设计114.2.4串口通信借口设计124.2.5接收传输模块的设计124.2.6显示模块的设计135系统软件设计155.1总体方案155.2单片机串口及中断软件设计155.3GPS信息获取及时间信息的提取166调试与运行结果196.1程序运行情况196.2单片机调试情况19 致谢21参考文献22附录1系统实物图23附录2实验原理图24附录3毕业设计作品说明书25附录4系统主要软件源代码26 -43- 1概述1.1课题的背景和意义全球定位系统(GlobalPositioningSystem-GPS)利用导航卫星进行测时和测距,是目前最先进、最广的卫星导航定位授时系统。它具有全天候、全球性和连续的精确三维定位能力,而且能实时地对相对运动载体速度、姿态测定以及精确授时。GPS已成为导航授时技术现代化的里程碑[1]。GPS时钟,更是具有高精度、全天候、多功能的特点,信号接收可靠性高,不受地域条件和环境的限制,误差极低,且高效稳定,即使断电也不影响其正常工作。对广播电视系统的时间授时,同步锁定及车站、码头、机场、宾馆及户外广场等场合的时间显示提供了较大帮助。本课题的设计采用高性能的单片机控制各个系统模块,来实现整个GPS时间系统。根据GPS系统将电路设计成模块,使设计和调试更加简便,硬件电路更加明朗。1.2研究开发内容和论文主要内容1、主要开发内容首先查阅大量的资料熟悉Keilc51编程仿真软件的使用,以及C语言编程基础与技巧,并且了解GPS定位原理,还需了解AT89C51单片机的一些重要参数及其开发过程,了解单片机如何接收数据、处理数据、发送数据以及如何进行串口编程。硬件设计方面,须熟悉protel99se软件的使用,学会电路原理图的设计和绘制。着重研究在Keilc51编程仿真软件的使用,利用C语言编写程序,以及在PC机上利用C语言开发GPS数据的接收和计算解析与数据提取。然后利用AT89C51单片机解析GPS数据,提取出我们所需的时间信息,所有的控制操作都由单片机处理。通过调试基本完成了从GPS模块接收卫星信号并通过串口接收数据发送至-43- 单片机,以及处理后发送显示模块显示的整个过程。本系统中,对卫星信号的接收采用一种专用的GPS模块:SR-87H模块。单片机定时从SR-87H模块接收GPS数据,数据的格式符合NMEA协议标准。从接收的数据中提取出时间信息,最后发送至显示模块,这里的显示模块采用单片机直接驱动,由4个三极管和1个四位数码管组成。若电路一切正常,最后便能显示出准确的时间信息。2、论文主要内容本文共分六章,主要介绍利用单片机技术实现从GPS卫星数据中提取时间信息并显示的设计方法。第一章重点介绍本课题的背景和主要工作内容。第二章介绍了普通数字时钟设计的一般方法以及GPS时钟的特点。第三章介绍了GPS技术,包括GPS发展状况、GPS定位原理以及GPS的应用。第四章介绍了本系统的硬件设计,特别是GPS模块的基本功能和特性,以及依据这个模块开发设计的基本电路图。第五章主要介绍了软件编写的主要思路。通过对模块通信特性的分析,合理考虑软件的逻辑思路,并且编写了软件代码。第六章简要记录了系统调试中出现的一些问题,以及分析问题和解决问题的方案-43- 2GPS技术2.1全球卫星定位技术GPS技术GPS是美国从20世纪70年代开始研制,于1994年全面建成,具有海、陆、空全方位实时三维导航与定位能力的新一代卫星导航与定位系统。GPS能够快速、高效、准确地提供点、线、面要素的精确三维坐标以及其他相关信息,具有全天候、高精度、自动化、高效益等显著特点,广泛应用于军事、民用交通(船舶、飞机、汽车等)导航、大地测量、摄影测量、野外考察探险、土地利用调查、精确农业以及日常生活(人员跟踪、休闲娱乐)等不同领域。随着全球定位系统的不断发展和改进,硬、软件的不断完善,应用领域正在不断地开拓,目前已遍及国民经济各种部门,并开始逐步深入人们的日常生活。GPS系统包括三大部分:空间部分—GPS卫星星座;地面控制部分—地面监控系统;用户设备部分—GPS信号接收机。GPS的基本定位原理是:卫星不间断地发送自身的星历参数和时间信息,用户接收到这些信息后,经过计算求出接收机的三维位置,三维方向以及运动速度和时间信息[2]。图2-1所示为卫星定位原理。图2-1卫星定位原理假设t时刻在地面待测点上安置GPS接收机,可以测定GPS信号到达接收机的时间△t,再加上接收机所接收到的卫星星历等其它数据可以确定以下四个方程式:-43- [(x1-x)2+(y1-y)2+(z1-z)2]+c(Vt1—Vt0)=d1[(x2-x)2+(y2-y)2+(z2-z)2]+c(Vt2—Vt0)=d2[(x3-x)2+(y3-y)2+(z3-z)2]+c(Vt3—Vt0)=d3[(x4-x)2+(y4-y)2+(z4-z)2]+c(Vt4—Vt0)=d4上述四个方程式中x、y、z为待测点的坐标,Vto为接收机的钟差是未知参数,其中di=c△ti,(i=1、2、3、4),di分别为卫星i到接收机之间的距离,△ti分别为卫星i的信号到达接收机所经历的时间,xi、yi、zi为卫星i在t时刻的空间直角坐标,Vti为卫星钟的钟差,c为光速。由以上四个方程即可解算出待测点的坐标x、y、z和接收机的钟差Vto[3]。表面上看,三颗卫星,三个球面,交汇于一点,就可以定出接收机所在的位置了。但实际上,GPS接收器在仅接收到三颗卫星的有效信号的情况下只能确定二维坐标即经度和纬度,只有收到四颗或四颗以上的有效GPS卫星信号时,才能完成包含高度的3D定位[4]。2.2GPS的时间系统1、GPST的定义与实现GPS时间系统采用原子时秒长作为时间基准,时间起算原点定义在1980年1月6日UTC零时。时间系统内包括三种钟:铯钟,铷钟、石英钟。系统守时选用高精度的铯原子钟组,数台钟同时运行,选择优良钟作为主钟,主钟发布的时间即为GPST,其余为备份钟。GPS导航卫星上采用的是铷原子钟,因为铷钟抗干扰能力强,寿命长,能够适应空间飞行的恶劣环境。而地面接收机内部只备有石英钟计时。2、UTC的实现UT是以地球自转周期为基础定义的秒长,这一定义反映了地球在空间与太阳的相对位置。世界时符合人类的生活习惯,同时在大地测量、天文导航等领域也有着广泛的应用。而原子时的秒长十分稳定,建立的时间-43- 尺度精度明显优于世界时。BIPM综合两种时间的优势,定义了UTC时间。UTC以原子时秒长作为时间单位,而在时刻上靠近世界时。在1958年0时0分0秒,UTC与UTl同步,此后一旦(UTC—UT1)的绝对值≥0.9s,UTC则进行跳秒。根据定义,UTC具有与TAI相同的计量学性质,同时在ls精度内与UTI一致。3、GPST与UTC、TAI的关系从1980年开始,美国国防部开始利用GPS系统服务于时间的维持和发布,其系统时间和频率要求同步于美国海军实验室(USNO)主钟发布UTC(USNOMC)。在当时,TAI—UTC=19S,在此后UTC经历了多次跳秒,而GPS由于没有跳秒,因此直到目前,GPS时间仍然非常接近于TAI减去19s。为了保证GPS时间的准确性,USNO规定GPST与UTC(USNOMC)的非整秒差限制在lus以内。为了实现这一指标,GPS系统主钟一直在进行定期的调整,以便在非整秒的时间尺度上与UTC(USNOMC)保持一致,目前二者的非整秒误差控制在了40ns以内。从GPS的广播信号中可以获取3种可用的时间信号:GPST、UTC(USNOMC)和卫星原子钟时间。在目前的精度水平下,GPST估计UTC(USNOMC)的精度在10ns(1σ),而UTC(USNOMC)与UTC的时差也大约为10Ils,因此GPST估计UTC的不确定度为14ns。2.3GPS主要核心芯片和协议不同GPS产品在性能上的差异主要取决于核心芯片,GPS未来的发展也是有核心芯片技术决定的。GPS芯片主要由射频电路、软件(固件)及存储器、处理器三部分组成。2003年以后GPS芯片产业如雨后春笋般呈现出一种蓬勃发展的局面。目前设计生产GPS芯片的厂家超过10家,包括美国SiRF(瑟孚)、Garmin(高明)、摩托罗拉、索尼、富士通、飞利浦、Nemerix、uNav、uBlox等。然而,各个生产商都根据NMEA协议制定芯片,以下简要地介绍了NMEA协议所包含的消息头及内容,如表2-1所示。表2-1NMEA协议的消息头和内容消息头内容-43- $GGA时间,位置,定位数据$GLL经度,纬度,UTC格式时间,位置和状态数据$GSA接收机模式和卫星工作数据,包括位置和水平/竖直稀释经度等。即在同一时间接收多颗卫星定位信息续表2-1$GSV接收机能接收到的卫星信息,包括卫星ID,海拔,方位角,信噪比等$MSS信号比(SNR),信号强度,频率,比特率$RMC日期,时间,位置,方向,速度数据。最长用的数据$VTG相当地面的方向和速度数据-43- 3常见数字时钟的设计3.1常见数字时钟设计方案普通的数字时钟设计,我们在课程设计等都做过很多次,是比较简单的一种系统设计。普通的数字时钟设计要求具备能用LED显示时、分、秒,具备校时功能,可以对小时和分单独校时,时钟误差控制在很小的范围内,并且用到的芯片一般为单片机、74LS计数器、数码管等。如图3-1所示为常见的数字时钟设计中所用到的74LS160十进制同步计数器芯片。图3-174LS160芯片引脚图数字时钟的设计,不仅仅只有这些,还可以使用EDA的方式VHDL语言或者使用Javascript,同样都可以实现普通数字时钟的设计。文献[5]给出了一种数字时钟的设计方案,具备了如下功能:高精度,高稳定的时钟源、能显示时、分、秒、具有对时和整点报时功能。其讨论了两种振荡器作时钟源。方案A采用了石英振荡器,而方案B则使用了555多谐振荡器,B方案的振荡器特点是起振容易,振荡周期调节时间广,但频率稳定性差,精度低,故选用了石英振荡器作为时钟源。该设计方案的计数器则采用了六进制计数器74LS290和24进制计数器(两片74LS290-43- 组成)。译码显示器则采用带译码器的LED数码管。文献[6]介绍了一种主要由单片机来控制的数字时钟的设计。系统由AT89C51、LED数码管、按键、发光二极管等部分构成,能实现时间的调整、定时时间的设定、输出等功能。系统硬件简单的可分为按键输入模块、处理模块、显示模块。按键负责调节时间,而主要的计时和处理任务则交给了单片机来实现,其总体框图可如图3-2所示。图3-2单片机控制时钟的系统方框图文献[7]的设计方案则脱离了单片机的控制,采用数字电子技术里所学的门电路,以及总线和芯片的组合,所用芯片有74160、74190、74192、74138等,其方案电路框图如图3-3所示。图3-3方案电路框图此方案能进行小时、分钟、秒计时,并显示时间及调整时间,能整点报时,定点报时[8]。但此方案要求设计者逻辑性强,并且电路复杂,线路较多。以上数字时钟设计的方案,虽然设计出的时钟精度很高,但必定都存在着误差问题,且不支持持久的供时。3.2GPS时钟基本设计方案-43- GPS时钟不需要时钟源,也不需要单片机控制计时。GPS模块直接接收卫星发送来的GPS数据,单片机只负责提取出其中的GPS时间信息,交由显示器显示即可。如图3-4给出了GPS时钟一般的设计思路。图3-4GPS时钟设计框架3.3GPS时钟的特点虽然这些设计方案可以满足数字时钟的设计,但是其时钟的走时误差,会随着时间的推移而慢慢变大,这样只能通过人工校时来予以修正。然而基于GPS模块所设计的数字时钟,便改正了这个缺点。相比普通数字时钟,GPS模块时时刻刻接收卫星所发送的数据,可靠性高且不间断,因此,GPS时钟具有高精度、全天候、多功能的特点。并且GPS接收天线重点考虑了防雷设计、稳定性设计、抗干扰设计,信号接收可靠性高,不受地域条件和环境的限制,以至于GPS时钟误差极低,且高效稳定,即使断电也不影响其正常工作。对广播电视系统的时间授时、同步锁定及车站、码头、机场、宾馆及户外广场等场合的时间显示提供了较大帮助。-43- 4系统硬件设计4.1GPS模块介绍本设计中所用到的GPS模块为ProGin科技股份有限公司开发的SR-87H模块[9]。SR-87H模块是一种高灵敏度、高性能的GPS接收模块,具有功耗小,性能出众,可接收跟踪多达20多颗人造卫星,接收GPS信息快等特点。它支持NMEA-0183协议,尺寸仅25.4×25.4mm。它具有-159dBm的跟踪灵敏度,使GPS应用范围较以前有了大范围的扩展。由于卫星运行轨道、时钟存在误差,大气对流层、电离层对信号等影响,使得GPS的定位精度只有10米。GPS在应用中主要包括导航和定位两个方面。虽然此模块性能强大,但是为了使其更能稳定的工作,需要给模块覆盖屏蔽罩,如图4-1所示SR-87H模块的外观。图4-1SR-87H模块外观SR-87H模块具有6个引脚,PIN1~PIN6分别是VDD,GPS数据输出,数据输入、NC、GND、1PPS信号输出,如图4-2所示。图4-2SR-87H模块引脚-43- 本课题仅需使用到PIN1、PIN2、PIN5。另外,此模块需要连接专业的GPS天线,系统选用RU153013B型号天线。4.2微处理器系统4.2.1系统选用芯片介绍本课题使用ATMEL公司的AT89C51芯片作为核心控制器。AT89C51是一个低电压、高性能CMOS8位单片机带有4K字节的可反复擦写的程序存储器(PENROM)和128字节的存取数据存储器(RAM),这种器件采用ATMEL公司的高密度、不容易丢失存储技术生产,并且能够与MCS-51系列的单片机兼容。片内含有8位中央处理器和闪烁存储单元,有较强的功能的AT89C51单片机能够被应用到控制领域中。AT89C51提供以下的功能标准:4K字节闪烁存储器,128字节随机存取数据存储器,32个I/O口,2个16位定时/计数器,1个5向量两级中断结构,1个串行通信口,片内震荡器和时钟电路。另外,AT89C51还可以进行0HZ的静态逻辑操作,并支持两种软件的节电模式。闲散方式停止中央处理器的工作,能够允许随机存取数据存储器、定时/计数器、串行通信口及中断系统继续工作。掉电方式保存随机存取数据存储器中的内容,但震荡器停止工作并禁止其它所有部件的工作直到下一个复位[10]。4.2.2晶振电路的设计本课题采用11.0592M的晶振的外部晶振,为单片机提供所需的时钟信号。且单片机和MAX232通信需要准确的比特率,11.0592M的晶振满足通信需要。如图4-3所示系统晶振电路。-43- 图4-3系统晶振电路4.2.3复位线路的设计单片机的复位引脚RESET出现2个机器周期以上的高电平时,单片机就执行复位操作。如果RST持续为高电平,单片机就处于循环复位状态。如图4-4所示采用上电复位电路。上电复位接通电源后,自动实现复位操作。图中电容C7和电阻R9对电源+5V来说构成微分电路。10uF的电容用于消除干扰和杂波,提高复位功能的可靠性。图4-4AT89C51复位电路4.2.4串口通信接口设计GPS模块和AT89C51单片机都满足232通信协议的,故使用MAX232芯片来实现电平转换的功能。MAX232的应用电路设计如图4-5所示。-43- 图4-5串口电平转换电路R2IN和T2OUT连接串口(GPS模块),R2OUT和T2IN连接AT89C51单片机[11]。4.2.5接收传输模块的设计本课题的接收装置,主要由GPS模块SR-87H完成接收,并将数据传输至单片机[12]。GPS模块的接收和传输电路设计如图4-6所示,右侧为GPS模块,中间的芯片为MAX232。图4-6接收传输模块电路图因GPS模块只负责将数据传输给单片机,不需要输入数据,故只要将Tx脚和MAX232芯片的T2IN连接便可,T2OUT负责将数据传送至串口。4.2.6显示模块的设计-43- 本课题要求输出的时间结果具备时、分便可,故只需4个共阳数码管便能满足要求。数码管采用动态显示驱动的方式,将所有数码管的8个显示笔划所表示“a,b,c,d,e,f,g,dp”的同名端连接在一起,另外每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都能接收到相同的字形码,但究竟是哪个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的COM端,就使各个数码管轮流受控显示。该方法能够节省大量的I/O端口,而且功耗更低。显示模块的总体设计如图4-7所示。图4-7显示模块电路图-43- 5系统软件设计5.1总体方案在设计系统软件代码时,根据系统的功能,可分为GPS数据接收、GPS数据处理、时间信息的显示等三大块。根据详细的功能,可分为:1、GPS模块以及单片机的初始化设置功能;2、GPS数据的接收和提取功能;3、单片机对GPS数据的处理及时间信息的提取功能;4、时间信息的发送和显示功能。根据功能可分为多个模块,系统逻辑模块结构如图5-1所示。图5-1系统逻辑模块图单片机需要开启中断、初始化串口、选择工作模式等等,每个功能模块都必不可少,组成一个完整的系统。-43- 5.2单片机串口及中断软件设计根据系统连接GPS的特定要求,初始化串口波特率为4800Hz。程序代码如下:voidinit_ser(){TMOD=0X20;//定时器1工作在方式2TH1=0xfa;TL1=0xfa;//波特率4800TR1=1;EA=1;SM0=0;SM1=1;REN=1;//允许串口接收ES=1;//开串口中断}5.3GPS信息获取及时间信息的提取NMEA协议是为了在不同的GPS导航设备中建立统一的BTCM(海事无线电技术委员会)标准[14],由美国国家海洋电子协会(NMEA-TheNationalMarineElectronicsAssocia-tion)制定的一套通讯协议。而NMEA-0183协议是GPS接收机应当遵守的标准协议,也是目前GPS接收机上使用最广泛的协议,大多数常见的GPS接收机、GPS数据处理软件、导航软件都遵守或者至少兼容这个协议。GPS的信息都以串行帧格式一帧一帧地传输,数据处理部分的第一层任务就是串行帧同步头的提取、信息分帧、校验和分类存储。第二层任务是数据处理。第三层是位置的坐标变换、数据显示。最常见的GPS数据格式是$GPGGA,它的数据格式是:$GPGGA,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,M,<10>,M,<11>,<12>*xx即,GPGGA的数据可以是如下所示:$GPGGA,092204.999,4250.5589,S,14718.5084,E,1,04,24.4,19.7,M,,,,0000*1F其中,$GPGGA表示的是GPS定位信息;092204表示的是UTC时间,-43- 按照小时/分钟/秒的格式;4250.5589,S,14718.5084,E表示的是纬度和经度(S南纬,N北纬,E东经,W西经);其它表示诸如地平倾斜度、天线高度等信息,对定位不重要。本课题所需要提取的就是如上例所示的“092204”时间信息,代表09时22分04秒。软件中对串行帧进行帧头和GGA数据的提取。编写软件的流程如图5-2所示。图5-2GPS信息读取软件流程图因GPS接收的帧头包括GPGGA、GPGSA、GPGLL、GPGSV等,故要设计程序只需提取帧头为GPGGA的数据便可,将GPGSA、GPGLL或GPGSV等其他帧头区分出去。编写接收GPS信息帧头$GPGGA并且提取时间信息的程序如下[15]:voidser()interrupt4{if(RI==1){RI=0;ser_receive=SBUF;//串口接收到的数据if(ser_receive==0x47){//若接收到的字节为字母“G”ser_flag2=1;}if(ser_receive==0x53){//若接收到的字节为“S”ser_flag2=0;}if(ser_receive==0x4D){//若接收到的字节为“M”ser_flag2=0;}if(ser_flag2==1&&ser_receive==0x41){//若接收到字节“A”之前已接收到“G”ser_flag3=1;}-43- if(ser_flag3==1){if(ser_receive>=0x30&&ser_receive<=0x39){//若接收的字节是数字0~9receive_number[l]=ser_receive;l++;//将数字存入receive_number[l]}}if(l==4){//只存4个数字,即时间信息的小时和分i=0;l=0;ser_flag=1;ser_flag2=0;ser_flag3=0;//将信号标志全部初始化}}}程序中一连串的if语句是为了判读帧头是否为GPGGA,若检测到帧头含有其它字母,则将信号标志置0,并重新检测。-43- 6调试与运行结果6.1程序运行情况程序的成功运行需要经过多次的调试,须熟悉单片机的开发平台及单片机的内部控制寄存器的功能和作用,还要熟悉自己所编写的代码各个部分所涉及的功能和作用,最后针对硬件电路的运行情况,对单片机进行调试。如图6-1所示为硬件运行总体效果图,其中左侧为单片机,右侧显示的为北京时间8点零1分,右下角为GPS模块。图6-1硬件运行效果图6.2单片机调试情况-43- 本课题采用C语言编写单片机程序,使用C语言编写程序会使思路比较清晰,逻辑性强,并且C语言灵活性好、效率高,可以接触到软件开发比较底层的东西。通过大量查阅资料,最终顺利地解决了问题,找到了正确编程方法及技巧,基本完成了预期的效果。GPS模块需要波特率为4800,而程序的设计初期将波特率设为9600,出现如下错误情况:1、接收数据不全;2、数据显示为乱码。分析问题的原因:串口的波特率如果和GPS模块的波特率不相同,则传输将出现波特率不匹配,数据将丢失或者导致数据变成乱码。通过程序将串口波特率改为4800,便可解决此问题。在调试GPS模块时,由于天气原因或者是通信不稳定,会使取得的数据变化,接收的不稳定性增加。GPS的地理信息中包含了很多的信息,但我们不需要所有的信息,根据我们的需要提取相应的信息。-43- 参考文献[1]BondL.OverviewofGPSinterferenceissues[J].ston:GPSInterferenceSymposiumVolpeNationalTransportationSystemsCenter,1998,6:16~20.[2]周忠谟,杰军.GPS卫星测量原理与应用[M].北京:测绘出版社,1999,4.[3]张凤举,王宝山.GPS定位技术[M].北京:煤炭工业出版社,1997,8.[4]Ching-YuangHuang,etal..ImpactofGPSRadioOccultationDataAssimilationonRegionalWeatherPredictions[J].GPSSolutions.Vol.14(No.1),2010:1~13.[5]数字时钟设计报告[EB/OL],[2011-3-4].http://www.docin.com/p-18853821.htm.[6]基于单片机的时钟设计[EB/OL],[2011-3-4].http://blog.ednchina.com/colinzhang/99720/message.aspx.[7]陈晓炜.简易数字钟设计[J].厦门大学学报,2008,6,21(8):42~46.[8]徐进,李涛.一种实用GPS授时系统的设计[J].西安工程科技学院学报,2007,12,21(6):840~844.[9]基于ATMELANTARIS高感芯片组的GPS接收模块[EB/OL],[2011-3-9].http://shuma.zhendan.net/corp-38682.html.[10]丁化成等.AVR单片机应用设计[M].北京:北京航空航天大学出版社,2002,5.[11]杨恢先.单片机原理及应用[M].北京:人民邮电出版社,2006,10.[12]王幸之,钟爱琴等.AT89系列单片机原理与接口技术[M].北京:北京航空航天大学出版社,2004,5.[13]肖玲妮,袁增贵.Protel99se印刷电路板设计教程[M].北京:清华大学出版社,2003,8[14]GPS系统的NMEA简介及应用[EB/OL],[2010-10-28].http://www.pcauto.-43- com.cn/qcyp/rmlm/gpsdh/0709/584049.html.[15]王晓勇.C语言程序设计[M].北京:科学出版社,2007,2.附录1系统实物图系统实物图系统的主要硬件电路连接图-43- 附录2实验原理图原理图1单片机主要连接图及显示电路连接图原理图2串口通信的连接-43- 附录3毕业设计作品说明书一、作品名称基于GPS模块的时钟二、作品功能1、接收卫星GPS信息。2、提取并显示GPS时间(北京时间)。三、运行环境1、5V直流电源。2、卫星信号良好的地域。四、操作步骤1、将GPS模块放置在窗台外。2、系统上电。3、等待接收和时间的显示。五、注意事项1、在干燥的环境下使用。2、接入稳定电源。3、天线置于空旷地带,如有遮挡,会影响精度。-43- 附录4系统主要软件源代码#include#include#defineuintunsignedchar#defineucharunsignedint#defineulongunsignedlongucharser_receive;//串口接收到的数据ucharser_flag=0,ser_flag2=0,ser_flag3=0,ser_flag4=0;ucharreceive_number[10]={0},receive_number2[10]={0};uchari=0,l=0,f=0,d=0;ucharj;#defineWTH00xee/*中断时间5ms*/#defineWTL00x00#defineWTMOD0x01/**************端口定义*****************/sbitspeaker=P3^7;sbitK1=P3^2;sbitK2=P3^3;sbitK3=P3^4;sbitK4=P3^5;sbitha=P2^0;sbithb=P2^1;sbithc=P2^2;sbithd=P2^3;//数码管取表数据0-F-43- ucharcodeLED_DATA[16]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E};0x12,0x02,0x78,0x00,0x10,0x88,0x83,0xC6,0xA1,0x86,0x8E};//带小数点ucharLED1,LED2,LED3,LED4;//定义8个数码管显示数据存储地址空间ucharled_data1,led_data2,led_data3,led_data4;voiddisplay(void);//数码管显示子程序voiddelay(uintz);//延时程序/************************/voiddisplay(void){ucharspeed;//定义数码管动态扫描频率speed=3;ha=0;hb=1;hc=1;hd=1;P0=LED1;delay(speed);////////////////ha=1;hb=0;hc=1;hd=1;P0=LED2;delay(speed);//////////////ha=1;hb=1;hc=0;-43- hd=1;P0=LED3;delay(speed);/////////////ha=1;hb=1;hc=1;hd=0;P0=LED4;delay(speed);}/**************************/voidinit_ser(){TMOD=0X20;//定时器1工作在方式2TH1=0xfa;TL1=0xfa;//波特率4800TR1=1;EA=1;SM0=0;SM1=1;REN=1;//允许串口接收ES=1;//开串口中断}voiddelay(uintz){uintx,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}-43- voidser()interrupt4{//中断函数if(RI==1){RI=0;ser_receive=SBUF;if(ser_receive==0x47){ser_flag2=1;}if(ser_receive==0x53){ser_flag2=0;}if(ser_receive==0x4D){ser_flag2=0;}if(ser_flag2==1&&ser_receive==0x41){ser_flag3=1;}if(ser_flag3==1){if(ser_receive>=0x30&&ser_receive<=0x39){receive_number[l]=ser_receive;l++;}}if(l==4){i=0;l=0;ser_flag=1;ser_flag2=0;ser_flag3=0;}}}voidmain(){intp;init_ser();while(1){-43- display();//调用显示程序if(ser_flag==1){ES=0;ser_flag=0;led_data1=receive_number[0]-0x30;led_data2=receive_number[1]-0x30;if(led_data1==0&&led_data2>=2){led_data1=led_data1+1;led_data2=led_data2-2;}elseif(led_data2>=2&&led_data2<7&&led_data1==1){led_data2=led_data2-2;led_data1=led_data1+1;}elseif(led_data2>=7&&led_data1==1){led_data2=led_data2-6;led_data1=led_data1-1;}elseif(led_data1==2){led_data1=led_data1-2;led_data2=led_data2+4;}else{led_data2=led_data2+8;}led_data3=receive_number[2]-0x30;led_data4=receive_number[3]-0x30;LED1=LED_DATA[led_data1];LED2=LED_DATAh[led_data2];LED3=LED_DATA[led_data3];-43- LED4=LED_DATA[led_data4];ES=1;}}}-43-

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
关闭