手持定位器的设计与实现

2016-06-13 06:44:38蔺雪葳牟进达王依岳哈尔滨理工大学荣成学院山东荣成264300
山东工业技术 2016年12期
关键词:GPS定位串口通信

葛 欣,蔺雪葳,牟进达,王依岳(哈尔滨理工大学荣成学院,山东 荣成 264300)



手持定位器的设计与实现

葛 欣,蔺雪葳,牟进达,王依岳
(哈尔滨理工大学荣成学院,山东 荣成 264300)

摘 要:为适应定位导航市场的需求,本文设计了一种便捷、精确、价格低廉的手持定位器,主要实现了接收定位数据,经纬度、海拔、时间显示,数据传送至移动终端等基本功能,完成了从定位到数据传输的追踪功能。

关键词:手持定位器;GPS定位;GSM通信;串口通信

0 引言

近年来,随着科技的发展,便携式定位装置越来越受到人们的关注。该装置有较高的实用价值,可以用于登山旅游、野外勘探等等。人们对于更加轻便、准确、可靠的手持定位器的需求越来越强烈。手持定位器的产生和推广必然是今后定位产品发展的趋势[1]。

但是普通手持定位追踪器只实现了定位功能,随着GSM网络技术和GPS技术之间的联系越来越紧密,GSM系统短消息业务快速地成为了GPS定位系统应用中一种全新的通信链路建立、数据信息传输的途径,本装置对GSM以及GPS进行了完美的结合.

1 GPS定位器整体设计方案

设备整体设计。该装置硬件部分由STC12C5A60S2单片机、GPS模块、GSM模块、12864液晶显示屏、电量检测模块组成。GPS模块通过卫星定位,把准确的经纬度通过串口通信传输到单片机,数据进行处理后显示在12864液晶屏上。同时定位数据不断通过GSM模块发送至移动终端,移动终端可以是手机、电脑等。电源采用5v锂离子电池,具有重量轻、体积小、循环寿命长等优点。

2 GPS定位器硬件设计

2.1 主控系统

STC12C5A60S2具有SPI同步通信口,是一种全双工可设置主模式/从模式,高速同步的通讯总线,可以用来进行多单机的主从通信,可以及时接收GPS发送的定位数据,及时把定位数据发送至GSM模块。而且在原来8052共256字节RAM的基础上,扩展了256字节的RAM,共512字节,可以写入足够大的程序[2]。

2.2 GPS定位模块

模块采用U-BLOX NEO-6M模组U-BLOX NEO-6M模块采用50个通道的U-blox6引擎 GPS L1 C/A码,接收卫星数据高效迅速,相比于基站定位、RFID/二维码等[3]。标签识别定位、场景识别定位等,具有方便,可靠性好,性价比高等一系列优点,现已广泛应用于民用领域。U-BLOX NEO-6M模组,完全支持OMA SUPL规范。具有AssistNow自主定位快速功能,可以更快的捕获卫星信息,接收更新速率达到5Hz,跟踪灵敏-162dBm。使之更加准确的定位后,经RS232标准I/O输出串行数据或者输出TTL数据,向MCU进行发送。

2.3 GSM通信模块

基于GSM系统的短消息收发系统的实现方案,采用在电脑或单片机通过GSM模块向手机等移动终端发送短信,比较适合本产品的开发。其短信收发分为两种模式:Text、PDU模式,PDU模式比较复杂,需要用专门的函数将文本格式转换为PDU格式,应用Text模式开发比较简单,本设计采用的是Text模式。在这种方法中,可以通过PC 与GSM模块通信获得定位数据,但是电脑等硬件体积大,不便于携带,可通过手机与GSM模块通信,此种方法便于实现。

3 GPS定位器软件设计

该定位器主要完成GPS信号接收、实时显示经纬度、无线数据传输、电源电量显示等功能,采用模块化设计。硬件设计完成后,对软件进行相关设计,编写关于GPS定位程序、LCD12864显示定位数据程序以及通信模块无线数据传输程序。

3.1 系统软件整体设计流程

系统软件由初始化模块和数据接收处理模块组成。系统的初始化主要包括RAM初始化、特殊功能寄存器初始化和外围设备的初始化。程序工作流程图如图1所示。

3.2 软件模块设计

3.2.1 GPS定位数据接收与发送程序设计

