嵌入式GPS数据采集系统的设计与实现

发布时间:2010-8-2 11:55    发布者:lavida
关键词: GPS , 嵌入式 , 数据采集
1 引言

全球定位系统(Global Position System,GPS)是可在海、陆、空进行全方位实时三维导航与定位的新一代卫星导航定位系统,具有全天候、高精度和高效益等特点,现GPS已在各领域得到广泛应用。  

本文采用嵌入式操作系统μC/OS-II,控制OEM板接收导航信息,并对GPS数据采集系统的硬件和软件提出了详细的设计方案,给出了提取GPS特征数据的算法,这些对研究嵌入式系统应用、GPS定位及其在组合导航中的应用以及对OEM板的二次开发等都是实用的。  

2 系统总体设计  

嵌入式GPS数据采集系统由接收部分(OEM板)、电平转换部分(MAX232)、控制部分、显示部分组成,硬件结构如图1所示。  

  
OEM板通过天线接收来自GPS的导航数据并经过电平转换后发送给EP7312, EP7312接收OEM板发来的数据并存储、显示。EP7312与OEM板之间采用异步串行方式通信,帧格式1位起始位,8位数据位,1位停止位,无校验位,波特率为9600 bit.s-1。通过软件控制EP7312对GPS信号进行实时处理,以获得当前的经度、纬度坐标等所需信息,并通过液晶显示。  

3 系统硬件配置  

3.1 接收模块  

GPS-OEM板主要是由变频器、标频器、信号通道、微处理器和存储单元等构成。在上电完成初始自检后,它将自动地接收来自天线的GPS射频信号,经过变频、放大、相关、混频等一系列处理后,完成并行通道对其视界内几何位置最佳的数颗卫星的连续跟踪,并且测出信号从卫星到接收天线的传播时间,解译出GPS卫星所发送的导航电文,最后经由I/0口输出串行数据,这些数据主要是向用户提供定位信息,包括纬度、经度、速度、时间等。  

系统接收部分选用的Jupiter TU30-D410 -031,是美国Rockwell公司生产的并行12通道OEM板。该OEM板具有体积小、定时时间短、无静态漂移等特点,能够提供位置、速度、时间、定位与导航信息,以载波相位输出、1PPS时标和10kHz方波输出,适合各种导航定位的应用。  

3.2 控制模块  

系统采用Cirrus Logic公司的32位嵌入式处理器EP7312。该ARM处理器内带8K缓存,支持Thumb指令。EP7312资源丰富,功能强大,有27个通用I/O,2个UART,2个定时器,并内带LCD控制器,可直接连接单色、彩色LCD。EP7312功耗很低,最大不超过90mW。  
采用EP7312构成的GPS应用系统,具有功耗低、体积小、使用灵活的特点,系统的结构和功能可以根据需求的不同进行个性化配置,而且可以很方便地进行系统外设的扩展。  

3.3 显示模块  

本系统采用液晶显示器是SHARP公司的彩色LCD,有效显示点阵为320×240,其功耗较低,抗干扰能力强,体积小。由于EP7312内部带有LCD控制器,当系统接收OEM板输出的导航数据信息时,只要设置其内部控制器的寄存器就可以对LCD实现控制,然后再通过向Frame Buffer输出接收到的并经过处理的导航信息,这时显示屏上就可以显示定位点精确的经度、纬度及本地时间了。  

4 系统软件设计及实现  

4.1 μC/OS-II简介  

μC/OS-II是开源实时嵌入式操作系统,绝大部分代码是用C编写的,其可移植性较强,可广泛地应用于各种不同的硬件平台上[3]。μC/OS-II是一个占先式实时系统,当有优先级高的任务就绪时,原任务将被打断而转为优先级较高的任务,这也是实时性的重要保证。μC/OS-II具体移植可参照其它资料。  

4.2 应用程序设计  

根据设计要求,系统将应用程序划分为采集存储和显示两个任务,其优先级分别为10和11。采集存储任务的主要功能是对导航数据采集,并且每30秒作为历史记录存储一次,以便与当前的导航信息比较。首先必须掌握系统的通信协议。GPS-OEM板采用NMEA-0183通信标准格式,可以输出多种句型,均以“$”开头。输出的语句按串口通信协议,波特率9600bit.s-1,1位开始位,8位数据位,1位停止位,无奇偶校验。输出数据采用的是ASCⅡ码字符,内容包含了纬度、经度、速度、日期、航向及卫星状况等信息。语句达十余种,本系统所使用的语句仅限于$GPRMC定位数据语句。其结构为:  

$GPRMC,,,,,,  
<6>,,,,,*hh
其中“GP”为交谈识别符;“RMC”为语句识别符;“*”为校验和识别符;“hh”为校验和,其代表了“$”与“*”之间所有字符的按位异或值(不包括这两个字符)。  
$GPRMC语句数据区的内容为:  
定位点的协调世界时间(UTC),hhmmss(时分秒)格式;  
定位状态,A=有效定位,V=无效定位;  
定位点纬度,ddmm.mmmm(度分)格式;  
纬度半球,N(北半球)或S(南半球);  
定位点经度,dddmm.mmmmm(度分)格式;  
经度半球,E(东经)或W(西经);  
地面速率,000.0节"999.9节;  
地面航向,000.0度"359.9度;  
UTC日期,ddmmyy(日月年)格式;  
磁偏角,000.0度"180度;  
磁偏角方向,E(东)或W(西)。  

由于TU30-D410-031的波特率设置为9600bit.s-1,因此任务运行时,首先应将串行口的波特率设为此值,EP7312就会接收到OEM板的定位数据。在串口收到信息后,先判别是否为语句引导头“$GPRMC”,否,则放弃此次接收;是,则接收数据内容。由于接收到$GPRMC帧头后,再接收11个数据包即完成整帧数据的接收,存储后系统将调用等待延时函数。  

显示任务的功能是负责所采集的数据在LCD上显示出来,每隔一秒刷新一次。$GPRMC语句输出了基本的定位信息,可以满足一般用户的使用要求。接收来的数据存放在内存中,提取时先从数据中读取定位状态判断是否有效,若有效再提取相应的时间及经纬度等信息。应注意的是在处理北京时间时应在UTC时间上加上8h才是准确的北京时,在超出24h时应作减24h处理。系统运行时GPS定位信息在LCD上显示界面如图2。  

  
5 结束语  

本文论述了嵌入式系统对GPS数据的读取、处理及显示的方法,分析了GPS模块的信息格式并编制通信软件,成功地实现了GPS定位信息的接收与显示。该系统程序简单,可靠,可运用于车辆的导航系统中,另外,其方法思路对嵌入式系统、OEM板开发也具有很好的参考价值。
本文地址:https://www.eechina.com/thread-18480-1-1.html     【打印本页】

本站部分文章为转载或网友发布,目的在于传递和分享信息,并不代表本网赞同其观点和对其真实性负责;文章版权归原作者及原出处所有,如涉及作品内容、版权和其它问题,我们将根据著作权人的要求,第一时间更正或删除。
您需要登录后才可以发表评论 登录 | 立即注册

厂商推荐

  • Microchip视频专区
  • 我们是Microchip
  • 你仿真过吗?使用免费的MPLAB Mindi模拟仿真器降低设计风险
  • 利用模拟开发工具生态系统进行安全电路设计
  • 更佳设计的解决方案——Microchip模拟开发生态系统
  • 贸泽电子(Mouser)专区

相关视频

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
快速回复 返回顶部 返回列表