当前位置:文档之家› NMEA协议说明中文

NMEA协议说明中文

NMEA-0183协议说明

V2.20 2004年1月

注:因本人水平有限,难免出现错,敬请修改。

1、NMEA输出报文

A. GGA –全球定位系统固定数据

$GPGGA,161229.487,3723.2475,N,12158.3416,W,1,07,1.0,9.0,M,,,,0000*18

B. GLL –地理信息——纬度/经度

$GPGLL, 3723.2475,N,12158.3416,W,161229.487,A*2C

C. GSA –GNSS DOP(定位点)活动卫星

$GPGSA, A,3,07,02,26,27,09,04,15,,,,,,1.8,1.0,1.5*33

D. GSV –GNSS DOP(定位点)活动卫星

$GPGSV,2,2,07,07,79,048,42,02,51,062,43,26,36,256,42,27,27,138,42*71

E. RMC –推荐的最小具体定位数据

$GPRMC,161229.487,A,3723.2475,N,12158.3416,W,0.13,309.62,120598,,*10

$GPVTG,309.62,T,,M,0.13,N,0,2,K*6E

NMEA 输入报文提供了允许通过NMEA协议控制GPS的方法。

传输格式:

1.起始符包含3个字节,从MID100开始(Message identifier consisting of three numeric characters. Input messages begin at MID 100.)。??????

2.具体数据,特定的数据序列

3.NMEA定义的校验是2个HEX的字符,适用于所有输入报文。

4.所有输入报文都以回车符(CR)和换行符结束,即\r\n,十六进制码为0D0A。因为\r\n 是不可打印的ASCII字符,是示例字符串,但必须发送强制其作为输入报文的终止符。

1、串口

这个命令用来设置通讯协议(SiRF或NMEA)和通讯参数(波特率、数据位、停止位、奇偶校验),每次接收到有效地设置,这些参数就存储在具有后备电池的SRAM中,GPS单元开始重启并应用这些参数。

表2.1——设置串口数据格式

2、导航初始化

这个命令用于根据当前位置(XYZ坐标)初始化暖启动模式、时钟修正和时间,使GPS单元能根据正确的信号参数搜索正确的卫星信号,正确的初始化参数能保证GPS单元迅速的搜索到信号。

$PSRF101,-2686700,-4304200,3851624,95000,497260,921,12,3*22

表2.2——导航初始化数据格式

3、设置DGPS口

这个命令控制串口B,串口B只能输入,用来接收RTCM差分修正,差分接收器根据差分修正参数能输出修正值,默认的口B差分通讯参数是9600波特率、8个数据位、1个停止位、无奇偶校验。如果DGPS接收器使用了差分通讯参数,这个命令将对数据进行正确的译码。每当接收到有效地报文,通讯参数将存储在具有后备电池的SRAM中,并且接收器重启以应用新参数。

$PSRF102,9600,8,1,0*3C

4、查询/速率控制

这个命令用来控制标准的NMEA报文GGA、GLL、GSA、GSV、RMC和VTG,使用这个命令NMEA 标准报文将被戒掉一次或者设置成定期输出,校验码也将根据接收程序的需要置为有效或无效。NMEA报文设置将被存储在具有后备电池的存储器中

$PSRF103,00,01,00,01*25

这个命令将根据当前位置(纬度、经度、高度)初始化暖启动模式、时钟修正和时间,根据正确的信号参数,能搜索到正确的卫星信号,正确地初始化参数能保证接收器迅速搜索到信号。

$PSRF104,37.3875111,-121.97232,0,95000,237759,922,12,3*3A

AODV相关路由协议详情学习

AODV相关路由协议学习 1:AODV路由协议工作原理 AODV路由协议是一种经典的按需路由协议,它只在两个节点需要进行通信且源节点没有到达目的节点的路由时,才会进行路由发现过程。AODV采用的是广播式路由发现机制,当源节点想与另一节点进行通信时,源节点会首先查询自己的路由表中是否存在有到达目的节点的路由有效信息。如果包含有目的节点的有效信息,则源节点就会将数据包传送到目的节点的下一跳节点;如果缺失目的节点的有效的信息,则源节点会启动路径请求程序,同时广播RREQ控制包。 而下一跳节点在接收到RREQ报文时,如果该节点是目的节点,又或者该节点路由表中存放有到达目的节点的可行路径信息,则会向源节点回复路由响应报文CRREP。否则就记录相关信息,用于建立一个反向路径,让目的节点的RREP遵循此路径返回源节点,同时将RREQ报文中的跳数字段值加1,并向该节点的邻居节点转发RREQ报文。这样经过若干中间节点转发最后到达目的节点,确认路由建立。 路由表项建立以后,路由中的每个节点都要执行路由维持和管理路由表的任务。如果由于中间节点的移动而导致路由失效,则检测到路由断链的节点就会向上游节点发送路由出错报文RRER,而收到出错报文RRER的节点则会直接发出RREQ来进行路径请求,如果能在规定好的时间找到目的节点的路径,则表示路由成功 1.2存在的问题 传统的AODV采用基本的路由发现算法来建立从源节点到目的节

点的路由时,路由选择是选择最短路径路由,即选择最小跳数的路由,这样就忽略了每两点之间的传输能力,从而导致产生整条链路吞吐量低、路由不稳定、线路拥塞、延迟甚至数据丢失等严重问题。 2最大路由速率的AODV协议的提出【基于最大路由速率的AODV协议优化研究与实现---罗泽、吴谨绎、吴舒辞】 2.1基本思想 针对传统AODV路由协存在的问题,提出了一种基于最大传输速率(路由速率=路由速率之和/路由跳数)的改进方案,其基本思想是:用户确定一个期望速率,源节点在进行路由发现时比较收到的各条路由的实测速率,选择一条速率最大的路由作为路由,在源节点使用当前路由发送数据的过程中,源节点每隔一段时间发出RREQ报文,以便查找到可能存在的更好的路由,如果发现一条速率更高的路由且该路由速率大于期望速率,则执行路由切换,改用新路由。

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:差分时间(从最近一次接收到差分信号开始的秒数,如果不是差分定位将为空)

GPS数据协议NMEA0183

GPS 数据协议 NMEA-0183
NMEA 0183 是美国国家海洋电子协会(National Marine Electronics Association )为海用电子设备制定的标准格式。目前业已成了 GPS 导航设备统一的 RTCM(Radio Technical Commission for Maritime services)标准协议。
序号 1 2 3 4 5 6 7
命令 $GPGGA $GPGSA $GPGSV $GPRMC $GPVTG $GPGLL $GPZDA
说明 全球定位数据 卫星 PRN 数据 卫星状态信息 运输定位数据 地面速度信息 大地坐标信息 UTC 时间和日期
最大帧长 72 65 210 70 34
注:发送次序$PZDA、$GPGGA、$GPGLL、$GPVTG、$GPGSA、$GPGSV*3、 $GPRMC 协议帧总说明: 该协议采用 ASCII 码, 其串行通信默认参数为: 波特率=4800bps, 数据位=8bit, 开始位=1bit,停止位=1bit,无奇偶校验。 帧格式形如:$aaccc,ddd,ddd,…,ddd*hh 1、“$”——帧命令起始位 2、aaccc——地址域,前两位为识别符,后三位为语句名 3、ddd…ddd——数据 4、“*”——校验和前缀 5、hh——校验和(check sum),$与*之间所有字符 ASCII 码的校验和(各字 节做异或运算,得到校验和后,再转换 16 进制格式的 ASCII 字符。) 6、——CR(Carriage Return) + LF(Line Feed)帧结束,回车和 换行 GPGGA GPS 固定数据输出语句, 这是一帧 GPS 定位的主要数据, 也是使用最广的数据。
$GPGGA,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>,<13>,<14>*<1 5> <1> UTC 时间,格式为 hhmmss.sss。 <2> 纬度,格式为 ddmm.mmmm(前导位数不足则补 0)。 <3> 纬度半球,N 或 S(北纬或南纬)。 <4> 经度,格式为 dddmm.mmmm(前导位数不足则补 0)。

AODV协议详解

