RF/无线
GPS固定数据输出语句($GPGGA)
这是一帧GPS定位的主要数据,也是使用最广的数据。为了便于理解,下面举例说明$GPGGA语句各部分的含义。例1是用GN-77N和笔者开发的软硬件接口,在笔者所在地接收到的$GPGGA语句的内容。
例1:$GPGGA,050901,3931.4449,N,11643.5123,E,1,07,1.4,76.2,M,-7.0,M,,*65
其标准格式为:$GPGGA,(1),(2),(3),(4),(5),(6),(7),(8),(9),M,(10),M,(11),(12)*hh(CR)(LF)
各部分所对应的含义为:
(1)定位UTC时间:05时09分01秒
(2)纬度(格式ddmm.mmmm:即dd度,mm.mmmm分);
(3)N/S(北纬或南纬):北纬39度31.4449分;
(4)经度(格式dddmm.mmmm:即ddd度,mm.mmmm分);
(5)E/W(东经或西经):东经116度43.5123分;
(6)质量因子(0=没有定位,1=实时GPS,2=差分GPS):1=实时GPS;
(7)可使用的卫星数(0~8):可使用的卫星数=07;
(8)水平精度因子(1.0~99.9);水平精度因子=1.4;
(9)天线高程(海平面,-9999.9~99999.9,单位:m);天线高程=76.2m);
(10)大地椭球面相对海平面的高度(-999.9~9999.9,单位:m):-7.0m;
(11)差分GPS数据年龄,实时GPS时无:无;
(12)差分基准站号(0000~1023),实时GPS时无:无;
*总和校验域;
hh 总和校验数:65
(CR)(LF)回车,换行。
b.可视卫星状态输出语句($GPGSV)
例2:$GPGSV,2,1,08,06,33,240,45,10,36,074,47,16,21,078,44,17,36,313,42*78
标准格式: $GPGSV,(1),(2),(3),(4),(5),(6),(7),…(4),(5),(6),(7)*hh(CR)(LF)
各部分含义为:
(1)总的GSV语句电文数;2;
(2)当前GSV语句号:1;
(3)可视卫星总数:08;
(4)卫星号:06;
(5)仰角(00~90度):33度;
(6)方位角(000~359度):240度;
(7)信噪比(00~99dB):45dB(后面依次为第10,16,17号卫星的信息);
*总和校验域;
hh 总和校验数:78;
(CR)(LF)回车,换行。
注:每条语句最多包括四颗卫星的信息,每颗卫星的信息有四个数据项,即:
(4)-卫星号,(5)-仰角,(6)-方位角,(7)-信噪比。
串口设置一般为:1个开始位,8bit,1个结束位 没有奇偶校验,波特率参考接收设备说明书。
GPS数据格式
GPS输出的是NMEA-0183数据格式
GPS有效时发的一组数据是:
$GPGSV,3,1,12,18,72,335,38,21,41,211,27,24,19,179,23,09,76,068,28*77
$GPGSV,3,2,12,22,35,313,31,29,11,070,27,26,19,065,32,12,,,21*49
$GPGSV,3,3,12,14,16,271,,05,16,159,,30,05,171,,32,03,308,*7B
$GPGGA,010101.130,3606.6834,N,12021.7778,E,1,07,1.2,32.00,M,,,,*0C
$GPGSA,A,3,09,18,21,22,24,26,29,,,,,,2.0,1.2,1.6*3E
$GPRMC,010101.130,A,3606.6834,N,12021.7778,E,0.0,238.3,010807,,,A*6C
GPS无效时发的一组数据是:
$GPGSV,3,1,12,01,64,334,22,31,56,301,29,14,70,092,,32,50,218,*71
$GPGSV,3,2,12,30,48,050,,05,30,046,,07,27,120,,22,26,184,*7D
$GPGSV,3,3,12,06,26,114,,16,19,211,,12,12,041,,20,08,321,*7E
$GPGGA,011035.002,3606.6971,N,12021.8015,E,0,00,50.0,83.72,M,,,,*37
$GPGSA,A,1,,,,,,,,,,,,,,,*1E
$GPRMC,011035.002,V,3606.6971,N,12021.8015,E,,,240907,,,N*7C
GPS复位时发的一组数据(只取到了$GPRMC这组):
$GPRMC,011035.002,V,3606.6971,N,12021.8015,E,,,,,,N*7C
我取得是$GPRMC这组数据,个人认为这组数据提供信息是比较详细的,而且在程序代码里好提取。
格式为:
$GPRMC,010101.130, A, 3606.6834, N, 12021.7778, E, 0.0, 238.3, 010807,,,A*6C
$GPRMC, <1>, <2>, <3>, <4>, <5>, <6>, <7>, <8>, <9>,
<1> 当前位置的格林尼治时间,即世界时间,与北京时间差8个小时,格式为hhmmss.ms
<2> 状态, A 为有效位置, V为非有效接收警告,即当前天线视野上方的卫星个数少于3颗。
<3> 纬度, 格式为ddmm.mmmm
<4> 标明南北半球, N 为北半球、S为南半球
<5> 径度,格式为dddmm.mmmm
<6> 标明东西半球,E为东半球、W为西半球
<7> 地面上的速度,范围为0.0到999.9
<8> 方位角,范围为000.0到 359.9 度
<9> 日期, 格式为ddmmyy
注意几点:
1、当GPS数据有效时第17位(一般情况下,程序里最好是找第二个逗号在取下一位判断)为“A”,无效时为“V”;
2、GPS有效时,当速度为0时显示0.0(两位数),当速度不为0时小数点前面数据根据情况变化,最大为三位,此处速度单位为节(海里),需要做处理才能得到我们习惯的单位(公里/小时);
3、GPS无效时,除了第17位显示V以外,不输入速度,角度数据;
4、当给GPS复位时第17位为V,不输出速度,角度,时间数据。
全部0条评论
快来发表一下你的评论吧 !