访问量: 126 次浏览
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:输出卫星星历信息。