基于串口通信的GPS数据提取与应用
时间:2013-12-21 11:43 文章来源:http://www.lunwenbuluo.com 作者:刘思思 王路情 点击次数:
摘要:该文首先介绍了常用的GPS数据格式,利用了VC++6.0的MSComm控件实现串口通信方式下的GPS数据中重要信息的提取。最后,探讨了GPS数据重要信息的具体应用。
关键词:GPS数据;串口通信;VC++6.0;MSComm控件
中图分类号:TP393文献标识码:A文章编号:1009-3044(2013)33-7416-02
GPS(GlobalPositioningSystem)全球定位系统,它是在地球上空布置了24颗专用GPS卫星,卫星轨道每时每刻的精确位置通过无线电波发送到地面上,地面上的GPS信号接收机可以接收到至少4颗以上的卫星信号,依据卫星的位置计算出地面的位置。它能够为用户提供全球性的、全天候的、高精度的、连续实时的三维坐标、三向速度等信息。这些信息包含在GPS数据格式里,可以通过遵循NMEA0183协议的GPS接口供给外部设备提取与应用。
1GPS常用数据格式
GPS常用数据格式包括"$GPGGA"、"$GPGLL"、"$GPGSA"、"$GPGSV"、"$GPRMC"和"$GPVTG"。它们主要由帧头、帧尾和帧内数据组成,数据帧结构不同,帧头也不相同,各帧均以回车符和换行符作为帧尾标识。通常情况,我们所关心的定位数据如经纬度、速度、时间等均可以从"$GPRMC"帧中获取得到。如果和卫星通信正常,可以接收到的数据格式"$GPRMC"帧结构如下:$GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>*hh,其具体信息如表1所示。
2GPS数据提取方法
GPS数据提取方法分为两个步骤:第一步,GPS数据的捕获;第二步,GPS数据的解析。前者采用串口通信的方式把GPS接口与主机相连接,利用VC++的MSComm控件实现对串口编程,捕获GPS接收机所发送的数据;后者根据捕获的GPS数据帧格式中的帧头确定要给哪个数据帧进行数据的解析,然后根据数据帧结构中的内容提取所需要的信息。
VC++6.0提供的MSComm控件可以通过串行端口捕获GPS信号接受机所发送过来的数据,为应用程序提供串行通信的功能。MSComm控件串口通信编程的基本流程如图1所示:
现以"$GPRMC"数据帧解析为例,首先针对串口通信下捕获的GPS数据,判定帧头是"$GPRMC",其次根据所需要的信息(例如经纬度、时间、速度等)确定需要提取该帧头后的数据帧中哪些字段的内容,最后对所提取出来的内容进行恰当的变换,服务于后续的具体应用。
3GPS数据具体应用
本文是把提取出来的GPS数据应用于对航海中的船舶进行定位与导航,将定位信息实时地传送到陆地上的监控服务中心,并且在电子航海图上标注与显示。这样,管理人员能够及时地掌握船舶行进的具体位置和了解航行的具体路线,方便其对船舶的监控与管理。简单的客户端应用程序界面如图2所示:
4结论
文章重点研究GPS数据中的"$GPRMC"数据帧格式,可以利用VC++6.0的MSComm控件对串口通信中发送的GPS数据进行读取与解析,能够实现对物体的准确定位与安全导航等功能。
参考文献:
[1]李天文.GPS原理及应用[M].北京:科学出版社,2010.
[2]刘大杰,等.全球定位系统(GPS)的原理与数据处理[M].上海:同济大学出版社,1996.
[3]顾必良,王黎明,韩焱.基于VC++的GPS数据采集与处理[J].微计算机信息,2008(13).
[4]李现勇.VisualC++串口通信技术与工程实践[M].北京:人民邮电出版社,2004.
[5]孙鑫,余安萍.VC++深入详解[M].北京:电子工业出版社,2007.
- 论文部落提供核心期刊、国家级期刊、省级期刊、SCI期刊和EI期刊等咨询服务。
- 论文部落拥有一支经验丰富、高端专业的编辑团队,可帮助您指导各领域学术文章,您只需提出详细的论文写作要求和相关资料。
-
- 论文投稿客服QQ:
2863358778、
2316118108
-
- 论文投稿电话:15380085870
-
- 论文投稿邮箱:lunwenbuluo@126.com