打印

便携式GPS接收机设计与实现

[复制链接]
879|22
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Violin11|  楼主 | 2019-2-27 10:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
便携式GPS接收机设计与实现


   1 引言


  GPS以其高精度,全天候,全球覆盖,方便灵活和优质价廉吸引全世界许多用户。GPS的广泛应用改变了人们的工作方式,提高工作效率,带来巨大的经济效益。这里提出一种基于EM411 GPS接收模块和PIC18F2550单片机的手持式GPS定位系统设计方案。该系统采用点阵字符液晶屏显示接收GPS卫星数据,并用SD卡记录所接收到的GPS信息,从而实现GPS数据导入电子地图。



  2 NEMA协议简介


  目前,GPS采用NMEA-0183协议做为发送和接收数据的标准,NMEA-0183是美国国家海洋电子协会(NationalMarine Electronics Association)为统一海洋导航规范而制定的标准,该格式标准已成为国际通用的一种格式,协议内容在兼容NMEA-180和NMEA-0182的基础上。增加了GPS、测深仪、罗经方位系统等多种设备接口和通讯协议定义,同时还允许一些特定厂商对其设备通信自定协议。NMEA-0183格式数据串的所有数据都采用ASCⅡ文本字符表示,数据传输以“$”开头,后面是语句头。语句头由5个字母组成。其前2个字母表示“系统ID”,即表示该语句是属于何种系统或设备,例如GP表示该语句属于GPS定位系统,HC表示该语句属于罗经方位系统;后3个字母表示“语句ID“,表示该语句是关于何方面的数据。语句头后是数据体,包含不同的数据体字段,语句末尾为校验码(可选),以回车换行符《CR》《LF》结束,也就是ACSII字符 “回车”(十六进制的0D)和“换行”(十六进制的0A)。数据字段以逗号分隔识别,空字段保留逗号。在GPS系统中常用语句有GPGGA(GPS定位信息),GPGSA(当前卫星信息),GPGSV(可见卫星信息),GPRMC(推荐定位信息),GPGLL(定位地理信息),GPVTG(地面速度信息) 等。GPS数据传输是以标准异步串行方式发送,其串行通信波特率为4 800 b/s、数据位8位、停止位1位、无奇偶校验位。文献[2]给出各种GPS语句的详细数据格式。



  3 EM411 GPS接收模块简介


  GPS接收模块性能主要决定于其内部使用的GPS核心芯片组,GPS芯片组SiRF Star III通过采用20万次/频率的相关器(Correlators)提高了灵敏度并能在室内定位。冷开机/暖开机/热开机的时间分别达到42 s/38 s/1 s,可同时追踪20个卫星信道。

  EM411型GPS接收模块采用SiRF Star III高效能GPS芯片组,其具有特点:极佳的灵敏度(追踪感度:-159 dBm);讯号微弱时,TTFF(Time to First Fix)定位仍十分迅速;支持NMEA 0183语言格式:GGA,GSA,GSV,RMC,GLL,VTG;内建超大电容,可储存快速获取的卫星讯号数据;内建陶瓷天线;LED指示灯显示卫星定位状况:LED不亮时接收器关闭,LED恒亮时未定位或搜寻讯号,LED闪烁时已定位。此外,EM411体积小巧,外形尺寸为30 mm×30 mm×10.5 mm,工作时供电电压为4.5~6.5 V,消耗电流为60 mA。对外提供6个引脚,使用时引脚1、5接地,引脚2接电源,引脚3为串口输出数据线,引脚4为串口输入数据线,引脚6悬空。




  4 系统硬件设计


  4.1 GPS接收部分

  图1为便携式GPS接收机的GPS接收部分的电路,由于该系统设计是手持式便携设备,所有器件选型都应考虑节省成本,节能。图1中,MCU选用 PIC18F2520,它是采用纳瓦技术的低功耗8位单片机,具有一系列能在工作时显著降低功耗的功能,非常适合手持便携式设备使用。该器件内部具有32 K Flash程序存储器,具备SPI、UART、I2C等接口以及1O位A/D转换器,借助于内部PLL倍频器,时钟速度可高达40 MHz;可通过其UART接口(引脚RC6和RC7)实现与EM411 GPS接收模块的通信,由于EM411串口输出的最大电平为2.85 V,低于PIC18F2520 UART端口所要求的最小驱动电平4 V,因此在PIC18F2520和EM411之间需增加由U2(74HCT04)构成的TTL/RS232电平转换电路,否则PIC18F2520将不能接收EM411的定位信息。PIC18F2520通过其SPI接口(引脚RC0,RC3,RC4,RC5)与SD卡通信。SD卡对外提供两种访问模式:SD模式和SPI模式。SD模式允许4线的高速数据传输。SPI模式使用通用的SPI接口,相比SD模式传输速率有所降低,使用SPI。接口的优点是仅用4根数据线即可完成SD卡的读写。通信模式不同,SD卡引脚功能也不同。由于PIC18F2520内部具有SPI接口,本方案采用SPI模式实现对 SD卡的访问,图1中CS(RC0)为MCU向卡发送的片选信号,SCLK(RC3)为MCU向卡发送的时钟信号。SDI为MCU向卡发送的单向数据信号,SD0为卡向MCU发送的单向数据信号,此外所有的SD卡插座还具有CD与WP两个引脚,CD引脚是SD卡检测信号引脚,当有卡插人时,该引脚对地短路(在插座内部连接)。WP是写保护信号引脚,在卡插入且没有写保护时,该引脚对地短路(在插座内部连接)。


  


  该系统设计采用20×4的点阵字符液晶显示器显示所接收的GPS定位信息,液晶显示器设置于4 bit工作方式,MCU通过4根数据线以及使能引脚控制LCD的显示以节省MCUI/O端口资源。该系统设置2个按键用于控制SD卡的数据存储。当SW1 键按下时,通过软件延时设定数据保存时间间隔,SW2键按下时,系统将接收到的GPS定位信息写入SD卡。图1中,开关K2用于打开、关闭LCD背光电源:PIC18F2520的RA端口资源暂未使用。可留待以后系统升级时使用,例如将电池输出的直流模拟电压信号输入到RA端口,利用 PIC18F2520的10 bit A/D转换器将其转换为数字信号后。在LCD上显示电池电量,便于用户使用。


  4.2 电源部分

  便携式GPS接收机采用两节AA型1.5 V电池供电,使用微功耗、高效率DC-DC变换器LT1300,将3 V电压转换为5 V以供电路使用,LT1300最低输入电压低至1.8 V,转换效率高达88%。当输入电压为2 V、输出电压为5 V时,LT1300的输出电流可达220 mA。LT1300采用8引脚SOIC封装,引脚1为信号地(GND),引脚2为输出选择(SEL),当其与输入电源相接时,输出5 V电压,当该引脚接地时则LT1300输出3.3 V电压。引脚3(SHUTDOWN)用于选择工作方式,该引脚接地时,LT1300为正常工作方式;当该引脚接高电平时,LT1300为掉电工作模式。引脚4(SENSE)是LT1300的输出端。其引脚5为限流,当该引脚接地时,其最大的开关电流为400 mA。LT1300的引脚6~8分别为电源输入、输出开关、电源地。图2为LT1300构成的GPS接收机电源电路。图2中开关K1是GPS接收机的总电源开关。由于GPS接收机的主机部分使用5 V电压,因此LT1300的引脚2、引脚6与电池的正极相连,引脚3、引脚5、引脚1、引脚8接地。工作时引脚7需外接电感和二极管,其作用是当电池电量消耗过大时,LT1300内部的开关效应会引起电感L1上的电流交替增大,此时二极管VD1会将这部分能量转储到电容C4中,以提高LT1300的输出电压。该部分设计的二极管以及电感L1、电解电容C4参数选择均参考LT1300数据资料中推荐的型号和参数。需要注意的是,由于LT1300是高速、高电流器件,因此在PCB板布局时应尽量使电感L1靠近引脚7放置,走线应尽量短,并应将电源地与信号地相连以减少电路中的干扰噪声。



  



  5 系统软件设计

  图3为便携式GPS接收机的主程序流程。首先是PIC18F2520的初始化,主要包括通用I/O端口,UART,SPI,以及LCD初始化,并在LCD 上显示开机初始信息。接着PIC18F2520开始接收从EM411传送的GPS定位信息,该系统设计的PIC18F2520只接收GPSGGA以及 GPSRMC语句信息并将保存接收到的信息。然后从中提取要显示在LCD上的信息,并将其写入预先定义的显示用缓存数组中再送往LCD显示。然后键盘扫描,如果有键按下则进行键盘中断程序的处理。当SW1键按下时,软件通过延时子程序设定一个固定的保存时间间隔。当SW2键按下时,软件执**驱动子程序,微芯公司提供了PIC单片机使用的完整的SD卡驱动程序代码,可以方便地将GPS定位信息以FAT文件格式保存到SD卡中,并可在Windows操作系统下打开这些文件。SD卡驱动子程序主要完成SD卡初始化、卡插入检测、写保护检测、SD卡读/写命令的发送/接收、文件的更名、文件数据的传送等任务。文献[6]给出了微芯公司有关PIC单片机SD卡驱动程序的详细说明。

  


  6 结束语

  电路搭建好后,选择室外空旷地带、写字楼室内、繁华街道、汽车内等环境对便携式GPS接收机进行测试,在室外、室内以及移动的汽车内该GPS接收机均能很好的接收多颗卫星的GPS定位信息,关闭LCD背光显示的情况下,可连续工作超过10 h。借助SD卡以及PC机可实现将接收到的GPS数据导入到Google Earth等电子地图中。由EN411 GPS接收模块以及PIC18F2520构成的手持式GPS接收机具有电路简单、成本低、灵敏度高等优点,接收到的数据能以FAT文件格式保存到SD卡中,具有较高的实用价值,该系统设计可广泛应用于野外作业、户外运动等领域。





