串口控制gps

上传人:ji****n 文档编号:54878178 上传时间:2018-09-21 格式:PPT 页数:23 大小:474.50KB
返回 下载 相关 举报
串口控制gps_第1页
第1页 / 共23页
串口控制gps_第2页
第2页 / 共23页
串口控制gps_第3页
第3页 / 共23页
串口控制gps_第4页
第4页 / 共23页
串口控制gps_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《串口控制gps》由会员分享,可在线阅读,更多相关《串口控制gps(23页珍藏版)》请在金锄头文库上搜索。

1、基于串行通信技术的GPS数据采集与处理,GPS简介,GPS是英文Global Positioning System(全球定位系统)的简称。GPS起始于1958年美国军方的一个项目,1964年投入使用。20世纪70年代,美国陆海空三军联合研制了新一代卫星定位系统GPS 。主要目的是为陆海空三大领域提供实时、全天候和全球性的导航服务,并用于情报收集、核爆监测和应急通讯等一些军事目的,经过20余年的研究实验,耗资300亿美元,到1994年,全球覆盖率高达98%的24颗GPS卫星星座己布设完成。 GPS能为用户提供连续实时、高精度的三维位置、三维速度和时间基准,是一种全球性、全天候、连续的卫星无线电导

2、航系统。 在目前世界上所有的卫星定位系统中,GPS是技术最成熟,应用最为广泛的。,GPS系统,GPS定位系统由以下三个部分组成: GPS卫星星座(空间部分) 地面监控系统(地面控制部分) GPS信号接收机(用户设备部分),GPS卫星星座,目前共有24颗卫星,由21颗工作卫星和3颗在轨备用卫星组成GPS卫星星座,记作(21+3)GPS星座。位于地平线以上的卫星颗数随着时间和地点的不同而不同,最少可见到4颗,最多可见到11颗。在用GPS信号导航定位时,为了结算测站的三维坐标,必须观测4颗GPS卫星,称为定位星座。,GPS卫星的基本功能: 1 接收和存储由地面监控站发来的导航信息,接收并执行监控站的

3、控制指令。 2 利用卫星上的微处理机,对部分必要的数据进行处理。 3 通过星载的原子钟提供精密的时间标准。 4 向用户发送定位信息。 5 在地面监控站的指令下,通过推进器调整卫星姿态和启用备用卫星。,GPS导航系统的基本原理是测量出已知位置的卫星到用户接收机之间的距离,然后综合多颗卫星的数据得接收机的具体位置。要达到这一目的,卫星的位置可以根据星载时钟所记录的时间在卫星星历中查出。,GPS地面监控部分(The Control Segment ),GPS的地面监控部分由分布在全球的9个地面站组成,其中包括卫星监测站(5个)、主控站(1个)和注入站(3个)。 1、监测站:是主控站直接控制下的数据自

4、动采集中心。站内设有双频GPS接收机、高精度原子钟、计算机1台和若干台环境数据传感器。观测资料由计算机进行初步处理,存储并传输到主控站,以确定卫星精密轨道。 2、主控站:除协调和管理地面监控系统外,主要任务: 1)根据本站和其它监测站的观测资料,推算编制各卫星的星历、卫星钟差和大气修正参数,并将数据传送到注入站。 2)提供全球定位系统的时间基准。将钟差信息送入注入站。 3)调整偏离轨道的卫星,使之沿预定轨道运行。 4)启用备用卫星代替失效工作卫星。,3、注入站: 主要设备为1台直径3.6m的天线、1台c波段发射机和1台计算机。 主要任务是在主控站的控制下,将主控站的卫星星历、钟差、导航电文和其

5、它控制指令等注入到相应卫星的存储系统,并监测注入信息的正确性。 整个GPS系统的地面监控部分,除主控站外均无人值守。各站间用现代化通讯网络联系,实现高度的自动化标准化。,用户设备部分(The User segment ) GPS信号接收机及相关设备,GPS接收机的作用 接收GPS卫星发射的无线电信号,以获得必要的定位信息和观测量,并经过数据处理而完成定位工作。,NMEA-0183协议,NMEA是“National Marine Electronics Association”(国际海洋电子协会)缩写,同时也是数据传输标准工业协会。 NMEA实际上已成为GPS接收机最通用的数据输出格式,同时也被

6、用于GPS接收机接口的大多数软件包里。 NMEA-0183是一套定义接收机输出的标准信息 ,该协议定义的语句非常多,但是常用的或者说兼容性最广的语句只有$GPGGA、$GPGSA、$GPGSV、$GPRMC、$GPVTG、$GPGLL等。,$GPGGA 例:$GPGGA,092204.999,4250.5589,S,14718.5084,E,1,04,24.4,19.7,M,0000*1F 字段0:$GPGGA,语句ID,表明该语句为GPS定位信息 字段1:UTC 时间,hhmmss.sss,时分秒格式 字段2:纬度ddmm.mmmm,度分格式(前导位数不足则补0) 字段3:纬度N(北纬)或S

