返回首页
当前位置: 主页 > GPS新闻 > GPS资讯 >

基于GPS-OEM板和单片机的定位终端开发

时间:2007-10-05 00:07来源: 作者:
摘要:本文以GARMIN公司GPS25LVS OEM板为例,介绍了GPS-OEM板的工作原理和通信协议,讨论了基于单片机和OEM板开发简单的GPS接收机系统的方法。着重讲述了OEM板和单片机之间的通信,并给出了系统流程图。

1、        引言

    全球定位系统(Global Positioning System 简称GPS)是美国第二代卫星导航系统。它是在子午仪卫星导航系统的基础上发展起来的,GPS能提供全天候、连续、实时高精度导航参数,实现三维定位,并可提供精确的时间信息。GPS系统由空间部分、地面监控部分和地面接收机部分组成。GPS定位技术的基本原理是利用测距交会定位的方法。用户接收机接收到卫星发播的信号并利用本机产生的伪随机噪声码取得距离观测量和导航电文;根据导航电文提供的卫星位置和钟差改正信息计算接收机的位置。由于GPS具有全球覆盖以及精度高、定位速度快、实时性好、抗干扰能力强等特点。近年来GPS在在国内外得到广泛的应用,在各个领域发挥了极大的作用,已成为信息时代不可缺少的一部分。

2、        GPS-OEM板工作原理和通信协议

2.1OEM板工作原理

GPS-OEM板是将GPS接收机的主要部件做成大规模集成电路片,并集成在一块电路板上。如图(1)所示。这个电路板具有接收GPS信号、处理信号、输出观测信号和定位结果等功能。用户利用OEM板进行二次硬件开发可研制成各种应用的GPS接收机。

    

图1 GPS OEM板结构图

本设计采用的是GARMIN 公司的GPS25LVS OEM板与ATMEL公司出品的AT89S52单片机。GPS25LVS OEM板作为GPS接收机的主要组成部分接收来自天线单元的信号,通过变频、放大、滤波等一系列处理过程,实现对GPS卫星信号的跟踪、锁定、测量, 从而产生计算位置的数据信息(包括:纬度、经度、高度、速度、日期、时间、航向、卫星状况等),并由RS232标准串口输出串行数据。该OEM板为12通道的GPS接收机,可以同时跟踪多达12颗的GPS卫星,能够实现快速定位。GARMIN的OEM板功耗小,数据更新率为每秒一次。

2.2GPS-OEM板串口通信协议

GPS-OEM板的输入输出语句均按串行通信协议。数据结构为8个数据位、一个起始位、一个停止位,无奇偶校验位,输出数据格式初始化为NMEA0183格式。输出波特率为4800波特。用户通过输入语句对GPS-OEM板进行初始化,设置数据格式、通信波特率、要求输出的种类等;输出语句即向用户输出GPS的各种数据信息。下面就串口1输入输出语句进行介绍。

2.2.1)输入语句

输入语句包括初始位置、时间、秒脉冲状态、差分模式、NMEA输出间隔等设置信息。这些语句是GPS接收机可以由串口1接收的语句。本设计使用了接收机初始化信息(PGRMI)语句。该语句一般在初始位置和当前实际位置的距离超过800公里时使用,以加快定位速度:

    $PGRMI,<1>,<2>,<3>,<4>,<5>,<6>,<7>*hh<CR><LF>

      <1>     纬度ddmm.mmmm(度分)格式(前面的0也将被传输)

      <2>     纬度半球N(北半球)或S(南半球)

      <3>     经度dddmm.mmmm(度分)格式(前面的0也将被传输)

      <4>     经度半球E(东经)或W(西经)

      <5>     UTC日期,ddmmyy(日月年)格式

      <6>     UTC时间,hhmmss(时分秒)格式

      <7>     接收机命令,A=自动定位,R=机器重新启动

2.2.2输出语句

串口1输出NMEA 0183版本2.00的ASCII码语句,包括GPALM,GPGGA,GPGSA,GPGSV,GPRMC,GPVTG(NMEA 标准语句);PGRME,PGRMF,PGRMT,PGRMV(GARMIN定义的语句);LCGLL,LCVTG。下面以GPRMC语句为例来介绍。该语句包含时间、日期、方位、速度和磁偏角等信息,基本上可以满足一般的导航需求:

$GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,*hh<CR><LF>

<1> UTC 时间,hhmmss(时分秒)格式

<2>定位状态,A=有效定位,V=无效定位

<3>纬度ddmm.mmmm(度分)格式(前面的0也将被传输)

<4>纬度半球N(北半球)或S(南半球)

<5>经度dddmm.mmmm(度分)格式(前面的0也将被传输)

<6>经度半球E(东经)或W(西经)

<7>地面速率(000.0~999.9 节,前面的0也将被传输)

<8>地面航向(000.0~359.9 度,以真北为参考基准,前面的0也将被传输)

<9> UTC日期,ddmmyy(日月年)格式

<10>磁偏角(000.0~180.0度,前面的0也将被传输)

<11>磁偏角方向,E(东)或W(西)

2.2.3语句格式

NMEA0183语句格式如下:

“$ ”为语句起始标志;“Aaccc”为地址域,前两位为识别符,后三位为语句名;

“,”为域分隔符;“Ddd…ddd”为数据块,发送数据内容;“*”为校验和识别符,其后面的两位数为校验和;“hh”为校验和;“<CR>/<LF>”为终止符,表示回车、换行。

