APP下载

基于 VC++的 GPS状态监控与数据采集软件的设计与实现

2010-09-28罗海英刘旭东

测绘通报 2010年12期
关键词:星座图接收机串口

罗海英,李 强,刘旭东

(1.北京跟踪与通信技术研究所,北京 100094;2.北京理工大学,北京 100081)

基于 VC++的 GPS状态监控与数据采集软件的设计与实现

罗海英1,2,李 强1,刘旭东1

(1.北京跟踪与通信技术研究所,北京 100094;2.北京理工大学,北京 100081)

利用VC++和NovAtel公司的系列精密测量型接收机,开发了一套 GPS状态监控与数据采集软件。该软件能够针对测量型GPS接收机实现自动握手、命令发送、数据解调、状态监控窗口显示、星座窗口显示和通道跟踪状态窗口显示等功能;能够进行原始测量数据的采集并且具有事后回放功能,兼容了NovAtel公司目前所有型号的系列产品,界面友好,使用方便,多次参加工程实践,具有很好的应用推广价值。

VC++;GPS;状态监控;数据采集

一、引 言

GPS是现代高新技术实现军民两用的一个成功典范,已逐步演变为一种世界性的高新技术产业,受到人们的普遍关注。虽然欧洲的伽利略、中国的北斗二代等系统已经逐步开始建设,但是不可否认,GPS仍然是目前世界上应用最为广泛的卫星导航系统,它具有全球连续覆盖、精度高、定位实时性好、观测时间短、全天候作业等优点[1]。而 GPS接收机通过接收卫星信号解算出目标位置、速度和其他信息,以实现定位导航功能,显然如何获取接收机的数据显得极其重要[2]。

GPS接收机输出的数据格式分为两类:①十进制的ASCⅡ码,GPS的统一标准格式NMEA-0183输出就采用这种格式,目前大量的应用研究均为基于NMEA-0183格式进行的[3];②二进制码,它具有运算方便的特点,考虑到精密测量、GPS事后数据处理等数据量较大的特点,本软件采集并解调 GPS接收机输出的二进制数据。

通常情况下,用户都是用计算机和 GPS接收机进行通信,将 GPS定位信息导入计算机后再处理。Visual C++作为可视化开发工具,以其卓越的功能为串口通信编程提供了强大的技术支持[4]。本文介绍的 GPS状态监控与数据采集软件采用异步串行传输方式,通过RS-232串口采集二进制的 GPS数据。

二、GPS数据传输方式和数据格式

GPS接收机与计算机之间采用 RS-232异步串行传输方式进行数据交换。在进行串口通信时,必须先打开串口并进行初始化后才能开始数据的发送和接收,通信完成后应及时关闭串口[5]。从串口读取数据的方法有很多种,在此直接使用W in32 API函数对其进行编程处理。GPS接收机的串口参数配置为:数据传输率 115 200 bit/s,数据位 8 bit/s,启动位 1 bit,停止位 1 bit,无奇偶校验。考虑到精度测量的需求,采样率大于 10 Hz。在对 GPS进行提取信息之前必须明确 GPS的数据结构,NovAtel系列接收机大致可以分为两类:①老一代的OE MⅡ和OE MⅢ系列;②新一代的OE MⅣ和OE MⅤ系列。两个系列产品在数据格式上存在较大的差异,因此在程序实现上需要对其定义不同的数据结构。OE MⅡ和OE MⅢ系列接收机的数据结构参如图1所示。OE MⅣ和OE MⅤ系列接收机的数据结构参如图2所示。

图1 OEMⅡ和OEMⅢ系列接收机的数据结构示意图

图2 OEMⅣ和OEMⅤ系列接收机的数据结构示意图面

三、软件系统设计与主要功能

该软件系统结构主要由主控程序、通道跟踪状态显示模块、星座图显示模块、状态监控显示模块等组成。各部分以独立线程方式实现,彼此之间的数据通信和共享通过主控程序开辟的数据共享区实现。系统结构示意图如图 3所示。

图3 系统结构示意图

主控程序主要完成六项功能:①用预定的波特率自动完成对 GPS接收机的搜索。②数据存放和处理。主要用于存入设置或者解调得到的各种元数据和某个具体测量历元的瞬时测量数据,进行合理性检验,并进行必要的计算及存放解算结果。具体包括存放解调得到的 GPS接收机通道跟踪状态数据,与 GPS卫星相关的具体某颗卫星的伪距、多普勒、载波相位等数据并进行合理性检验,卫星的方位、高度、星历并进行卫星视位置和星历计算,设置、计算和存放测站相关数据、观测数据的记录等。③数据解调功能。解调模块主要完成端口读取数据的解调工作,数据解调模块以“注册”方式存放多种格式数据的解调模式,由用户根据连接的 GPS机载进行选取。其具体功能包括解调模块注册、解调端口读取的数据、对解调的数据进行 CRC校验。④端口控制功能。主要包括端口打开、关闭,与GPS接收机的自动握手,读取端口接收的 GPS数据,通过端口向 GPS写控制命令,以虚拟 GPS数据流方式实现数据回放,其中包括数据文件打开、关闭、读取。⑤参数设置功能。参数设置包括初始化参数设置和命令设置,采用读取配置文件方式实现。其中初始化参数设置,包括接收机参数设置、程序运行参数、计算机串口设置、文件存储路径声明等参数;命令设置参数包括了要对接收机进行设置的常见命令。⑥时间及坐标转换功能。主要完成由 GPS时间与北京时间,地心坐标与大地经纬度等转换。