AODV协议详解 1 AODV 报文格式 AODV 有三种基本的协议报文类型:RREQ 报文、RREP 报文和RRER 报文。 1.1 RREQ 报文 a. 对RREQ 的处理 接收到RREQ 的结点做如下处理: (1)创建一个表项,先不分配有效序列号,用于记录反向路径。 (2)如果在“路由发现定时”内已收到一个具有相同标识的RREQ 报文,则抛弃该报文,不做任何处理;否则,对该表项进行更新如下: I.下一跳结点=广播RREQ 的邻居。 II.跳数=RREQ 报文的“跳计数”字段值。 III.设置表项的“过时计时器”。 (3)如果满足以下条件,则结点产生“路由回答报文”RREP,并发送到信源;否则更新RREQ 报文并广播更新后的RREQ 报文。 I.该结点是信宿。 II.结点的路由表中有到信宿的活动表项,且表项的信宿序列号大于RREQ中的信宿序列号。 (4)更新RREQ 报文并广播更新后的RREQ 报文 I.信宿序列号=本结点收到的信宿相关的最大序列号。 II.跳计数加1。 1.2 RREP 报文 (1)信宿结点产生RREP 执行如下操作: I.如果收到相应的RREQ 的信宿序列号与信宿维护的当前序列号相等,则信宿将自己维护的序列号加1,否则不变。 II.跳计数=0。 III.定时器值。 (2)中间结点产生的RREP 执行如下操作: I.本结点获取的该信宿的最大序列号。 II.跳计数=本结点到信宿的跳数(查相应表项即可得到)。 III.更新本结点维护的“前向路由表项”的下一跳和“反向路由表项”的前一跳 b. 对RREP 的处理 结点对接收到的RREP 作如下处理。 (1)如果没有与RREP 报文中的信宿相匹配的表项,则先创建一个“前向路表”空表项。 (2)否则,满足如下条件对已有表项进行更新。 条件: I.现有表项的信宿序列号小于RREP 报文中的序列号。 II.现有的表项没有激活。 III.信宿序列号相同,但RREP 报文的“跳计数”值小于表项相对应的值;通过更新或创建,产生一个新的前向路由。

GNSS输出NEMA协议解析

GNSS 导航芯片输出 NEMA 协议解析 1. NEMA 协议的由来 NMEA 协议是为了在不同的 GPS (全球定位系统)导航设备中建立统一的 BTCM (海事无线电技术委员会)标准,由美国国家海洋电子协会( NMEA-The National Marine Electronics Associa-tion )制定的一套通讯协议。GPS接收机根据NMEA-0183 协议的标准规范,将位置、速度等信息通过串口传送到 PC 机、PDA 等设备。 NMEA-0183 协议是 GPS 接收机应当遵守的标准协议,也是目前 GPS 接收机上使用最广泛的协议,大多数常见的GPS接收机、GPS数据处理软件、导航软件都遵守或者至少兼容这个协议。 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: 校验值

Gps协议解析

GPS卫星定位接收器的NMEA协议解析 GPS接收机只要处于工作状态就会源源不断地把接收并计算出的GPS导航定位信息通过串口传送到计算机中。前面的代码只负责从串口接收数据并将其放置于缓存,在没有进一步处理之前缓存中是一长串字节流,这些信息在没有经过分类提取之前是无法加以利用的。因此,必须通过程序将各个字段的信息从缓存字节流中提取出来,将其转化成有实际意义的,可供高层决策使用的定位信息数据。同其他通讯协议类似,对GPS进行信息提取必须首先明确其帧结构,然后才能根据其结构完成对各定位信息的提取。对于本文所使用的GARMIN GPS 天线板,其发送到计算机的数据主要由帧头、帧尾和帧内数据组成,根据数据帧的不同,帧头也不相同,主要有"$GPGGA"、"$GPGSA"、"$ GPGSV"以及"$GPRMC"等。这些帧头标识了后续帧内数据的组成结构,各帧均以回车符和换行符作为帧尾标识一帧的结束。对于通常的情况,我们所关心的定位数据如经纬度、速度、时间等均可以从"$GPRMC"帧中获取得到,该帧的结构及各字段释义如下: $GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>*hh <1> 当前位置的格林尼治时间,格式为hhmmss <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 <10> 地磁变化,从000.0到180.0 度 <11> 地磁变化方向,为E 或W 至于其他几种帧格式,除了特殊用途外,平时并不常用,虽然接收机也在源源不断地向主机发送各种数据帧,但在处理时一般先通过对帧头的判断而只对"$GPRMC"帧进行数据的提取处理。如果情况特殊,需要从其他帧获取数据,处理方法与之也是完全类似的。由于帧内各数据段由逗号分割,因此在处理缓存数据时一般是通过搜寻ASCII码"$"来判断是否是帧头,在对帧头的类别进行识别后再通过对所经历逗号个数的计数来判断出当前正在处理的是哪一种定位导航参数,并作出相应的处理。 附:NMEA0183常用协议格式 说明:NMEA0183格式以“$”开始,主要语句有GPGGA,GPVTG,GPRMC等

AODV路由协议分析研究

西南交通大学 本科毕业设计(论文) AD HOC网络中AOD\路由协议分析THEANAL YSISOFAODXROUTINGPROTOCOL IN AD HOC NETWORK 年级2008 级 学号__________________ 姓名__________________ 专业通信工程 指导老师___________________

2012年6月 承诺 本人郑重承诺:所呈交的设计(论文)是本人在导师的指导下独立进行设计(研究)所取得的成果,除文中特别加以标注引用的内容外,本文不包含任何其他个人或集体已经发表或撰写的设计(研究)成果。对本设计(研究)做出贡献的个人和集体,均已在文中以明确方式标明' 如被发现设计(论文)中存在抄袭、造假等学术不端行为,本人愿承担—切后果。 学生签名: 年月日

院系计算机与通信工程系_________ 专业通信工程 ____________________ 年级2008 级 ________________________ 姓名____________________________________ 题目Ad hoc 网络中AODV路由协议分析______________________________ 指导教师 评语 ________________________________________________________________________ 指导教师(签章) 评阅人 评语 评阅人(签章)成绩____________________________ 答辩委员会主任_______ (____ 签章)

AODV路由协议中文说明

内容目录 1导言 (3) 2概述 (4) 3AODV术语 (5) 4适用性综述 (7) 5消息格式 (8) 6AODV操作 (13) 管理序列号 (13) 路由表项和先驱列表 (15) 生成路由请求 (16) 控制路由请求消息的传播 (17) 处理和转发路由请求 (18) 生成路由回复 (20) 接受和转发路由回复 (22) 对单向连接的操作 (23) Hello消息 (24) 维护本地连接 (25) 路由错误,路由超时和路由删除 (26) 本地修复 (28) 重启后的操作 (30) 接口 (31) 7AODV和集群网络 (31) 8AODV在其他网络中的应用 (32) 9扩展 (34) 10参数配置 (35)

网络组诺基亚研发中心 C. Perkins RFC:3561加州大学圣芭芭拉分校 E. Belding-Royer 类别:试验版辛辛那提大学 S. Das 2003年7月 Ad hoc网络中基于距离数组的按需(AODV)路由协议 本备忘状态 本备忘定义的只是一个试验性质的网络社区协议而已,它不是任何一种类型的网络标准。我们非常需要各种讨论和建议用于改进这个协议。本备忘录的分发不受任何限制。 版权声明 复制权属于整个因特网社区,保留所有权利。 摘要 本协议用于特定网络中的可移动节点。它能在动态变化的点对点网络中确定一条到目的地的路由,并且具有接入速度快,计算量小,内存占用低,网络负荷轻等特点。它采用目的序列号来确保在任何时候都不会出现回环(甚至在路由控制信息出现异常的时候也是如此),避免了传统的距离数组协议中会出现的很多问题(比如无穷计数问题)。 目录

NMEA0183协议说明(中文)

NMEA-0183协议说明 V2.20 2004年1月 注:因本人水平有限,难免出现错,敬请修改。

1、NMEA输出报文 A. GGA –全球定位系统固定数据 $GPGGA,161229.487,3723.2475,N,12158.3416,W,1,07,1.0,9.0,M,,,,0000*18

B. GLL –地理信息——纬度/经度 $GPGLL, 3723.2475,N,12158.3416,W,161229.487,A*2C C. GSA –GNSS DOP(定位点)活动卫星 $GPGSA, A,3,07,02,26,27,09,04,15,,,,,,1.8,1.0,1.5*33

和表1.7应互换) D. GSV –GNSS DOP(定位点)活动卫星 $GPGSV,2,2,07,07,79,048,42,02,51,062,43,26,36,256,42,27,27,138,42*71

E. RMC –推荐的最小具体定位数据 $GPRMC,161229.487,A,3723.2475,N,12158.3416,W,0.13,309.62,120598,,*10

$GPVTG,309.62,T,,M,0.13,N,0,2,K*6E NMEA 输入报文提供了允许通过NMEA协议控制GPS的方法。 传输格式: 1.起始符包含3个字节,从MID100开始(Message identifier consisting of three numeric characters. Input messages begin at MID 100.)。?????? 2.具体数据,特定的数据序列。 3.NMEA定义的校验是2个HEX的字符,适用于所有输入报文。

AODV相关路由协议学习

