天津科技大学2013届本科生毕业设计
第二节 GPS模块
1.1GPS简介
GPS全称为Global Positioning System全球定位系统,他由空间部分,地面控制部分和用户设备部分三部分组成。
GPS的空间部分是由均匀分布在6个轨道面上距离地球表面两万多米的24 颗卫星组成。除此之外,在轨道上运行的还有另外四颗作为备份的卫星。这24颗卫星分布均匀,无论何时都可以保证在全球的各个角落观测到4 颗以上的卫星,以便能够随时保持良好的定位服务。这就保证了随时随地的进行连续的全球定位导航工作。GPS向地面发射两组电码,P码(Precise Code 10123MHz)和C/ A 码( Coarse/ Acquisition Code11023MHz)。P 码频率较高,因此有很强的抗干扰能力和准确的定位精度,但是它受到了美国军方的管制。由于被设定了密码,民间无法解读,所以它主要为美国的军方服务。C/ A 码则不同,C/A码为了开放给民间使用被人为的采取措施降低了精度。
地面控制部分由三部分组成,他们分别是主控站,全球监测站和地面控制站。主控制站位于美国科罗拉多州,主要任务是负责收集由卫星传回之讯息。监测站装配有精密的铯钟和能够连续测量到所有可见卫星的接受机。它们将从卫星接收到的观测数据(包括电离层和气象数据)经过初步处理后传送到主控站。主控站再从各监测站收集数据,根据这些数据计算出卫星的轨道和时钟参数,然后将结果送给地面控制站。当卫星运行至地面控制站上方时,控制站将这些导航数据信息及主控站指令发送给卫星。这种工作每天对每个卫星执行一次,并在卫星离开主控站作用范围之前进行最后的信息注入。假如某一地面控制站发生了故障,那么在卫星中预存的导航信息还是可以使用一段时间的,但是随着时间的增长,卫星的导航精度也会逐渐的降低。
所谓的用户设备部分其实就是一种信号接收设备(即GPS信号接收机)。它的主要功能就是可以捕获到卫星,并追踪这些卫星在宇宙空间中的运行。当它接收到被他追踪的GPS通讯卫星所发射出的信号之后,就可以测量并计算出接收天线至通讯卫星之间的伪距离和距离的变化率,[3]通过这些数据来解调出通讯卫星运行的轨道参数等有效数据。将接收到的这些数据输入到该设备中的微处理计算机中,根据定位解析算法进行定位计算,就可以计算出用户所在地理位置的经度、纬度、高度、海拔、时间、速度等各种我们需要得到的信息。完整的GPS用户设备是由硬件部分、软件部分和GPS 数据处理后的软件包构成的。GPS 接收机又由天线部分和接收部分组成。接收机一般采用双电源进行供电,即机内和机外电源。机内电源的作用在于当你在更换外电源时不至于中断接收机对卫星的连续观测。在用机外电源时,机外电源会给机内电池进行充电。关机后,机内
11
天津科技大学2013届本科生毕业设计
电池也会继续为RAM存储器供电来防止存储在RAM存储器中的数据丢失。目前各种类型的接受机体积被做的越来越小,重量也越来越轻,越来越便于用在野外观测中。
1.2 GPS 接收机的性能与结构
GPS 卫星全部都采用展频技术来向地面发射信号,两个载频发射(L 1波长为19 cm,频率f 1= 154×10. 23MHz;L 2波长为24 cm,频率f 2= 120×10.23MHz)的信号传输速率为50 Hz,调制方式为二相键控(BPSK)调制,且信号被调制在伪随机码上。GPS的伪随机码分为P码、C/A码和Y码三种:
①P 码称为精码,一般用在精密定位服务上。它的周期长为7 d,码频率为10.23MHz,既然可以称为精码,因此无论是定位还是时间速度等都有很高的精度。它的时间精度已经超越了纳秒的水平为100 ps,定位精度为16m,速度精度也达到了0.1 m/s。
②C/A 码被称为粗码,也可以称他为标准定位服务码。它具有周期短频率低等优点,他的周期仅为1 m s;码的频率也仅有1.023MHz,它的一个周期中有1023 个码位。由于它的搜捕时间很短,所以特别适合用于快速提供精度不高的定位信息。定位精度为40m。
③Y 码和P 码相类似,都属于精密定位服务码。但是它的编码比P 码复杂得多。
GPS最开始的用处就是用在美国军方的军事活动,军事科研等方面,虽然后来对民间开放,但是美国军方对GPS 的使用范围进行了一些控制,只有C/A 码和广播星历向全球开放。虽然美国对GPS的C/A码做了开放,但又不是绝对的开放,他们对C/A 码又采用了SA 方式,限制了C/A 码的精度,使得水平定位的精度变为一百米的概率为百分之九十五。美国在GPS 系统中采用的SA 措施,对用户是个很大的限制,为了针对这种限制,使这种限制降到最低,又发展了称为DGPS 的差分GPS 技术。由于采用差分编码技术,使得测量的定位精度得到了极大的提高,因此在大地的实际测量中获得了非常广泛的应用。
GPS 定位的基本原理实际上是比较简单的。由于每个地方都能监测到四颗卫星,这4 颗卫星同时向GPS接收机发射时钟信号,我们将它取名为D t,GPS接收机将收到的时钟信号与自身的标准时钟进行对比,就可以得出时钟偏差,这就是卫星信号传播所需要的时间,我们将它乘以3*108m/s,就可以计算出卫星信号传播的距离。于是我们得到这样的一个简单的多元方程组:(A i - U a ) L + (Bi - U b )L + (C i - U c )L = (R i - Cb)L这里A i、B i、Ci 分别代表四颗卫星的位置参数,由GPS 卫星以50 Hz 的速率向全球不间断广播。U a、U b、U c 为接收机的位置。R i 即为传播距离:R i= c×D ti。Cb 为用户的标准时钟偏差参数。于是得到含有四个未知数U a、U b、U c、Cb的四个方程。一般来说这样的方程都有
12
天津科技大学2013届本科生毕业设计
唯一的解,由此我们就可以得到准确的位置参数信息。作为GPS 用户部分的主要部件—GPS 接收机,主要是用来接收和处理来自GPS卫星发送的位置信息。它主要由主机天线、运算单元、输出通道等三个大部分构成。主机的核心是低噪放大器、信道电路、中央处理器、存储器等模块;[4]我们可以借助软件将卫星信息进行接收、采集、放大、识别、存储、处理等操作以便能够输出有用的定位信息、速度信息和时间信息。
在本次毕业设计中使用的GPS模块采用瑞士U-BLOX公司的NEO-5Q主芯片,此芯片为多功能独立型GPS模块,它以ROM为基础架构,具有成本低,体积小等众多优点。在接收端采用U-BLOX公司最新的Kick-Start微弱信号攫取技术[5],无论天线尺寸多大,设备所处的位置如何,只要可以接收到GPS信号,都可以确保采用此模块的设备能够有最佳的初始定位性能并进行快速定位。 1.3GPS信号的数据解析
GPS上电后,每隔一定的时间就会返回一定格式的数据,数据格式为: $信息类型,x,x,x,x,x,x,x,x,x,x,x,x,x
每行开头的字符都必须是?$‘,紧接着是信息类型,最后面的部分是数据,每个数据以逗号分隔开。一行完整的数据如下:
$GPRMC,080655.00,A,4546.40891,N,12639.65641,E,1.045,328.42,170809,,,A*60
信息类型一共可以分为以下几种类型: GPGSV:可见卫星信息 GPGLL:地理定位信息 GPRMC:推荐最小定位信息 GPVTG:地面速度信息 GPGGA:GPS定位信息 GPGSA:当前卫星信息
在本次的毕业设计中我们只用到了GPRMC和GPGGA的信息,因此在这里我们只对GPRMC和GPGGA的信息进行数据解析的介绍。
(1)GPRMC数据详解 GPRMC数据信息的格式为:
$GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>*hh 其中标号―<1> ‖表示UTC时间,时间格式为:hhmmss(时分秒);
标号―<2>‖表示GPS的定位状态,其中A表示有效定位,V表示无效定位; 标号―<3>‖表示纬度信息,格式为:ddmm.mmmm(度分)(前面的0也将被传输);
标号―<4>‖表示纬度半球,其中包括south和north;
13
天津科技大学2013届本科生毕业设计
标号―<5>‖表示经度,其格式为:dddmm.mmmm(度分)(前面的0也将被传输); 标号―<6>‖ 表示经度半球,其中包括east和west;
标号―<7>‖表示地面速率(0.0~9.999*103节,前面的0也是会被传输的); 标号―<8>‖表示地面航向(0.0~360度,参考基准为地磁北极,同上); 标号―<9>‖表示UTC日期,其日期格式为:ddmmyy(日月年);
标号―<10>‖表示磁偏角(0~180度,前面的0跟上面的数据一样会被传输); 标号―<11>‖表示磁偏角方向,其中包括east或west;
标号―<12>‖表示模式指示(其中A表示自主定位,D代表差分,E表示估算,N代表数据无效);
解析内容:
1. GPS上接收到的时间格式为格林威治时间,即世界时间(UTC),因此我们需要把它转换成北京时间(BTC)以便方便我们使用,BTC和UTC的时差为8个小时,因此我们要在这个时间基础上加8个小时才是北京时间。 2. 定位状态,在接收到有效数据之前,这个位为―V‖,后面没有数据,当接到有效数据之后,这个位就变为了―A‖,这样后面的数据才开始变为有效数据。
3. 纬度,把纬度转换成度分秒的格式是很有必要的,因为只有这样我们才能看得懂。他的计算方法如下: 如接收到的纬度是:4556.31981
4556.31981 / 100 = 45.5631981可以直接读出纬度的度数:45度 (45.5631981–45)* 60 = 27.946356即27分 (27.946356–27)* 60 = 50.73187即50秒 经过计算得到的纬度的数值:45度27分50秒。 4. 南北纬,它包括两种值:north and south;
5. 仿照上面纬度的计算,我们就可以得到经度的数值; 6. 东西经,这个位也有两种值east(东经)和west(西经);
7. 速率,这个速率单位是海里/时,为了把它转换成标准单位千米/时,我们应该知道换算的比例,因为1海里 = 1.85km,所以我们需要把通过计算得到的速率全都乘以1.85才行,这样就可以得到标准的速率; 8. 航向,指的是我们行驶的方向和正北的夹角; 9. 日期,GPS中的日期为准确日期,因此不需要转换。 GPGGA数据详解 GPGGA的数据格式为:
$GPGGA,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,M,<10>,M,<11>,<12>*xx
14
天津科技大学2013届本科生毕业设计
$GPGGA:起始引导符及语句格式说明(本句为GPS定位数据); 标号―<1>‖表示 UTC时间,它的数据格式为hhmmss.sss;
标号―<2>‖表示 纬度,它的格式为ddmm.mmmm(如果数据的第一位是零也将会被传送);
标号―<3>‖表示 纬度半球,包括N和S(北纬和南纬);
标号―<4>‖表示 经度,其格式为dddmm.mmmm(如果数据的第一位零也将会被传送);
标号―<5>‖表示 经度半球,它包括E和W(东经和西经);
标号―<6>‖表示定位质量指示,0表示定位无效,1则表示定位有效; 标号―<7>‖表示使用卫星的数量,从00到12(第一个零也将被传送); 标号―<8>‖代表水平精确度,数值范围为0.5到99.9;
标号―<9>‖表示天线距离海平面的高度,高度值的范围从-9999.9到9999.9米 M 代表单位米;
标号―<10>‖表示大地水准面高度,高度值的范围也是从-9999.9到9999.9米 M 代表单位米
标号―<11>‖表示差分GPS数据期限(RTCM SC-104),最后设立RTCM传送的秒数量;
标号―<12>‖为差分参考基站标号,数值范围从0000到1023(如果首位为0也将会被传送)。
1.4 GPS模块工作原理
GPS模块原理图如下所示:
图3.4 主芯片原理图
15