GPS模块使用手册

GPS模块使用手册
GPS模块使用手册

GPS 模块使用手册

一、GPS 模块的几个重要指标

1.卫星轨迹

全球有24颗GPS卫星沿6条轨道绕地球运行(每4个一组),GPS接收模块就是靠接收

这些卫星来进行定位的。但一般在地球的同一边不会超过12 颗卫星,所以一般选择可以跟踪12 颗卫星以下的器件就可以了。当然,所能跟踪的卫星数越多,性能越好。大多数GPS 接收器可以追踪8~12 颗卫星。计算2 维坐标至少需要3 颗卫星,4 颗卫星可以计算3维坐标。

2.并行通道

由于最多可能有12 颗卫星是可见的,GPS 接收器必须按顺序访问每一颗卫星来获取每颗卫星的信息,所以市面上的GPS 接收器大多数是12 并行通道型的,这允许它们连续追踪每一颗卫星的信息。12 通道接收器的优点包括快速冷启动和初始化卫星的信息,而且在森林地区可以有更好的接收效果。一般12 通道接收器不需要外置天线,除非是在封闭的空间,如船舱或车厢中。

3.定位时间

定位时间是指重启GPS接收器时,确定现在位置所需的时间。对于12 通道接收器,冷

启动时的定位时间一般为3~5 min ,热启动时为15~30 s。

4.定位精度

普通GPS接收器的水平位置定位精度在5~10 m 内。

5.DGPS 功能

DGPS是一个固定的GPS接收器,用于接收卫星的信号。DGPS可以准确地计算出理论上卫星信号传送到的精确时间,然后将它与实际传送时间相比较,并计算出差值。DGPS 将这个差值发送出去,其它GPS 接收器就可以利用这个差值得到一个更精确的位置读数(5~10 m或者更少的误差)。许多GPS设备提供商在一些地区设置了DGPS 发送机,供客户免费使用,只要客户所购买的GPS 接收器有DGPS 功能即可。

6.信号干扰

要获得一个很好的定位信号,GPS 接收器必须至少能接收到3~5颗卫星。如果是在峡谷中或两边高楼林立的街道上,或者是在茂密的丛林里,有可能接收不到足够的卫星,无法定位或者只能得到二维坐标。同样,如果在一个建筑里面,有可能无法更新位置。一些GPS 接收器有单独的天线可以贴在挡风玻璃上,或者将一个外置天线放在车顶上,这有助于接收器收到更多的卫星信号。

二、HOLUX M-89 GPS 模块特性

我们选用的是台湾生产的HOLUX M-89 GPS 模块,并为其配备了PCB 板,以方便与单片机进行连接,下面与反面如下图所示,

HOLUX M-89 GPS

模块主要特性如下:HOLUX M-89 GPS 接收卫星信号时一般还需要配备天线,如下图所示:

产品特征

通道:并行32 通道

频率:L1 1575.42MHz

C/A 码(1.023MHZ 码片速率)跟踪灵敏度:-159dB

动态性能

速度:515 米/ 秒

加速度:4g

颠簸:20 米/秒

捕获时间

重获取时间:0.1 秒

热启动时间:1 秒

温启动时间:33 秒

冷启动时间:36 秒

精度

定位:10 米(2D RMS )1-5 米(DGPS )

速度:0.1 米/秒

时间:1ms

数据特性

I/O 信息:1 个全双工串行TTL 接口数据传输速率:4800~38400 (标准:9600)格式:SiRF 二进制和NMEA-0183 (v3.01)—— GGA,GLL,GSA,GSV ,RMC,VTG

DGPS 协议:RTCM SC-104 ,类型1,2和9

脉冲延时:100ms

电气特性

输入电压:3.3~5VDC

后备电源:直流3V

输入电流:80mA

物理特性

尺寸:25.4mm(D)× 25.4mm(W×) 3mm(H)

重量:7g

环境特性

操作温度:-30~+85 ℃

存贮范围:-40~+85 ℃

三、12864显示GPS数据实验

1.HOLUX M-89 GPS 模块与DD-900 实验开发板的连接

HOLUX M-89 GPS 模块安装在一块PCB 板上,板上引出有6 针间距为2.54mm 的插针,可方便地与顶顶电子开发的DD-900 实验开发板进行连接,各插针管脚功能及其与DD-900 实验开发板的连接方法如下:

1脚:指示灯,通电常亮,接收到卫星开始闪烁,模块板上带有LED 灯,实验时可不接。

2脚:外部复位输入,模块内部有复位电路,实验时可不接。

3脚:模块串口数据输出。接DD-900 实验开发板MCU 的RXD 脚(P30 脚)。

4脚:模块串口数据输入。接DD-900 实验开发板MCU 的TXD 脚(P31 脚)。

