通信首页 | 产品超市 | 资讯 | 技术 | 行业研究 | 访谈 | 专题 | 社区 | 展会 | 政策法规 | 综述
3G | NGN | VoIP | IPTV | 手机电视 | 对讲机 | 路由器 | 交换机 | 布线 | 安全 | 服务器 | UPS
慧聪网首页 > 通信行业 > 技术文章 > 移动通信
行业搜索
PDA环境下GPS信号的接收和处理方法
2006年8月15日 10:14  来源:21IC中国电子网  作者:杨贵军,武文波
  摘要 阐述在WiTadows CE嵌入式系统中,利用串口实现GPS和PDA通信的方法。  
首先,介绍GPS信号的数据格式,并对系统的软硬件环境及串行通信进行描述。最后,设计GPS信号处理模块,详细说明如何使用嵌入式程序语言开发串口通信程序,并给出具体步骤和部分实现代码。

  关键词 GPS PDA 串口通信 Windows CE 

  引言

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

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

  1 串行通信

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

  2 GPS数据格式

  NMEA0183协议是美国国家海洋电子协会(NationaIMarine Electronlcs Association)制定的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语句中,找寻经纬度所在的逗号位置,读出经纬度坐标,再将经纬度坐标进行度数的转换。因为地图的坐标是以度数为标准的。

  3 GPS信号处理

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

  3.1 GPS信号处理模块设计

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



点击放大图片


  3.2 GPS信号接收和处理过程

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



  3.3 GPS信号的接收程序实现

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

  开始实时接收。
  Prlvate Sub mnustart()
  Timerl.lrlteIval=2000
  Timerl.Enabled=True
  Comml.CommPort=6
  Comml.Settings=″57600,N,8.1″
  Comml.PortOpen=True
  strsmsdata=Comml.Input ′去除串口Buffer中的暂存信息
  Timerl_Timer
End Sub
Private Sub TimerLTimer()
  Dim IngNextvbCrLf As Long′记录下一个回车换行符位置
  Dim IngFirstGPGGA As Long
  Dim Message As String
  Dim sDate As String
  Dim cn
  strsmsdata=Comml.Input
  IngFirstGPGGA=Instr(1,strsmsclata,″$GPGGA″)
  If lngFirstGPGGA Then
  IngNextVbCrLf=lnstr(IngFirstGPGGA+1,
  strsmsdata,vbCrLf)
  Message=Mid(Strsmsdata,ingFirstGPGGA,lngNextvb
  CrLf-ingFirstGPGGA)
  ParseNMEAMessage Message,dblXCoord,dblYCoord,sDate
  ProcessInput dblXCoord,dblYCoord
  End Tf

  4 GPS坐标变换

  GPS定位所得出的结果属于WGS84坐标,而在工程上实用的大多是国家坐标系,或者是独立坐标系。独立坐标系一般是在国家坐标系基础上形成的,因此,GPS定位结果的使用中就有与国家坐标系间的坐标转换问题。一般要通过两步转换:首先将WGS84的大地坐标(L,B)转换为对应于WGS84椭球的高斯平面坐标(X84、Y84),然后再经过平面坐标转换,将高斯平面坐标(X84、Y84)强制附合到本地高斯平面坐标系统。

  4.1高斯换算

  将GPS定位所得出的大地坐标(L,B)转换为高斯平面坐标(X84、Y84)。有关的推导过程较复杂,本文只给出结果:

 


  式中,ι=(L—L。)/p,ιo为投影带中央子午线经度,ρ=206 265s/rad;酉圈曲率半径椭球第一偏心率e=2α-α2;辅助变量t=tgB;辅助变量η=e′cosB;椭圆第二偏心率分别为参考椭球的长短半径);扁率α=(a-b)/a;X为赤道至纬度为B的平行圈的子午线弧长,其计算公式为

 

  4.2平面坐标转换

  平面坐标转换的目的就是将高斯平面坐标(X84、Y84)转换为当地国家坐标系或独立坐标系下的高斯平面坐标。本文设计了一种平均转轴相似转换法。以转换为北京54坐标系中的(X54、Y54)为例,说明该方法的实现过程。

  首先,根据公共点分别在WGS84坐标系和北京54坐标系中的高斯平面坐标,求出公共点在两个坐标系中同一边的方位角之差△a和长度比例系数k。然后,按下式计算任一点在北京54坐标系中的坐标。


 
  式中:xo,yo分别为公共点在北京54中重心坐标;x′,y′o,分别为公共点在WGS84中重心坐标;k为同一边在北京54与WGS84中的边长之比,当有两条以上公共边时,分别求出,取平均值;△Aa为同一边在北京54与WGS84中的方位角之差,△a=a54一a84,当有两个以上公共点时,分别求出,取平均值。

  4.3生成空间交换格式矢量数据

  野外用GPS-PDA采集调查对象的几何数据和属性数据。该数据是一个自定义的格式,经处理后,将定位数据和属性数据融合生成符合要求的空间矢量数据标准交换格式。这种标准格式的矢量数据文件由6部分组成:文件头、要素类型参数、属性数据结构、几何图形数据注记和属性数据。

  5 应用实例

  选取联想天玑XP208型PDA和NAVMAN GPS1010型CF卡式GPS接收设备,用自主开发的数据采集系统记录GPS定位信息和属性数据。

  开机运行主程序,进入主界面,代码设置和参数设置完成后,进入测量界面。首先,选择测量模式,对于不规则地物一般采用“连续测量”模式,规则地物采用“间断测量”模式。然后,点击测量键,开始测量并记录数据。默认观测时间10 s,系统响铃提示,按暂停键结束该点观测数据的记录。此时,在PDA屏幕上显示出测得的第1点。同时在迁站过程中,GPS接收机继续保持跟踪卫星,在下一个待测点上,按测量键继续记录,按暂停键结束该点观测数据的记录。依次测得余下的点并显示。如果此时输入属性,则点击输入属性键后.用“笔”在该图斑中点任意一点,弹出对话框。选择地物要素后,自动弹出图斑的属性录入界面。实地测量结果如图3所示。



  结 语

  通过本设计方法,可以将GPS定位导航信息从GPS接收机完整接收,经过坐标变换后存储为空间矢量交换格式;处理后的空间数据可以为其他应用系统,如各种GIS、RS、ITS(Intelligent Transportatl011 System)等使用,实现在车载导航、智能交通、野外勘探、旅游等方面的应用。本文所讲述的例子是在有线串口上实现的。在实际应用过程中,可以采用其他接口方式来实现GPS与PDA的互连,比如红外接口、蓝牙技术等。通过适当地修改,可以方便地应用到其中。
 
 [关键词]:GPS PDA 串口通信  发表评论    【推荐】 【打印