相关帖子

沙发
Violin11|  楼主 | 2019-2-27 10:21 | 只看该作者
便携式GPS接收机设计与实现

文档1.pdf

155.9 KB

使用特权

评论回复
板凳
lolplmlk| | 2019-2-28 19:44 | 只看该作者
感谢分享!学习下。

使用特权

评论回复
地板
kkzz| | 2019-3-1 21:38 | 只看该作者
GPS与单片机通信的实现               

使用特权

评论回复
5
hudi008| | 2019-3-1 21:38 | 只看该作者
看到有位坛友做了一个GPS接收机                  

使用特权

评论回复
6
lzmm| | 2019-3-1 21:38 | 只看该作者
启动了老是读不到信号                          

使用特权

评论回复
7
minzisc| | 2019-3-1 21:39 | 只看该作者
GPS接收机上电后,会自动通过串口或USB口发送NMEA0183格式

使用特权

评论回复
8
selongli| | 2019-3-1 21:39 | 只看该作者
速度和效率怎么样呢?                 

使用特权

评论回复
9
fentianyou| | 2019-3-1 21:40 | 只看该作者
最好能够做个上位机的显示              

使用特权

评论回复
10
xiaoyaodz| | 2019-3-1 21:40 | 只看该作者
GPS要通过天线才可以接收到比较好的信息的

