NMEA-0183 协议简介

http://blog.sina.com.cn/s/blog_939f5f7c0102wxyl.html

https://wenku.baidu.com/view/b75c7d85195f312b3169a591.html

 

北斗系统公开服务业务及频率表
波段
BAND
频点
FREQ
同步轨道
GEO
 倾斜同步/中圆轨道
IGSO/MEO
 
S?区域报文RSMC(S)下行--
L?区域报文RSMC(L)上行全球报文GMSC(L)上行
B1/E1/L11 575 420星基增强SBAS(L1)广播定位授时RNSS (B1C)广播
B11 561 098定位授时RNSS(B1I-D2)广播定位授时RNSS(B1I-D1)广播
B3/E61 568 520定位授时RNSS(B3I-D2)广播定位授时RNSS(B3I-D1)广播
B2b/E5b1 207 140精密定位PPP(B2b)广播定位授时RNSS(B2b)
全球报文GMSC(B2b)
国际搜救SAR(B2b)
广播
下行
下行
E5(a+b)1 191 795    
B2a/E5a/L51 176 450星基增强SBAS(L5)广播定位授时RNSS(B2a)广播
UHF?--国际搜救SAR (UHF)上行
      
说明:北斗卫星系统提供通信、定位两大类共7种服务,业务6 GAS不上星:
(1) RNSS - 定位导航授时(全球定位)
(2) GMSC - 全球短报文通信(全球通信)
(3) SAR - 国际搜救(全球通信)
(4) SBAS - 星基增强(区域定位)
(5) PPP - 精密单点定位(区域定位)
(6) GAS - 地基增强(区域定位)
(7) RSMC - 区域短报文通信(区域通信)
数据来自《北斗卫星导航系统应用服务体系》2019年12月;
 
全球卫星导航系统(GNSS)频率表(2019年)

 

中心频率
(kHz)

GPS

SBAS

GLO

GLO(K)

GAL

BDS(I)

BDS(II)

BDS(III)

QZS

IRN

GPS

SBAS

GLONASSS

Galileo

BEIDOU

QZSS

IRNSS

2 492 028

 

 

 

 

 

 

 

 

 

S

2 491 750

 

 

 

 

 

DOWN

 

 

 

 

1 841 400

L4

 

 

 

 

 

 

 

 

 

1 615 680

 

 

 

 

 

UP

 

 

 

 

1 602 + 9k/16

 

 

G1

 

 

 

 

 

 

 

1 600 995

 

 

 

G1

 

 

 

 

 

 

1 589 742

 

 

 

 

 

 

 

?

 

 

1 575 420

L1

L1

 

 

E1

 

 

B1

L1

 

1 561 098

 

 

 

 

 

 

B1

B1*

 

 

1 544 500

 

 

 

 

SAR

 

 

 

 

 

1 381 050

L3

 

 

 

 

 

 

 

 

 

1 278 750

 

 

 

 

E6

 

 

 

LEX

 

1 268 520

 

 

 

 

 

 

B3

B3

 

 

1 248 060

 

 

 

G2

 

 

 

 

 

 

1 246 + 7k/16

 

 

G2

 

 

 

 

 

 

 

1 227 600

L2

 

 

 

 

 

 

 

L2

 

1 207 140

 

 

 

 

E5b

 

B2

B2b

 

 

1 202 025

 

 

 

G3

 

 

 

 

 

 

1 191 795

 

 

 

 

E5

 

 

?

 

 

1 176 450

L5

L5

 

 

E5a

 

 

B2a

L5

L5


说明:
1. 公开资料表示,GPS L3用于核爆炸等高能红外辐射事件的侦查,L4用于电离层研究。
2. GLONASS FDMA信号G1、G2、G3三个频段各自频点见以下附表,摘自ITU的频率协调结果。
3. GLONASS K 表示现代化的GLONASS信号,采用CDMA,标称载波来自2017版新信号接口控制文件IKD(俄文版)
4. BDS I 表示北斗一代的RDSS系统,数据来自公开发表的相关芯片的技术手册