3、        基于GPS-OEM板与AT89S52单片机开发基本GPS接收机

本设计要求GPS25LVS OEM板发送数据,AT89S52单片机接收、存储数据。单片机与GPS OEM板是通过串口进行通信的。单片机串口工作方式选择的是串口方式1,这是标准异步通信方式。系统的波特率为4800bps,单片机使用的晶振是11.059MHz,由这两个数值配置相应的寄存器值。定位信息通过显示模块显示,并通过键盘输入进行初始化配置。

3.1方案分析

3.1.1零MODEM方式

由于是近距离传输,所以采用零MODEM方式连接。

3.1.2采用MAX232电平转换芯片

单片机与GPS OEM板的联接是通过一个电平转换芯片实现的。因为GPS OEM板的串口电平是符合RS232标准的电平,而单片机串口采用的是TTL电平,因此需要通过电平转换才能够联接。MAX232芯片是一款较为常用的电平转换芯片,可以实现RS232电平与TTL电平的双向转换。该芯片内部有电压倍增电路和转换电路,仅需外接几个小电容和+5V电源便可工作,使用十分方便。

3.1.3采用中断方式

由于OEM板接收输出的语句每秒刷新1次,为了提高CPU利用率,故采用中断方式而不是查询方式接收数据。本设计的中断用于响应键盘输入,对单片机而言属于外部中断。单片机的中断请求由控制寄存器TCON决定,外部请求0(INT0)由IE0和IT0两位进行控制。

3.1.4键盘和显示器

键盘使用的是4×4的薄膜键盘,由单片机的P2口控制。显示部分采用了字符型液晶显示器,规格为20×4的显示器,8根数据线和单片机的P3口连接。

3.2设计实现

3.2.1硬件连接

    硬件连接图如下:

                                                  

图2系统硬件连接图

3.2.1软件实现

系统软件流程如图3

                        图 3软件流程图

系统软件由初始化模块、数据处理模块和人机对话模块组成。

1初始化模块完成开机上电后对单片机、液晶显示器和GPS OEM板的初始化工作。对单片机设置串口工作模式、设置波特率和中断工作模式;对液晶显示器设置开机画面和显示模式;对GPS OEM板完成串口的成功通信。

2数据处理模块负责处理从GPS OEM接收到的数据和从键盘输入的数据。接收数据时首先需要判断数据是否有效(在GPRMC语句中,A为有效,V为无效)。因输出数据是以语句的形式出现的,每条语句代表一种数据,每种数据有它自己的识别码,所以判断有效性后要根据收到的语句的识别码来判断该语句是否为所需要的内容(如GPRMC中,“GP”为识别符,“RMC”为语句名)。当接收完数据后,还要进行一次检错过程,将所有收到的数据异或求和之后,与校验和“hh”进行比较,如过两者相同,则整个数据接收正确,然后对数据进行处理;若接收不正确,则重新进行接收。

对收到的数据进行处理时,则要参考各语句的字节格式,提取所需要的字节,去除不需要的字节。同时,由于GPS OEM板的数据格式符合NMEA 0183 ASCII码接口协议,所以对接收到的数据要转换为需要的信息。另外,由于GPS OEM板发送的时间是世界统一时,与我国的时区相差八个小时,所以还要将时间做转换。转换时间要考虑到年月日的变更。数据更新率为每秒一次。系统工作时OEM板不断得到新的数据,单片机不断刷新RAM,处理完后的数据随时送液晶显示器显示。

接收数据时,如果数据无效则可由单片机响应键盘输入的信息,对GPS OEM板进行配置,以加快定位速度。配置时,该模块负责将输入的信息发送到GPS OEM板。对发送到GPS OEM板的信息要转换为NMEA0183格式。在对GPS OEM板配置的语句中,校验码非常重要,因为GPS OEM板有时可能没有正确接收到配置语句,所以配置时要连续发送,直到GPS OEM板返回一个确认语句为止。

3人机对话模块主要是处理键盘输入和相应的显示器显示,完成对GPS OEM板的配置工作。该部分对键盘输入进行检测,对于非法字符不予接受,同时提供了修改功能,对于正确的字符进行格式的转换,形成完整的信息输入GPS OEM板。同时完成从单片机读数据到液晶显示器和从液晶显示器读数据到单片机的双向传输工作。

      

4.结束语

本文中我们介绍了基于OEM板和单片机开发基本GPS接收机系统的方法。 GPS应用越来越广泛,我们的设计只是应用的基础和开端。在实际应用中我们要结合各个领域的特殊情况和特定的技术需求,进行有针对性的处理和设计。

                        参考文献

[1] 邱致和,王万义.GPS原理与应用.北京:电子工业出版社,2002

[2] 余永权.ATME89系列单片机应用技术.北京:北京航空航天大学出版社,2002

[3] 马忠梅,籍顺心,等.单片机的C语言应用程序设计.北京:北京航空航天大学出版社,1999

[4] GARMIN Corporation.GPS25LP Series Technical Specification

作者简介:李远,男,汉族,讲师,1996年毕业于西安空军电讯工程学院通信工程专业,现在武汉华中科技大学电信系军事通信科研中心攻读硕士研究生,主要从事GPS等全球定位系统的研究和应用开发

(责任编辑:admin)
[ GPSUU整理发布,版权归原作者所有。]
顶一下
(2)
50%
踩一下
(2)
50%
------分隔线----------------------------

推荐内容