APP下载

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

2012-02-15史晓影

电子设计工程 2012年10期
关键词:经度串口语句

史晓影

(渭南师范学院 物理与电气工程学院,陕西 渭南 714000)

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

1 GPS数据采集系统的设计

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

图1 系统框图Fig.1 System block diagram

GPS信号通过天线接收值射频前端模块,在射频芯片中实现A/D转换,将模拟中频信号转化为数字信号通过串口传入单片机,单片机接收的数据信息经过时差,坐标处理等操作,在通过LCD显示出来。

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

2.1 GPS语句的输出格式

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

表1 NMEA-0183语句格式Tab.1 NMEA-0183 statement format

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

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

其中:

“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所示。

图2 GPS数据接收Fig.2 GPSdata reception

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

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

void chkzhd()interrupt 4//串口接收中断

{

uchar ch,num;

p37=!p37;

if(TI==1)TI=0;

if(RI==1)

{

ch=SBUF;

if(ch=='$'){gps_flag=1;num=0;}

if(gps_flag==1)

{

gps_rev[num++]=ch;

if((ch==' ')||(num>79))

{gps_rev[num]='';gps_dat();gps_flag=0;}

}

RI=0;

}

}

在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时间(格林尼治时间)[9],需要处理成北京时间。

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

时间转换处理程序如下:

if(gps_receive[4]=='M')

{

for(i=0;i<6;i++)

{

time[i]=gps_reveive[gps_shijian(1)+i];

}

if(time[1]>'1'){time[0]+=1;time[1]-=2;}

else time[1]+=8;

}

2)定位的处理

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

大地坐标—(B,L,H)

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

椭球偏心率—C

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

x=(p+H).cos(B).cos(L);

y=(p+h)cos(B).sin(L);

z=[n.(1-c2)+H].sin(B);

4 结束语

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

[1]朱习军.基于小波分析的高精度GPS测量质量控制研究[D].山东:山东科技大学,2006.

[2]吴江飞.星载GPS卫星定轨中若干问题的研究 [D].北京:中国科学院研究生院,2006.

[3]王建宏.用VB实现GPS信息处理 [J].微型电脑应用,2007(23):43-45.WANG Jian-hong.Processing of the GPS data using visual basic language[J].Micro-computer applications,2007(23):43-45.

[4]黄凌.基于单片机的GPS信息处理系统[J].现代电子技术,2007(21):60-61,75.HUANG Ling.GPSinformation processing systems based on microcontroller[J].Modern Electronic Technology,2007(21):60-61,75.

[5]马兰,袁卫.基于GPS的数据采集处理系统设计[J].现代电子技术,2010(33):1-2.MA Lan,YUAN Wei.GPS-based data acquisition and processing system design[J].Modern Electronic Technology,2010(33):1-2.

[6]李光飞.GPS定位信息的单片机控制显示系统 [J].微计算机信息,2004(12):1-5.LI Guang-fei.MCU control system of the GPSlocation information[J].Control and Automation Publication Group,2004(12):1-5.

[7]刘晓.基于单片机采集GPS数据系统的设计[J].青岛科技大学学报,2006(6):172-175.LIU Xiao.The GPS system design based on the microcontroller collection data[J].Qingdao University of Science,2006(6):172-175.

[8]刘江,蔡伯根,唐涛,等.基于GPS与惯性测量单元的列车组合定位系统[J].中国铁道科学,2010(1):123-129.LIUJiang,CAIBo-gen,TANGTao,et al.Integrated positioning system based on GPSand inertial measurement unit train[J].China Railway Science,2010(1):123-129.

[9]张瑜,秦红磊.基于软件GPS接收机的最小二乘定向技术研究[J].现代电子技术,2010(1):1-3.ZHANGYu,QIN Hong-lei.Least squares based software GPS receiver directional technology[J].Modern Electronic Technique,2010(1):1-3.

[10]黄张裕,陈苏娟.一种改进的GPS模糊度白化滤波算法[J].西南交通大学学报,2010(1):150-155.HUANG Zhang-yu,CHEN Su-juan.An improved GPS ambiguity whitening filter algorithm[J].Southwest Jiaotong University,2010(1):150-155.

猜你喜欢

经度串口语句
浅谈AB PLC串口跟RFID传感器的通讯应用
重点:语句衔接
对时差计算方法的探讨
月面余经度:一个冷门概念及其使用
数字电源内部数据传输的串口通信方法实现
USB接口的多串口数据并行接收方法探索
基于蓝牙串口适配器的GPS接收机与AutoCAD的实时无线通信
如何搞定语句衔接题
作文语句实录
如何计算地方时