PDA环境下GPS信号的接收和处理方法

摘要阐述在WiTadowsCE嵌入式系统中,利用串口实现GPS和PDA通信的方法。

首先,介绍GPS信号的数据格式,并对系统的软硬件环境及串行通信进行描述。最后,设计GPS信号处理模块,详细说明如何使用嵌入式程序语言开发串口通信程序,并给出具体步骤和部分实现代码。

引言

3PS即全球定位系统,主要有三大组成部分——空间星座部分、地面监控部分和用户设备部分。其中(GPS空间星座部分、地面监控部分均为美国所控制;(GPS的用户设备主要由接收机硬件和处理软件组成。用户通过用户设备接收GPS卫星信号,经信号处理而获得用户位置、速度等信息,最终实现利用GPS进行导航和定位的目的。目前,许多GPS厂商遵循NMEAO183协议针对PDA掌上电脑开发许多导航型GPS。

GPS通过串口与PDA实现数据通信,利用(3PS传来的数据,可以在PDA上得到物体的实时位置、速度等参数。通过与GIS系统的集成,可以在PDA上实现数字导航,很直观地在地图上了解所处的位置等信息。下面具体说明如何实现GPS与PDA的串口通信。(学电脑)

串行通信

每个PocketPC都配有一个串行端口,以便PocketPC与外部串行设备之间进行通信。串行端口的本质功能是作为芯片和串行设备之间的编码转换器。当数据从芯片经过串行端口发送出去时,字节数据被转换为串行的位。在接收数据时,串行的位将被转换为字节数据。WindowsCE使用了通信驱动程序Comm.drv,以便使用标准的WindowsAPI函数发送和接收数据。驱动程序通常由串口设备制造商提供,以便将硬件与Windows CE连接。在程序设计中,模拟了一个COM6串口。先使用Comm6.PoxtOpen打开串口,设置Comm控件的属性,Timer触发OnComm接收GPS信号的事件,实现GPS信号的实时接收。GPS提供串行通信接口,串行通信参数为:波特率=57 600 bps,数据位=8位,开始位=1位,停止位=1位,无奇偶校验。

GPS数据格式

NMEA0183协议是美国国家海洋电子协会(NationaIMarineElectronlcsAssociation)制定的GPS接口协议标准。NMEA0183定义了若干代表不同含义的语句,每个语句实际上是一个ASCII码串。这种码直观,易于识别和应用。在试验中,不需要了解NMEA0183通信协议的全部信息,仅需要从中挑选出需要的那部分定位数据,其余的信息忽略掉。

GPS与掌上电脑通信时,通过串口每秒钟发送10条数据。实际导航应用读取GPS的空间定位数据时,可以根据需要每隔几秒钟更新一次经纬度和时问数据,不必频繁地更新数据,否则,会浪费掌上设备有限的电能。如果和卫星通信正常,可以接收到的数据格式如下:$GPGGA,,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,,<12>*hh。其具体信息如表l所列。


一个完整的NEMA0183语句是从起始符“$GPGGA”到终止符“”为止的一段字符串。需要掌握的信息是经纬度、经纬度方向、GPS定位状态和接收信号的时间。所以当接收到这样一个完整的NEMA0183语句时,提取有用信息的方法是:先判定起始符$GPGGA的位置,从起始符开始读人数据,再通过异或校验后的语句中寻找字符“,”,然后截取前后两个“,”之间的字符(串)获得所关心的数据,并以回车符为一个CPS语句的终止符,得到一个完整的GPS信号。在提取出的GPS语句中,找寻经纬度所在的逗号位置,读出经纬度坐标,再将经纬度坐标进行度数的转换。因为地图的坐标是以度数为标准的。

GPS信号处理

根据串行通信的原理,结合GPS数据的格式,可以设计GPS信号处理模块以提取与(3PS位置相关的信息。由于一般用户坐标系均为制图坐标系,所以还要把从GPS信号中提取的坐标由WGS84坐标变换为相应的54、80坐标或地方坐标。

GPS信号处理模块设计

GPS数据处理模块的设计方案如图l所示。GPS接收机通过串口6将定位数据(NMEA0183Ver2.O)传给PocketPC,并将GPS数据在电子地图上定位。在EVB中,借助Comm控件将定位数据读进来,接着进行定位数据的分类,并提取出所需要的信息,同时将这些有用的信息传给主应用程序。主应用程序再将GPS接收机的控制信息整理成NEMA0183 VER2.O语句,通过Comm控件的传递并发送到GPS接收机。这样,P0cket。PC与GPS接收机的串口通信和GPS定位数据处理功能通过进程外的ActiveX服务器封装,将系统的实时性能通过操作系统的进程管理器来实现.从而绕过了EVB单线程的不足。

GPS信号接收和处理过程

GPS接收到位置信号后,系统将对GPS的定位信息进行分解并提取出有用数据。GPS信号接收和处理的过程:通过串口6将GPS输出的数据传递给PDA,PDA主程序获得目标当前的位置(经纬度坐标、海拔),将接收机获得的GPS数据进行分解,从中得到目标当前的位置和格林威治时间(该时间加上8小时即为我国标准时),经过相应的坐标转换,再将当前位置显示在电子地图上。GPS信号接收和处理如图2所示。


GPS信号的接收程序实现

时间: 2024-09-12 18:14:15

PDA环境下GPS信号的接收和处理方法的相关文章

ise-如何在ISE开发环境下对信号进行希尔伯特(hilbert)变换?

问题描述 如何在ISE开发环境下对信号进行希尔伯特(hilbert)变换? 新手小白,想对数字信号进行希尔伯特变换,最好采用IP核.我用的是ISE14.7版本,其中有个FIR的IP核(版本6.3)可以选择希尔伯特滤波器,但我不知道应该如何设置.请大神帮忙,跪谢了! 另:所需要处理的信号是14位的 解决方案 ** 首先在matlab界面中设置好hilbert滤波器系数,然后按照正常方法将滤波器系数保存,在那个fir滤波器设计界面中直接浏览设计好的滤波器系数文件就可以了,主要是hilbert滤波器系

link环境下如何实现发射对抽象类的方法的调用?或者如何获得调用地址?

问题描述 link环境下如何实现发射对抽象类的方法的调用?或者如何获得调用地址? link环境下如何实现发射对抽象类的方法的调用?或者如何获得调用地址? 解决方案 除非你用emit去创建一个派生类.还要实现抽象方法.

Linux环境下php实现给网站截图的方法_php技巧

本文实例讲述了Linux环境下php实现给网站截图的方法.分享给大家供大家参考,具体如下: 第一步:下载wkhtmltopdf 复制代码 代码如下: [root@iZ94aawoublZ ~]# wget http://download.gna.org/wkhtmltopdf/0.12/0.12.3/wkhtmltox-0.12.3_linux-generic-amd64.tar.xz 第二步:解压 复制代码 代码如下: [root@iZ94aawoublZ ~]# xz -d wkhtmlto

win8环境下vs2010老是未响应求解决方法

问题描述 win8环境下用vs2010进行开发老是未响应,求大神们提供解决办法最好是详细点 解决方案 解决方案二:这个未响应的问题,涉及的东西,太大了.系统硬件配置拉不动,导致响应不过来最常见.系统内存不大,打开的软件多......解决方案三:换2012.2013换台电脑解决方案四:系统问题也有可能解决方案五:如果刚安装就出现这个问题,那就升级电脑或则重装系统吧.如果是安装了很久,最近才出现这个问题的,禁用某些扩展试试.

在Linux环境下mysql的root密码忘记解决方法(三种)_Mysql

MySQL密码的恢复方法之一 1.首先确认服务器出于安全的状态,也就是没有人能够任意地连接MySQL数据库. 因为在重新设置MySQL的root密码的期间,MySQL数据库完全出于没有密码保护的 状态下,其他的用户也可以任意地登录和修改MySQL的信息.可以采用将MySQL对外的端口封闭,并且停止Apache以及所有的用户进程的方法实现服务器的准安全状态.最安全的状态是到服务器的Console上面操作,并且拔掉网线. 2.修改MySQL的登录设置: # vi /etc/my.cnf 在[mysq

windows环境下用squid代理https(ssl)的方法_win服务器

这个其实跟配置http代理也差不多,我之前是因为没有使用支持ssl的squid版本,所以反复折腾都不见效! 首先得检查你正在使用的squid版本是否是支持ssl的,主要看squid\sbin\ssleay32.dll文件是否存在,如果没有此文件那就得去换个支持ssl的squid版本了. 我这里就只提供个最简单的例子: 复制代码 代码如下: acl all src 0.0.0.0/0.0.0.0 acl manager proto cache_object acl localhost src 12

Foxmail如何在Wingate代理服务器环境下收发邮件

  Foxmail手机短信,可以在使用HTTP PRoxy.SOCKS4或SOCKS5代理服务器的网络环境下发送.Foxmail中的设置方法如下: 1. 点击Foxmail主窗口菜单的"选项"|"系统设置",选择设置对话框的"代理"选项页. 2. 选中"短信代理服务器"复选框. 3. 在"类型"一栏中可以选择"HTTP Proxy"."SOCKS4"或者"S

《高度安全环境下的高级渗透测试》—第1章1.1节什么是高级渗透测试

第1章 计划和界定一次成功的渗透测试高度安全环境下的高级渗透测试本章将介绍在对一个复杂和加固环境进行渗透测试时,该如何进行计划和准备.本章将讲解下述主题: 什么是高级渗透测试:如何成功地界定渗透测试目标:渗透测试之前需要出现哪些情况:设定你的测试范围--凡事总有结束的时候:制定执行计划:利用MagicTree进行精细管理:使用MagicTree导出各种格式的测试结果:使用Dradis进行基于团队的数据收集和信息共享:在Dradis中创建可重用的模板.1.1 什么是高级渗透测试渗透测试能有效检测你

IT环境下内部控制评审内容与方法

计算机数据处理与手工处理有许多不同,从而产生了新的内部控制内容和方式,研究计算机环境下的内部控制的评审内容及其方法,无疑对开展信息系统审计和审计质量的控制都是很有意义. 一.信息系统内部控制评审的主要内容 通常,计算机信息系统内部控制可分为一般控制和应用控制.一般控制适用于较宽范围的风险,这些风险系统地威胁到信息系统环境下所有应用程序的完整性.应用控制是控制特定应用系统的风险(如工资.应收账款和采购应用系统等),其风险来源于信息系统中应用系统本身的漏洞,直接威胁到数据的安全.准确. (一)一般控