5脚:GND 。接DD-900 实验开发板的地端。

6脚:电源输入,电压范围:3.3-5V ,接DD-900 实验开发板的3.3V 或5V 端。

2.GPS 源程序实验步骤

(1 )打开STC 下载软件,将“ 12864 液晶屏显示GPS 数据C51 源程序”中的“GPS_12864.hex”目标文件下载到DD-900 实验开发板上。

(2)取一只12864 液晶显示屏,将其插到DD-900 实验开发板上。

(3)将GPS 模块与天线连接好。

(4)找四根杜邦线,将GPS模块与DD-900 实验开发板的连接好。断开232 与单片机的短接插针。使单片机只能与GPS 模块进行通信。

(5)打开DD-900 实验开发板电源,约几十秒后,在12864 液晶屏上即可显示出经度、纬度、时间、海拔高度等信息,如下图所示:

以上信息的意思为:东经120 度23.7285 分,北纬36 度17.3538 分,时间为15 点10 分52 秒,海拔高度为145.6 米。

需要注意的是,实验时,要将GPS 模块和天线放置在室外,以便接收到卫星信号,另外,GPS启动时需要一定的启动时间,GPS启动后才能接收到并计算出正确的数据。

另外,如果你没有采用DD-900 实验开发板,而是采用其它实验板,需要将单片机晶振频率设置为11.0592MHz ,以保证GPS 模块与单片机按照9600 的波特率进行通信。

四、用串口调试助手查看GPS 数据

1.GPS 模块与DD-900 的连接

(1)GPS模块通过DD-900 实验开发板串口,可以方便地与PC机进行连接,连接方法

如下:

(2)GPS模块的3 脚(模块串口数据输出)接DD-900 实验开发板MCU 的TXD 脚(P31 脚),注意,与上个实验不同。

(3)GPS模块的4 脚(模块串口数据输入)接DD-900 实验开发板MCU 的RXD 脚(P30 脚),注意,与上个实验不同。

(4)GPS 模块5 脚(GND)接DD-900 实验开发板的地端。

(5)GPS 模块6 脚(电源输入)接DD-900 实验开发板的3.3V 或5V 端。

(6)取下DD-900 的MCU 。

2.实验方法连接完成后,打开顶顶串口调试助手,选择好串口(一般为串口1,如果采用

USB转串

口,要选择虚拟串口号,本例采用的是USB转串口,虚拟串口号为COM)5。

波特率选择为9600,校验位为NINE,数据位为8,停止位为1。

GPS数据,如图所以上设置完成后,打开串口,即可在接收窗口中接收到有

示:

五、其它

1.GPS 模块与PC机的通信

模组可以直接采用电平转换电路MAX232 ,将GPS模块的串口和PC 机的串口连接,用串口调试工具和GPS 模块调试软件监控模块输出的数据,注意:模块的默认波特率为9600,PC 机串口波特率必须设置成9600。如果没有接GPS天线或收不到卫星信号。模组上的LED 灯一直常亮,如果收到有效的卫星信号LED 开始闪烁。

2.GPS 的数据协议

GPS数据格式支持NMEA0183 V 3.01 数据协议。

格式NMEA0183 V3.01 :GPGGA(1 次/1 秒)、GPGSA(1 次/5 秒)、GPGSV(1 次/5 秒)、GPRMC (1 次/1 秒)、GPVTG (1 次/1 秒)。

下面是调试模组用串口监控到的数据:

无卫星状态:

$GPGGA,000355.026,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*44 $GPGSA,A,1,,,,,,,,,,,,,,,*1E

$GPGSV,1,1,00*79

$GPRMC,000355.026,V ,8960.0000,N,00000.0000,E,0.00,0.00,060180,,,N*79 $GPVTG,0.00,T,,M,0.00,N,0.00,K,N*32

$GPGGA,000356.026,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*47 $GPRMC,000356.026,V ,8960.0000,N,00000.0000,E,0.00,0.00,060180,,,N*7A $GPVTG,0.00,T,,M,0.00,N,0.00,K,N*32

$GPGGA,000357.026,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*46 $GPRMC,000357.026,V ,8960.0000,N,00000.0000,E,0.00,0.00,060180,,,N*7B $GPVTG,0.00,T,,M,0.00,N,0.00,K,N*32

$GPGGA,000358.026,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*49 $GPRMC,000358.026,V ,8960.0000,N,00000.0000,E,0.00,0.00,060180,,,N*74 $GPVTG,0.00,T,,M,0.00,N,0.00,K,N*32

$GPGGA,000359.026,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*48 $GPRMC,000359.026,V ,8960.0000,N,00000.0000,E,0.00,0.00,060180,,,N*75 $GPVTG,0.00,T,,M,0.00,N,0.00,K,N*32

