EDN China > 技术文章 > 通信 > 网络传输与交换 > 正文
? 2016博客大赛-不限主题,寻找电子导师,大奖升级??

基于MSComm控件的GPS接收机数据终端接口设计

来源:现代电子技术 /李立早?? 2007年03月05日 ?? 收藏0

  1 引 言

  全球定位系统(GPS)是20世纪70年代由美国陆海空三军联合研制的空间卫星导航定位系统,其目的是为美国军方提供实时精确的定位、导航和授时等服务。通常GPS系统由3个部份组成:空间部分:包括24颗GPS卫星;地面控制部分:对GPS卫星实施监控;用户部分:接收来自GPS卫星的定位等信息,通常包括天线和接收机等设备。GPS系统在进行定位时,必须要确定用户所在的位置(包括x,y,z三个坐标),同时还要考虑到卫星时钟与接收机时钟之间的误差t,要解算4个未知量必须建立4个方程,通常可以通过测量卫星与-用户之间的伪距,来建立相应的方程,因此需要同时观测4颗卫星,才能实现精确定位。随着时代发展,GPS系统不再局限于美国军方,已被广泛应用于社会生活的各个方面,从大地测绘到车辆导航都能找到其身影。鉴于卫星导航技术在民用和军事领域的重要意义,我国也建立了相应的“北斗导航系统”,但目前我国应用最为广泛的还是GPS系统。本文针对GPS系统,介绍了定位信息在GPS接收机与PC机之间的传输和提取方法。

??????? 2

定位信息的格式

  要实现定位信息的提取和显示,首先要实现定位信息的传输,即通过相应的接口实现GPS接收机与PC机之间的通信。本文介绍的接收机采用SiRF Technology公司的GPS接收芯片,通过天线接收GPS卫星信号,并进行相应处理产生定位信息,再通过串口(RS 232)输出。GPS通讯协议较多,本文采用应用最为广泛的NMEA—0183协议。在此协议中包括了“$GPGGA”、“$GPGSA”、“$GPGSV”和“$GPRMC”等格式,本文以最简格式“$GPRMC”语句为例介绍协议中各数据段的含义。例如:$GPRMC,161022.A,3212.875,N,11893.578,E,O.O,11O.4,140406,2.3,W,A*302。

  在此列中各数据段通过逗号分开,其中:

  $GPRMC为帧头,标识后续帧内数据组成结构;161022为UTC标准时间,格式为“hh/mm/ss”;A表示数据有效,如为V则表示可跟踪卫星小于3颗;3212.875为纬度值,格式为“ddmm.mmmm”;N表示北纬,如为S则表示南纬;11893.578为经度值,格式为“dddmm.mmmm”;E表示东经,如为W则表示西经;0.0表示速度;110.4表示方位角,从000.0°~359.9°;140406为UTC标准日期,格式为“mm/dd/yy”;2.3表示地磁变化,从000.O°~180.0°;W表示地磁变化方向,包括w或E;

  在这些数据中,本文主要关心的是地理坐标和时间,即纬度、经度和UTC日期、时间。

  3 定位信息的传输和提取

  定位信息的传输,即GPS接收机与PC机之间的通信,通常采用串口来实现。本文中采用VB提供的MSComm控件来编写串口程序达到通信的目的。MSComm控件被广泛用来实现串口通信,对于他的介绍这里不再赘述。在本文中实现具体的串口通信时,必须对MSComm控件的相关属性进行设置。在默认设置基础上需要进行更改的设置包括下面3个部分:

  (1)考虑到GPS串口通信采用固定的参数,因此要将MSComm控件中的Settings属性设置为“4800,N,8,1”,即波特率为4 800 b/s,无奇偶校验位,数据位为8,停止位为1。

  (2)根据所采用的接收机的不同,还需对MSComm控件中的inputMode属性进行设置,本文中采用“comInputMode Text”方式。

  (3)根据所选择的串口将MSComm控件中的Commport属性设置为相应的串口号,本文中为“1”。

  定位信息的提取,包括2个部分:

  (1)从“$GPRMC”数据列中提取经纬度等信息;

  (2)将这些信息在文本框内显示。这一工作可以在MSComm控件中的OnComm事件中通过编程具体实现。流程图如图1所示。

  ?流程图
部分代码如下:?
?代码
?

  首先,将缓存中的“$GPRMC”格式的定位信息赋给字符串变量“GPRMC”,根据前面介绍过的“$GPRMC”的格式,通过相应的语句从变量“GPRMC”中提取出所需的纬度、经度、速度和时间日期等信息,并赋给相应的变量。需要注意的是,在提取时间信息时需要将UTC时间转换为北京时间,并对24进行模运算,以确保时间的准确。然后,将提取出来的定位信息在预先设计的文本框中显示出来。通过这些步骤即完成定位信息的提取工作,具体的效果如图2所示。

  ?软件界面

  


上一页12下一页
?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

MSComm? GPS? 接收机? 接口?

相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
有问题请反馈