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

发布者:睿智之光最新更新时间:2007-02-12 来源: 现代电子技术关键字:协议  卫星  串口  通信 手机看文章 扫描二维码
随时随地手机看文章
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所示。

4 结语

本文介绍了一种使用VB实现GPS定位信息提取的方法,具有简单、实用的特点。通过这一方法可以实现GPS接收机和PC机之间的数据通信,并能将所需的定位信息直观地在相应窗口显示出来。

关键字:协议  卫星  串口  通信 引用地址:基于MSComm控件的GPS接收机数据终端接口设计

上一篇:非接触式RFID的读写器系统设计
下一篇:基于CC1020的无线通信模块设计

推荐阅读最新更新时间:2024-05-13 18:17

德州仪器联合中国通信学会共同举办无线峰会
本次盛会云集众多中国 OEM 厂商、运营商、政府官员以及业界专家学者, 将以互动开放式论坛形式探讨无线通信行业的标准、政策以及技术创新等问题 2006 年 11 月 6 日,北京讯 德州仪器 (TI) 宣布将与中国通信学会 (CIC) 联合主办盛大的无线通信高峰会议。本次会议将以互动的开放式论坛形式,为政府官员、中国手机制造商、运营商以及业界专家学者,提供一个探讨中国无线通信行业的现状、未来趋势、挑战及解决之道的交流平台。本次无线高峰会议将于 2006 年 11 月 9 日在北京中国大饭店举行。届时 TI 首席执行官理查德·谭普顿 (Rich Templeton) 先生将就 TI 对中国无线商机的前景展望发表
[焦点新闻]
51单片机系列——单总线通信方式——DS18B20温度检测的设计
这个电路仿真的原理是因为:根据普中科技上的编程(一模一样),但用proteus7.8仿真的时候却仿真不出来,经过小编的一段时间的思考解决了用软件仿真DS18B20温度检测的电路。我先讲仿真电路图与源码分享给大家。 仿真电路图: temp.h //温度检测模块头文件 #ifndef __TEMP_H_ #define __TEMP_H_ #include reg52.h //---重定义关键词---// #ifndef uchar #define uchar unsigned char #endif #ifndef uint #define uint unsigned int #endif //--定义使用
[单片机]
51单片机系列——单总线<font color='red'>通信</font>方式——DS18B20温度检测的设计
使用C8051F的串口对MAX3232进行自发自收
系统功能 使用C8051F的串口对MAX3232进行自发自收。 硬件设计 串口芯片MAX3232控制电路原理图 软件设计 下面部分从TXT拷出,拷到网页,代码部分缺省了很多空格,比较凌乱,请谅解! USART详细程序请查看C8051F USART程序。 //目标系统: 基于C8051F单片机 //应用软件: Silicon IDE / Keil /*01010101010101010101010101010101010101010101010101010101010101010101 ------------------------------------------------------------------
[单片机]
使用C8051F的<font color='red'>串口</font>对MAX3232进行自发自收
这5个国家公共WiFi网速可以甩美国一条街
 WiFi技术问世才20年,但是对高速公共网络的需求近年来大幅增加。现在移动设备可以通过全球各地的数百万个公共热点轻松接入互联网,而某些分析师估计,到2018年时全球公共热点总数将增加8倍,达到3亿多个。下面就随网络通信小编一起来了解一下相关内容吧。 对热点数量的需求不断增加的同时,人们对连网网速的需求也水涨船高,因为人们想流畅地观看网络视频以及上传和下载大量的数据。 现在有很多公司想要提供实现这些增长所需的基础设施和技术,比如传统互联网服务供应商康卡斯特,它的Xfinity服务被PCMag杂志评为2016年度美国网速最快的ISP服务;当然还有为无线互联网市场提供硬件、安全和其他产品的大批公司。 该领域的很多创新公司位于美国,但
[网络通信]
CAN总线通信硬件原理图(采用TJA1050T CAN总线驱
CAN总线通信硬件原理图(采用TJA1050T CAN总线驱动器) F040中内置CAN总线协议控制器,只要外接总线驱动芯片和适当的抗干扰电路就可以很方便地建立一个CAN总线智能测控节点。本设计中采用PHILIP公司的TJA1050T CAN总线驱动器。 CAN总线通信硬件原理图如图3所示。 图中F040 的CAN信号接收引脚RX和发送引脚TX并不直接连接到TJA1050T的RXD和TXD端,而是经由高速光耦6N137进行连接,这样做的目的是为了实现CAN总线各节点的电气隔离。为了实现真正意义上完全的电气隔离,光耦部分的VA和VB必须通过DC-DC模块或者是带有多个隔离输出的开关电源模块进行隔离。为防止过流冲击,TJA
[电源管理]
CAN总线<font color='red'>通信</font>硬件原理图(采用TJA1050T CAN总线驱
特斯拉在美国签署首个镍供应协议 未来6年采购7.5万吨镍
据报道,1月10日,美国电动车制造商特斯拉签署了在美国的第一个镍材料供应合同,该公司将从美国Talon金属公司在明尼苏达州的Tararack镍矿购买镍材料,特斯拉也希望以一种对环境更加友好的方式获取这一关键材料。    两家公司在周一宣布了这一合作的消息。目前,随着电动车逐步走向大众化,市场普遍认为镍的需求将在未来十年大幅增长。据悉,在电动车的锂电池组中,镍主要用于阴极组件,能够提升能量存储密度,延长电动车续航距离。    2020年,特斯拉首席执行官马斯克曾经呼吁全球采矿行业,能够以一种更加注意环保的方式生产镍材料。他也表示,美国本土的镍矿开采发展缓慢,无法满足需求。    据报道,明尼苏达州的上述的镍矿,其实是Talon公司和
[汽车电子]
STM32的三种串口通信协议介绍
  STM32串口硬件电路   开发板串口硬件电路   STM32串口编程   1、整体流程   ① 开启GPIO时钟和USARTX时钟   ② 配置TX和RX引脚   ③ 初始化USART控制器   2、细节实现   ① 开启GPIO时钟和USARTX时钟   RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1 | RCC_APB2Periph_GPIOA, ENABLE);   ② 配置TX和RX引脚   /* Configure USART1 Tx (PA.09) as alternate function push-pull */   GPIO_InitStructure.GPIO
[单片机]
STM32的三种<font color='red'>串口</font><font color='red'>通信</font><font color='red'>协议</font>介绍
I2C总线通信接口的CPLD实现
    摘要: 介绍采用ALTERA公司的可编程器件,实现I2C总线的通信接口的基本原理;给出部分VHDL语言描述。该通信接口号专用的接口芯片相比,具有使用灵活,系统配置方便的特点。     关键词: I2C总线 CPLD VHDL I2C总线是PHILIPS公司开发的一种简单、双向二线制同步串行总线。它只需要两根线(串行时钟线和串行数据线)即可在连接于总线上的器件之间传送信息。该总线是具备多主机系统所需要的包括裁决和高低速设备同步等功能的高性能串行总线,应用极为广泛。 目前,虽然市场上有专用I2C总线接口芯片,但是地址可选范围小,性能指标固定,功能单一,而且使用不方便。针对I2C总线的电气特性及其通信协
[工业控制]
小广播
最新应用文章
换一换 更多 相关热搜器件

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 安防电子 医疗电子 工业控制

词云: 1 2 3 4 5 6 7 8 9 10

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved