NMEA通讯协议详解

合集下载

NMEA协议详解

NMEA协议详解

NMEA协议详解2017/9/11 NMEA协议是为了在不同的GPS(全球定位系统)导航设备中建立统一的BTCM(海事无线电技术委员会)标准,由美国国家海洋电子协会(NMEA-The National Marine Electronics Associations)制定的一套通讯协议。

GPS接收机根据NMEA-0183协议的标准规范,将位置、速度等信息通过串口传送到PC机、PDA等设备。

NMEA-0183协议是GPS接收机应当遵守的标准协议,也是目前GPS接收机上使用最广泛的协议,大多数常见的GPS接收机、GPS数据处理软件、导航软件都遵守或者至少兼容这个协议。

不过,也有少数厂商的设备使用自行约定的协议比如GARMIN的GPS设备(部分GARMIN设备也可以输出兼容NMEA-0183协议的数据)。

软件方面,我们熟知的Google Earth目前也不支持NMEA-0183协议,但Google Earth已经声明会尽快实现对NMEA-0183协议的兼容。

呵呵,除非你确实强壮到可以和工业标准分庭抗礼,否则你就得服从工业标准。

NMEA-0183协议定义的语句非常多,但是常用的或者说兼容性最广的语句只有$GPGGA、$GPGSA、$GPGSV、$GPRMC、$GPVTG、$GPGLL等。

下面给出这些常用NMEA-0183语句的字段定义解释。

$GPGGA例:$GPGGA,092204.999,4250.5589,S,14718.5084,E,1,04,24.4,19.7,M,,,,0000*1F字段0:$GPGGA,语句ID,表明该语句为Global Positioning System Fix Data(GGA)GPS定位信息字段1:UTC 时间,hhmmss.sss,时分秒格式字段2:纬度ddmm.mmmm,度分格式(前导位数不足则补0)字段3:纬度N(北纬)或S(南纬)字段4:经度dddmm.mmmm,度分格式(前导位数不足则补0)字段5:经度E(东经)或W(西经)字段6:GPS状态,0=未定位,1=非差分定位,2=差分定位,3=无效PPS,6=正在估算字段7:正在使用的卫星数量(00 - 12)(前导位数不足则补0)字段8:HDOP水平精度因子(0.5 - 99.9)字段9:海拔高度(-9999.9 - 99999.9)字段10:地球椭球面相对大地水准面的高度字段11:差分时间(从最近一次接收到差分信号开始的秒数,如果不是差分定位将为空)字段12:差分站ID号0000 - 1023(前导位数不足则补0,如果不是差分定位将为空)字段13:校验值$GPGSA例:$GPGSA,A,3,01,20,19,13,,,,,,,,,40.4,24.4,32.2*0A字段0:$GPGSA,语句ID,表明该语句为GPS DOP and Active Satellites(GSA)当前卫星信息字段1:定位模式,A=自动手动2D/3D,M=手动2D/3D字段2:定位类型,1=未定位,2=2D定位,3=3D定位字段3:PRN码(伪随机噪声码),第1信道正在使用的卫星PRN码编号(00)(前导位数不足则补0)字段4:PRN码(伪随机噪声码),第2信道正在使用的卫星PRN码编号(00)(前导位数不足则补0)字段5:PRN码(伪随机噪声码),第3信道正在使用的卫星PRN码编号(00)(前导位数不足则补0)字段6:PRN码(伪随机噪声码),第4信道正在使用的卫星PRN码编号(00)(前导位数不足则补0)字段7:PRN码(伪随机噪声码),第5信道正在使用的卫星PRN码编号(00)(前导位数不足则补0)字段8:PRN码(伪随机噪声码),第6信道正在使用的卫星PRN码编号(00)(前导位数不足则补0)字段9:PRN码(伪随机噪声码),第7信道正在使用的卫星PRN码编号(00)(前导位数不足则补0)字段10:PRN码(伪随机噪声码),第8信道正在使用的卫星PRN码编号(00)(前导位数不足则补0)字段11:PRN码(伪随机噪声码),第9信道正在使用的卫星PRN码编号(00)(前导位数不足则补0)字段12:PRN码(伪随机噪声码),第10信道正在使用的卫星PRN码编号(00)(前导位数不足则补0)字段13:PRN码(伪随机噪声码),第11信道正在使用的卫星PRN码编号(00)(前导位数不足则补0)字段14:PRN码(伪随机噪声码),第12信道正在使用的卫星PRN码编号(00)(前导位数不足则补0)字段15:PDOP综合位置精度因子(0.5 - 99.9)字段16:HDOP水平精度因子(0.5 - 99.9)字段17:VDOP垂直精度因子(0.5 - 99.9)字段18:校验值$GPGSV例:$GPGSV,3,1,10,20,78,331,45,01,59,235,47,22,41,069,,13,32,252,45*70字段0:$GPGSV,语句ID,表明该语句为GPS Satellites in View(GSV)可见卫星信息字段1:本次GSV语句的总数目(1 - 3)字段2:本条GSV语句是本次GSV语句的第几条(1 - 3)字段3:当前可见卫星总数(00 - 12)(前导位数不足则补0)字段4:PRN 码(伪随机噪声码)(01 - 32)(前导位数不足则补0)字段5:卫星仰角(00 - 90)度(前导位数不足则补0)字段6:卫星方位角(00 - 359)度(前导位数不足则补0)字段7:信噪比(00-99)dbHz字段8:PRN 码(伪随机噪声码)(01 - 32)(前导位数不足则补0)字段9:卫星仰角(00 - 90)度(前导位数不足则补0)字段10:卫星方位角(00 - 359)度(前导位数不足则补0)字段11:信噪比(00-99)dbHz字段12:PRN 码(伪随机噪声码)(01 - 32)(前导位数不足则补0)字段13:卫星仰角(00 - 90)度(前导位数不足则补0)字段14:卫星方位角(00 - 359)度(前导位数不足则补0)字段15:信噪比(00-99)dbHz字段16:校验值NMEA0183标准语句另一种表达方式详解1、 Global Positioning System Fix Data(GGA)GPS定位信息$GPGGA,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,M,<10>,M,<11>,<12>*hh<CR><LF><1> UTC时间,hhmmss(时分秒)格式<2> 纬度ddmm.mmmm(度分)格式(前面的0也将被传输)<3> 纬度半球N(北半球)或S(南半球)<4> 经度dddmm.mmmm(度分)格式(前面的0也将被传输)<5> 经度半球E(东经)或W(西经)<6> GPS状态:0=未定位,1=非差分定位,2=差分定位,6=正在估算<7> 正在使用解算位置的卫星数量(00~12)(前面的0也将被传输)<8> HDOP水平精度因子(0.5~99.9)<9> 海拔高度(-9999.9~99999.9)<10> 地球椭球面相对大地水准面的高度<11> 差分时间(从最近一次接收到差分信号开始的秒数,如果不是差分定位将为空)<12> 差分站ID号0000~1023(前面的0也将被传输,如果不是差分定位将为空)2、GPS DOP and Active Satellites(GSA)当前卫星信息$GPGSA,<1>,<2>,<3>,<3>,<3>,<3>,<3>,<3>,<3>,<3>,<3>,<3>,<3>,<3>,<4>,<5>,<6>*hh<C R><LF><1> 模式,M=手动,A=自动<2> 定位类型,1=没有定位,2=2D定位,3=3D定位<3> PRN码(伪随机噪声码),正在用于解算位置的卫星号(01~32,前面的0也将被传输)。

NMEA协议

NMEA协议

NMEA协议协议名称:NMEA协议一、引言NMEA(National Marine Electronics Association)协议是一种用于航海设备之间数据交换的通信协议。

该协议由美国国家海洋电子协会制定,旨在实现船舶和海洋设备之间的数据互通和信息共享。

本协议旨在规范NMEA协议的标准格式和数据传输规则,以确保各种航海设备能够准确地解读和处理数据。

二、协议内容1. 协议版本本协议适用于NMEA协议的版本号为X.XX(例如:NMEA 0183)。

2. 数据格式NMEA协议使用ASCII字符作为数据格式,每条数据以"$"符号开头,以回车换行符"\r\n"结束。

数据字段之间使用逗号分隔。

数据字段的顺序和数量根据不同的数据类型而异。

3. 数据类型NMEA协议定义了多种数据类型,包括但不限于以下几种:- GGA(Global Positioning System Fix Data):用于定位数据的传输,包括经度、纬度、海拔高度等信息。

- RMC(Recommended Minimum Specific GNSS Data):用于推荐的最小GNSS数据传输,包括UTC时间、经纬度、速度等信息。

- VTG(Course Over Ground and Ground Speed):用于地面航向和速度数据的传输。

- GSA(GNSS DOP and Active Satellites):用于GNSS的DOP(定位精度因子)和当前活动卫星的信息传输。

- GSV(GNSS Satellites in View):用于GNSS可见卫星的信息传输。

- ZDA(Time and Date):用于日期和时间的传输。

4. 数据字段NMEA协议中的每个数据字段都有特定的含义和格式要求。

以下是一些常见的数据字段示例:- 经度:以十进制度数表示,范围为0至180度,东经为正,西经为负。

- 纬度:以十进制度数表示,范围为0至90度,北纬为正,南纬为负。

NMEA协议 (3)

NMEA协议 (3)

NMEA协议一、引言NMEA协议(National Marine Electronics Association Protocol)是一种用于船舶和海洋设备之间的数据通信协议。

该协议规定了数据格式和通信方式,以确保不同设备之间的数据传输和解析的一致性和可靠性。

本协议旨在提供详细的规范,以便协议撰写专家和相关技术人员可以准确地理解和实施NMEA协议。

二、协议版本当前有效的NMEA协议版本为V4.0。

三、协议结构NMEA协议分为两个主要部份:数据格式和通信方式。

1. 数据格式NMEA协议定义了多种数据格式,常见的包括:1.1 NMEA 0183格式NMEA 0183格式是最常用的NMEA协议数据格式。

它使用ASCII字符来表示数据,并采用逗号分隔不同字段。

每一个数据字段都有特定的含义和格式,例如:$GPGGA,123519,4807.038,N,01131.000,E,1,08,0.9,545.4,M,46.9,M,,*47。

1.2 NMEA 2000格式NMEA 2000格式是一种基于控制器局域网(CAN)总线的数据格式。

它使用二进制格式传输数据,并提供更高的数据传输速率和可靠性。

2. 通信方式NMEA协议定义了多种通信方式,常见的包括:2.1 串口通信NMEA协议使用串口通信来传输数据。

常见的串口通信协议包括RS-232和RS-422。

2.2 网络通信NMEA协议也支持通过网络进行数据传输。

常见的网络通信协议包括TCP/IP 和UDP。

四、数据字段NMEA协议定义了多个数据字段,每一个字段都有特定的含义和格式。

以下是一些常见的数据字段:1. GGA(Global Positioning System Fix Data)GGA字段包含有关全球定位系统(GPS)定位的信息,如纬度、经度、海拔高度等。

2. RMC(Recommended Minimum Navigation Information)RMC字段包含有关导航信息的推荐最小数据集,如时间、速度、航向等。

NMEA0183协议说明

NMEA0183协议说明

NMEA0183协议说明NMEA0183是一种用于航海导航设备之间进行数据传输的标准协议。

它最初是由国际电气和电子工程师协会(IEEE)于1983年制定的,旨在使不同品牌和类型的设备能够进行互联,并以一致的格式和规范交换数据。

NMEA0183协议主要是通过串行通信进行数据传输。

在传输过程中,数据以ASCII字符形式进行编码,并通过串行连接的导航设备之间以特定的速率进行传输。

这一协议支持全双工通信,即设备可以同时发送和接收数据。

除了定位数据,NMEA0183协议还定义了其他常见的数据格式。

例如,$GPGLL格式用于传输经纬度信息;$GPRMC格式用于传输推荐最佳航线信息;$GPVTG格式用于传输船舶或车辆的速度和航向信息等。

NMEA0183协议还提供了一套校验机制以确保数据传输的准确性。

在数据的结尾,“*”之后会跟随一个校验和。

校验和是通过对数据中每个字符进行异或运算得到的。

接收方在接收到数据后,会重新计算校验和,然后将其与接收到的校验和进行比较,以判断数据是否传输正确。

NMEA0183协议已经成为了航海导航领域中最常用的数据交换标准之一、它具有广泛的适用性,并且被几乎所有的GPS接收器和导航设备所支持。

