搜索
当前位置: 秒秒彩官网 > 读入数据 >

GPS导航数据提取的设计与研究

gecimao 发表于 2019-06-13 00:38 | 查看: | 回复:

  Windows CE 是一个开放的、可裁剪的、32位实时嵌入式窗口操作系统,具有可靠性好、实时性高、内核体积小的特点,广泛应用于各种智能式设备的开发。系统通过微软提供的Platform Builder定制需要的Windows CE5.0系统,运行在硬件平台上。硬件平台采用博创科技PXA270实验箱,该实验箱嵌入式处理器是基于ARMV5E的Xscale核心PXA270,并支持串口通信。

  GPS导航芯片采用天宝iQ 46240,将接收到的数据通过串口发送给处理器。串口是计算机系统与外部串行设备之间的数据传输通道,是嵌入式通信最可靠、最通用的通信方式。程序员利用Windows API函数可以编写出高效、可移植性的应用程序。Windows CE不支持Windows下常用的串行通信异步I/O方式(Overlapped,非阻塞),因此在嵌入式环境下采用了同步I/O方式的通信程序设计方法。

  实验设计根据GPS导航数据有效性确认的标准,对提取的数据进行处理,把缓存中接收到的GPS数据格式转化为电子地图上常用的浮点型格式。此设计已应用于智能阅读器盲用定位模块中。

  串口通信是串行通信的一种,串行通信的模式一般分为上位机和下位机通信。上位机可以读取下位机的状态数据,也可以设置下位机的状态。一般串行通信协议可分为两类,即读和写。读写协议的描述如图1所示,常用的效验码有异或、累加和、CRC等[1]。

  在实验设计中,GPS接收装置作为下位机只负责提供固定格式的数据,实验箱作为上位机不必发送指令,只负责定时读取GPS接收装置发送的数据。即可以简化通信协议,提高工作效率。

  (4)利用PB将定制的wince系统下载到实验箱上,并与PC机同步[2]。

  为完成串口通信同步I/O方式程序设计,分为三个部分,每个部分有一个函数完成其对应的功能[3]。函数原型为:

  然后在线程函数中采取事件触发方式进行接收处理,通过等待EV_RXCHAR事件的发生来启动ReadFile函数完成对GPS定位信息的接收:

  对于实验中所使用的iQ46240接收芯片,其发送到计算机的数据(采用NEMA0183语句)主要由帧头、帧尾和帧内数据组成。根据数据帧的不同,帧头也不相同,主要有“$GPGGA”、“$GPGSA”、“$GPRMC”等。这些帧头标识了后续帧内数据的组成结构,各帧均以回车符和换行符作为帧尾识别一帧的结束。本文中,定位数据经纬度、速度、时间等均可以从“$GPGGA”帧中获取得到。该帧的结构及各字段释义如下[4]:

  GPS定位的基本原理是根据高速运动卫星的瞬间位置作为已知的起算数据,采用空间距离后方交会的方法确定待测点的位置。假设t时刻在地面待测点安置GPS接收机,可以测定GPS信号到达接收机的时间,加上接收机所接收到的卫星星历等其他数据可以确定以下4个方程式。卫星定位示意图如图3所示。

  xi,yi,zi(i=1,2,3,4)分别代表卫星1、2、3、4在t时刻的空间直角坐标,可由卫星导航电文求得,Vti代表卫星钟差,Vt0为接收机的钟差。

  由以上4个方程式可计算出待测点的坐标x、y、z和接收机的钟差Vt0。因此导航数据能够有效计算必须保证接收到4个卫星的星历。对固定格式的导航电码中提取卫星符号进行确认,如果满足4个卫星的接收状态即可确定当前接收的导航电码可用于数据处理。通常,3颗卫星可以在二维平面上得到经度纬度坐标,为精确起见,4颗卫星可以保证获得三维空间坐标。

  有效数据的提取和数据格式转化都是在回调函数中进行的[5]。帧内各数据段由逗号分割,因此在处理缓存数据时,可以通过搜索ASCII码“$”来判断是否是帧头。对帧头类别进行识别后,再通过对所经历逗号的个数计数来判断当前处理的是哪一种定位导航参数,并做相应的处理。eVC支持CString类型格式,由于定位信息格式固定,本文先利用mbstowcs函数将缓存中的字符型数据转换为宽字符型,然后强制转化为字符串类型。

  得到接收到的卫星数量字符,将卫星数量字符型转化为整型判断卫星数量是否大于4,作为判断是否为有效数据的标准。

  这样将经度纬度信息提取到GPS结构数组中,后续的处理和高层决策可根据该结构中存储的数据作出相应的处理。

  对以上结果分析,可知通过串口在不同时段接收的数据是比较稳定的,能够以此为基础提取到有效的数据和定位信息,本系统结合超图格式(pwr,pmw)的北京市公交站点地图数据,在编写程序时调用超图接口函数打开电子地图数据,将串口接收到的数据读入,得到附近的公交站点并以文本方式输出到界面。

  本文结合相关程序代码陈述了基于eVC环境下串口通信程序的设计,对GPS全球定位系统定位信息的接收和数据提取进行了详细的分析和讨论。主要解决了EVC编程环境下实现串口通信功能、对GPS定位信息的提取和处理的问题。实验对wince5.0自定义平台下开发GPS接收装置给出了代码样例供参考,并已应用于智能阅读器项目中盲用定位模块。

本文链接:http://k-mood.com/durushuju/460.html
随机为您推荐歌词

联系我们 | 关于我们 | 网友投稿 | 版权声明 | 广告服务 | 站点统计 | 网站地图

版权声明:本站资源均来自互联网,如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

Copyright @ 2012-2013 织梦猫 版权所有  Powered by Dedecms 5.7
渝ICP备10013703号  

回顶部