基于WinCE的GPS导航信息处理软件的实现

发布者:sigma28最新更新时间:2011-12-06 关键字:WinCE  GPS导航 手机看文章 扫描二维码
随时随地手机看文章

0   引言

卫星发出的信号通过GPS 接收机基带处理程序后, 可以获得相关的卫星星历和伪距、伪距律、载波相位、多普勒频移等原始观测量, 如何利用这些信息解算出接收机的位置、速度、时间等定位信息, 是定位解算程序的主要目的。

本文主要介绍了GPS OEM 接收机原始导航信息的获取、GPS 报文的解码以及位置速度等信息的解算程序设计。

1   平台设计

系统采用的操作系统为WinCE, WinCE 是一个多任务、完全抢占式的32 位嵌入式操作系统, 支持WinCEMFC、ATL、WinCE API 和一些附加的编程接口以及各种通信技术。开发工具采用eVC, eVC ( embedded visualC+ + ) 是Windows CE 上的主流开发工具, 封装了网络底层通讯、COM 互操作、RAPI 等。eVC 支持MFC 类库的子集, 使Win32 平台上的VC 程序可以很容易地迁移到WinCE 平台上。

硬件平台采用基于xscale PXA255 处理器的嵌入式系统, 采用NOVAT EL OEM4 接收机获得原始的GPS 导航数据, 两个平台间采用串口进行通讯。

1. 1   串口通信设置

eVC 在实现串口数据通信中存在2 个局限性: 一是eVC 不支持串口通信控件MScomm, 另外, WinCE 不支持重叠I/ O 操作。因此, 要采用WinCE A PI 函数和多线程技术进行数据串口通信的底层开发。

对串口的操作都映射成对文件的操作, 因此, 读取串口的数据相当于读取文件的数据。在eVC 环境中, 通过调用CreateFile 函数来打开串口, 设置读写模式:

H ANDL E m_hCom=CreateFile( STrCom, GENERIC _READ | GEN ERIC_WRITE, 0, NU LL, OPEN _ EXIST _ ING, FILE _AT TRIBU TE_NORMAL, NU LL)

因为WinCE 不支持重叠I/ O, 所以CreateFile 的第6个参数不能设置为:

FILE_FLAG_OVER_LAPPED, 否则串行通信处理将被系统信息阻塞。

打开串口后, 可以通过串口的初始化函数SetCommStat e( ) 来配置各项串口参数, 如波特率、奇偶校验方法、数据位和停止位数等。

1. 2   线程同步

WinCE 的API 不支持重叠I/ O 操作, 因此, 要采用多线程模式解决大量数据读写时产生的困难。当主线程忙时,可以使用单独的线程来处理串口, 也就是异步I/ O 模式。

为了保证在数据读取线程向主线程传递数据时所传递的变量不会被新的串口数据所覆盖, 可以采用互斥体技术。通过以下代码创建互斥体:

H ANDL ECreateMutex ( LPSECU RITY _ AT T RIBU T ESlpMutexAt tr ibutes,BOOL bInitialOwner , LPCTSTR lpN ame) .

线程通过一个等待函数来获得互斥体的所有权, 互斥体的线程是不会被阻断的, 完成对数据的处理后, 需要调用函数释放互斥体, 可以使用如下函数:

BOOL ReleaseMutex( HANDLE hMutex)

2   GPS 导航电文解码

2. 1   导航电文的格式

由卫星发出的导航电文是用户用来定位和导航的基础数据。导航电文一般包含卫星的星历和历书数据、工作状态、时钟改正、电离层时延修正、大气层折射修正以及相应的观测信息, 在报文中还包括奇偶校验信息, 用来验证报文接收的正确性。电文处理模块的功能, 就是根据接收从基带处理模块中获得的导航电文, 并进行奇偶校验, 确定报文完整后, 根据电文格式, 对二进制电文进行解析, 从而获得电文中的导航信息。

导航电文的格式是主帧、子帧、字码和页码, 如图1 所示。每主帧电文长度为1 500 b, 传送速率为50 b/ s, 所以发播一帧电文需要30 s 时间。

    

                       图1  导航电文帧结构

每帧导航电文包括5 个子帧, 每个子帧长6 s, 共有300 b.第1、2、3 子帧各有10 个字码。这3 个子帧的内容每30 s 重复一次, 每小时更新一次。第4、5 子帧各有25页, 共有15 000 b.一帧完整的电文共有37 500 b.

2. 2   导航电文的内容

导航电文的内容包括遥测码、转换码、第1 数据块、第2 数据块和第3 数据块5 部分:

第1 子帧的第3~ 10 个字码为第1 数据块。它的主要内容是: 标志码、数据龄期、卫星时钟改正系数、卫星测距精度、大气传播时延改正。

第2 数据块包括第2 和第3 子帧, 它载有卫星的星历,用来计算卫星的位置。

第3 数据块是由第4 和第5 两个子帧构成的, 它提供了GPS 卫星的历书数据。当接收机捕获到某颗卫星后, 利用第3 数据块的信息可以得到其他卫星的概略星历、时钟改正、码分地址和卫星状态等数据。用户可以根据卫星历书和自己所在的位置, 计算出该时刻能观测到的卫星及其方位角和高度角, 从而选择, 以快速捕获和定位。

3   软件编制

通过串口接收到GPS 导航电文并且经过奇偶验证和解码后, 就可以获得GPS 卫星的星历和观测信息, 包括伪距、载波相位、多普勒频移。利用卫星的星历, 可以计算出当前可见卫星的坐标和在运行速度。一般情况下, 可见的卫星数都大于解算所需的卫星数, 为了获得最优的定位精度, 要对当前可见的卫星进行选择。本系统中, 采用最小GDOP 法进行选星, 选出的最优星座的卫星信息结合观测量, 通过误差修正程序进行伪距修正后, 就可以构成接收机位置的解算方程组。解出此方程组, 即可获得接收机的当前位置和速度以及接收机钟差。

软件基本流程如图2 所示。

  

                 图2  软件主要流程


4   测试结果

2006 年7 月4 日, 在北航对系统进行了测试。经过测试, 系统工作正常, 解算结果散布在较小的范围内。结果显示如图3~ 5 所示。

    


                图3   卫星位置示意图和定位结果

         

                   图4  卫星信息显示图

 

                图5   计算结果输出

5   结论

本文提出的基于嵌入式WinCE 的GPS 导航信息处理方案已经在某导航接收机的研制中得到应用, 系统工作稳定, 能够满足可靠性和实时性要求, 达到预期效果。

关键字:WinCE  GPS导航 引用地址:基于WinCE的GPS导航信息处理软件的实现

上一篇:电池技术成新能源车市场的“包袱”
下一篇:基于ZigBee的汽车空调控制系统设计

推荐阅读最新更新时间:2024-05-02 21:45

支持GPS的iPhone:能否代表汽车导航未来?
  苹果公司新款iPhone 3G手机一上市就在全球各地受到热捧,这种支持GPS的手机第一个周末就卖出逾100万部。随着拥有GPS手机的人不断增多,个人导航设备(PND)厂商担心iPhone导航可能威胁其快速增长的销售。   Garmin是北美导航市场中的领先厂商,最近推出了面向智能手机的导航软件,并计划第四季度推出自己的智能手机Nuviphone。手机向消费者提供获得最新地图和兴趣点(POI),以及接入基于地址服务的能力。   iPhone似乎很适合导航,部分原因在于苹果公司能够创造出容易使用的界面。“iPhone可能从PND厂商手中夺得市场份额,因为它具有大屏幕、低价格,并且预计会在手机市场实现较高的渗透率,”市场调研公司
[手机便携]
GPS汽车导航仪不能说的秘密
  GPS车载导航设备在欧美、日本等国,GPS车载导航仪已经成为大众的一个生活辅助工具,甚至是必需品。作为一种当下热门的汽车电子用品,GPS汽车导航仪可以在地理信息服务、城市导航、自驾远游等方面为车主提供诸多便利。   目前,随着私家车保有量的大幅提升,参与国内GPS市场角逐的企业也如雨后春笋,GPS车载导航仪产品不再是少数专业人士及探险家手里的“发烧”级装备。选购此类高科技产品时,消费者往往处于“一知半解”的状态,容易产生困惑和迷茫。下面,就让我们来了解一下2012最新款导航仪的相关购买知识吧。   电子地图出身须正宗   电子地图是导航仪应用中基础且核心的部分,专业的认证和详实的数据量是其应该具备的基本要素,所以