相关文章 更多 
·基于GPS15L的移动自组网终端系统设计  (7.7 10:51)
·GPS接收机射频前端电路原理与设计  (6.13 10:41)
·个人GPS设备的选择  (4.4 10:50)
·基于GPRS的GPS手持式信息传输系统  (9.5 10:0)
·SK儿童手机停止销售 GPS存在隐患(图)  (8.18 11:17)
·西门子研发GPS短信技术两年后将推出  (8.12 15:33)
·GPS和手机联姻 西门子欲让短信定向  (8.12 11:50)
·韩参与欧盟GNSS为摆脱依靠美GPS局面  (7.13 18:28)
·英特尔试用Wi-Fi代替GPS全球定位系统  (7.13 16:27)
·Wi-Fi定位系统投入商用准确度胜过GPS  (6.21 17:24)
我来评两句〖查看最新评论〗 
请您注意:
·遵守中华人民共和国的各项有关法律法规
·承担一切因您的行为而导致的法律责任
·本网留言板管理人员有权删除其管辖留言内容
·您在本网的留言,本网有权在网站内转载或引用
·参与本留言即表明您已经阅读并接受上述条款
昵称:匿名

最新求购
·紧急求购simcom模块
·求购摄象头
·求购中频
·求购各种废旧电线电缆
·紧急求购marconi sdh光..
最新供应
·供应电脑数据线7
·供应电源AC-DC
·供应路由器 7206VXR
·供应电脑线
·供应定做特种开关电源系..
文字广告
每日新闻排行
·任正非华为内刊专稿:..
·任正非要传承床垫文化..
·史炜再说TD-SCDMA 华为..
·中国标准命运未卜 专家..
·老式大哥大手机频现身..
·SP业务量平均下滑超六..
·3G前景未卜 电信运营商..
·信产部严令:TD测试只..
热点专题
短距离无线通信协议挨个数
破解VPN技术
访谈
导航系统将成为手机标配
访宇达电通总经理李敬平先生
揭开位置服务技术的神秘面纱
访东信北邮数据业务部经理王欣
交易市场
每日新帖
·中兴海外人员印象[转帖]
·中国电信正在建设的移..
·中国铁通集团副总离职
·喜获朋友荣升省移动办..
·也谈华为老员工的股票..
·UT的薪水详解,
·[原创]明天的VoIP改变..
·女生对男生的追问【把..
·阿尔卡特与渠道共拓中..
·电信砖家,你总得给个意..