接收程序负责定位信息的接收、所需协议语句数据的提取以及其他情况(接收溢出、错误报警等)的处理。在检测到有效信息后,接收程序将接收缓冲器中的内容读入MCU的数据存储区。

如今市场上的GPS模块种类各异,但大都遵守NMEA-0183协议。该协议是美国国家海洋电子协会为海用电子设备制定的标准格式,目前已成了GPS导航设备统一的RTCM标准协议。NMEA-0183协议采用ASCII码来传递GPS定位信息,称之为帧[4]。

定位器使用异步串行通信对数据进行发送,首先把数据读入SBUF中,根据预先设置好的通信数据格式,对停止位以及起始位进行自动植入。当发送抵达停止位时,标识发送为禁止,当禁止接触时,数据接收方单片机就会做出反应。当数据接收时,采样时钟以输入数据波特率的16倍频率采样输入数据线,如果连续8次采样到低电平,认为是一帧数据的起始位,当接收到起始位后,连续接收预先定位的数据以及停止位,这样就接收到了一帧的数据。

GPS系统中有两种时间区分,一为UTC,另一为LT(地方时)两者的区别为时区不同,因此在计算定位时的标准时间要统一用UTC时间进行换算。整个地球分为二十四时区,每个时区都有自己的本地时间,在国际无线电通信中,为统一而普遍使用一个标准时间,称为通用协调时(UTC,Universal Time Coordinated)。如果要把UTC时间转化为本地时间,可以使用以下公式:

UTC + 时区差=本地时间

时区差东为正,西为负。为此,把东八区时区差记为 +0800,那么UTC + (+0800) = 本地(北京)时间。

3.2.2 通信模块接收与发送数据程序设计

通信部分是由单片机、SIM900A和移动终端组成。U-BLOX NEO-6M收到的数据传送到单片机中处理,再由单片机和SIM900A之间的串行口以AT的形式发送。发送的数据要进行PDU解码以十六进制形式发送。单片机发送数据方式采用异步串行通信,与定位数据的接收方式相同。

用户(追踪器)可以通过接收定位器发送的短信来提取定位数据,也可以发送短信来对定位器进行控制和功能设置。这需要定位器在收到短信后能够自动识别命令类型并自动执行,包括跟踪开始,跟踪停止等基本命令。

3.2.3 GPS定位信息显示程序设计

中断接收程序已对“$GPGGA”协议语句进行了解析,然后将经度、纬度、时间信息等实时刷新显示在LCD12864液晶屏上。GPS模块不断收到新的数据,单片机不断刷新RAM,在液晶屏上显示相应数据。

4 结语

本文设计了一种基于STC12C5A60S2单片机的简易手持定位器,实现了GPS经度、纬度、时间等信息数据的读取。本设计方法灵活,采用了单片机实现数据处理,易于调试,价格便宜,成本低,性能较稳定,方便从GPS定位模块中提取各种所需定位数据,可广泛用于民用领域,方便携带,在所需卫星导航定位信息的广大领域内具有广阔的应用前景。

参考文献:

[1]陶宗仪.GPS的发展、应用及前景[M].航空电子技术,2010(03):1-7.

[2]李全利.单片机原理及接口技术(第二版)[M].北京:高等教育出版社,2009:10-16.

[3]陈嘉清.手持定位装置的设计与实现[D].大连海事大学,2009:25-29.

[4]钱德俊,张哲,胡晨.NMEA0183协议解析[J].电子器件,2007(02):1-3.

资助项目:哈尔滨理工大学大学生创新创业训练计划项目(简易手持定位追踪器系统的设计)

DOI:10.16640/j.cnki.37-1222/t.2016.12.216

作者简介:葛欣(1995-),女,山东齐河人,本科在读,研究方向:电子信息工程。

猜你喜欢
GPS定位串口通信
基于微信平台的并行签到考勤管理系统
移动轨迹挖掘算法设计与系统实现
基于Qt和Flash的嵌入式Linux软件架构设计
串口通信在智能家居监控系统中的应用
基于Android的多维级联定位技术的研究与实现
基于OpenCV的室内照明智能控制系统设计与实现
科技视界(2016年13期)2016-06-13 22:01:19
基于Android 平台的手机自助导游系统的设计与实现
手机防盗追踪系统的设计与实现
基于MSP430单片机的窄带无线数据传输模块的设计
便携式数传电台测试系统的设计与实现