7、(南纬) 字段4:经度dddmm.mmmm,度分格式(前导位数不足则补0) 字段5:经度E(东经)或W(西经) 字段6:GPS状态,0=未定位,1=非差分定位,2=差分定位,3=无效PPS,6=正在估算 字段7:正在使用的卫星数量(00 - 12)(前导位数不足则补0) 字段8:HDOP水平精度因子(0.5 - 99.9) 字段9:海拔高度(-9999.9 - 99999.9) 字段10:地球椭球面相对大地水准面的高度 字段11:差分时间 字段12:差分站ID号0000 1023 字段13:校验值,$GPRMC 例:$GPRMC,024813.640,A,3158.4608,N,11848.3

8、737,E,10.05,324.27,150706,A*50 字段0:$GPRMC,语句ID,表明该语句为推荐最小定位信息 字段1:UTC时间,hhmmss.sss格式 字段2:状态,A=定位,V=未定位 字段3:纬度ddmm.mmmm,度分格式(前导位数不足则补0) 字段4:纬度N(北纬)或S(南纬) 字段5:经度dddmm.mmmm,度分格式(前导位数不足则补0) 字段6:经度E(东经)或W(西经) 字段7:速度,节,Knots 字段8:方位角,度 字段9:UTC日期,DDMMYY格式 字段10:磁偏角,(000 - 180)度(前导位数不足则补0) 字段11:磁偏角方向,E=东W=西 字

9、段16:校验值,$GPVTG 例:$GPVTG,89.68,T,M,0.00,N,0.0,K*5F 字段0:$GPVTG,语句ID,表明该语句为Track Made Good and Ground Speed(VTG)地面速度信息 字段1:运动角度,000 - 359,(前导位数不足则补0) 字段2:T=真北参照系 字段3:运动角度,000 - 359,(前导位数不足则补0) 字段4:M=磁北参照系 字段5:水平运动速度(0.00)(前导位数不足则补0) 字段6:N=节,Knots 字段7:水平运动速度(0.00)(前导位数不足则补0) 字段8:K=公里/时,km/h 字段9:校验值,$GPG

10、LL 例:$GPGLL,4250.5589,S,14718.5084,E,092204.999,A*2D 字段0:$GPGLL,语句ID,表明该语句为地理定位信息 字段1:纬度ddmm.mmmm,度分格式 字段2:纬度N(北纬)或S(南纬) 字段3:经度dddmm.mmmm,度分格式 字段4:经度E(东经)或W(西经) 字段5:UTC时间,hhmmss.sss格式 字段6:状态,A=定位,V=未定位 字段7:校验值,PC机与GPS模块的串口通信,串口初始化,m_Comm.SetCommPort(3); /查看实际串口号 m_Comm.SetInBufferSize(1024); m_Comm.

11、SetOutBufferSize(512); m_Comm.SetSettings(“9600,n,8,1“); m_Comm.SetInputMode(1); if( !m_Comm.GetPortOpen()m_Comm.SetPortOpen(TRUE); elseAfxMessageBox(“cannot open serial port“); m_Comm.SetRThreshold(1000); m_Comm.SetInputLen(0);,接收数据并显示,OnComm (),$GPRMC 例:$GPRMC,024813.640,A,3158.4608,N,11848.3737,E

12、,10.05,324.27,150706,A*50 字段0:$GPRMC,语句ID,表明该语句为推荐最小定位信息 字段1:UTC时间,hhmmss.sss格式 字段2:状态,A=定位,V=未定位 字段3:纬度ddmm.mmmm,度分格式(前导位数不足则补0) 字段4:纬度N(北纬)或S(南纬) 字段5:经度dddmm.mmmm,度分格式(前导位数不足则补0) 字段6:经度E(东经)或W(西经) 字段7:速度,节,Knots 字段8:方位角,度 字段9:UTC日期,DDMMYY格式 字段10:磁偏角,(000 - 180)度(前导位数不足则补0) 字段11:磁偏角方向,E=东W=西 字段16:校

13、验值,时间提取,for(k=i;k100;k+) if(datak=,) ID+; else switch(ID)case 1:if(datak-1=,)hour=datak;hour+=datak+1;m_hour=(atoi(hour)+8)%24;min=datak+2;min+=datak+3;m_min=atoi(min); /秒的提取同等对待 break;,“$GPRMC”,纬度提取,switch(ID)case 3: if(datak-1=,)m_weidu=datak;m_weidu+=datak+1;m_weiduf=datak+2;for(l=k+3;lk+9;l+)m_w

14、eiduf+=datal; break;case 4:if(datak=N)m_wei=“北纬“;elsem_wei=“南纬“;break;,$GPGGA 例:$GPGGA,092204.999,4250.5589,S,14718.5084,E,1,04,24.4,19.7,M,0000*1F 字段0:$GPGGA,语句ID,表明该语句为GPS定位信息 字段1:UTC 时间,hhmmss.sss,时分秒格式 字段2:纬度ddmm.mmmm,度分格式(前导位数不足则补0) 字段3:纬度N(北纬)或S(南纬) 字段4:经度dddmm.mmmm,度分格式(前导位数不足则补0) 字段5:经度E(东经)或W(西经) 字段6:GPS状态,0=未定位,1=非差分定位,2=差分定位,3=无效PPS,6=正在估算 字段7:正在使用的卫星数量(00 - 12)(前导位数不足则补0) 字段8:HDOP水平精度因子(0.5 - 99.9) 字段9:海拔高度(-9999.9 - 99999.9) 字段10:地球椭球面相对大地水准面的高度 字段11:差分时间 字段12:差分站ID号0000 1023 字段13:校验值,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号