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

文章作者 100test 发表时间 2007:09:06 11:50:48
来源 100Test.Com百考试题网


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

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

  关键词GPSPDA串口通信 Windows CE

  引言

  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信号的接收程序实现

  系统采用EmbeddedVisualBasic中的Comm通信控件和Timer定时器。定时器设置为每隔2s更新1次经纬度和时间数据。每个Comm控件提供一个通信端口,实现数据传输。

  开始实时接收。

  PrlvateSubmnustart()

  Timerl.lrlteIval=2000

  Timerl.Enabled=True

  Comml.CommPort=6

  Comml.Settings=″57600,N,8.1″

  Comml.PortOpen=True

  strsmsdata=Comml.Input′去除串口Buffer中的暂存信息

  Timerl_Timer

  EndSub

  PrivateSubTimerLTimer()

  DimIngNextvbCrLfAsLong′记录下一个回车换行符位置

  DimIngFirstGPGGAAsLong

  DimMessageAsString

  DimsDateAsString

  Dimcn

  strsmsdata=Comml.Input

  IngFirstGPGGA=Instr(1,strsmsclata,″$GPGGA″)

  IflngFirstGPGGAThen

  IngNextVbCrLf=lnstr(IngFirstGPGGA 1,

  strsmsdata,vbCrLf)

  Message=Mid(Strsmsdata,ingFirstGPGGA,lngNextvb

  CrLf-ingFirstGPGGA)

  ParseNMEAMessageMessage,dblXCoord,dblYCoord,sDate

  ProcessInputdblXCoord,dblYCoord

  EndTf



相关文章


无线网卡无法获得IP地址的解决方案
WiMAX网络端到端的QoS策略
WCDMA的高速引擎细解HSDPA技术
蓝牙模块和OMAP5910的接口技术
PDA环境下G 信号的接收和处理方法
蓝牙技术与协议的开发应用与实现
关于802.11协议族简介总结整理
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