5. BDS III表示目前在建的北斗全球系统。问号"?"表示可能播发信号的频率来自ITU的频率协调结果,不代表最终系统使用的频率。具体频点信号名称来自官方公开发表的ICD。
6*. BDS III B1*表示兼容BDS II的信号频点


GLONASS系统无线电导航信号载频的标称值

摘自世界电联 ITU-R  M.1787-2 建议书 《关于在1 1641 215 MHz、1 215-1 300 MHz和1 559-1 610 MHz频段运行的卫星无线电导航业务(空对地和空对空)系统和网络及发射空间电台技术特性的说明》表 1-1

K(载频编号)

FKL1
(MHz)

FKL2
(MHz)

FKL3
(MHz)

12

1 209.7800

11

1 209.3570

10

1 208.9340

09

1 208.5110

08

1 208.0880

07

1 207.6650

06

1 605.3750

1 248.6250

1 207.2420

05

1 604.8125

1 248.1875

1 206.8190

04

1 604.2500

1 247.7500

1 206.3960

03

1 603.6875

1 247.3125

1 205.9730

02

1 603.1250

1 246.8750

1 205.5500

01

1 602.5625

1 246.4375

1 205.1270

00

1 602.0000

1 246.0000

1 204.7040

−01

1 601.4375

1 245.5625

1 204.2810

−02

1 600.8750

1 245.1250

1 203.8580

−03

1 600.3125

1 244.6875

1 203.4350

−04

1 599.7500

1 244.2500

1 203.0120

−05

1 599.1875

1 243.8125

1 202.5890

−06

1 598.6250

1 243.3750

1 202.1660

−07

1 598.0625

1 242.9375

1 201.7430

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

卫星编号:

GPS: 1~32                美国

GLONASS: 65~96    俄罗斯

GALILEO:301-330    欧洲

BEIDOU:201~237     中国

IRNSS: 901~918      印度

QZSS:193~194        日本

SBAS:40~54             基星增强系统

 

 

 NMEA - 0183 是美国国家海洋电子协会(National Marine Electronics Association)为海用电子设备制定的标准格式。目前业已成了 GPS/北斗导航设备统一的 RTCM(Radio Technical Commission for Maritime services)标准协议。

NMEA-0183 协议采用 ASCII 码来传递 GPS 定位信息,我们称之为帧。

帧格式形如:$aaccc,ddd,ddd,…,ddd*hh(CR)(LF)

1、“$”:帧命令起始位

2、aaccc:地址域,前两位为识别符(aa),后三位为语句名(ccc)

3、ddd…ddd:数据

4、“*”:校验和前缀(也可以作为语句数据结束的标志)

5、hh:校验和(check  sum),$与*之间所有字符 ASCII 码的校验和(各字节做异或运算,得到校验和后,再转换 16 进制格式的 ASCII 字符)

6、(CR)(LF):帧结束,回车和换行符

NMEA-0183 常用命令如表所示:

序号                      命令                         说明                        最大帧长

1                        $GNGGA            GPS/北斗定位信息             72

2                        $GNGSA                当前卫星信息                  65

3                        $GPGSV              可见 GPS 卫星信息          210

4                        $BDGSV                可见北斗卫星信息           210

5                        $GNRMC                  推荐定位信息                70

6                        $GNVTG                   地面速度信息                34

7                        $GNGLL                    大地坐标信息                --

8                        $GNZDA                当前时间(UTC1)信息        --

上表为 NMEA-0183 常用命令表

注 1: 即协调世界时,相当于本初子午线(0 度经线)上的时间,北京时间比 UTC 早 8 个小时。

接下来我们分别介绍这些命令。

 

一,$GNGGA(GPS 定位信息,Global Positioning System Fix Data)

$GNGGA 语句的基本格式如下(其中 M 指单位 M,hh 指校验和,CR 和 LF 代表回车换行,下同):

$GNGGA,(1),(2),(3),(4),(5),(6),(7),(8),(9),M,(10),M,(11),(12)*hh(CR)(LF)