因此,在现代航海导航领域中,几乎可以使用NMEA0183协议进行数据的传输和交换。

总结起来,NMEA0183协议是一种用于航海导航设备之间进行数据传输的标准协议。

通过串行通信,设备可以以ASCII字符形式进行数据的编码和传输。

协议定义了一系列数据格式,包括位置信息、速度、航向、时间、日期等。

校验机制确保了数据的准确性。

NMEA0183协议广泛应用于航海导航领域,并且被几乎所有的GPS接收器和导航设备所支持。

NMEA协议

NMEA协议

NMEA协议协议名称:NMEA协议一、背景介绍NMEA(National Marine Electronics Association)协议是一种用于航海电子设备之间通信的标准协议。

该协议定义了一系列数据格式和消息语法,用于传输船舶、航空器和地面设备的位置、速度、方向等信息。

NMEA协议在航海业界被广泛使用,为各种船舶导航设备提供了通用的数据交换方式。

二、协议目的本协议的目的是规定NMEA协议的标准格式,以确保不同设备之间的数据交换能够准确、可靠地进行。

三、协议内容1. 数据格式NMEA协议定义了一种基于ASCII字符的数据格式,每条消息由逗号分隔的字段组成。

每个字段具有特定的含义和数据类型。

以下是一个典型的NMEA消息示例:$GPGGA,123519,4807.038,N,01131.000,E,1,08,0.9,545.4,M,46.9,M,,*472. 常用消息NMEA协议定义了多种消息类型,常用的包括:- GGA(Global Positioning System Fix Data):包含位置、时间和定位质量指示器等信息。

- RMC(Recommended Minimum Specific GNSS Data):包含位置、速度和时间等信息。

- VTG(Course Over Ground and Ground Speed):包含航向和地速等信息。

3. 数据字段NMEA协议定义了一系列数据字段,用于描述位置、时间、速度、方向等信息。

以下是常用的数据字段:- UTC时间:表示消息记录的时间,格式为hhmmss.sss。

- 纬度和经度:表示位置信息,格式为ddmm.mmmm,其中dd表示度,mm.mmmm表示分钟。

- 定位质量指示器:表示定位质量的指示器,通常为0或1。

- 高度和海拔:表示海拔高度和椭球高度。

- 航向和地速:表示航向和地速信息。

四、协议规范1. 数据传输NMEA协议使用串行通信方式进行数据传输。

标准NMEA协议

标准NMEA协议

标准NMEA协议协议名称:标准NMEA协议一、引言标准NMEA协议是一种用于全球定位系统(GPS)设备和其他导航设备之间进行数据通信的协议。

该协议定义了一系列数据格式和通信规则,以确保不同设备之间的数据交换的一致性和互操作性。

本协议旨在提供一种通用的数据交换标准,使得不同厂商的设备能够无缝地进行数据交互。

二、协议结构标准NMEA协议采用文本格式进行数据传输,每条数据以"$"符号开头,以回车换行符"\r\n"结尾。

数据的内容由逗号分隔的字段组成,每个字段代表一个特定的数据类型。

三、数据格式标准NMEA协议定义了多种数据格式,以下是其中几种常用的数据格式:1. GGA(地理定位信息)格式:- 数据格式:$GPGGA,UTC时间,纬度,纬度半球,经度,经度半球,定位质量指示,使用卫星数量,水平精度因子,天线离海平面的高度,大地水准面偏移量,差分GPS数据期限,差分参考站ID,校验和<CR><LF>- 示例:$GPGGA,123519,4807.038,N,01131.000,E,1,08,0.9,545.4,M,46.9,M,,*472. GLL(经纬度和UTC时间数据)格式:- 数据格式:$GPGLL,纬度,纬度半球,经度,经度半球,UTC时间,定位状态,校验和<CR><LF>- 示例:$GPGLL,4916.45,N,12311.12,W,225444,A,*1D3. RMC(推荐最小定位信息)格式:- 数据格式:$GPRMC,UTC时间,定位状态,纬度,纬度半球,经度,经度半球,速度,航向,UTC日期,磁偏角,磁偏角方向,模式指示,校验和<CR><LF>- 示例:$GPRMC,123519,A,4807.038,N,01131.000,E,022.4,084.4,230394,003.1,W,*6A四、通信规则1. 数据发送频率:设备应按照预定的频率发送数据,以确保及时更新和数据的准确性。

NMEA通讯协议详解

NMEA通讯协议详解

NMEA通讯协议详解NMEA协议是一种用来在GPS设备和计算机之间进行数据通讯的协议,它定义了一系列的数据格式和规范,以确保各种设备之间能够正确地交换GPS位置、速度和时间等相关数据。

下面将对NMEA协议进行详细解释。

NMEA是National Marine Electronics Association(国家海洋电子协会)的缩写,它最早是为了海洋电子设备之间的通讯而开发的,后来被广泛应用于GPS设备和其他位置定位设备的通讯中。

NMEA协议的主要特点是简单、易于实现和兼容性强。

它使用ASCII码作为字符集,并采用逗号分隔的形式将数据字段分开。

每个数据字段都有一个具有特定含义的标识符,例如$GPGGA标识了GPS定位信息,$GPVTG标识了速度和航向信息等。

NMEA协议定义了一系列的数据语句,其中最常见的有GGA、GSA、GSV、RMC和VTG等语句。

- GGA(Global Positioning System Fix Data)语句提供了位置信息,包括纬度、经度、海拔高度以及GPS定位质量指示等。

- GSA(GNSS DOP and Active Satellites)语句提供了GPS接收机的定位几何精确度因数(DOP)以及用于定位的卫星编号等数据。

- GSV(GNSS Satellites in View)语句提供了卫星的可视信息,包括卫星的编号、仰角、方位角以及信号强度等。

- VTG(Track made good and Ground speed)语句提供了地面速度和航向信息,可以用于导航和航行控制。

除了以上常见的语句外,NMEA协议还定义了一些专用语句,如ZDA语句用于提供时间和日期信息,GNS语句用于混合定位系统等。

NMEA协议的数据字段均为文本形式,并以字符串方式传输。

每条语句以起始符$开始,以回车换行符<CR><LF>结束。

语句中的数据字段以逗号分隔,其中一些字段还可能包含控制字符。

NMEA0183 协议

NMEA0183 协议

NMEA0183 协议NMEA0183协议一、引言NMEA0183协议是一种用于航海和船舶导航设备之间进行数据交换的通信协议。

该协议定义了数据格式、语句结构和通信规则,旨在实现不同设备之间的互操作性和数据共享。

本协议旨在确保数据的准确性、一致性和可靠性,以提高航海安全和导航效率。

二、术语和定义1. NMEA:National Marine Electronics Association,美国国家海洋电子协会。

2. 数据帧:NMEA0183协议中的数据传输单位,由起始字符、数据字段和结束字符组成。

3. 语句:由数据帧组成的完整数据包,包含特定的数据类型和信息。

4. 起始字符:数据帧的第一个字符,用于标识数据帧的开始。

5. 数据字段:数据帧中包含的具体数据,根据数据类型和信息的不同而有所变化。

6. 结束字符:数据帧的最后一个字符,用于标识数据帧的结束。

三、协议规范1. 数据格式a. NMEA0183协议使用ASCII字符集进行数据传输。

b. 数据帧由起始字符、数据字段和结束字符组成,每个字段之间使用逗号分隔。

c. 数据字段可以是数字、字母或特殊字符的组合,根据数据类型和信息的不同而有所变化。

d. 数据帧的最大长度为82个字符,包括起始字符、数据字段、逗号和结束字符。

2. 数据语句a. NMEA0183协议定义了多种语句类型,用于传输不同类型的数据。

b. 每个语句以'$'字符作为起始字符,以回车换行符(CR/LF)作为结束字符。

c. 语句中的数据字段按照特定的顺序排列,每个字段的含义由协议规定。

d. 语句的类型由语句标识符(Sentence Identifier)确定,标识符通常由两个字符组成。

3. 数据校验a. 为了确保数据的完整性和准确性,NMEA0183协议使用校验和机制。

b. 校验和是一个两位的十六进制数,表示数据帧中所有字符的异或值。

c. 校验和紧跟在数据字段的结束字符之后,以'*'字符开始,后跟两位十六进制数。

NMEA0183 协议

NMEA0183 协议

NMEA0183 协议NMEA0183协议一、引言NMEA0183协议是一种用于电子设备之间进行数据通信的标准协议。

该协议定义了数据格式、传输方式和通信规则,使得不同设备能够相互交换和解析数据。

本协议旨在确保设备之间的数据交换具有一致性和互操作性。

二、协议版本当前的NMEA0183协议版本为1.5。

本协议的所有规范和要求适用于该版本。

三、协议结构NMEA0183协议的数据格式采用ASCII码,每条数据以'$'字符开头,以回车换行符(CR/LF)结尾。

每条数据包含以下几个部分:1. 数据类型标识符:用于标识数据的类型,由两个字母组成,例如:GP(全球定位系统)、GL(GLONASS卫星导航系统)等。

2. 数据字段:包含了具体的数据信息,字段之间以逗号分隔。

3. 校验和:用于验证数据的完整性,以'*'字符开头,后跟两个十六进制数字。

四、数据类型NMEA0183协议定义了多种数据类型,包括但不限于以下几种:1. GGA(全球定位系统定位数据):提供了位置、时间和定位质量指示等信息。

2. RMC(推荐最小定位数据):提供了位置、速度和航向等信息。

3. GSA(GNSS DOP and Active Satellites):提供了卫星信息和定位精度因子等。

4. GSV(GNSS Satellites in View):提供了可见卫星的信息。

5. VTG(Course Over Ground and Ground Speed):提供了地面航向和速度等信息。

五、数据字段每种数据类型都包含一系列数据字段,字段的顺序和数量根据具体的数据类型而定。

以下是一些常见的数据字段:1. UTC时间:格式为HHMMSS.SSS。

2. 纬度:格式为ddmm.mmmm,其中dd表示度,mm.mmmm表示分钟。

3. 经度:格式为dddmm.mmmm,其中ddd表示度,mm.mmmm表示分钟。

4. 定位质量指示:表示定位的质量,例如0表示无效定位,1表示GPS定位,2表示DGPS定位等。

NMEA0183 协议

NMEA0183 协议

NMEA0183 协议NMEA0183协议一、引言NMEA0183协议是一种用于海洋电子设备之间通信的标准协议。

该协议定义了一系列语句格式,用于传输位置、导航、时间、气象等信息。

本协议旨在确保不同设备能够互相通信,并保证数据的准确性和一致性。

二、范围本协议适用于所有使用NMEA0183协议进行数据传输的设备和系统。

三、术语和定义1. NMEA:National Marine Electronics Association的缩写,意为“全国海洋电子协会”。

2. 语句:指符合NMEA0183协议定义的数据格式。

3. 发送器:指负责将数据发送到总线上的设备。

4. 接收器:指负责接收总线上的数据的设备。

四、协议规范1. 语句格式(1) 每个语句以"$"符号开头,以回车符和换行符"\r\n"结尾。

(2) 语句由逗号分隔的字段组成,字段之间不含空格。

(3) 第一个字段为语句类型标识,用于识别语句的类型。

(4) 最后一个字段为校验和,用于验证语句的完整性。

2. 语句类型(1) GGA:全球定位系统定位数据(2) GLL:地理定位信息(3) GSA:GNSS接收器操作模式、精度和可见卫星信息(4) GSV:可见卫星状态信息(5) RMC:推荐最小定位信息(6) VTG:地面速度信息(7) ZDA:时间和日期信息3. 字段定义(1) GGA语句字段:- UTC时间- 经度- 纬度- 定位质量指示- 使用卫星数量- HDOP(水平精度因子)- 天线离海平面的高度- 大地水准面的高度差- 差分GPS数据期限(2) GLL语句字段:- 纬度- 纬度半球- 经度- 经度半球- UTC时间- 定位模式指示(3) GSA语句字段:- 操作模式- 精度- 使用卫星PRN号- PDOP(位置精度因子) - HDOP(水平精度因子) - VDOP(垂直精度因子) (4) GSV语句字段:- 可见卫星总数- 卫星PRN号- 仰角- 方位角(5) RMC语句字段:- UTC时间- 定位状态- 纬度- 纬度半球- 经度- 经度半球- 地面速度(节)- 地面航向(度)- UTC日期- 磁偏角- 磁偏角方向(6) VTG语句字段:- 地面航向(度)- 地面航向修正(度) - 地面速度(节)- 地面速度修正(节) (7) ZDA语句字段:- 日期- 本地时区小时偏移量- 本地时区分钟偏移量4. 校验和计算(1) 校验和字段为一个字节,采用十六进制表示。

NMEA0183 协议

NMEA0183 协议

NMEA0183 协议NMEA0183协议一、引言NMEA0183协议是一种用于船舶和海洋设备之间的数据通信协议。

该协议规定了数据的格式、传输方式和通信规则,使得不同厂商的设备能够互相通信并实现数据交换。

本协议旨在确保数据的准确性、一致性和可靠性,以满足海洋导航和相关应用的需求。

二、术语和定义1. NMEA0183:指代本协议的名称。

2. 设备:指代使用NMEA0183协议进行通信的船舶和海洋设备。

3. 数据:指代通过NMEA0183协议传输的信息,包括位置、速度、方向等。

4. 航海数据:指代与航海导航相关的数据,如GPS定位数据、罗经数据等。

5. 传输速率:指代数据在通信中传输的速度,单位为波特(Baud)。

三、协议规范1. 数据格式a) NMEA0183协议规定了数据的格式为ASCII码,每条数据以'$'符号开始,以回车和换行符结束。

b) 数据分为不同的数据类型,如位置数据、速度数据等,每种数据类型有特定的标识符。

c) 数据的字段使用逗号进行分隔,每个字段具有固定的含义和长度。

2. 数据类型和标识符a) 位置数据:标识符为"$GPGGA",包括UTC时间、纬度、经度、定位质量等信息。

b) 速度数据:标识符为"$GPVTG",包括地面速度、地面航向等信息。

c) 方向数据:标识符为"$GPRMC",包括UTC时间、纬度、经度、地面速度、地面航向等信息。

3. 数据字段a) 数据字段使用逗号进行分隔,每个字段具有固定的含义和长度。

b) 数据字段的顺序和含义如下:- UTC时间:格式为HHMMSS.SS。

- 纬度:格式为ddmm.mmmm,其中dd表示度,mm.mmmm表示分和小数部分。

- 纬度方向:N表示北纬,S表示南纬。

- 经度:格式为dddmm.mmmm,其中ddd表示度,mm.mmmm表示分和小数部分。

- 经度方向:E表示东经,W表示西经。

NMEA协议

NMEA协议

NMEA协议协议名称:NMEA协议一、引言NMEA协议是一种用于全球定位系统(GPS)接收器和其他导航设备之间进行数据交换的通信协议。

该协议定义了数据格式、语法和传输规则,以确保设备之间的数据互操作性和兼容性。

本协议旨在详细描述NMEA协议的标准格式和规范。

二、协议版本当前最新版本的NMEA协议为NMEA 0183。

三、协议结构NMEA协议的数据格式由数据字段和控制字符组成。

每个数据字段以逗号分隔,以确保数据的准确性和一致性。

以下是NMEA协议的标准格式:1. 数据字段NMEA协议中的数据字段包括以下几种类型:- 语句类型(Sentence Type):指定数据的类型和用途,通常由两个字母表示。

- 数据字段(Data Field):包含有关定位和导航的具体数据,如经度、纬度、速度等。

- 校验和(Checksum):用于验证数据的完整性,采用十六进制表示。

2. 控制字符NMEA协议中使用的控制字符包括以下几种:- 开始字符(Start Character):以"$"符号开头,用于标识数据字段的开始。

- 结束字符(End Character):以换行符(LF)和回车符(CR)结尾,用于标识数据字段的结束。

四、数据类型NMEA协议支持多种数据类型,包括但不限于以下几种:1. GGA(Global Positioning System Fix Data):包含有关GPS定位的基本信息,如纬度、经度、海拔高度等。

2. RMC(Recommended Minimum Navigation Information):包含有关导航信息的基本数据,如日期、时间、速度等。

3. VTG(Course Over Ground and Ground Speed):包含有关船舶或车辆的航向和速度信息。

4. GSA(GPS DOP and Active Satellites):包含有关GPS接收器的状态和卫星信息。

NMEA0183 协议

NMEA0183 协议

NMEA0183 协议NMEA0183协议1. 概述NMEA0183协议是一种用于海洋电子设备之间数据通信的标准协议。

该协议定义了数据格式、消息结构和通信规则,使得不同厂商的设备能够互相交换和解读数据。

本协议旨在确保设备之间的兼容性和数据的一致性,为海洋导航、定位和测量等应用领域提供了重要的技术支持。

2. 协议结构NMEA0183协议采用ASCII字符编码,每条消息以"$"符号开头,以回车换行符"\r\n"结尾。

消息由多个字段组成,字段之间使用逗号分隔。

每个字段包含特定的数据,如设备ID、数据类型、数据值等。

协议中定义了多种消息类型,如位置、速度、航向、时间等。

3. 消息类型3.1 GGA(全球定位系统定位信息)GGA消息包含了位置、时间和定位质量等信息。

其中,位置信息包括纬度、经度和海拔高度。

时间信息以小时、分钟和秒的格式给出。

定位质量指示了定位结果的准确性。

3.2 RMC(推荐最小定位信息)RMC消息提供了位置、速度和航向等信息。

位置信息与GGA消息相似,速度信息以节为单位给出,航向信息以度为单位给出。

3.3 VTG(地面速度信息)VTG消息包含了地面速度和航向信息。

速度以节为单位给出,航向以度为单位给出。

4. 数据格式4.1 位置信息位置信息通常以度分秒格式表示。

纬度和经度分别由度、分和秒字段组成,中间用逗号分隔。

纬度的取值范围为0°至90°,北纬为正,南纬为负;经度的取值范围为0°至180°,东经为正,西经为负。

4.2 时间信息时间信息以小时、分钟和秒的格式给出,中间用逗号分隔。

小时的取值范围为0至23,分钟和秒的取值范围为0至59。

4.3 速度信息速度信息以节为单位给出,中间用逗号分隔。

速度的取值范围为0至999.9节。

4.4 航向信息航向信息以度为单位给出,中间用逗号分隔。

航向的取值范围为0至359.9°。

NMEA介绍

NMEA介绍

GPS 通讯的NMEA 协议1. GPS的 NMEA协议GPS 全球定位系统主要有三大组成部分,即空间星座部分、地面监控部分和用户设备部分。

其中GPS 空间星座部分、地面监控部分均为美国所控制,GPS 的用户设备主要由接收机硬件和处理软件组成。

用户通过用户设备接收GPS 卫星信号,经信号处理而获得用户位置、速度等信息,最终实现利用GPS 进行导航和定位的目的。

目前许多GPS 厂商遵循NEMA0183 协议开发出许多导航型GPS 产品。

大多数GPS 接收机都能输出符合NEMA0183 标准的ASCII码形式的数据信息,NEMA0183 通信标准格式是美国国家海洋局电子协会制定的,语句达数十种之多,各种数据句型均以“$”开头,数据主要由帧头、帧尾和帧内数据组成。

根据数据帧的不同,帧头也不相同,主要有:$GPGGA(GGA-Global Positioning System Fix Data);$GPGLL(Geographic Position – Latitude/Longitude);$GPGSA(GPS DOP and active satellites);$GPGSV(Statellites in view) ;$GPRMC(Recommended Minimum Navigation Information);$GPVTG(Track made good and Ground speed)等。

这些帧头标识了后续帧内数据的组成结构,各帧均以回车符和换行符< CR > <LF >作为帧尾标识一帧的结束,帧内数据之间以逗号隔开。

输出的句型可以根据用户需要进行选择。

1.1 NMEA协议解析1.1.1 GPS DOP and Active Satellites(GSA)当前卫星信息$GPGSA,<1>,<2>,<3>,<3>,,,,,<3>,<3>,<3>,<4>,<5>,<6>,<7><CR><LF><1>模式:M = 手动, A = 自动。

标准NMEA协议 (2)

标准NMEA协议 (2)

标准NMEA协议协议名称:标准NMEA协议一、引言标准NMEA协议(National Marine Electronics Association)是一种用于航海设备和导航系统之间进行数据通信的协议。

该协议定义了一系列数据格式和通信规则,以确保不同设备之间的数据交换和信息传递的一致性和兼容性。

二、目的本协议的目的是确保在航海设备和导航系统之间进行数据通信时,能够准确、可靠地传输和解析数据。

通过遵循标准NMEA协议,可以实现不同设备之间的互操作性,提高航海设备和导航系统的整体性能和功能。

三、范围本协议适用于航海设备和导航系统之间的数据通信,包括但不限于以下设备和系统:1. GPS(全球定位系统)接收器2. 惯性导航系统3. 自动驾驶系统4. 电子海图系统5. 水声设备(如声纳和声呐)6. 气象设备7. 航向仪和罗盘8. 速度和距离测量设备9. 其他相关设备和系统四、通信规则1. 数据格式:标准NMEA协议定义了一系列数据格式,包括位置、速度、方向、时间等数据类型。

数据格式采用ASCII字符编码,每条数据以美元符号$开头,以回车换行符(CR/LF)结尾。

2. 数据字段:每条数据由多个数据字段组成,字段之间使用逗号分隔。

字段的顺序和具体含义由协议定义,设备和系统在解析数据时应按照协议规定的顺序和含义进行解析。

3. 校验和:每条数据的末尾包含一个校验和字段,用于检测数据传输过程中的错误。

校验和字段是一个两位的十六进制数,通过对数据字段进行异或运算得到。

4. 数据传输:数据传输可以通过串口、网络或其他适当的通信方式进行。

设备和系统之间应确保数据传输的稳定性和可靠性,避免数据丢失或损坏。

五、数据类型和格式标准NMEA协议定义了多种数据类型和格式,包括但不限于以下几种常用数据:1. GGA(Global Positioning System Fix Data):位置数据,包括经纬度、海拔高度等信息。

2. RMC(Recommended Minimum Navigation Information):导航信息,包括日期、时间、速度、方向等信息。

标准NMEA协议

标准NMEA协议

标准NMEA协议协议名称:标准NMEA协议一、引言标准NMEA协议是一种用于全球定位系统(GPS)和其他导航设备之间进行数据交换的通信协议。

该协议定义了数据格式、数据字段和数据传输规则,以确保不同设备之间的数据互通性和兼容性。

本协议旨在为各种导航设备之间的数据交互提供准确、一致和可靠的标准。

二、协议范围本协议适用于所有使用NMEA协议进行数据交换的GPS接收器、导航设备和相关应用程序。

三、术语和定义1. NMEA:National Marine Electronics Association的缩写,国家海洋电子协会,代表了该协议的制定机构。

2. GPS:全球定位系统,一种卫星导航系统,用于确定地球上任意位置的三维空间坐标。

3. 数据字段:协议中定义的特定数据项,用于描述位置、速度、时间等相关信息。

4. 数据帧:协议中的数据单元,包含一个或多个数据字段。

四、协议规范1. 数据格式1.1 所有数据字段均以"$"字符开头,以回车换行符"\r\n"结尾。

1.2 数据字段之间使用英文逗号","分隔。

1.3 数据字段的顺序和数量应符合协议定义的要求。

1.4 数据字段的内容应符合协议定义的数据类型和取值范围。

2. 数据字段2.1 $GPGGA:全球定位系统定位数据- UTC时间- 纬度- 纬度半球(北/南)- 经度- 经度半球(东/西)- 定位质量指示- 使用卫星数量- HDOP(水平精度因子)- 天线海拔高度- 地球椭球体分离- DGPS数据期限2.2 $GPRMC:推荐最小定位数据- UTC时间- 定位状态- 纬度- 纬度半球(北/南)- 经度- 经度半球(东/西)- 地面速率- 地面航向- 日期- 磁偏角- 磁偏角方向2.3 $GPVTG:地面速度信息- 地面航向- 地面速率- 地面速率单位3. 数据传输规则3.1 数据传输应使用标准RS232串行通信接口。

NMEA0183 协议

NMEA0183 协议

NMEA0183 协议一、背景介绍NMEA0183 协议是一种用于船舶和航海设备之间进行数据通信的标准协议。

该协议定义了数据格式、数据传输方式和通信协议等方面的内容,以确保不同设备之间能够正确地交换和解析数据。

二、协议目的NMEA0183 协议的主要目的是实现船舶和航海设备之间的数据交换和共享。

通过该协议,各种设备可以实时地传输和接收位置信息、速度信息、方向信息等重要数据,从而提高航海安全性和导航效率。

三、协议范围NMEA0183 协议适用于船舶和航海设备之间的数据通信。

涵盖的设备类型包括但不限于GPS接收器、导航显示器、自动驾驶仪、罗盘、声纳等。

四、协议要求1. 数据格式要求:a. 数据格式采用ASCII码表示。

b. 每条数据以'$'字符开头,以回车换行符('\r\n')结尾。

c. 数据字段之间以英文逗号(',')分隔。

d. 数据字段的顺序和内容必须按照协议规定的格式进行组织。

2. 数据传输要求:a. 数据传输采用串行通信方式。

b. 通信波特率为4800bps。

c. 通信接口采用RS-232标准。

3. 通信协议要求:a. 通信协议采用请求-应答模式。

b. 请求消息由数据接收方发送,应答消息由数据发送方返回。

c. 请求消息和应答消息的格式必须符合协议规定。

五、协议内容NMEA0183 协议定义了多种数据消息,包括但不限于以下几种:1. GGA(全球定位系统定位信息)消息:消息格式:$GPGGA,hhmmss.ss,llll.ll,a,yyyyy.yy,a,x,xx,x.x,x.x,M,x.x,M,x.x,xxxx*hh<CR><LF>解析:- hhmmss.ss:UTC时间,时分秒格式。

- llll.ll:纬度,度分格式。

- a:纬度半球,N(北半球)或S(南半球)。

- yyyyy.yy:经度,度分格式。

- a:经度半球,E(东经)或W(西经)。

标准NMEA协议 (3)

标准NMEA协议 (3)

标准NMEA协议协议名称:标准NMEA协议一、引言标准NMEA协议是一种用于全球定位系统(GPS)和其他导航设备之间进行数据通信的通用协议。

该协议定义了数据格式、数据类型和数据传输方式,以确保各种导航设备之间的互操作性和数据一致性。

本协议旨在提供一种标准化的数据交换方式,使得不同设备之间能够正确解析和处理导航数据。

二、协议结构标准NMEA协议由多个数据语句组成,每个语句以美元符号($)开头,以回车换行符(\r\n)结尾。

每个语句由逗号分隔的字段组成,其中第一个字段表示语句的类型。

以下是常见的NMEA语句类型:1. GGA(地理定位信息)- 语句类型:$GPGGA- 字段数量:14- 描述:提供接收器的定位、时间和定位质量指示等信息。

2. GSA(GNSS DOP和活动卫星)- 语句类型:$GPGSA- 字段数量:17- 描述:提供接收器的DOP值(定位精度因子)和活动卫星的信息。

3. GSV(可见卫星信息)- 语句类型:$GPGSV- 字段数量:19- 描述:提供接收器可见卫星的信息,包括卫星编号、仰角、方位角和信号强度等。

4. RMC(推荐最小定位信息)- 语句类型:$GPRMC- 字段数量:13- 描述:提供接收器的位置、速度和时间等信息。

5. VTG(地面速度信息)- 语句类型:$GPVTG- 字段数量:10- 描述:提供接收器的地面速度和航向信息。

三、数据字段每个NMEA语句的字段顺序和数据类型都是固定的。

以下是常见字段的说明:1. UTC时间:格式为hhmmss.sss,表示当前定位信息的UTC时间。

2. 纬度和经度:格式为ddmm.mmmm,表示当前定位信息的纬度和经度。

3. 定位质量指示:表示当前定位的质量,常见值包括0(无效定位)、1(GPS 定位)、2(DGPS定位)、4(RTK固定解)等。

4. 卫星数量:表示当前接收器可见的卫星数量。

5. DOP值:包括水平精度因子(HDOP)、垂直精度因子(VDOP)和位置精度因子(PDOP)等。

NMEA0183 协议

NMEA0183 协议

NMEA0183 协议NMEA0183协议一、引言NMEA0183协议是一种用于航海和船舶导航设备之间数据交换的通信协议。

该协议定义了一系列数据格式和通信规则,以确保不同设备之间的数据交换和信息传递的一致性和可靠性。

本协议旨在为船舶导航设备的制造商、开发人员和用户提供一个统一的标准,以便实现设备之间的互操作性。

二、协议规范1. 数据格式NMEA0183协议使用ASCII字符集,并定义了一系列数据格式。

其中,每条数据以美元符号($)开头,以回车(CR)和换行(LF)结束。

数据格式由逗号分隔的字段组成,每个字段代表不同的数据类型或参数。

字段的顺序和数量取决于具体的数据类型。

2. 数据类型NMEA0183协议定义了多种数据类型,包括位置、速度、方向、时间等。

每种数据类型都有特定的数据格式和字段要求。

例如,位置数据使用经度和纬度表示,速度数据使用节和方向表示。

3. 数据标识NMEA0183协议使用三个字母的标识符来表示不同的数据类型。

常见的标识符包括GGA(全球定位系统定位信息)、RMC(推荐最小定位信息)和VTG(地面速度信息)等。

设备在发送数据时,需要在数据前面加上相应的标识符,以便接收方正确解析数据。

4. 通信规则NMEA0183协议定义了一套通信规则,以确保数据的可靠传输和正确解析。

通信规则包括以下几个方面:a. 数据频率:设备应按照一定的频率发送数据,以便接收方能够及时获取最新的信息。

b. 数据校验:每条数据都包含一个校验和字段,用于验证数据的完整性和准确性。

c. 数据解析:接收方需要按照协议规定的格式和字段要求解析数据,并对数据进行相应的处理和显示。

d. 错误处理:在数据传输过程中,如果发生错误或丢失数据,设备应采取相应的错误处理措施,如重新发送数据或向用户报告错误信息。

5. 数据传输NMEA0183协议使用串行通信接口进行数据传输。

常见的串行通信接口包括RS-232和RS-422/485。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

NMEA通讯协议详解
说起NMEA协议,只要接触过GPS设备的人,或者说是要用到GPS设备研发的人都知道,这是一个很常用的GPS通讯协议,而且也有很多人遇到关于NEMA协议的一些问题,我忽然有一个想法,就是按照自己对这个协议的一些理解,写一点这方面的东西,看是不是能帮刚刚入门的人解答一些疑问,由于笔者水平有限,这个东西也只能算是一个简单介绍,就算是知识普及吧,希望能引高手出来大家一起讨论。

