课程论文题目:基于stm32的GPS定位学生姓名:杨舒学生学号:1114020142系别:电气信息工程学院专业:电子信息工程年级:2011级任课教师:马立宪电气信息工程学院制2014年6月成绩淮南师范学院电气信息工程学院2015届电子信息工程专业课程设计报告第1页目录1引言..................................................................22任务与要求...........................................................22.1GPS定位系统特点简介............................................22.2stm32处理器的介绍..............................................32.3方案论证........................................................33GPS定位的基本原理....................................................43.1GPS定位的基本概念..............................................43.2GPS模块电路图..................................................44电子电路的设计方法..................................................54.1设计流程图......................................................54.2GPS定位系统实物图..............................................65总结.................................................................75.1设计小结........................................................75.2收获体会........................................................76参考文献..............................................................77附录..................................................................77.1程序代码........................................................77.2器件清单......................................................11淮南师范学院电气信息工程学院2015届电子信息工程专业课程设计报告第2页基于stm32的GPS定位系统学生:杨舒任课教师:马立宪电气信息工程学院电子信息工程专业摘要:全球定位系统(英语:GlobalPositioningSystem,通常简称GPS),又称全球卫星定位系统,是一个中距离圆型轨道卫星导航系统。它可以为地球表面绝大部分地区(98%)提供准确的定位、测速和高精度的时间标准。系统由美国国防部研制和维护,可满足位于全球任何地方或近地空间的军事用户连续精确的确定三维位置、三维运动和时间的需要。该系统包括太空中的24颗GPS卫星;地面上1个主控站、3个数据注入站和5个监测站及作为用户端的GPS接收机。最少只需其中3颗卫星,就能迅速确定用户端在地球上所处的位置及海拔高度;所能收联接到的卫星数越多,解码出来的位置就越精确。关键词:GPS定位卫星精确度1引言GPS系统的前身为美军研制的一种子午仪卫星定位系统,1958年研制,1964年正式投入使用。该系统用5到6颗卫星组成的星网工作,每天最多绕过地球13次,并且无法给出高度信息,在定位精度方面也不尽如人意。然而,子午仪系统使得研发部门对卫星定位取得了初步的经验,并验证了由卫星系统进行定位的可行性,为GPS系统的研制埋下了铺垫。由于卫星定位显示出在导航方面的巨大优越性及子午仪系统存在对潜艇和舰船导航方面的巨大缺陷。美国海陆空三军及民用部门都感到迫切需要一种新的卫星导航系统。为此,美国海军研究实验室提出了名为Tinmation的用12到18颗卫星组成10000公里高度的全球定位网计划,并于67年、69年和74年各发射了一颗试验卫星,在这些卫星上初步试验了原子钟计时系统,这是GPS系统精确定位的基础。2任务与要求2.1GPS定位系统特点简介淮南师范学院电气信息工程学院2015届电子信息工程专业课程设计报告第3页全天候,不易受任何天气的影响,全球覆盖(高达98%),三维定点定速定时高精度,测站间无需通视,快速、省时、高效率,应用广泛、多功能,可移动定位。2.2stm32处理器的介绍STM32系列基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARMCortex-M3内核。按性能分成两个不同的系列:STM32F103“增强型”系列和STM32F101“基本型”系列。增强型系列时钟频率达到72MHz,是同类产品中性能最高的产品;基本型时钟频率为36MHz,以16位产品的价格得到比16位产品大幅提升的性能,是16位产品用户的最佳选择。两个系列都内置32K到128K的闪存,不同的是SRAM的最大容量和外设接口的组合。时钟频率72MHz时,从闪存执行代码,STM32功耗36mA,是32位市场上功耗最低的产品,相当于0.5mA/MHz。2.3方案论证目前利用ZigBee技术实现定位功能有基于测距技术和非测距技术,基于非测距技术的定位算法主要有:质心法,凸规划定位算法;距离矢量跳数的算法;基于测距技术的定位算法主要有TOA、AOA、TDOA和RSSI。RSSI(reeeivesignalstrengthindieator)表示信号强度指示,是真实的接收信号强度与最优接收功率等级间的差值。LQI(1inkqualityindieator)是链路质量指示,表征接收数据帧的能量与质量。LQI值越大说明链路质量越好。RSSI值和LQI值在zigbee收发模块每接收一个数据帧时都可以得到。及时反映信号强度变化和受到干扰变化LQI的动态范围比RSSI大,有更高的分辨率。无线信号传输中普遍采用的理论模型-Shadowing模型,如式(1):[Pr(d)]dBm=[Pr(d0)]dBm-10nlg(d/d0)+XdBm(1)在本系统实际的应用中,使用简化了的Shadowing模型,如式(2):(2)n:信号传播常量,也称作信号传播系数,单位:dBm/md:到信号源的距离,单位:mA:距离信号源1m处接收信号强度,单位:dBm但是zigbee定位无法知道如经度、纬度、海拔高度、及运行的速度,所得到的信息量远远小于GPS定位所得到的信息。在海上和太空中作业,zigbee定位将无法实现,而GPS定位可以精准的知道目标的位置,因此GPS定位在这一方面有很大的优淮南师范学院电气信息工程学院2015届电子信息工程专业课程设计报告第4页势。3GPS定位的基本原理3.1GPS定位的基本概念24颗GPS卫星在离地面1万2千公里的高空上,以12小时的周期环绕地球运行,使得在任意时刻,在地面上的任意一点都可以同时观测到4颗以上的卫星。由于卫星的位置精确可知,在GPS观测中,我们可得到卫星到接收机的距离,利用三维坐标中的距离公式,利用3颗卫星,就可以组成3个方程式,解出观测点的位置(X,Y,Z)。考虑到卫星的时钟与接收机时钟之间的误差,实际上有4个未知数,X、Y、Z和钟差,因而需要引入第4颗卫星,形成4个方程式进行求解,从而得到观测点的经纬度和高程。事实上,接收机往往可以锁住4颗以上的卫星,这时,接收机可按卫星的星座分布分成若干组,每组4颗,然后通过算法挑选出误差最小的一组用作定位,从而提高精度。由于卫星运行轨道、卫星时钟存在误差,大气对流层、电离层对信号的影响,以及人为的SA保护政策,使得民用GPS的定位精度只有100米。为提高定位精度,普遍采用差分GPS(DGPS)技术,建立基准站(差分台)进行GPS观测,利用已知的基准站精确坐标,与观测值进行比较,从而得出一修正数,并对外发布。接收机收到该修正数后,与自身的观测值进行比较,消去大部分误差,得到一个比较准确的位置。实验表明,利用差分GPS,定位精度可提高到5米。3.2GPS模块电路图淮南师范学院电气信息工程学院2015届电子信息工程专业课程设计报告第5页图1GPS模块电路图4电子电路的设计方法4.1设计流程图总体方案确定单元电路设计参数计算元器件选择电路连接实验性能满足要求修改结构参数修改电路参数淮南师范学院电气信息工程学院2015届电子信息工程专业课程设计报告第6页图2设计流程图4.2GPS定位系统实物图图3实物图1图4实物图2淮南师范学院电气信息工程学院2015届电子信息工程专业课程设计报告第7页5总结5.1设计小结本设计采用的是NMEA-0183美国国家海洋电子协会(NationalMarineElectronicsAssociation)为海用电子设备制定的标准格式协议,可以实现误差小于10米范围内的定位,同时通过卫星,可以得到目标所在位置的大量信息。5.2收获体会通过本课程设计使我对GPS定位所采用的NMEA-0183协议有了更一步的认识,同时自己也动手完成了一个GPS定位的系统,可以在液晶屏LCD12864上显示经度、纬度、海拔高度、UTC时间等等信息,知道了GPS如何实现定位的原理及实现方法。6参考文献[1].康华光、邹寿彬、秦臻著.电子技术基础(模拟部分).高等教育出版社.2005[2].康华光邹寿彬、秦臻著.电子技术基础(数字部分).高等教育出版社.2005[3].刘基金.GPS卫星导航定位原理与方法.北京:科学出版社.2003[4].王惠南.GPS导航原理与应用.北京:科学出版社.2003[5].潘永雄.新编单片机原理与应用.西安:西安电子科技大学出版社.20037附录7.1程序代码#includesys.h#includeusart.h#includeusart2.h#includedelay.h#includeled.h#includekey.h#includelcd.h淮南师范学院电气信息工程学院2015届电子信息工程专业课程设计报告第8页#includeusmart.h#includestring.h#includegps.h#include12864.Hintflag;u8USART1_TX_BUF[USART2_MAX_RECV_LEN];nmea_msggpsx;__align(4)u8dtbuf[50];constu8*fixmode_tbl[4]={Fail,Fail,2D,3D};voidGps_Msg_Show1(void){if(gpsx.fixmode=3){sprintf((char*)dtbuf,FixMode:%s,fixmode_tbl[gpsx.fixmode]);LCD_ShowString(30,210,200,16,16,dtbuf);}sprintf((char*)dtbuf,:%02d,gpsx.posslnum);lcd_wdat_ch(0,1,dtbuf);sprintf((char*)dtbuf,:%02d,gpsx.svnum%100);lcd_wdat_ch(0,3,dtbuf);sprintf((char*)dtbuf,UTC:%04d/%02d/%02d,gpsx.utc.year,gpsx.utc.month,gpsx.utc.date);lcd_wdat_c