UTC 时间,格式为 hhmmss.ss;
纬度,格式为 ddmm.mmmmm(度分格式);
纬度半球,N 或 S(北纬或南纬);
经度,格式为 dddmm.mmmmm(度分格式);
经度半球,E 或 W(东经或西经);
GPS 状态,0=未定位,1=非差分定位,2=差分定位;
正在使用的用于定位的卫星数量(00~12)
HDOP 水平精确度因子(0.5~99.9)
海拔高度(-9999.9 到 9999.9 米)
大地水准面高度(-9999.9 到 9999.9 米)
差分时间(从最近一次接收到差分信号开始的秒数,非差分定位,此项为空)
差分参考基站标号(0000 到 1023,首位 0 也将传送,非差分定位,此项为空)
举例如下:
$GNGGA,095528.000,2318.1133,N,11319.7210,E,1,06,3.7,55.1,M,-5.4,M,,0000*69

 

二,$GNGSA(当前卫星信息)

$GNGSA 语句的基本格式如下:

$GNGSA,(1),(2),(3),(4),(5),(6)*hh(CR)(LF)

模式,M =  手动,A =  自动。
定位类型,1=未定位,2=2D 定位,3=3D 定位。
正在用于定位的卫星号(01~32)
PDOP 综合位置精度因子(0.5-99.9)
HDOP 水平精度因子 1(0.5-99.9)
VDOP 垂直精度因子(0.5-99.9)
举例如下:
$GNGSA,A,3,14,22,24,12,,,,,,,,,4.2,3.7,2.1*2D

         $GNGSA,A,3,209,214,,,,,,,,,,,4.2,3.7,2.1*21

注 1: 精度因子值越小,则准确度越高。

 

三,$GPGSV(可见卫星数,GPS Satellites in View)

$GPGSV 语句的基本格式如下:

$GPGSV,  (1),(2),(3),...,(4),(5),(6),(7)*hh(CR)(LF)

GSV 语句总数。
本句 GSV 的编号。
可见卫星的总数(00~12,前面的 0 也将被传输)。
卫星编号(01~32,前面的 0 也将被传输)。
卫星仰角(00~90 度,前面的 0 也将被传输)。
卫星方位角(000~359 度,前面的 0 也将被传输)
信噪比(00~99dB,没有跟踪到卫星时为空)。
注:每条 GSV 语句最多包括四颗卫星的信息,其他卫星的信息将在下一条$GPGSV 语句中输出。

举例如下:
$GPGSV,3,1,11,18,73,129,19,10,71,335,40,22,63,323,41,25,49,127,06*78

$GPGSV,3,2,11,14,41,325,46,12,36,072,34,31,32,238,22,21,23,194,08*76

$GPGSV,3,3,11,24,21,039,40,20,08,139,07,15,08,086,03*45

 

四,$BDGSV(可见卫星数,GPS Satellites in View)

$BDGSV 语句的基本格式如下:

$BDGSV,  (1),(2),(3),(4),(5),(6),(7),...,(4),(5),(6),(7)*hh(CR)(LF)

GSV 语句总数。
本句 GSV 的编号。
可见卫星的总数(00~12,前面的 0 也将被传输)。
卫星编号(01~32,前面的 0 也将被传输)。
卫星仰角(00~90 度,前面的 0 也将被传输)。
卫星方位角(000~359 度,前面的 0 也将被传输)
信噪比(00~99dB,没有跟踪到卫星时为空)。
注:每条 GSV 语句最多包括四颗卫星的信息,其他卫星的信息将在下一条$BDGSV 语句中输出。

举例如下:
$BDGSV,1,1,02,209,64,354,40,214,05,318,40*69

 

五,$GNRMC(推荐定位信息,Recommended Minimum Specific GPS/Transit Data)

$GNRMC 语句的基本格式如下:

$GNRMC,(1),(2),(3),(4),(5),(6),(7),(8),(9),(10),(11),(12)*hh(CR)(LF)

