APP下载

基于Proteus的GPS定位仿真实训教学系统设计

2015-06-01朱志伟

长沙民政职业技术学院学报 2015年3期
关键词:接收器教学系统串口

朱志伟

(长沙民政职业技术学院电子信息工程学院,湖南长沙410004)

基于Proteus的GPS定位仿真实训教学系统设计

朱志伟

(长沙民政职业技术学院电子信息工程学院,湖南长沙410004)

根据GPS定位原理和NMEA-0183协议,利用虚拟串口VSPD和虚拟GPS软件,从教学的角度出发,在单片机仿真环境Proteus中实现了GPS定位系统。详细地描述了系统的硬件电路、“$GPRMC”语句的解释流程及仿真操作过程。

Proteus;GPS;仿真;NMEA-0183

GPS(Global Positioning System)全球定位系统已在实时导航、定位、授时等方面广泛应用。在GPS原理与应用教学过程中,利用单片机仿真环境Proteus、虚拟串口VSPD以及虚拟GPS模块共同构成GPS定位仿真实训教学系统。不仅节约了传统实验教学过程中使用的设备和工具,而且可以仿真出一些在实际中很难得到的数据,从而加深对GPS原理的理解,提高了GPS仿真实训教学系统的推广价值。

1 GPS定位原理

GPS系统由3部分组成:空间部分 (GPS卫星星座)、地面控制部分(地面监控系统)、用户设备部分(GPS信号接收器)。每颗GPS卫星时刻发布其位置和时间数据信号,用户接收器测量每颗卫星信号到接收器的时间延迟,根据信号传输速度就可以计算出接收器与不同卫星之间的距离。GPS定位原理如图1所示,图中的GPS接收器为当前要确定位置的设备。利用三颗以上卫星的已知空间位置,用空间距离交会法,可求得地面待定点(接收器)的位置。公式如下:

图1 GPS定位原理示意图

根据这些距离值,就可以推算出GPS接收器的定位信息,如经度、纬度、高度、速度、方向等。考虑到各种误差的影响,为了达到定位精度要求,至少需要同步观测4颗以上的卫星。

2 GPS定位系统仿真电路

GPS定位仿真实训教学系统主要是基于51单片机、虚拟 GPS软件Virtual GPS和虚拟串口软件VSPD。系统仿真电路如图2所示。在VSPD的作用下,GPS定位信息通过单片机串口接收,所接收的信息可来自带串口输出的GPS实物模块,也可以来自Virtual GPS。单片机程序通过解析接收到的GPS信息,将当前时间、经度、纬度、速度及航向信息显示在液晶屏上。图2中显示当前时间为12月8日3点46分41秒;当前位置为东经136度49.6541分,北纬79度5.0695分;当前速度为513千米/时;当前方位为偏正北26.79度。

图2 GPS定位仿真电路

3 GPS定位信息的接收和解析

所设计的GPS定位仿真实训教学系统暂不考虑与地图数据库连接,只对GPS接收模块所输出的定位信息进行解析,然后将时间、经度、纬度、速度与航向实时刷新显示在液晶屏上,达到GPS定位初步应用的目的。

以带串口输出的GPS模块ATK-NEO-6M为例,它遵守NMEA-0183协议。NMEA协议是为了在不同的GPS导航设备中建立统一的标准,由美国国家海洋电子协会制定。GPS接收模块根据NMEA-0183协议的标准规范,将位置、速度等信息通过串口传送出去。

NMEA-0183定义的协议语句比较多,本仿真实训系统的主程序仅对“$GPRMC”协议语句进行解析。“$GPRMC”的所有数据均采用ASCII字符表示,数据传输以“$”开头,以回车换行符(十六进制的0D和0A)结束;数据字段以逗号分隔识别;空字段保留逗号。

