微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 硬件工程师文库 > 嵌入式GPS数据采集系统的设计与实现

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

时间:06-27 来源:互联网 点击:
    1 引  言

  嵌入式系统是以应用为中心,计算机技术为基础,软硬件可裁剪,对功能、可靠性、成本、体积、功耗等有严格要求的专用计算机系统。使用嵌入式系统不仅对稳定性有很大的改善,而且使应用模块化,极大提高程序的可读性、可扩展性和可移植性[1]。

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

  本文采用嵌入式操作系统μ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,《1》,《2》,《3》,《4》,《5》,

  《6》,《7》,《8》,《9》,《10》,《11》*hh

其中"GP"为交谈识别符;"RMC"为语句识别符;"*"为校验和识别符;"hh"为校验和,其代表了"$"与"*"之间所有字符的按位异或值(不

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top