$GPGGA,000400.026,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*43 $GPGSA,A,1,,,,,,,,,,,,,,,*1E

$GPGSV,1,1,00*79

$GPRMC,000400.026,V ,8960.0000,N,00000.0000,E,0.00,0.00,060180,,,N*7E $GPVTG,0.00,T,,M,0.00,N,0.00,K,N*32

$GPGGA,000401.026,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*42 $GPRMC,000401.026,V ,8960.0000,N,00000.0000,E,0.00,0.00,060180,,,N*7F $GPVTG,0.00,T,,M,0.00,N,0.00,K,N*32

$GPGGA,000402.026,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*41 $GPRMC,000402.026,V ,8960.0000,N,00000.0000,E,0.00,0.00,060180,,,N*7C $GPVTG,0.00,T,,M,0.00,N,0.00,K,N*32

$GPGGA,000403.026,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*40 $GPRMC,000403.026,V ,8960.0000,N,00000.0000,E,0.00,0.00,060180,,,N*7D $GPVTG,0.00,T,,M,0.00,N,0.00,K,N*32

$GPGGA,000404.026,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*47 $GPRMC,000404.026,V ,8960.0000,N,00000.0000,E,0.00,0.00,060180,,,N*7A $GPVTG,0.00,T,,M,0.00,N,0.00,K,N*32

$GPGGA,000405.026,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*46 $GPGSA,A,1,,,,,,,,,,,,,,,*1E

有卫星状态:

$GPGGA,090113.000,3958.2847,N,11616.6454,E,1,8,1.00,67.6,M,-6.7,M,,*78 $GPRMC,090113.000,A,3958.2847,N,11616.6454,E,0.00,0.00,080110,,,A*60 $GPVTG,0.00,T,,M,0.00,N,0.00,K,A*3D

$GPGGA,090114.000,3958.2847,N,11616.6456,E,1,8,1.00,67.7,M,-6.7,M,,*7C $GPRMC,090114.000,A,3958.2847,N,11616.6456,E,0.00,0.00,080110,,,A*65 $GPVTG,0.00,T,,M,0.00,N,0.00,K,A*3D

$GPGGA,090115.000,3958.2846,N,11616.6456,E,1,8,1.00,67.7,M,-6.7,M,,*7C

$GPRMC,090115.000,A,3958.2846,N,11616.6456,E,0.00,0.00,080110,,,A*65

$GPVTG,0.00,T,,M,0.00,N,0.00,K,A*3D $GPGGA,090116.000,3958.2846,N,11616.6456,E,1,8,1.00,67.8,M,-6.7,M,,*70 $GPRMC,090116.000,A,3958.2846,N,11616.6456,E,0.00,0.00,080110,,,A*66

$GPVTG,0.00,T,,M,0.00,N,0.00,K,A*3D $GPGGA,090117.000,3958.2845,N,11616.6457,E,1,8,1.00,67.8,M,-6.7,M,,*73 $GPGSA,A,3,29,15,10,18,09,21,24,27,,,,,1.28,1.00,0.79*08

$GPGSV,3,1,10,24,78,302,38,15,77,207,42,29,36,238,48,10,33,073,24*76

$GPGSV,3,2,10,21,29,310,39,08,22,054,,18,15,276,42,27,14,167,36*7D $GPGSV,3,3,10,09,05,175,35,40,,,*45 $GPRMC,090117.000,A,3958.2845,N,11616.6457,E,0.00,0.00,080110,,,A*65

$GPVTG,0.00,T,,M,0.00,N,0.00,K,A*3D $GPGGA,090118.000,3958.2846,N,11616.6457,E,1,8,1.00,67.8,M,-6.7,M,,*7F $GPRMC,090118.000,A,3958.2846,N,11616.6457,E,0.00,0.00,080110,,,A*69

$GPVTG,0.00,T,,M,0.00,N,0.00,K,A*3D $GPGGA,090119.000,3958.2846,N,11616.6458,E,1,9,0.85,67.8,M,-6.7,M,,*7C $GPRMC,090119.000,A,3958.2846,N,11616.6458,E,0.00,0.00,080110,,,A*67

$GPVTG,0.00,T,,M,0.00,N,0.00,K,A*3D $GPGGA,090120.000,3958.2847,N,11616.6459,E,1,9,0.85,67.8,M,-6.7,M,,*76 $GPRMC,090120.000,A,3958.2847,N,11616.6459,E,0.00,0.00,080110,,,A*6D

$GPVTG,0.00,T,,M,0.00,N,0.00,K,A*3D $GPGGA,090121.000,3958.2847,N,11616.6460,E,1,9,0.85,67.8,M,-6.7,M,,*7D $GPRMC,090121.000,A,3958.2847,N,11616.6460,E,0.00,0.00,080110,,,A*66