[嵌入式]
米尔i.MX28开发板上市 携Linux和WinCE系统
近日,ARM工业控制企业米尔科技推出基于飞思卡尔芯片开发板:MYD-IMX28X开发板。该款开发板含MYD-IMX283和MYD-IMX287两个型号,分别基于飞思卡尔i.MX283和i.MX287芯片,整板采用工业级配置,耐温可从-40到+85度。 图1 MYD-IMX28X开发板支持Linux和WinCE两大系统,并且米尔科技已经移植好了所有外围设备的驱动程序。其中Linux系统上层采用QT界面,同时携带部分简单的测试例程,入手即可上手。 i.MX28系列芯片 飞思卡尔i.MX28系列芯片包含i.MX280、i.MX281、i.MX283、i.MX285、i.MX286和i.MX287共6款芯片,都
[嵌入式]
米尔i.MX28开发板上市 携Linux和<font color='red'>WinCE</font>系统
基于GPS/航迹推算组合导航的列车防撞系统设计
0 引言 碰撞避免问题是现代交通运输领域的重要研究问题,与人们的生活息息相关,在航空、航海、道路以及轨道交通领域均有很多的研究。如航空领域中的交通预警和避撞系统/自决策监督广播系统TCAS/ADS B;航海领域中的船舶自动识别系统AIS;道路交通领域的车-车避撞系统C2C等。 道路交通、航空以及航海等领域都已经有了较为成熟的防撞预警系统,相比之下,轨道交通领域的防撞预警系统研究起步较晚,开发实际难度也较大。本文主要针对低速运行的货运列车在复杂的轨道地理条件(隧道、森林、丘陵等)下运行,合理使用单片机技术、GPS卫星定位技术和航迹推算导航算法,设计出低成本的铁路列车防撞系统。 1 系统总体介绍 列车防撞预警系统由定位系统、无线通
[单片机]
基于<font color='red'>GPS</font>/航迹推算组合<font color='red'>导航</font>的列车防撞系统设计
ARM嵌入式Wince的开发心得
主要内容:通过看书初步了解了ARM 嵌入式wince开发的前景和意义,嵌入式的应用领域,ARM硬件的体系结构。WINCE 方面懂得了platform builder开发工具的使用,能够运用platform builder开发工具定制WINCE操作系统,可提取出操作系统内核镜像 NKL.BIN。 ARM Advanced RISC Machines简称,采用精简指令的计算机技术。 ARM高级语言程序设计主要是通过C语言实现。其操作系统的开发可以基于Linux,也可以基于Windows,我主要是基于ARM芯片的WINCE 操作系统的开发和移植。 WINCE 开发平台的构建与配置: 使用platform builder开发平台,安装
[单片机]
GPS模块在便携式导航系统中的应用
摘要:GPS是全球定位系统的简称,目的是在全球范围内对地面或空中目标进行准确定位和监测。文章讨论了GPS模块TU-30的工作原理,介绍了其在便携式导航系统中的应用,给出了这种GPS模块与单片机的接口电路。 关键词:GPS;TU-30;单片机;卫星定位;导航 1 GPS系统简介 GPS是Global Positioning System 的缩写,即全球定位系统。其目的是在全球范围内对地面和空中目标进行准确定位和监测。随着全球性空间定位信息应用的日益广泛,GPS提供的全时域、全天候、高精度定位服务将给空间技术、地球物理、大地测绘、遥感技术、交通调度、军事作战以及人们的日常生活带来巨大的变化和深远的影响。 目前的民用GPS设备
[网络通信]
基于WinCEGPS数据采集系统设计
0 引言 GPS(Global Positioning System,全球卫星定位系统)以其高精度、全天候、全天时的特点,在定位、导航、测距、授时遥感等领域广泛应用,并得到了快速的发展。对于在低功耗、高便携性和高性能设备上实现GPS数据采集和分析技术也显得越发重要。传统的Windows桌面系统体积大,占用系统资源较多,也不利于野外作业,而基于嵌入式系统的ARM硬件平台则具有体积小、功耗低、性能高等特点。WinCE系统作为嵌入式系统的一种类型,相对于Linux和Andriod系统,其开发难度要比后两种系统要低,软件调试也比较容易、灵活,并且WinCE系统类似桌面系统在软件开发方面也较为便利。因此,在未来高性能的便携式设备领域,W
[单片机]
基于<font color='red'>WinCE</font>的<font color='red'>GPS</font>数据采集系统设计
GPS技术及其在导航电子地图中的应用
1 卫星定位系统技术内容简介   1.1 GPS技术系统简介   GPS(Global Positioning System),一般译为"全球卫星定位系统",是美国国防部安排部署的,其首要的任务是为美军及其盟军提供全球范围内不间断的定位、导航等数据。其次,也为民用、商用提供定位、导航、测速、授时等数据服务。GPS能为全球任意地点、任意多个用户同时提供高精度、全天候、连续、实时的三维定位、三维测速和时间基准。由于这一系统在定位、导航、测速、授时等方面的高效率、高精度、多功能、易移动、低价格,因此它在地球科学中应用广泛。   GPS系统包括GPS卫星、GPS监控站,以及用户接收设备和GPS应用软件等部分。GPS系统目前共有24颗卫星分
[嵌入式]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

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

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