摘要: 基于GPS方式的开发 GPS模块返回的值遵循NMEA-0183协议,因此要对其开发就必须了解NMEA协议的内容。 NMEA(national marine electronicsas sociation,美国国家海事电子协会)成立于20世纪50年代,是一家专门...
基于GPS方式的开发
GPS模块返回的值遵循NMEA-0183协议,因此要对其开发就必须了解NMEA协议的内容。
NMEA(national marine electronicsas sociation,美国国家海事电子协会)成立于20世纪50年代,是一家专门从事海洋电子设备工业教育及研究的民间机构,总部设在美国北卡罗莱纳州,NMEA系列标准是其制定的关于海洋电子设备之间通信接口和协议的标准。1983年该组织制定了NMEA-0183标准,这一标准在兼容了NMEA-0180和NMEA-0182标准的基础上,增加了GPS、探测仪、罗经方位系统等多种设备的接口和通信协议定义,同时,标准还允许一些特定的设备制造商对其设备 (如GarminGPS-38等)通信自行定义协议。由于NMEA-0183标准具有通用性和灵活性,因而在全世界得到广泛使用。
NMEA-0183通信格式采用RS-232通信标准,该标准用于DTE和DCE。GPS同微机间的通信属于DTE。标准的RS-232通信连接采用25针串口(D&25),也可以用于现在微机流行的9针串口。缺省的波特率定为4800,波特率是所传输的所有代码的最短码元占用时间的倒数。
NMEA-0183格式字符串的所有字符均为ASCII字符,数据传输以语句方式进行,每个语句均以“$”开头,紧接着是“会话ID”和3个字母的“语句ID”,其后是数据体,数据字段以逗号分隔,语句末尾为checksum,以回车换行结束。每行语句最多包含82个字符(包括回车换行和“$”符号)。数据串以逗号分隔符识别,空字符保留逗号。语句结束的checksum由一个“”和两个数据位的16进制数组成。
NMEA-0183标准允许个别厂商自行定义语句格式,这些语句以“$P”开头,其后是3个字符的厂家ED识别号后接自定义数据体。下面是几个常用的会话识别ID。
GP:Global Position System Receiver,GPS定位系统;
LC:Loran C,罗兰C无线电导航系统;
OM:Omega Navigation Receiver,欧米伽导航系统;
II:Integrated Instrumentation,集成设备。
NMEA-0183应用于GPS方面时,数据串以“$GP”开头,主要有GGA、GLL、ZDA、GSV、GST、GSA、ALM等格式,以下是这些格式各自的作用。
$GPGGA:输出GPS定位信息;
$GPGLL:输出大地坐标信息;
$GPZDA:输出UTC时间信息;
$GPGSV:输出可见的卫星信息;
$GPGST:输出定位标准差信息;
$GPGSA:输出卫星DOP值信息;
$GPALM:输出卫星星历信息。