AODV相关路由协议学习 1: AODV路由协议工作原理 AODV路由协议是一种经典的按需路由协议,它只在两个节点需要进行通信且源节点没有到达目的节点的路由时,才会进行路由发现过程。AODV 采用的是广播式路由发现机制,当源节点想与另一节点进行通信时,源节点会首先查询自己的路由表中是否存在有到达目的节点的路由有效信息。如果包含有目的节点的有效信息,则源节点就会将数据包传送到目的节点的下一跳节点;如果缺失目的节点的有效的信息,则源节点会启动路径请求程序,同时广播RREQ空制包。 而下一跳节点在接收到RREC报报文时,如果该节点是目的节点,又或者该节点路由表中存放有到达目的节点的可行路径信息,贝S会向源节点回复路由响应报文CRREP否则就记录相关信息,用于建立一个反向路径,让目的节点的RREP遵循此路径返回源节点,同时将RREC报文中的跳数字段值加1,并向该节点的邻居节点转发RREC报 文。这样经过若干中间节点转发最后到达目的节点,确认路由建立。 路由表项建立以后,路由中的每个节点都要执行路由维持和管理路由表的任务。如果由于中间节点的移动而导致路由失效,则检测到路由断链的节点就会向上游节点发送路由出错报文RRER而收到出错报文RRER的节点则会直接发出RREQ来进行路径请求,如果能在规定好的时间内找到目的节点的路径,则表示路由成功 1.2存在的问题 传统的AODV采用基本的路由发现算法来建立从源节点到目的节

点的路由时,路由选择是选择最短路径路由,即选择最小跳数的路由,这样就忽略了每两点之间的传输能力,从而导致产生整条链路吞吐量低、路由不稳定、线路拥塞、延迟甚至数据丢失等严重问题。 2最大路由速率的AODV协议的提出【基于最大路由速率的AODV协议优化研究与实现---罗泽、吴谨绎、吴舒辞】 2.1基本思想 针对传统AODV路由协存在的问题,提出了一种基于最大传输速率(路由速率二路由速率之和/路由跳数)的改进方案,其基本思想是:用户确定一个期望速率,源节点在进行路由发现时比较收到的各条路由的实测速率,选择一条速率最大的路由作为路由,在源节点使用当前路由发送数据的过程中,源节点每隔一段时间发出RREQ报文,以便查找到可能存在的更好的路由,如果发现一条速率更高的路由且该路由速率大于期望速率,则执行路由切换,改用新路由。

NMEA通讯协议详解

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语句。

NMEA0183 协议

GNSS NMEA 0813标准数据格式的解释和模拟 廖永生梁绕 (广西第一测绘院广西南宁530023) 【摘要】对NMEA 0183格式的定位数据进行解释和数据模拟,为开发GNSS应用服务系统作了基础性研究,可作为未来GNSS各应用系统开发参考。 【关键词】NMEA 0183 GNSS数据解释模拟 1 前言 GNSS导航定位技术是目前应用得最广泛的空间定位技术之一,已被广泛应用于空间信息数据采集和服务等各个方面。随着各地区域性CORS(Continously Operation Reference System)建成,差分GPS定位服务得到了不断深化。随着GLONASS的完善和Galileo卫星导航定位系统的建成,GNSS导航定位技术将更加普及,将会对各行各业都产生重大影响。 数据格式问题一直是GNSS相关服务中的难题,特别是差分GNSS数据和静态GNSS数据格式之间的差异使普通GPS设备无法直接获得专业差分服务。数据格式标准的统一,是实现GNSS相关服务的基础。 目前最通用的GNSS格式是NMEA 0183格式,NMEA 0183是最终定位格式,即将二进制定位格式转为统一标准定位格式,与卫星类型无关。掌握NMEA 0183格式,对于推广GNSS应用服务和研究GNSS相关技术具有重要意义。 本文将对NMEA 0183格式进行概括说明,同时采用程序模拟NMEA 0183格式,作为NMEA 0183标准格式的技术探索。 2 NMEA 0183协议概述 NMEA是“National Marine Electronics Association”(国际海洋电子协会)的缩写,同时也是数据传输标准工业协会,该协会定制的GNSS数据格式是NMEA 0183数据格式,它是一套定义接收机输出的标准信息,有几种不同

aodv路由协议分析

分类:ns仿真2012-04-23 10:52 171人阅读评论(0) 收藏举报delete脚本活动工作 1 AODV 报文格式 AODV 有三种基本的协议报文类型:RREQ 报文、RREP 报文和RRER 报文。 1.1 RREQ 报文 a. 对RREQ 的处理 接收到RREQ 的结点做如下处理: (1)创建一个表项,先不分配有效序列号,用于记录反向路径。 (2)如果在“路由发现定时”内已收到一个具有相同标识的RREQ 报文,则抛弃该报文,不做任何处理;否则,对该表项进行更新如下: I.下一跳结点=广播RREQ 的邻居。 II.跳数=RREQ 报文的“跳计数”字段值。 III.设置表项的“过时计时器”。 (3)如果满足以下条件,则结点产生“路由回答报文”RREP,并发送到信源;否则更新RREQ 报文并广播更新后的RREQ 报文。 I.该结点是信宿。 II.结点的路由表中有到信宿的活动表项,且表项的信宿序列号大于RREQ中的信宿序列号。 (4)更新RREQ 报文并广播更新后的RREQ 报文 I.信宿序列号=本结点收到的信宿相关的最大序列号。 II.跳计数加1。 1.2 RREP 报文 (1)信宿结点产生RREP 执行如下操作: I.如果收到相应的RREQ 的信宿序列号与信宿维护的当前序列号相等,则信宿将自己维护的序列号加1,否则不变。 II.跳计数=0。 III.定时器值。 (2)中间结点产生的RREP 执行如下操作: I.本结点获取的该信宿的最大序列号。 II.跳计数=本结点到信宿的跳数(查相应表项即可得到)。 III.更新本结点维护的“前向路由表项”的下一跳和“反向路由表项”的前一跳

GPS NMEA协议数据全分析

NMEA是"National Marine Electronics Association"(国际海洋电子协会)缩写,同时也是数据传输标准工业协会,在这里,实际上应为NMEA 0183。它是一套定义接收机输出的标准信息,有几种不同的格式,每种都是独立相关的ASCII格式,逗点隔开数据流,数据流长度从30-100字符不等,通常以每秒间隔选择输出,最常用的格式为"GGA",它包含了定位时间,纬度,经度,高度,定位所用的卫星数,DOP值,差分状态和校正时段等,其他的有速度,跟踪,日期等。NMEA实际上已成为所有的GPS接收机和最通用的数据输出格式,同时它也被用于与GPS接收机接口的大多数的软件包里。 NMEA数据如下:$GPGGA,121252.000,3937.3032,N,11611.6046,E,1,05,2.0,45.9,M,-5.7,M,,0000*77 $GPRMC,121252.000,A,3958.3032,N,11629.6046,E,15.15,359.95,070306,,,A*54 $GPVTG,359.95,T,,M,15.15,N,28.0,K,A*04 $GPGGA,121253.000,3937.3090,N,11611.6057,E,1,06,1.2,44.6,M,-5.7,M,,0000*72 $GPGSA,A,3,14,15,05,22,18,26,,,,,,,2.1,1.2,1.7*3D $GPGSV,3,1,10,18,84,067,23,09,67,067,27,22,49,312,28,15,47,231,30*70 $GPGSV,3,2,10,21,32,199,23,14,25,272,24,05,21,140,32,26,14,070,20*7E $GPGSV,3,3,10,29,07,074,,30,07,163,28*7D $GPGGA,032648.00,2307.595860,N,11321.993373,E,1,09,0.9,30.7,M,-5.2,M,,*4C $PSAT,HPR,032714.00,74.19,-23.16,,N*1F 说明:NMEA0183格式以“$”开始,常用语句有GPGGA,GPVTG,GPZDA等 1、GPS DOP and Active Satellites(GSA)当前卫星信息 $GPGSA,<1>,<2>,<3>,<3>,,,,,<3>,<3>,<3>,<4>,<5>,<6>,<7> <1>模式:M = 手动,A = 自动。<2>定位型式1 = 未定位,2 = 二维定位,3 = 三维定位。<3>PRN 数字:01 至32 表天空使用中的卫星编号,最多可接收12颗卫星信息。<4> PDOP位置精度因子(0.5~99.9)<5> HDOP水平精度因子(0.5~99.9)<6> VDOP垂直精度因子(0.5~99.9)<7> Checksum.(检查位). 2、GPS Satellites in View(GSV)可见卫星信息$GPGSV, <1>,<2>,<3>,<4>,<5>,<6>,<7>,?<4>,<5>,<6>,<7>,<8> <1> GSV语句的总数<2> 本句GSV的编号<3> 可见卫星的总数,00 至12。<4> 卫星编号,01 至32。<5>卫星仰角,00 至90 度。<6>卫星方位角,000 至359 度。实际值。<7>讯号噪声比(C/No),00 至99 dB;无表未接收到讯号。<8>Checksum.(检查位). 第<4>,<5>,<6>,<7>项个别卫星会重复出现,每行最多有四颗卫星。其余卫星信息会于次一行出现,若未使用,这些字段会空白。 3、Global Positioning System Fix Data(GGA)GPS定位信息 $GPGGA,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,M,<10>,M,<11>,<12>*hh <1> UTC时间,hhmmss(时分秒)格式<2> 纬度ddmm.mmmm(度分)格式(前面的0也将被传输)<3> 纬度半球N(北半球)或S(南半球)<4> 经度dddmm.mmmm(度分)

