GPS数据采集分析

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于GPS数据采集系统的设计

时间:2012-08-02 09:58:50 来源:现代电子技术作者:史晓影

关键字:GPS数据采集系统

摘要:为了设计高精度、全天候、全天时的数据采集系统,采用了GPS技术实现通信,信息采用NMEA-0183格式,单片机接收GPS输出的时间和定位信息后,将信息调整为我国的标准,并将调整后的经度、纬度、海拔高度和时间等信息通过液晶终端显示。最终实现了GPS数据采集及转换等工作,为事故定位、搜查救援等工作提供了技术依据。关键词:GPS数据采集;定位;数据处理;单片机

随着科技的发展,移动技术的不断成熟,定位导航开辟了一个重要的新兴市场。GPS(Global Positioning System)以其高精度、全天候、全天时的特点,在定位、导航、测距等领域被广泛应用,具有测量精度高、速度快、用户数量不限、抗干扰能力强等优点。不仅用于军事领域,还广泛用于工农业生产、交通运输、野外探险等领域。本系统实现的数据采集精确度较高;采集到的位置可以控制在2 m范围之内,接收数据并处理的时间小于2 s,存精确度和实时性上要优于其他数据采集系统。

1 GPS数据采集系统的设计

硬件系统中主要由主控制器、液晶显示模块和CPS射频前端,数据传输单元组成,如图1所示。

GPS信号通过天线接收值射频前端模块,在射频芯片中实现A/D

转换,将模拟中频信号转化为数字信号通过串口传入单片机,单片机接收的数据信息经过时差,坐标处理等操作,在通过LCD显示出来。

2 GPS数据采集系统的设计及实现

2.1 GPS语句的输出格式

GPS-OEM板采用NMEA-0183通信格式,可以输出多种句型,均以“$”开头。其语句格式如表1所示。

输出的语句按串口通信协议:1位开始位,8位数据位,1位停止位,无奇偶校验。输出数据采用的是ASCⅡ码字符,内容包含了纬度、经度、速度、日期、航向及卫星状况等信息。语句达十余种,其中定位语句$GPRMC其结构为:

$GPRMC,<1>.<2>,<3>.<4>,<5>.<6>,<7>,<8>,<9>,<10>,<11>*hh

其中:

“GP”-交谈识别符;

“RMC”-语句识别符;

“*”-校验和识别符;

“hh”-为校验和,其代表了“$”和“*”之间所有字符的按位异或值(不包括这两个字符)。

$GPRMC语句数据区的内容为:

1)定位点的协调世界时间(UTC),hhmmss(时分秒)格式;

2)定位状态,A=有效定位,V=无效定位;

3)定位点纬度,ddmm.mmmmm(度分)格式;

4)纬度半球,N(北半球)或S(南半球);

5)定位点经度,dddmm.mmmmm(度分)格式;

6)经度半球,E(东经)或W(西经);

7)地面速度,000.0节~999.9节;

8)地面航向,000.0度~359.9度;

9)UTC日期,ddmmyy(日月年)格式;

10)磁偏角,000.0度~180度;

11)磁偏角方向,E(东)或W(西)。

2.2 GPS数据接收

利用单片机的串行接口接收GPS传送过来的数据,其硬件原理如图2所示,GPS的接口及单片机串口均采用TTL电平传输数据,所以GPS 接口引脚4和3可直接与单片机的TXD和RXD引脚相连,无需电平转换,硬件电路图如图2所示。

GPS模块输出的是数据流,每秒钟更新一次数据。必须要用单片机对其输出的数据流中的数据进行提取,以方便用户直接读取。首先打开串口中断服务子程序,开始接收数据,判断其是否有“$”符号,然后根据逗号的个数进行判断数据的类型,然后分别存储时间、经度、纬度、日期等信号,若接收到“\n”则接收结束。

用C语言编程,其程序如下:

在PC机上接收的GPRMC语句信息如下:

$GPRMC,103320,A,4350.95221,N,12524.06042,E,000.0,000.0,130507,009.1,W*50

这是一条GPS定位数据信息语句,涵义是UTC时间为10时33分20秒,位置在北纬43度50.9522分,东经125度24.0604分,移动速度为0,移动范围为0,日期为2007年5月13日,地磁变化为9.10,地磁变化方向为西,校验和为50H。根据接收的信息用单片机进行相应的处理,就可以得到所需的信息了,信息处理过程见3节。

3 对接收信息的处理

数据的处理主要包括两个方面:

1)时间的处理

直接从卫星接收到的时间信息是UTC时间(格林尼治时间),需要处理成北京时间。

要变成北京时间需要加上8个小时,如果超过24小时,则减去24

小时后,才是北京时间。

时间转换处理程序如下:

2)定位的处理

GPS接受的经度、纬度等信息采用的是美国的84坐标系统,需要转换成我国的54坐标系统。为便于描述设如下几个参量:大地坐标-(B,L,H)

平面坐标-(x,y,z)

椭球偏心率-C

椭球参数m,n-大地坐标转换到指教坐标需要使用的参数,则有:

4 结束语

本系统讨论了用单片机对GPS数据的读取及处理的方法,分析了GPS 模块的信息格式并编制了通信软件,不仅成功地实现了GPS定位信息的接收与提取,而且具有硬件电路简单、成本低廉、编程方便、性能稳定的特点,具有一定的使用价值。

GPS模块的数据格式

对GPS模块的数据处理本质上还是串口通信程序设计,只是GPS模块的输出遵循固定的格式,通过字符串检索查找即可从模块发送的数据中找出需要的数据,常用的GPS模块大多采用NMEA-0183 协议。NMEA-0183 是美国国家海洋电子协会(National Marine Electronics Association)所指定的标准规格,这一标准制订所有航海电子仪器间的通讯标准,其中包含传输资料的格式以及传输资料的通讯协议。

以下是一组正常的GPS 数据

$GPGGA,082006.000,3852.9276,N,11527.4283,E,1,08,1.0,20.6,M,,,,0000*35

$GPRMC,082006.000,A,3852.9276,N,11527.4283,E,0.00,0.0,261009,,*38

$GPVTG,0.0,T,,M,0.00,N,0.0,K*50

下面分别对每组数据的含义进行分析。

GPS 固定数据输出语句($GPGGA),这是一帧GPS 定位的主要数据,也是使用最广的数据。为了便于理解,下面举例说明$GPGGA语句各部分的含义。

例:$GPGGA,082006.000,3852.9276,N,11527.4283,E,1,08,1.0,20.6,M,,,,0000*35

其标准格式为:

$GPGGA,(1),(2),(3),(4),(5),(6),(7),(8),(9),M,(10),M,(11),(12)*hh(CR)(LF)

各部分所对应的含义为:

(1) 定位UTC 时间:08 时20 分06 秒

(2) 纬度(格式ddmm.mmmm:即dd 度,mm.mmmm 分);

(3) N/S(北纬或南纬):北纬38 度52.9276 分;

(4) 经度(格式dddmm.mmmm:即ddd 度,mm.mmmm 分);

(5) E/W(东经或西经):东经115 度27.4283 分;

(6) 质量因子(0=没有定位,1=实时GPS,2=差分GPS):1=实时GPS;

(7) 可使用的卫星数(0~8):可使用的卫星数=08;

(8) 水平精度因子(1.0~99.9);水平精度因子=1.0;

(9) 天线高程(海平面,-9999.9~99999.9,单位:m);天线高程=20.6m);

(10) 大地椭球面相对海平面的高度(-999.9~9999.9,单位:m):无;

相关文档
最新文档