GPS接收机Word文档格式.docx
《GPS接收机Word文档格式.docx》由会员分享,可在线阅读,更多相关《GPS接收机Word文档格式.docx(12页珍藏版)》请在冰点文库上搜索。
![GPS接收机Word文档格式.docx](https://file1.bingdoc.com/fileroot1/2023-5/6/18c7db94-f20b-4578-98b9-860cb73379d6/18c7db94-f20b-4578-98b9-860cb73379d61.gif)
3EM411GPS接收模块简介
GPS接收模块性能主要决定于其内部使用的GPS核心芯片组,GPS芯片组SiRFStarIII通过采用20万次/频率的相关器(Correlators)提高了灵敏度并能在室内定位。
冷开机/暖开机/热开机的时间分别达到42s/38s/1s,可同时追踪20个卫星信道。
EM411型GPS接收模块采用SiRFStarIII高效能GPS芯片组,其具有特点:
极佳的灵敏度(追踪感度:
-159dBm);
讯号微弱时,TTFF(TimetoFirstFix)定位仍十分迅速;
支持NMEA0183语言格式:
GGA,GSA,GSV,RMC,GLL,VTG;
内建超大电容,可储存快速获取的卫星讯号数据;
内建陶瓷天线;
LED指示灯显示卫星定位状况:
LED不亮时接收器关闭,LED恒亮时未定位或搜寻讯号,LED闪烁时已定位。
此外,EM411体积小巧,外形尺寸为30mm×
30mm×
10.5mm,工作时供电电压为4.5~6.5V,消耗电流为60mA。
对外提供6个引脚,使用时引脚1、5接地,引脚2接电源,引脚3为串口输出数据线,引脚4为串口输入数据线,引脚6悬空。
4系统硬件设计
4.1GPS接收部分
图1为便携式GPS接收机的GPS接收部分的电路,由于该系统设计是手持式便携设备,所有器件选型都应考虑节省成本,节能。
图1中,MCU选用PIC18F2520,它是采用纳瓦技术的低功耗8位单片机,具有一系列能在工作时显著降低功耗的功能,非常适合手持便携式设备使用。
该器件内部具有32KFlash程序存储器,具备SPI、UART、I2C等接口以及1O位A/D转换器,借助于内部PLL倍频器,时钟速度可高达40MHz;
可通过其UART接口(引脚RC6和RC7)实现与EM411GPS接收模块的通信,由于EM411串口输出的最大电平为2.85V,低于PIC18F2520UART端口所要求的最小驱动电平4V,因此在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定位信息,液晶显示器设置于4bit工作方式,MCU通过4根数据线以及使能引脚控制LCD的显示以节省MCUI/O端口资源。
该系统设置2个按键用于控制SD卡的数据存储。
当SW1键按下时,通过软件延时设定数据保存时间间隔,SW2键按下时,系统将接收到的GPS定位信息写入SD卡。
图1中,开关K2用于打开、关闭LCD背光电源:
PIC18F2520的RA端口资源暂未使用。
可留待以后系统升级时使用,例如将电池输出的直流模拟电压信号输入到RA端口,利用PIC18F2520的10bitA/D转换器将其转换为数字信号后。
在LCD上显示电池电量,便于用户使用.
4.2电源部分
便携式GPS接收机采用两节AA型1.5V电池供电,使用微功耗、高效率DC-DC变换器LT1300,将3V电压转换为5V以供电路使用,LT1300最低输入电压低至1.8V,转换效率高达88%。
当输入电压为2V、输出电压为5V时,LT1300的输出电流可达220mA。
LT1300采用8引脚SOIC封装,引脚1为信号地(GND),引脚2为输出选择(SEL),当其与输入电源相接时,输出5V电压,当该引脚接地时则LT1300输出3.3V电压。
引脚3(SHUTDOWN)用于选择工作方式,该引脚接地时,LT1300为正常工作方式;
当该引脚接高电平时,LT1300为掉电工作模式。
引脚4(SENSE)是LT1300的输出端。
其引脚5为限流,当该引脚接地时,其最大的开关电流为400mA。
LT1300的引脚6~8分别为电源输入、输出开关、电源地。
图2为LT1300构成的GPS接收机电源电路。
图2中开关K1是GPS接收机的总电源开关。
由于GPS接收机的主机部分使用5V电压,因此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键按下时,软件执行SD卡驱动子程序,微芯公司提供了PIC单片机使用的完整的SD卡驱动程序代码,可以方便地将GPS定位信息以FAT文件格式保存到SD卡中,并可在Windows操作系统下打开这些文件。
SD卡驱动子程序主要完成SD卡初始化、卡插入检测、写保护检测、SD卡读/写命令的发送/接收、文件的更名、文件数据的传送等任务。
文献[6]给出了微芯公司有关PIC单片机SD卡驱动程序的详细说明。
摘要阐述在WiTadowsCE嵌入式系统中,利用串口实现GPS和PDA通信的方法。
首先,介绍GPS信号的数据格式,并对系统的软硬件环境及串行通信进行描述。
最后,设计GPS信号处理模块,详细说明如何使用嵌入式程序语言开发串口通信程序,并给出具体步骤和部分实现代码。
目前,许多GPS厂商遵循NMEAO183协议针对PDA掌上电脑开发许多导航型GPS。
GPS通过串口与PDA实现数据通信,利用(3PS传来的数据,可以在PDA上得到物体的实时位置、速度等参数。
通过与GIS系统的集成,可以在PDA上实现数字导航,很直观地在地图上了解所处的位置等信息。
下面具体说明如何实现GPS与PDA的串口通信。
串行通信
每个PocketPC都配有一个串行端口,以便PocketPC与外部串行设备之间进行通信。
串行端口的本质功能是作为芯片和串行设备之间的编码转换器。
当数据从芯片经过串行端口发送出去时,字节数据被转换为串行的位。
在接收数据时,串行的位将被转换为字节数据。
WindowsCE使用了通信驱动程序Comm.drv,以便使用标准的WindowsAPI函数发送和接收数据。
驱动程序通常由串口设备制造商提供,以便将硬件与WindowsCE连接。
在程序设计中,模拟了一个COM6串口。
先使用Comm6.PoxtOpen打开串口,设置Comm控件的属性,Timer触发OnComm接收GPS信号的事件,实现GPS信号的实时接收。
GPS提供串行通信接口,串行通信参数为:
波特率=57600bps,数据位=8位,开始位=1位,停止位=1位,无奇偶校验。
GPS数据格式
NMEA0183协议是美国国家海洋电子协会(NationaIMarineElectronlcsAssociation)制定的GPS接口协议标准。
NMEA0183定义了若干代表不同含义的语句,每个语句实际上是一个ASCII码串。
这种码直观,易于识别和应用。
在试验中,不需要了解NMEA0183通信协议的全部信息,仅需要从中挑选出需要的那部分定位数据,其余的信息忽略掉。
GPS与掌上电脑通信时,通过串口每秒钟发送10条数据。
实际导航应用读取GPS的空间定位数据时,可以根据需要每隔几秒钟更新一次经纬度和时问数据,不必频繁地更新数据,否则,会浪费掌上设备有限的电能。
如果和卫星通信正常,可以接收到的数据格式如下:
$GPGGA,,<
2>
,<
3>
4>
5>
6>
7>
8>
9>
10>
,,<
12>
*hh。
其具体信息如表l所列。
一个完整的NEMA0183语句是从起始符“$GPGGA”到终止符“”为止的一段字符串。
需要掌握的信息是经纬度、经纬度方向、GPS定位状态和接收信号的时间。
所以当接收到这样一个完整的NEMA0183语句时,提取有用信息的方法是:
先判定起始符$GPGGA的位置,从起始符开始读人数据,再通过异或校验后的语句中寻找字符“,”,然后截取前后两个“,”之间的字符(串)获得所关心的数据,并以回车符为一个CPS语句的终止符,得到一个完整的GPS信号。
在提取出的GPS语句中,找寻经纬度所在的逗号位置,读出经纬度坐标,再将经纬度坐标进行度数的转换。
因为地图的坐标是以度数为标准的。
GPS信号处理
根据串行通信的原理,结合GPS数据的格式,可以设计GPS信号处理模块以提取与(3PS位置相关的信息。
由于一般用户坐标系均为制图坐标系,所以还要把从GPS信号中提取的坐标由WGS84坐标变换为相应的54、80坐标或地方坐标。
GPS信号处理模块设计
GPS数据处理模块的设计方案如图l所示。
GPS接收机通过串口6将定位数据(NMEA0183Ver2.O)传给PocketPC,并将GPS数据在电子地图上定位。
在EVB中,借助Comm控件将定位数据读进来,接着进行定位数据的分类,并提取出所需要的信息,同时将这些有用的信息传给主应用程序。
主应用程序再将GPS接收机的控制信息整理成NEMA0183VER2.O语句,通过Comm控件的传递并发送到GPS接收机。
这样,P0cket。
PC与GPS接收机的串口通信和GPS定位数据处理功能通过进程外的ActiveX服务器封装,将系统的实时性能通过操作系统的进程管理器来实现.从而绕过了EVB单线程的不足。
GPS信号接收和处理过程
GPS接收到位置信号后,系统将对GPS的定位信息进行分解并提取出有用数据。
GPS信号接收和处理的过程:
通过串口6将GPS输出的数据传递给PDA,PDA主程序获得目标当前的位置(经纬度坐标、海拔),将接收机获得的GPS数据进行分解,从中得到目标当前的位置和格林威治时间(该时间加上8小时即为我国标准时),经过相应的坐标转换,再将当前位置显示在电子地图上。
GPS信号接收和处理如图2所示。
GPS信号的接收程序实现
系统采用EmbeddedVisualBasic中的Comm通信控件和Timer定时器。
定时器设置为每隔2s更新1次经纬度和时间数据。
每个Comm控件提供一个通信端口,实现数据传输。
开始实时接收。
PrlvateSubmnustart()
Timerl.lrlteIval=2000
Timerl.Enabled=True
Comml.CommPort=6
Comml.Settings=″57600,N,8.1″
Comml.PortOpen=True
strsmsdata=Comml.Input′去除串口Buffer中的暂存信息
Timerl_Timer
EndSub
PrivateSubTimerLTimer()
DimIngNextvbCrLfAsLong′记录下一个回车换行符位置
DimIngFirstGPGGAAsLong
DimMessageAsString
DimsDateAsString
Dimcn
strsmsdata=Comml.Input
IngFirstGPGGA=Instr(1,strsmsclata,″$GPGGA″)
IflngFirstGPGGAThen
IngNextVbCrLf=lnstr(IngFirstGPGGA+1,
strsmsdata,vbCrLf)
Message=Mid(Strsmsdata,ingFirstGPGGA,lngNextvb
CrLf-ingFirstGPGGA)
ParseNMEAMessageMessage,dblXCoord,dblYCoord,sDate
ProcessInputdblXCoord,dblYCoord
EndTf
GPS坐标变换
GPS定位所得出的结果属于WGS84坐标,而在工程上实用的大多是国家坐标系,或者是独立坐标系。
独立坐标系一般是在国家坐标系基础上形成的,因此,GPS定位结果的使用中就有与国家坐标系间的坐标转换问题。
一般要通过两步转换:
首先将WGS84的大地坐标(L,B)转换为对应于WGS84椭球的高斯平面坐标(X84、Y84),然后再经过平面坐标转换,将高斯平面坐标(X84、Y84)强制附合到本地高斯平面坐标系统。
高斯换算
将GPS定位所得出的大地坐标(L,B)转换为高斯平面坐标(X84、Y84)。
有关的推导过程较复杂,本文只给出结果:
式中,ι=(L—L。
)/p,ιo为投影带中央子午线经度,ρ=206265s/rad;
酉圈曲率半径
椭球第一偏心率e=2α-α2;
辅助变量t=tgB;
辅助变量η=e′cosB;
椭圆第二偏心率
分别为参考椭球的长短半径);
扁率α=(a-b)/a;
X为赤道至纬度为B的平行圈的子午线弧长,其计算公式为
平面坐标转换
平面坐标转换的目的就是将高斯平面坐标(X84、Y84)转换为当地国家坐标系或独立坐标系下的高斯平面坐标。
本文设计了一种平均转轴相似转换法。
以转换为北京54坐标系中的(X54、Y54)为例,说明该方法的实现过程。
首先,根据公共点分别在WGS84坐标系和北京54坐标系中的高斯平面坐标,求出公共点在两个坐标系中同一边的方位角之差△a和长度比例系数k。
然后,按下式计算任一点在北京54坐标系中的坐标。
式中:
xo,yo分别为公共点在北京54中重心坐标;
x′,y′o,分别为公共点在WGS84中重心坐标;
k为同一边在北京54与WGS84中的边长之比,当有两条以上公共边时,分别求出,取平均值;
△Aa为同一边在北京54与WGS84中的方位角之差,△a=a54一a84,当有两个以上公共点时,分别求出,取平均值。
生成空间交换格式矢量数据
野外用GPS-PDA采集调查对象的几何数据和属性数据。
该数据是一个自定义的格式,经处理后,将定位数据和属性数据融合生成符合要求的空间矢量数据标准交换格式。
这种标准格式的矢量数据文件由6部分组成:
文件头、要素类型参数、属性数据结构、几何图形数据注记和属性数据。
结语
通过本设计方法,可以将GPS定位导航信息从GPS接收机完整接收,经过坐标变换后存储为空间矢量交换格式;
处理后的空间数据可以为其他应用系统,如各种GIS、RS、ITS(IntelligentTransportatl011System)等使用,实现在车载导航、智能交通、野外勘探、旅游等方面的应用。
本文所讲述的例子是在有线串口上实现的。
在实际应用过程中,可以采用其他接口方式来实现GPS与PDA的互连,比如红外接口、蓝牙技术等。
通过适当地修改,可以方便地应用到其中。