GPS定位信息的单片机控制显示系统
扫描二维码
随时随地手机看文章
利用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输出用于单片机信息处理。
1.2单片机控制系统的硬件电路原理
图2. 单片机控制系统电路原理图
单片机采用华邦W78E516B,该芯片具有在系统下载编程功能,修改调试程序十分方便。其主要特性为:
①32KB片内Flash存储器,具有在线可编程能力和保密功能;
②512B片内RAM;
③增强型串行通信口和串行外围接口;
④支持C语言。
系统的电路原理如图2。系统采用12MHZ晶振,串口方式1接收GPS信息,P0口和P2口用于七段共阳LED显示接口,可以轮流显示实时时间、纬度、经度及其它GPS信息数据。
2 控制系统的软件设计
2.1 GPS25-LVS的信息输出格式[!--empirenews.page--]
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。
图3. 串口中断程序流程图
2.3 GPS接收信息在内存中的分配
表1. 内存内信息地址表
3 结束语
GPS接收OEM板价格的低廉和超小体积板子的大量生产,使得目前市场上手持GPS产品大量涌现,为GPS的应用展示了广阔的前景。