NMEA0183协议的介绍和解析

GPS数据遵循NMEA-0183协议,该数据标准是由NMEA(National Marine Electronics Association,美国国家海事电子协会)于1983年制定的。统一标准格式NMEA-0183 输出采用ASCII 码,其串行通信的参数为:波特率=4800bps,数据位=8bit,开始位=1bit,停止位=1bit,无奇偶校验。 数据传输以“语句”的方式进行,每个语句均以“$”开头,然后是两个字母的“识别符”和三个字母的“语句名”,接着就是以逗号分割的数据体,语句末尾为校验和,整条语句以回车换行符结束。 NMEA-0183的数据信息有十几种,这些信息的作用分别是:$GPGGA:输出GPS的定位信息;$GPGLL:输出大地坐标信息;$GPZDA:输出UTC时间信息;$GPGSV:输出可见的卫星信息;$GPGST:输出定位标准差信息;$GPGSA:输出卫星DOP值信息;$GPALM:输出卫星星历信息;$GPRMC:输出GPS推荐的最短数据信息等。 分别介绍如下: 1. GPRMC语句(Recommended Minimum Specific GPS/TRANSIT Data-RMC,推荐定位信息1次/1秒) 对于一般的GPS动态定位应用,GPRMC语句完全满足要求。该语句中包括经纬度、速度、时间和磁偏角等字段,这些数据为导航定位应用提供了充分的信息。下表详细说明GPRMC语句中的各个字段: $GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,,<12> 字段 $GPRMC语句意义——取值范围 <1> UTC时间:hhmmss.ss——000000.00~235959.99 <2> 状态,有效性——A表示有效;V表示无效 <3> 纬度格式:ddmm.mmmm——0000.00000~8959.9999 <4> 南北半球——N北纬;S南纬 <5> 经度格式:dddmm.mmmm——00000.0000~17959.9999 <6> 东西半球——E表示东经;W表示西经 <7> 地面速度——000.00~999.999 <8> 速度方向——000.00~359.99 <9> 日期格式,月日年——010100~123199 <10> 磁偏角,单位:度——00.00~99.99 磁偏角方向——E表示东;W表示西 <12> 模式指示及校验和—— A=自主定位,D=差分,E=估算,N=数据无效 例如: $GPRMC,074529.82,A,2429.6717,N,11804.6973,E,12.623,32.122,010806,,W ,A*08 2. GPGGA语句(Global Positioning System Fix Data-GGA,GPS定位信息, 输出1次/1秒) GPS定位主要数据,该语句中包括经纬度、质量因子、HDOP、高程、基准站号等字段。下表详细说明GPGGA语句中的各个字段: $GPGGA,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,,<12>,,<14> 字段 $GPGGA语句意义——取值范围 <1> UTC时间:hhmmss.ss——000000.00~235959.99

路由协议

路由协议DSR_AODV_DSDV [Dynamic Source Routing,动态源路由协议] ●当节点S需要向节点D发送数据的时候,而此时节点S并不知道通往节点D的路径, 此时,节点S便启动路由发现过程 ——DSR协议为反应式(Reactive)路由协议 ●源节点广播Route Request路由请求消息(RREQ消息) ●每个节点均在其向前发送的RREQ消息上附加自己唯一的标识符 [动态源路由协议的路由发现过程] [X,Y]表示附加到RREQ消息上的标识符列表

●如图,节点H同时接收到来自两个相邻节点的RREQ消息:有潜在消息冲突的可能 ●节点C收到来自G和H两个相邻节点发送来的RREQ消息,但C并不再向前发送该消息, 因为节点C已经向前发送过一次RREQ消息

●节点J与节点K均向节点D发送了RREQ消息 ●由于J和K均不知道对方存在,彼此之间是隐藏的,因此这两个节点所发送的消息存 在冲突的可能 ●节点D不再向前发送RREQ消息,因为节点D便是整个路由发现过程的终点目标 ●当目的节点D接到第一个RREQ消息的时候,便往回发送一个Route Reply路由应答消 息(RREP消息) ●RREP消息经由反向路径回传,(反向路径就是和RREQ消息到达路径相反的路径) ●RREP消息当中包含了由S到D的路径,而这条路径就是源节点S所发送的RREQ消息所 确定的 [动态源路由协议的路由应答过程]