$GPVTG,0.00,T,,M,0.00,N,0.00,K,A*3D $GPGGA,090122.000,3958.2847,N,11616.6461,E,1,9,0.85,67.8,M,-6.7,M,,*7F $GPGSA,A,3,29,15,10,18,09,21,24,08,27,,,,1.14,0.85,0.77*0D

$GPGSV,3,1,10,24,78,302,38,15,77,207,42,29,36,238,48,10,33,073,22*70

$GPGSV,3,2,10,21,29,310,39,08,22,054,21,18,15,276,42,27,14,167,36*7E

$GPGSV,3,3,10,09,05,175,35,43,,,*46

$GPRMC,090122.000,A,3958.2847,N,11616.6461,E,0.00,0.00,080110,,,A*64

$GPVTG,0.00,T,,M,0.00,N,0.00,K,A*3D $GPGGA,090123.000,3958.2848,N,11616.6462,E,1,9,0.85,67.8,M,-6.7,M,,*72 $GPRMC,090123.000,A,3958.2848,N,11616.6462,E,0.00,0.00,080110,,,A*69

$GPVTG,0.00,T,,M,0.00,N,0.00,K,A*3D

2.GPS 语句数据格式

GPS 模块可以输出多种数据格式输出语句,这样,在源程序中,我们通过对这些输出语句进行解析,就可以得到GPS 的定位数据。

下面重点介绍GPRMC 和GPGGA 输出语句:

( 1) GPRMC 输出语句

其标准格式为:

$GPRMC, <1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>A*hh 例如:$GPRMC,024813.640,A,3158.4608,N,11848.3737,E,10.05,324.27,150706,,,A*50 <1> 标准定位时间( UTC time )格式:时时分分秒秒.秒秒秒( hhmmss.sss)。<2> 定位状态,A = 数据可用,V = 数据不可用。

<3> 纬度,格式:度度分分. 分分分分( ddmm.mmmm )。

<4> 纬度区分,北半球(N )或南半球(S)。

<5> 经度,格式:度度分分. 分分分分。

<6> 经度区分,东(E)半球或西(W )半球。

<7> 相对位移速度,0.0 至1851.8 knots(节)

<8> 相对位移方向,000.0 至359.9 度。实际值。

<9> 日期,格式:日日月月年年(ddmmyy )。

<10> 磁偏角,(000 - 180)度,前导位数不足则补0 。

<11> 磁偏角方向,E= 东W= 西。

A* 语句结束标志符。

hh 从$开始的所有ASCII 码校验和。

回车换行。

(2)GPGGA 输出语句

这是一帧GPS 定位的主要数据,也是使用最广的数据。为了便于理解,下面举例说明$GPGGA 语句各部分的含义。

其标准格式为:

$GPGGA, <1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,M,<10>,M,<11><12>*hh 传送的信息说明如下:

$GPGGA :起始引导符及语句格式说明(本句为GPS 定位数据)。

<1> UTC 时间,时时分分秒秒格式。

<2> 纬度,度度分分.分分分分格式(第1位是0 也将传送)。

<3> 纬度半球,N 或S(北纬或南纬)。

<4> 经度,度度度分分.分分分分格式(第1 位0 也将传送)。

<5> 经度半球,E 或W(东经或西经)。

<6> GPS质量指示,0:方位无法使用,1=非差分GPS 获得方位,2=差分方式获得方位(DGPS),6=估计获得。

<7> 使用卫星数量,从00到12(第1位是0 也将传送)。

<8> 水平精确度,0.5~99.9。

<9> 天线离海平面的高度,-9 999.9 ~9999.9m。M 指单位米。

<10> 大地水准面高度,-999.9~9999.9m。M 指单位米。

<11> 差分GPS数据期限(RTCM SC-104),最后设立RTCM传送的秒数量(例如无DGPS 为0)。

<12> 差分参考基站标号,从0000~1023,实时DGPS 时无。

* 语句结束标志符。

hh 从$开始的所有ASCII 码校验和。

回车换行。

例如,假如实时收到的一条“ $GPGGA ”语句如下:

$GPGGA,114641,3002.3232,N,12206.1157,E,1,03,12.9,53.2,M,11.6,M,,*4A

这是一条GPS定位数据信息语句,其含义是:UTC 时间为11时46分41秒,位置在北纬30 度2.323 2 分,东经122 度6.115 7 分,普通GPS 定位方式,接收到3 颗卫星,水平精度为12.9 m ,天线离海平面高度为53.2m ,所在地离地平面高度为11.6m,校验和为4AH 。

由于GPS 模块发送的不止是一条语句,要完整的接收这条“$GPGGA ”语句,就必须

判断这条语句的头。也就是“ $GPGGA ,”这7 个字符,当完整的收到这7个字符后,才能保证是所需要的数据。

相关主题
相关文档
最新文档