星座图显示功能主要是以天空星座图的方式绘制当前可见可用的 GPS卫星星座图,图形界面如图 4所示;通道跟踪状态功能为绘制接收机各通道当前跟踪状态,包括信噪比、跟踪状态、锁定时间等信息,图形界面如图 5所示;状态监控信息显示功能主要是显示当前的相关参数和状态,包括接收机的联机参数、当前采样时间,以北京时间进行显示当前的定位状态、当前解算状态、当前的定位结果和定位解算残差、当前解调得到的帧归类统计信息,图形界面如图 6所示。

图4 可视卫星星座图

图5 通道跟踪状态图

图6 定位信息显示图

四、关键技术与算法实现

1.串口通信模块的功能实现

串口通信直接使用W in32 API函数对其进行处理。在W indows下所有的端口均被视为“文件”,不允许直接对硬件端口进行控制操作,因此在串口通信之前需要通过打开文件来打开串口[6],在此定义一个函数来实现串口的初始化,串口初始化完成后采用轮询的方式搜索接收机,并向接收机发送信息请求接收机输出信息,成功连接之后开始接收信息。

2.数据解调

由串口读取的数据,首先需要进行拼帧解调,对解调的数据进行合理性检验,之后进行存储、提供给状态监控显示、星座图、通道状态图等模块使用。NovAtel不同型号的 GPS接收机数据格式彼此不相同,每种格式都需要进行解调,这便增加了程序编制的难度。

3.数据记录

为保证数据记录的正确性与可靠性,软件采用了“数据缓存双文件记盘”技术,其输出文件的副本采用了固定文件名“GPSTempFile.dat”,发生异常情况重启计算机后在约定的文件夹中可以看到 GPSTempFile.dat和另一个实时记盘文件。

五、软件优点

本软件已经成功应用于多次试验中。与其他商用的数据记录与采集软件相比,它具有以下几大优点:

1.操作简单,界面友好

在重要测试任务中,操作手可能不具备熟练操作软件的专业素质,而目前大量的商用软件均存在操作烦琐、使用不便的问题,本软件界面友好,操作简单,只需要简单的几步操作,就可实现软件的正常运行。

2.简单易学,避免错误

软件采用配置文件的方式进行初始化和接收机命令设置,这样避免了在关键任务中输入错误的命令,并且一旦在事后数据处理中出现问题,首先查找接收机的命令设置是否正确,方便快速查找问题,提高了工作的效率。

3.功能齐全,简单实用

软件在需求阶段分析的比较透彻,既克服了商用软件的缺陷,又具备了比较齐全的功能,很好地实现了数据的监控与采集。

六、结束语

介绍了一种使用 VC++实现 GPS数据监控与采集的自研软件,通过介绍的软件可以将 GPS原始测量信息、定位测速信息完整接收,通过对定位参数的提取可将其应用于其他 GPS应用领域。本文程序在W indows XP下由MicrosoftVisual.NET 2003编译通过,具有简单、实用的特点。它可以实现 GPS接收机和计算机之间的数据通信,并将定位信息、星座图、通道跟踪状态等信息直观地在相应窗口显示出来,具有很好的应用推广价值。

[1] 周忠谟,易杰军,等.GPS卫星测量原理与应用[M].北京:测绘出版社,1997:2-4.

[2] 高振松,过静王君,李冰皓,等.W indows CE下实现掌上机和 GPSOE M板的通信 [J].测绘通报,2001(5):35-36.

[3] 顾必良,王黎明,韩焱.基于 VC++的 GPS数据采集与处理[J].微计算机信息,2008,24(5-1):203-204.

[4] 王晓东.基于VC++的 GPS数据采集系统的设计与实现[J].湖北汽车工业学院学报,2006,20(2):46-49.

[5] 郞锐,罗发根.Visual C++网络通信程序开发指南[M].北京:机械工业出版社,2004.

[6] 马云.Visual C++.NET宝典[M].北京:电子工业出版社,2003.

Design and Implementation of GPS StateM on itoring and Data Acquisition Software Based on VC++

LUO Haiying,L IQiang,L IU Xudong

0494-0911(2010)12-0027-03

P228.4

B

2009-12-25

罗海英(1979—),女,辽宁盖州人,工程师,研究方向为 GPS应用。

猜你喜欢

星座图接收机串口
浅谈AB PLC串口跟RFID传感器的通讯应用
基于寻址的通信信号调制算法实现
一种用于调幅接收机AGC的设计与实现
一种面向ADS-B的RNSS/RDSS双模接收机设计
基于资源块星座图的稀疏码多址接入码本设计
数字接收机故障维修与维护
基于多接收机的圆周SAR欺骗干扰方法
数字电源内部数据传输的串口通信方法实现
USB接口的多串口数据并行接收方法探索
基于蓝牙串口适配器的GPS接收机与AutoCAD的实时无线通信