例 如 :$GPRMC,034641.656,A,7905.069500,N, 13649.654167,E,277.06,26.79,081214,0,E,A*25。其中,$GPRMC为数据串头,表示此协议语句为最简定位语句;“034641.656”为UTC时间,格式为“时时分分秒秒.毫秒”;“A”表示接收正常,“V”则表示与卫星通信不正常;“7905.069500”表示纬度值;“N”表示北纬,“S”表示南纬;“13649.654167”表示经度值;“E”表示东经,“W”表示西经;“277.06”表示速度(单位为节,1节=1.852千米/小时);“26.79”表示方位角,它的范围为000.0-359.9度(相当于二维罗盘);“081214”表示UTC日期,格式为“日日月月年年”;“0”表示磁偏角,范围为000.0-180.0度;“E”表示地磁变化方向为东,“W”表示地磁变化方向为西;“A”表示自动模式,“D”表示差分模式,“N”表示数据无效;“25”是“$”和“*”之间的所有字符ASCII码的异或结果的十六进制值。

解释“$GPRMC”协议语句对应的程序代码由串口中断函数完成。首先将接收的字符与字符串“$GPRMC”中的字符逐一进行比对,如果完全相同,则继续后面的解析操作,否则忽略本次解析,等待下一“$GPRMC”消息头部的到来。串口中断函数的处理流程如图3所示。

图3 串口中断函数的处理流程图

在实际的GPS应用中,可能并不会用到协议语句的全部信息,而是根据具体的需要,从中选取感兴趣的信息。由于语句的长度是不固定的,因而分离有用的信息时,不能单纯按照该信息在语句中所处的字符位置来查找,还要依据逗号个数来提取。

4 GPS定位仿真调试过程

Proteus目前还没有GPS模块的仿真模型,但可以利用自身的串口仿真功能来实现MCU与虚拟GPS软件通信的仿真调试。详细仿真电路如图1所示。首先在计算机上利用虚拟串口软件VSPD设置出2个互连的虚拟串口COM3和COM4,再启动虚拟GPS软件,将其串口设置为COM4,然后将Proteus中的串行接口仿真器件COMPIM设置为COM3。把它们的波特率都设置成9600bit/s后,仿真运行时,虚拟GPS软件向单片机串口连续发送符合NMEA-0183协议的语句,如图4所示。单片机的串口接收中断函数对“$GPRMC”协议语句进行解释,所解析出的定位信息等由液晶模块显示。

图4 虚拟GPS软件Virtual GPS发送定位信息

5 结束语

GPS定位仿真系统完整地展示了GPS定位数据的格式和应用开发过程,系统基本满足了教学实践的需要,为GPS定位仿真系统的研究与应用做出了积极的探索。

[1]杨俊,武奇生.GPS基本原理及其Matlab仿真[M].西安:西安电子科技大学出版社,2006.

[2]李征航,黄劲松.GPS测量与数据处理[M].武汉:武汉大学出版社,2005.

[3]胡锐,薛晓中,孙瑞胜,等.GPS软件接收机全系统仿真[J].计算机工程,2010,(16):229-231.

[4]陈怀民,马龙,王亮,等.GPS仿真模拟器程控计算机控制台设计与实现[J].计算机测量与控制,2014,(4):1101-1104.

[5]谢杰,侯博,石阳,等.GPS信号仿真器方案设计与实现[J].计算机仿真,2012,(2):36-39.

[6]沈超,裘正定.基于MatLab/Simulink的GPS系统仿真[J].系统仿真学报,2006,(7):1857-1860.

TP274.2

A

1671-5136(2015)03-0139-03

2015-09-06

2015年度湖南省高等学校科学研究项目(编号:15C0079).

朱志伟(1976-),男,湖南衡山人,长沙民政职业技术学院电子信息工程学院副教授、硕士。研究方向:嵌入式系统和电力电子技术。

猜你喜欢

接收器教学系统串口
淄博市大力推进交互式在线教学系统应用
基于Unity的计算机硬件组装仿真教学系统设计
浅谈AB PLC串口跟RFID传感器的通讯应用
基于移动学习理念的智慧教学系统
JXG-50S型相敏轨道电路接收器自动测试台
无线充电器
基于交互式双板教学系统的高中地理教学研究
新型二取二结构的25Hz微电子相敏接收器数据处理方法研究
数字电源内部数据传输的串口通信方法实现
USB接口的多串口数据并行接收方法探索