微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 模拟电路设计 > 一种基于GPS的数据采集处理系统的研究设计

一种基于GPS的数据采集处理系统的研究设计

时间:01-27 来源:互联网 点击:
1  引言

GPS(Global Positioning System,全球卫星定位系统)以其高精度、全天候、全天时的特点,在定位、导航、测距、授时遥感等领域广泛应用,并得到了快速的发展。设计一种基于嵌入式系统的GPS定位数据采集系统,根据GPS信号接收原理和嵌入式技术,该设计完成了基于单片机和计算机实现GPS数据的采集,并以良好的人机界面显示出系统所处的经纬度、海拔高度、X,Y坐标以及日期等信息,该系统已应用于某外场的车载定位试验中,代替了以前人工记录定位数据的烦琐,提高了效率。

2 系统描述

本设计利用TI的低功耗MSP430F149单片机的双串行接口,一路将GPS接收模块接收的定位信息数据传送至单片机,由单片机对GPS定位信息中需要的信息进行采集、解析,最后将需要的信息发送至外接的液晶显示其经、纬度、海拔高度和时间;同时将解析的数据经外部的串口转USB接口电路传送至计算机,计算机将接收到的经纬度坐标通过坐标变换转换成本地的高斯平面坐标,并一同将经纬度、海拔高度、高斯平面坐标值等显示给用户,其整体系统框图如图1所示。


3 GPS数据格式类型及定位信息提取

GPS模块上电后,会每隔一定的时间返回一定格式的数据,其数据格式为:“$信息类型,x,x,x,x,x,x,x,x,x,x,x,x,x”,每帧的起始字符都是“$”,接着是信息类型,后面是定位参数,以逗号分隔开。一帧完整的数据格式如下所示:
$GPRMC,080655.00,A,4546.40891,N,12639.65641,E,1.045,328.42,170809,,,A*60
以上帧数据表示的意义:其中信息类型GPRMC表示为推荐最小定位;080655.00表示当前时间为08时06分55秒;A表示有效定位;4546.4 0891表示纬度;N表示北纬;12639.65641表示经度;E表示东经;1.045表示速率,其单位为节(海里/h);328.42表示航向,指的是偏离正北的角度;170809表示日期等,具体参数见文献。除了GPRMC信息类型外,还有GPGGA信息类型,它里面包括GPS定位信息,其中海拔参数即在此信息类型内,其他的信息类型可参考文献。

设计中数据信息提取、解析是通过TI公司的低功耗单片机MSP430F149完成,其方法首先通过搜寻ASCII码“$”来判断是否是一帧数据的开始,然后通过接收到的五个字符来判断当前所接收到的信息类型,对帧的信息类型识别正确后,通过搜寻的“,”的个数来确定GPS模块当前所接收到的是哪个定位参数,从中提取出需要的定位信息。本设计中仅解析GPRMC和GPGGA的信息中的经、纬度、海拔高度、时间信息等。

4 GPS数据采集处理系统硬件系统设计

4.1 MSP430F149单片机与GPS模块接口电路

MSP430F149单片机是TI公司推出的一款16位的单片机,其具有集成度高、外围设备丰富、超低功耗等优点。本设计中利用MSP430F149单片机实现将GPS模块中的定位信息通过串行接口采集单片机内完成对定位信息的提取、解析,从中选择需要的信息,这里所需要的信息仅包括经、纬度、海拔高度、时间信息等。

GPS模块采用瑞士u-blox公司的NEO-5Q主芯片,此芯片为多功能独立型GPS模组,以ROM为基础架构,采用u-blox最新的 KickStart微弱信号攫取技术,能确保在任何可接收到信号的位置及任何天线尺寸都能够有最佳的初始定位性能,并进行快速定位。并且其外部有 UART,USB,SPI,I2C等多种接口,可方便地与单片机或ARM等微控制器实现无缝连接,电路简单,其具体电路如图2所示。


4.2 串口转换USB接口电路

利用单片机完成定位信息的采集、解析、选择,获得需要的信息一路经12864液晶显示,另一路信息传送至计算机显示。为解决现今许多计算机无串口的问题,在设计中利用PL2302芯舟实现将USB接口虚拟一个串口,来完成数据信息的传输。PL2302用于实现USB和标准RS 232串行端口之间,的转换,其完全遵从USB 1.1协议,满足速度传输要求,其硬件电路如图3所示。

5 GPS数据采集处理系统软件系统设计

该设计的软件系统主要完成接收MSP430F149单片机通过虚拟USB接口传送来的包括经、纬度、海拔高度、时间信息定位参数信息,并在计算机内部完成将经纬度坐标转换成本地的高斯平面坐标。数据记录处理软件主要完成数据格式的解析、采样速率设定、原始数据及计算结果显示和打包存储为txt文本文件和数据处理等功能。系统采用标准图形化用户界面以及详细的联机帮助功能,汉化界面,简单直观,操作方便。各功能模块可根据实际需要进行灵活配置和管理,能够进行多任务操作,实时数据监视、历史数据查询、计算结果显示和打印互不影响。这些工作均由上位机软件来完成,编程语言采用VC++。其中采集到的数据分别在“X”,“Y”,“H”、“经度”和“纬度”显示, “计算结果”显示处理后的数据,此外还有端口选择、采用速率设置及数据计算周期设置,以便使用更加方便、灵活。 运行结果如图4所示。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top