GPS定位信息的单片机显示

2011年10月11日11:14:20 评论

利用GPS(Global Positioning System)全球定位系统而建立的实时导航、定位、授时系统目前已被广泛应用。本文介绍使用GARMIN公司的GPS25-LVS系列OEM (Original Equipment Manufacturer)接收板及单片机实现实时时间、经纬度等综合信息显示的设计方法。

GPS25-LVS系列OEM板采用单一5V供电,内置保护电池,RS232、TTL两种电平自动输出NMEA 0183 2.0格式(ASCII字符型)语句,是目前应用最广泛的GPS接收处理板,能满足各种导航和授时领域的需求。具有很高的性价比和强有力的市场竞争力,其主要性能特点如下:

  • 并行12通道,可同时接收12颗卫星
  • 定位时间:重捕<2sec,热启动为15sec,冷启动45sec,自动搜索90sec
  • 定位精度:15mRMS/差分时<5m
  • 可接收实时差分信号用于精确定位,信号格式为RTCM SC-104,波特率自适应。
  • 1PPS秒脉冲信号输出,精度指标高达10-6秒
  • 双串口(TTL)输出,波特率可由软件设置(1200~9600)
  • 环境工作温度: -35°C—+85°C
  • 尺寸:46.5×69.8×11.4mm
  • 重量:31g
  • 输入电压:5.0VDC+/-5%
  • 灵敏度:-166Dbw
  • 后备电源:板置3V锂电池(10年寿命)
  • 功耗:1W
  • 天线接口:50—ohm MCX 接头有源天线(5V)
  • 电源/数据口:单排12插针

1、控制系统的硬件原理

1.1 GPS25-LVS系列OEM接收板硬件接口

GPS25-LVS系列OEM接收板采用12脚的接口,接口各引脚的功能如图1所示。设计中使用了串口1或12脚的NMEA输出,串口1可用于PC机对OEM接收板进行参数设置,12脚NMEA输出用于单片机信息处理。

GPS定位信息的单片机显示

图1 GPS25-LVS板引脚接口功能

1.2 单片机控制系统的硬件电路原理

单片机采用华邦W78E516B,该芯片具有在系统下载编程功能,修改调试程序十分方便。其主要特性为:

  • 32KB片内Flash存储器,具有在线可编程能力和保密功能;
  • 512B片内RAM
  • 增强型串行通信口和串行外围接口
  • 支持C语言

系统的电路原理如图2。系统采用12MHz晶振,串口方式1接收GPS信息,P0口和P2口用于七段共阳LED显示接口,可以轮流显示实时时间、纬度、经度及其它GPS信息数据。

GPS定位信息的单片机显示

图2 单片机控制系统电路原理图

2、控制系统的软件设计

2.1 GPS25-LVS的信息输出格式

GPS25-LVS的通信波特率默认值为4800,1个起始位,8个数据位,1个停止位,无奇偶校验。通常使用NMEA-0183格式输出,数据代码为ASCII码字符。NMEA-0183是美国海洋电子协会为海用电子设备制定的标准格式,目前广泛使用V2.0版本。由于该格式为ASCII码字符串,比较直观和易于处理,在许多高级语言中都可以直接进行判别、分离,以提取用户所需要的数据。GPS25-LVS系列OEM板可输出12句语句,分别是GPGGA,GPGSA,GPGSV,GPRMC,GPVTG,LCGLL,LCVTG,PGRME,PGRMF,PGRMT,PGRMV,GPGLL。不同的语句中传送不同的信息,如GPGGA语句中传送的格式为:

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

传送的信息说明如下:

$GPGGA: 起始引导符及语句格式说明(本句为GPS定位数据)
<1>UTC时间,时时分分秒秒格式
<2>纬度,度度分分.分分分分格式(第一位是零也将传送)
<3>纬度半球,N或S(北纬或南纬)
<4>经度,度度分分.分分分分格式(第一位零也将传送)
<5>经度半球,E或W(东经或西经)
<6>GPS质量指示,0=方位无法使用,1=非差分GPS获得方位,2=差分方式获得方位(DGPS),6=估计获得
<7>使用卫星数量,从00到12(第一个零也将传送)
<8>水平精确度,0.5到99.9
<9>天线离海平面的高度,-9999.9到9999.9米
M 指单位米
<10>大地水准面高度,-999.9到9999.9米
M 指单位米
<11>差分GPS数据期限(RTCM SC-104),最后设立RTCM传送的秒数量(如无DGPS为0)
<12>差分参考基站标号,从0000到1023(首位0也将传送。如无DGPS为0)
* 语句结束标志符
hh 从$开始的所有ASCII码的校验和
<CR>此项在GPS25-LVS板中不传送
<LF>此项在GPS25-LVS板中不传送

OEM板输出的信息可在PC机的超级中端中显示,也可在GARMIN公司提供的GPSCFG.EXE设置软件中显示,如在PC机上看到的实时接收GPGGA语句为:

$GPGGA,114641,3002.3232,N,12206.1157,E,1,03,12.9,53.2,M,11.6,M,,*4A

这是一条GPS定位数据信息语句,意思为UTC时间为11时46分41秒,位置在北纬30度2.3232分,东经122度6.1157分,普通GPS定位方式,接收到3颗卫星,水平精度12.9米,天线离海平面高度53.2米,所在地离地平面高度11.6米,校验和为4AH。

2.2 单片机的信息接收处理

在单片机串口收到信息后,先判别是否为语句引导头“$”,然后再接收信息内容,在收到“*”字符ASCⅡ码后再接收二个字节结束接收,然后根据语句标识区分出信息类别以对收到ASCⅡ码进行处理显示。注意在处理北京时间时应在UTC时间上加上8小时才是准确的北京时,在超出24小时时应作减24小时处理。串口中断程序的处理流程如下图3。

GPS定位信息的单片机显示

图3 串口中断程序流程图

2.3 GPS接收信息在内存中的分配

GPS定位信息的单片机显示

GPS接收信息在内存中的分配

结束语:GPS接收OEM板价格的低廉和超小体积板子的大量生产,使得目前市场上手持GPS产品大量涌现,为GPS的应用展示了广阔的前景。