使用特权

评论回复
11
febgxu| | 2019-3-1 21:40 | 只看该作者
GPS是用到三个卫星的时间 计算出 到三个卫星的距离?

使用特权

评论回复
12
sdlls| | 2019-3-1 21:41 | 只看该作者
GPS输出 的一帧数据比较长,需较大的缓存

使用特权

评论回复
13
pixhw| | 2019-3-1 21:41 | 只看该作者
买GPS模块,商家一般会给你例程            

使用特权

评论回复
14
febgxu| | 2019-3-1 21:41 | 只看该作者
如果有到更多卫星的距离,就可以修正数据?

使用特权

评论回复
15
kkzz| | 2019-3-1 21:41 | 只看该作者
NMEA-0183协议是GPS接收机应当遵守的标准协议

使用特权

评论回复
16
xiaoyaodz| | 2019-3-1 21:41 | 只看该作者
最好在空旷的地方做测试。        

使用特权

评论回复
17
hudi008| | 2019-3-1 21:41 | 只看该作者
可以测量经纬度,速度,方向,海拔  

使用特权

评论回复
18
fentianyou| | 2019-3-1 21:41 | 只看该作者
现在北斗也快全球化使用了。              

使用特权

评论回复
19
lzmm| | 2019-3-1 21:41 | 只看该作者
修改波特率试试也不行的。                       

使用特权

评论回复
20
selongli| | 2019-3-1 21:41 | 只看该作者
解码之后的效果怎么样?               

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

717

主题

1010

帖子

3

粉丝