好了,言归正传,我们开始吧!
GPS(全球定位系统)接收机与手持机之间的数据交换格式一般都由生产厂商缺省定制,其定义内容普通用户很难知晓,且不同品牌、不同型号的GPS接收机所配置的控制应用程序也因生产厂家的不同而不同。

所以,对于通用GPS应用软件,需要一个统一格式的数据标准,以解决与任意一台GPS的接口问题。

NMEA-0183数据标准就是解决这类问题的方案之一。

NMEA协议是为了在不同的GPS导航设备中建立统一的RTCM(海事无线电技术委员会)标准,它最初是由美国国家海洋电子协会(NMEA—The NationalMarine Electronics Association)制定的。

NMEA协议有0180、0182和0183这3种,0183可以认为是前两种的升级,也是目前使用最为广泛的一种
NMEA通讯协议硬件接口
符合NMEAO183标准的GPS接收机的硬件接口能够兼容计算机的RS-232C协议串口,然而,严格来说NMEA标准不是RS-232C,规范推荐依照EIA422(也称为RS-422)。

是一个与RS-232C不同的系统。

标准RS-232C采用负逻辑,即逻辑“1”表示-5V~-15v,逻辑“0”表示+5V~+15V,利用传输信号线和信号地之间的电压差进行传输。

而EIA-422是利用导线之间的信号电压差来传输信号的,其每个通道要用两条信号线,一条是逻辑“1”,~条是逻辑“0”,通过传输线驱动器和传输线接收器实现逻辑电平和电位差之间的转换,一般允许驱动器输出为±2V~±6V 。

虽然存在区别,但在实际使用中,如果只是接收GPS的输出.则只需两根信号线GPS数据输出线和信号地线,可以直接将EIA-422输出通道两条信号线的中一条同计算机的Rs232C 输入线相连(这个方法我并没有试验过,是从别的地方听来的,有兴趣有条件的兄弟可以动手实验一下,不过后果自负哦!呵呵)。

NMEA通讯协议所定义的标准通讯接口参数为:
波特率:4800bit/s;
数据位:8位;
停止位:1位;
奇偶校验:无;
NMEA-OI83语句解析
NMEA通讯协议所规定的通讯语句都已是以ASCII码为基础的,NMEA-0183协议语句的数据格式如下:“$”为语句起始标志;“,”为域分隔符;“ *”为校验和识别符,其后面的两位数为校验和,代表了“$”和“*”之间所有字符的按位异或值(不包括这两个字符);“/”为终止符,所有的语句必须以来结束,也就是ASCII 字符的“回车”(十六进制的0D)和“换行”(十六进制的0A)。

典型的NMEA0183语句如下面的GPGGA语句。

当GPS正常工作时,语句如:
$GPGGA,053152,3957.7484,N,11626.7626,E,1,06,1.5,88.1,M,-8.0,M,,*64
当GPS收不到卫星信号时,GPGGA语句输出变为:
$GPGGA,053247,3957.7484,N,11626.7626,E,0,00,,,M,,M,,*46
除标准语句外,NMEAO183规范还允许个别厂商定义私有的语句格式,这些语句以“$P”开始,然后是三个字符长度的厂商识别号,跟着是厂商定义的数据,接下来的数据格式与标准格式相同。

如Garmin的PGRME私有格式如下:
$PGRME,8.9,M,6.1,M,10.8,M*11
其中,“P”代表私有格式,“GRM”是Garmin的代码,“E”表示语句类型。

NMEA数据处理中的注意事项
如果开发基于GPS的应用系统,就需要将GPS作为信息源,正确接收和解析GPS发送的NMEA一0183数据。

此时,在编程实现时需要注意几个问题。

1、通讯端口的设置
虽然NMEA规范推荐的串行通讯参数为“波特率:4800;奇偶校验:无;数据位:8;停止位:1”,但也有厂商的产品允许用户将波特率设置的更高,此时需要注意设置计算机的接口参数与GPS设备一致。

2、所需信息的正确提取
NMEA—0183是以语句形式发送数据的,接收机可能发送很多类型的语句,而我们需要的可能只是某些语句中的几个字段。

因此就需要对接收到的数据进行解析,取得所需的信息。

另外,可能会由于小数点位数不同等原因,语句的长度是可变的,因而分离感兴趣的信息时,不能按照该信息在语句中所处的字符位置来查找,只能依据逗号分隔符,这一点在数据提取的过程中非常重要。

笔者就经常遇到一些应用软件工程师,在提取NMEA语句中的信息的时候按照字符的长度提取,这样编出来的程序,通用性差,而且经常会出现信息提取错误的问题。

以上都是我们在程序中需要注意的问题。

为解决信息的正确提取问题,并提高程序的复用性,可以编写适当的函数,如一个函数用来分离语句(即通过$字符判断语句头,一直到换行回车结束一条语句);一个函数用来判断语句中的字段数(通过“,”分隔符来提取语句字段),还有一个函数用来返回语句中指定字段的内容。

有了这三个函数,就可以方便的提取所需的信息,此时的工作只是简单字符串比较和显示格式的变换
检验和的计算与比较
最后,为了确保所采集的GPS数据的可靠性,必须进行检验和的计算与比较。

检验和hh为“$”与“*”之间的所有字符按位异或的结果,并将其高4位和低4位各用一个十六进制数(字母大写)表示出来。

为此,需编写函数,从语句头识别符“*”开始,计算检验和,直至“*”到达为止,这时“*”号后面的两个字符就是检验码,将自己的计算结果同这两个检验码字符比较,若不同,按出错处理,并继续运行;若相同,则说明通讯成功,数据接收正确,可以处理该语句,提取所需数据。

这里简单介绍了NMEA一0183规范的接口定义和数据格式,但是篇幅限制没有对NMEA语句进行详细的解析,语句的详细说明可参照NMEA规范或各GPS接收机的说明书。

我现在
手中有一份中文版本的NMEA协议语句的详细解析,当然并不是全部的语句,是根据GARMIN技术手册翻译过来的,如果有兴趣了解的兄弟可以留下邮箱。

以上这些文字,是AKA按照自己对NMEA协议的的理解,再加上一点东找西看来的东西写出来的,如对其中的问题有疑问,欢迎探讨!邮箱地址:zhl001@。

相关文档
最新文档