UTC 时间,hhmmss(时分秒)
定位状态,A=有效定位,V=无效定位
纬度 ddmm.mmmmm(度分)
纬度半球 N(北半球)或 S(南半球)
经度 dddmm.mmmmm(度分)
经度半球 E(东经)或 W(西经)
地面速率(000.0~999.9 节)
地面航向(000.0~359.9 度,以真北方为参考基准)
UTC 日期,ddmmyy(日月年)
磁偏角(000.0~180.0 度,前导位数不足则补 0)
磁偏角方向,E(东)或 W(西)
模式指示(A=自主定位,D=差分,E=估算,N=数据无效)
举例如下:
$GNRMC,095554.000,A,2318.1327,N,11319.7252,E,000.0,005.7,081215,,,A*73

 

六,$GNVTG(地面速度信息,Track Made Good and Ground Speed)

$GNVTG 语句的基本格式如下:

$GNVTG,(1),T,(2),M,(3),N,(4),K,(5)*hh(CR)(LF)

以真北为参考基准的地面航向(000~359 度,前面的 0 也将被传输)
以磁北为参考基准的地面航向(000~359 度,前面的 0 也将被传输)
地面速率(000.0~999.9 节,前面的 0 也将被传输   
地面速率(0000.0~1851.8 公里/小时,前面的 0 也将被传输)
模式指示(A=自主定位,D=差分,E=估算,N=数据无效)
举例如下:
$GNVTG,005.7,T,,M,000.0,N,000.0,K,A*11

 

七,$GNGLL(定位地理信息,Geographic Position)

$GNGLL 语句的基本格式如下:

$GNGLL,(1),(2),(3),(4),(5),(6),(7)*hh(CR)(LF)

纬度 ddmm.mmmmm(度分)
纬度半球 N(北半球)或 S(南半球)
经度 dddmm.mmmmm(度分)
经度半球 E(东经)或 W(西经)
UTC 时间:hhmmss(时分秒)
定位状态,A=有效定位,V=无效定位
模式指示(A=自主定位,D=差分,E=估算,N=数据无效)       
举例如下:
$GNGLL,2318.1330,N,11319.7250,E,095556.000,A,A*4F
八,$GNZDA(当前时间信息)

$GNZDA 语句的基本格式如下:

$GNZDA,(1),(2),(3),(4), (5), (6)*hh(CR)(LF)

UTC 时间:hhmmss(时分秒)



本地区域小时(NEO-6M 未用到,为 00)
本地区域分钟(NEO-6M 未用到,为 00)
举例如下:
$GNZDA,095555.000,08,12,2015,00,00*4C

NMEA-0183 协议命令帧部分就介绍到这里,接下来我们看看NMEA-0183 协议的校验,

通过前面的介绍,我们知道每一帧最后都有一个 hh 的校验和,该校验和是通过计算$与*之间所有字符 ASCII 码的异或运算得到,将得到的结果以 ASCII 字符表示就是该校验(hh)。例如语句:$GNZDA,095555.000,08,12,2015,00,00*4C,校验和(红色部分参与计算)计算方法为:

0X47 xor 0X4E xor 0X5A xor 0X44 xor 0X41 xor 0X2C xor 0X30 xor 0X39 xor 0X35 xor 0X35 xor 0X35 xor 0X35 xor 0X2E xor 0X30 xor 0X30 xor 0X30 xor 0X2C xor 0X30 xor 0X38 xor 0X2C xor 0X31 xor 0X32 xor 0X2C xor 0X32 xor 0X30 xor 0X31 xor 0X35 xor 0X2C xor  0X30 xor 0X30 xor 0X2C xor 0X30 xor 0X30

得到的结果就是 0X4C,用 ASCII 表示就是 4C。

NMEA-0183 协议我们就介绍到这里,了解了该协议,我们就可以编写单片机代码,解析 NMEA-0183 数据,从而得到 GPS/北斗定位的各种信息了。
————————————————
版权声明:本文为优快云博主「wonull」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.youkuaiyun.com/u012241570/article/details/90769388

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值