●当源节点S接收到RREP消息的时候,它便将RREP消息中所记录的路径缓存起来 ●当源节点S发送数据到目的节点D时,数据分组的首部将包含整个路径的信息,这也是 该算法命名为“源路由”的缘由 ●中间节点使用数据分组中首部包含的“源路由”信息了来决定抵达该节点的数据应该转 发的方向 [动态源路由协议的数据投递过程] [动态源路由协议优化——路径缓存] ●每个节点将通过任何可能的方式所获得的新路径缓存起来 ●当节点S发现一条可以通往节点D的路径[S,E,F,J,D]时,它同样知道有一条可以到达 节点F的路径[S,E,F] ●当节点K接收到路由请求消息Route Request RREQ[S,C,G]后,节点K则同样知道经过 路径[K,G,C,S]可以到达节点S ●当节点F向前传递路由应答消息Route Reply RREP[S,E,F,J,D]时,节点F则可以知道 经过路径[F,J,D]可以到达节点D ●当节点E经过路径Data [S,E,F,J,D]发送数据分组的时候,它则知道它自身可通过路 径[E,F,J,D]可以到达节点D ●一个节点无意中听到其他节点的通信消息的时候,它则将缓存其中它自己所不知道的路 由 ●存在问题:一些陈旧的路由缓存对于系统的开销是一种负担 [动态源路由协议的优点] ●只维持需要通信节点之间的路径——可以减少路由保持对于系统的开销 ●路由缓存机制可进一步减少路由发现过程的开销 ●一次简单的路由发现过程可能产生许多通往同一节点的路径,由于中间很可能用以前的 缓存记录对路由发现消息进行应答

GPS NMEA-0183协议常用报文数据格式

GPS NMEA-0183协议常用报文数据格式NMEA-0183协议定义的语句非常多,常用如下: GPGGA(定位信息) $GPGGA,HHMMSS.SS,DDMM.MMMM,S,DDDMM.MMMM,S,N,QQ,PP.P,SAAA AA.AA,M,±XXXX.XX,M,SSS,AAAA*CC 例:$GPGGA,092204.999,4250.5589,S,14718.5084,E,1,04,24.4, M,19.7,M,,,0000*1F 字段0:$GPGGA,语句ID,表明该语句为Global Positioning S ystem 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=不可用(FIX NOT valid),1=单点定位(GP S FIX),2=差分定位(DGPS),3=无效PPS,4=实时差分定位(RTK F IX),5=RTK FLOAT,6=正在估算 字段7:正在使用的卫星数量(00-12)(前导位数不足则补0) 字段8:HDOP水平精度因子(0.5-99.9)

字段9:海拔高度(-9999.9-99999.9) 字段10:单位:M(米) 字段11:地球椭球面相对大地水准面的高度WGS84水准面划分字段12:WGS84水准面划分单位:M(米) 字段13:差分时间(从接收到差分信号开始的秒数,如果不是差分定位将为空) 字段14:差分站ID号0000-1023(前导位数不足则补0,如果不是差分定位将为空) 字段15:校验值 GPGSA(当前卫星信息) $GPGSA,A,B,CC,DD,EE,FF,GG,HH,II,JJ,KK,MM,NN,OO,P.P,Q.Q,R. R*CC 例:$GPGSA,A,3,01,20,19,13,,,,,,,,,40.4,24.4,32.2*0A 字段0:$GPGSA,语句ID,表明该语句为GPS DOP and Activ e Satellites(GSA)当前卫星信息 字段1:定位模式(选择2D/3D),A=自动选择,M=手动选择 字段2:定位类型,1=未定位,2=2D定位,3=3D定位 字段3:PRN码(伪随机噪声码),第1信道正在使用的卫星PRN 码编号(00)(前导位数不足则补0) 字段4:PRN码(伪随机噪声码),第2信道正在使用的卫星PRN 码编号(00)(前导位数不足则补0)

GNSS输出NEMA协议解析

GNSS导航芯片输出NEMA协议解析 1.NEMA协议的由来 NMEA协议是为了在不同的GPS(全球定位系统)导航设备中建立统一的BTCM(海事无线电技术委员会)标准,由美国国家海洋电子协会(NMEA-The National Marine Electronics Associa-tion)制定的一套通讯协议。GPS接收机根据NMEA-0183协议的标准规范,将位置、速度等信息通过串口传送到PC机、PDA等设备。 NMEA-0183协议是GPS接收机应当遵守的标准协议,也是目前GPS接收机上使用最广泛的协议,大多数常见的GPS接收机、GPS数据处理软件、导航软件都遵守或者至少兼容这个协议。 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:校验值

相关主题
文本预览
相关文档 最新文档