基于MSP430F149单片机的GPS定位数据采集系统设计

发布者:CelestialSoul最新更新时间:2020-12-29 来源: elecfans关键字:MSP430F149  单片机  GPS  定位数据  采集系统 手机看文章 扫描二维码
随时随地手机看文章

  0 引言

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


  1 系统描述

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

  

GPS定位数据采集系统图 www.elecfans.com


  2 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的信息中的经、纬度、海拔高度、时间信息等。


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

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

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


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

  

MSP430F149单片机与GPS模块接口电路 www.elecfans.com


  3.2 串口转换USB接口电路

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

  

串口转换USB接口电路 www.elecfans.com


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

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


  运行结果如图4所示。

  

GPS数据采集处理系统软件系统设计 www.elecfans.com


  5 结语

  该设计利用TI公司的MSP430F149单片机实现对GPS定位信息的采集、提取。系统已应用在外场车载定位系统试验中,该系统可在全天候工作,定位精度高,自主定位精度优于10 m,若采用差分定位,精度可达厘米级和毫米级,并具有功耗低等优点,满足外场试验要求。


关键字:MSP430F149  单片机  GPS  定位数据  采集系统 引用地址:基于MSP430F149单片机的GPS定位数据采集系统设计

上一篇:基于MSP430F2012和nRF24L01低功耗RFID定位设计方案
下一篇:基于M430F413和EM78P153S的无线抄表系统设计

推荐阅读最新更新时间:2024-11-12 12:19

51单片机控制P2口8位LED灯左移C语言程序
此 程序控制 P2.0~P2.7口8个LED(P2.0~P2.7)灯逐个依次点这,又从(P2.7~P2.0)这样的顺序一直到全部被点亮。 #include reg52.h //头文件 void delay(unsigned int x)//延时函数 { while(x--); } void main(void) { unsigned char i;//定义一个无符号字型局部变量i取值范围0~255 delay(50000); P2=0xfe; for(i=0;i 8;i++)//加入for循环,表明for循环大括号中程序循环执行8次 { delay(50000);//调用延时函数,更
[单片机]
pic单片机A/D转换程序
//选择RAO做为模拟输入通道; //连续转换4次再求 平均值 做为转换结果 //最后结构只取低8位 //结果送 数码管 的低3位显示 #include p IC .h //包含 单片机 内部资源预定义 __CONFIG(0x1832); //芯片配置字,看门狗关,上电延时开,掉电检测关,低压编程关,加密,4M晶体HS振荡 const char TABLE ={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0X82,0XF8,0X80,0X90}; //定义常数0-9的数据表格 void DELAY(); //delay函数申明 void init(); /
[单片机]
利用单片机的数码管模拟时钟的显示时间
#include reg52.h #define SEGPORT P0 sbit seg_select = P2^1; sbit bit_select = P2^0; unsigned char duanma = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; unsigned char weima = {0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; unsigned char TempData ; unsigned char shi = 20, fen = 54, miao = 55;
[单片机]
AVR单片机的BOOT区
BOOT区的由来基于一个简单的道理,即单片机的程序是保存在FLASH中的,要运行程序就必须不停的访问FLASH存储器。对于一般的FLASH存储器,数据的写入需要一定的时间来完成,在数据写入完成之前,存储器中所有的数据都是不可读的,这就在运行旧程序和写入新程序之间造成了一个矛盾。   使用BOOT区是解决这个矛盾的方法之一,它将FLASH存储器从物理上分为两个独立的区域,对其中的一个区的数据写入不会影响到另一个区的数据读取操作。我们可以让单片机的程序在其中一个区(通常是BOOT区)运行,而运行着的程序代码写入另外一个区(通常为应用程序区)内。   AVR高档单片机ATmega系列中含有BOOT代码区,即程序引导区,也可称器件自身监控
[单片机]
51单片机-AT24C
AT24C02是由ATMEL公司提供的,IIC总线串行EEPROM(electronic eraser programmer read only memory),其容量为2kbit(256B),工作电压在2.7v 5.5v之间,生产工艺是CMOS。 一般数字芯片都在左下角和右上角为GND,VCC。容量的计算方法:AT24Cxx :01 1024 容量 = xx * 1kbit。 写入过程: AT24C系列EEPROM芯片的固定部分为1010,A2,A1,A0引脚接高低电平后得到确定的3位编码,形成7位编码即为该器件的地址码。 单片机进行写操作时,首先发送该器件的7位地址码和写方向位 0 (共8位,即
[单片机]
51<font color='red'>单片机</font>-AT24C
51单片机的LED的位定义
一、位定义原理 定义方法:sbit 位名=特殊功能寄存器^位置; sbit LED1 = P2^0; 符号 ^ 前面是特殊功能寄存器的名字,后面的数字定义的可寻址位在特殊功能寄存器中的位置,取值必须是0~7 p2是连接LED的IO口,p2^0到7分别对应LED1到8 二、代码实现 #include reg52.h //对八个LED分别进行位定义 sbit LED1 = P2^0; sbit LED2 = P2^1; sbit LED3 = P2^2; sbit LED4 = P2^3; sbit LED5 = P2^4; sbit LED6 = P2^5; sbit LED7 = P2^6; sbit LED8 = P2^
[单片机]
51<font color='red'>单片机</font>的LED的位定义
PIC单片机读/写AT24C系列存储器原理
  AT24C系列在增强型PIC实验板上编程的硬件原理图如下图所示,U7为实验板上24C02芯片,SDA与单片机的RB5口相连,SCL与单片机RB4相连,七段数码管D5、D7、D8组成了显示单元,字形码的数据通过RC口送入,各数码管的显示片选信号分别不同的RA口进行控制。   在MPLab IDE软件中新建工程,加入源程序代码,同时进行芯片型号的选择和配置位的设置,我们实验所用的芯片型号为PIC16F877A。   编写的程序代码如下,其中程序流程图如下图所示。   软件代码   编好程序后将编译好的HEX码通过ICD2仿真烧写器烧入单片机芯片,上电运行,主程序中在O×01地址写入了“O×55”,在O×0
[单片机]
PIC<font color='red'>单片机</font>读/写AT24C系列存储器原理
瑞萨推出全新RA8入门级MCU产品群, 提供极具性价比的高性能Arm Cortex-M85处理器
RA8E1与RA8E2提供理想的标量和矢量计算性能以及同类卓越的功能集,满足价值导向型市场需求 2024 年 11 月 5 日,中国北京讯 - 全球半导体解决方案供应商瑞萨电子 今日宣布,推出RA8E1和RA8E2微控制器(MCU)产品群,进一步扩展其业界卓越和广受欢迎的MCU系列。 2023年推出的RA8系列MCU是首批采用Arm® Cortex®-M85处理器的MCU,实现市场领先的6.39 CoreMark/MHz(注)性能。新款RA8E1和RA8E2 MCU在保持同等性能的同时,通过精简功能集降低成本,成为工业和家居自动化、办公设备、医疗保健和消费品等大批量应用的理想之选。 RA8E1和RA8E2 MCU采用
[单片机]
瑞萨推出全新RA8入门级<font color='red'>MCU</font>产品群,  提供极具性价比的高性能Arm Cortex-M85处理器
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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