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

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

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于WinCE的GPS导航信息处理软件的实现

文章来源:/2013-01/6998100ac4e04396b88a92eb691b2579.html   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

文档评论(0)

zhuliyan1314 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档