GPS 接收机-0183 是美国国家海洋电子协会为海用电子设备制定的标准格式。 GPS 接收机-0183 是美国国家海洋电子协会为海用电子设备制定的标准格式。 它是在过去海用电子设备的标准格式 0180 和 0182 的 基础上,增加了 GPS 接收机输出的内容而完成的。目前广泛采用的是 Ver 2.00 版本。现在除少数 GPS 接收机外,几乎所有的 GPS 接收机均采用了这一格式。为了有效地开发 GPS-OEM 芯片,必须熟练掌握 这一格式。因此,下面介绍两种最常用的 GN-77N 输出语句格式。 a.GPS 固定数据输出语句($GPGGA) 这是一帧 GPS 接收机定位的主要数据,也是使用最广的数据。 为了便于理解,下面举例说明$GPGGA 语句各部分的含义。例 1 是用 GN- 77N 和笔者开发的软硬件接口,在笔者所在地接 收到的$GPGGA 语句的内容。 例 1:$GPGGA,050901,3931.4449,N,11643.5123,E,1,07,1.4, 76.2,M,-7.0,M,,*65 其标准格式为: $GPGGA,(1),(2),(3),(4),(5),(6),(7),(8),(9),M,(10),M, (11),(12)*hh(CR)(LF) 各部分所对应的含义为: (1)定位 UTC 时间:05 时 09 分 01 秒 (2)纬度(格式 ddmm.mmmm:即 dd 度,mm.mmmm 分); (3)N/S(北纬或南纬):北纬 39 度 31.4449 分; (4)经度(格式 dddmm.mmmm:即 ddd 度,mm.mmmm 分); (5)E/W(东经或西经):东经 116 度 43.5123 分; (6)质量因子(0=没有定位,1=实时 GPS,2=差分 GPS):1=实时 GPS; (7)可使用的卫星数(0~8):可使用的卫星数=07; (8)水平精度因子(1.0~99.9);水平精度因子=1.4; (9)天线高程(海平面,-9999.9~99999.9,单位:m);天线高程=76.2m); (10)大地椭球面相对海平面的高度(-999.9~9999.9,单位:m):-7.0m; (11)差分 GPS 数据年龄,实时 GPS 时无:无; (12)差分基准站号(0000~1023),实时 GPS 时无:无; *总和校验域; hh 总和校验数:65 (CR)(LF)回车,换行。 b.可视卫星状态输出语句($GPGSV) 例 2:$GPGSV,2,1,08,06,33,240,45,10,36,074,47,16,21, 078,44,17,36,313,42*78 标准格式: $GPGSV,(1),(2),(3),(4),(5),(6),(7),...(4),(5),(6),(7) *hh(CR)(LF)
各部分含义为: (1)总的 GSV 语句电文数;2;(2)当前 GSV 语句号:1; (3)可视卫星总数:08; (4)卫星号:06; (5)仰角(00~90 度):33 度;S (6)方位角(000~359 度):240 度; (7)信噪比(00~99dB):45dB(后面依次为第 10,16,17 号卫星的信息); *总和校验域; hh 总和校验数:78; (CR)(LF)回车,换行。 注:每条语句最多包括四颗卫星的信息,每颗 GPS 接收机卫星的信息有四个 数据项,即: (4)-卫星号,(5)-仰角,(6)-方位角,(7)-信噪比。 标签: 无标签
GPS 输出数据的格式分析
GPS 接收 OEM 板的型号甚多、性能各异,但它们的 GPS 定位信息串行输出格式大多采用 美国国家海洋电子协会制定的 NMEA-0183 通信标准格式。其输出数据采用的是 ASCII 码,内 容包含了纬度、经度、高度、速度、日期、时间、航向以及卫星状况等信息,常用语句有 6 种, 包括 GGA、GLL、GSA、GSV、RMC 和 VTG。我们也可以通过 GPS 专用设置软件或普通的 串口调试软件发送相应的命令语句给 OEM 板,把 GPS OEM 板设置为每隔若干毫秒发送哪种 或哪几种 NMEA 语句,然后该 OEM 板将这些设置参数存储到板上的 EEPROM 芯片内,此后 该 OEM 板将按照这些设置每隔相应的毫秒数发送出一个或几个 GPS 输出 NMEA 语句。根据 不同的应用需要, 设置选择不同的输出记录语句以及它们的发送时间间隔, 如本系统我们只关心 其时间、经纬度、海拔高度、地面速度信息以及卫星使用数信息,因而可只选用 GGA,VTG 记 录语句并设成每 1s 发送一次。不过须注意,这些设置信息只在系统本次上电,并设置后方有效, 在下次重新上电时需重新设置。
一条$GPGGA 语句包括 17 个字段:语句标识头,世界时间,纬度,纬度半球,经度,经 度半球,定位质量指示,使用卫星数量,水平精确度,海拔高度,高度单位,大地水准面高度, 高度单位,差分 GPS 数据期限,差分参考基站标号,校验和结束标记(用回车符和换行 符),分别用 14 个逗号进行分隔。该数据帧的结构及各字段释义如下:
$GPGGA,,,,,,,,,,M,,M,,*xx
$GPGGA:起始引导符及语句格式说明(本句为 GPS 定位数据);
UTC 时间,格式为 hhmmss.sss;
纬度,格式为 ddmm.mmmm(第一位是零也将传送); 纬度半球,N 或 S(北纬或南纬) 经度,格式为 dddmm.mmmm(第一位零也将传送); 经度半球,E 或 W(东经或西经) 定位质量指示,0=定位无效,1=定位有效; 使用卫星数量,从 00 到 12(第一个零也将传送) 水平精确度,0.5 到 99.9 天线离海平面的高度,-9999.9 到 9999.9 米 M 指单位米
大地水准面高度,-9999.9 到 9999.9 米 M 指单位米
差分 GPS 数据期限(RTCM SC-104),最后设立 RTCM 传送的秒数量
差分参考基站标号,从 0000 到 1023(首位 0 也将传送)。
* xx
语句结束标志符 从$开始到*之间的所有 ASCII 码的异或校验和 回车 换行
对于 VTG 信息我们只需要以 Km/h 为单位的速度信息,就不再累述其格式。
MTI-3 板输出的信息可通过串口调试工具在 PC 机的超级终端中显示。 如在 PC 机上看到的 实时接收 GPGGA 语句为: $GPGGA,114641,3002.3232,N,12206.1157,E,1,05,12.9,53.2,M,11.6,M,,*4A 这是一条 GPS 定位数据信息语句,意思为世界(格林威治)时间为 11 时 46 分 41 秒,位置 在北纬 30 度 2.3232 分,东经 122 度 6.1157 分,定位有效,接收到 5 颗卫星,水平精度 12.9 米,天线离海平面高度 53.2 米,所在地离地平面高度 11.6 米,校验和为 4AH。
从 GPS 板接收下来的数据流是文本字符串。 可根据 GPS 输出数据 NMEA-0183 通信标准 格式中定义的各种记录语句的结构组成特点, 编制程序解析其中包含的有用信息。 但在此需要强 调的是, GPS 输出记录中各 ASCII 码字段的位数可能随着实际测量计算出的定位数据的不同而 有所变化,因此在进行识别、分解、解析记录中各字段时必须以逗号分割符“,”作为各字段的分 割标志,而不应该以各字段的字符位数作为分割各字段的依据,否则将会导致严重的数据错位。
转载: 转载:GPS 的数据格式介绍
新一篇: 转载: 新一篇 转载:GetWindowLong 函数详解
GPRMC(建议使用最小 GPS 数据格式) $GPRMC,,,,,,,,,,, 1) 标准定位时间(UTC time)格式:时时分分秒秒.秒秒秒(hhmmss.sss) 。 2) 定位状态,A = 数据可用,V = 数据不可用。 3) 纬度,格式:度度分分.分分分分(ddmm.mmmm) 。 4) 纬度区分,北半球(N)或南半球(S) 。 5) 经度,格式:度度分分.分分分分。 6) 经度区分,东(E)半球或西(W)半球。 7) 相对位移速度, 0.0 至 1851.8 knots 8) 相对位移方向,000.0 至 359.9 度。实际值。 9) 日期,格式:日日月月年年(ddmmyy) 。 10) 磁极变量,000.0 至 180.0。 11) 度数。 12) Checksum.(检查位) GPGSV(所示卫星格式) $GPGSV, ,,,,,,,⋯,,,, 1) 天空中收到讯号的卫星总数。 2) 定位的卫星总数。 3) 天空中的卫星总数,00 至 12。 4) 卫星编号, 01 至 32。 5) 卫星仰角, OO 至 90 度。 6) 卫星方位角, OOO 至 359 度。实际值。
7) 讯号噪声比(C/No) 00 至 99 dB;无表未接收到讯号。 , 8) Checksum.(检查位). 第,,,项个别卫星会重复出现,每行最多有四颗卫星。其余卫星信息会 于次一行出现,若未使用,这些字段会空白。 “ 1 串行通信 每个 Pocket PC 都配有一个串行端口,以便 PocketPC 与外部串行设备之间进行通信。 串行端口的本质功能是作为芯片和串行设备之间的编码转换器。 当数据从芯片经过串行端口 发送出去时,字节数据被转换为串行的位。在接收数据时,串行的位将被转换为字节数据。 Windows CE 使用了通信驱动程序 Comm.drv,以便使用标准的 Windows API 函数发 送和接收数据。驱动程序通常由串口设备制造商提供,以便将硬件与 Windows CE 连接。 在程序设计中,模拟了一个 COM6 串口。先使用 Comm6.PoxtOpen 打开串口,设置 C omm 控件的属性,Timer 触发 OnComm 接收 GPS 信号的事件,实现 GPS 信号的实时 接收。GPS 提供串行通信接口,串行通信参数为:波特率=57 600 bps,数据位=8 位, 开始位=1 位,停止位=1 位,无奇偶校验。 2 GPS 数据格式 NMEA0183 协议是美国国家海洋电子协会(NationaIMarine Electronlcs Associati on)制定的 GPS 接口协议标准。 NMEA0183 定义了若干代表不同含义的语句, 每个语句实 际上是一个 ASCII 码串。这种码直观,易于识别和应用。在试验中,不需要了解 NMEA01 83 通信协议的全部信息,仅需要从中挑选出需要的那部分定位数据,其余的信息忽略掉。 GPS 与掌上电脑通信时,通过串口每秒钟发送 10 条数据。实际导航应用读取 GPS 的 空间定位数据时, 可以根据需要每隔几秒钟更新一次经纬度和时问数据, 不必频繁地更新数 据, 否则, 会浪费掌上设备有限的电能。 如果和卫星通信正常, 可以接收到的数据格式如下: $GPGGA,,,,,,,,,,,, *hh。其具体信息如表 l 所列。
一个完整的 NEMA0183 语句是从起始符“$GPGGA”到终止符“”为止 的一段字符串。需要掌握的信息是经纬度、经纬度方向、GPS 定位状态和接收信号的时间。 所以当接收到这样一个完整的 NEMA0183 语句时,提取有用信息的方法是: 先判定起始符 $GPGGA 的位置,从起始符开始读人数据,再通过异或校验后的语句中寻找字符“, 然后 , ” 截取前后两个“, ”之间的字符(串)获得所关心的数据,并以回车符为一个 CPS 语句的终止 符,得到一个完整的 GPS 信号。在提取出的 GPS 语句中,找寻经纬度所在的逗号位置, 读出经纬度坐标,再将经纬度坐标进行度数的转换。因为地图的坐标是以度数为标准的。 ” GPGSA(GPS 精度指针及使用卫星格式) $GPGSA,,,,,,,,,,,,,,, 1)模式 2:M = 手动, A = 自动。 2)模式 1:定位型式 1 = 未定位, 2 = 二维定位, 3 = 三维定位。 3) PRN 数字:01 至 32 表天空使用中的卫星编号,最多可接收 12 颗卫星信息。 4) PDOP-位置精度稀释 0.5 至 99.9. 5) HDOP-水平精度稀释 0.5 to 99.9. 6) VDOP-垂直精度稀释 0.5 to 99.9. 7) Checksum.(检查位).
$GPGGA,160000.000,3202.6258,N,12135.8964,E,0,00,0.0,73.2,M,,,,000 0*32 $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 $GPGSV,3,1,12,22,71,209,00,30,64,109,00,14,54,337,00,05,50,053,00*79 $GPGSV,3,2,12,18,36,161,00,25,25,259,00,01,21,306,00,09,12,054,00*73 $GPGSV,3,3,12,22,71,209,00,22,71,209,00,22,71,209,00,22,71,209,00*7A $GPRMC,160000.000,V,3202.6258,N,12135.8964,E,0.00,0.00,110206,,*1A $GPGGA,160001.000,3202.6258,N,12135.8964,E,0,00,0.0,73.2,M,,,,0000*33 $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 $GPGSV,3,1,12,22,71,209,00,30,64,109,00,14,54,337,00,05,50,053,00*79 $GPGSV,3,2,12,18,36,161,00,25,25,259,00,01,21,306,00,09,12,054,00*73 $GPGSV,3,3,12,22,71,209,00,22,71,209,00,22,71,209,00,22,71,209,00*7A $GPRMC,160001.000,V,3202.6258,N,12135.8964,E,0.00,0.00,110206,,*1B $GPGGA,160002.000,3202.6258,N,12135.8964,E,0,00,0.0,73.2,M,,,,0000*30 $GPRMC,062500.000,A,3853.4663,N,11527.4923,E,0.00,,161206,,,A*75 $GPGGA,062501.000,3853.4663,N,11527.4923,E,1,06,1.4,74.5,M,-10.3,M,,0 000*40 $GPGSA,A,3,08,17,20,28,11,04,,,,,,,2.3,1.4,1.9*3C $GPRMC,062501.000,A,3853.4663,N,11527.4923,E,0.00,,161206,,,A*74 $GPGGA,062502.000,3853.4663,N,11527.4923,E,1,06,1.4,74.5,M,-10.3,M,,0 000*43 $GPGSA,A,3,08,17,20,28,11,04,,,,,,,2.3,1.4,1.9*3C $GPRMC,062502.000,A,3853.4663,N,11527.4923,E,0.00,,161206,,,A*77 $GPGGA,062503.000,3853.4663,N,11527.4923,E,1,06,1.4,74.5,M,-10.3,M,,0 000*42 $GPGSA,A,3,08,17,20,28,11,04,,,,,,,2.3,1.4,1.9*3C $GPRMC,062503.000,A,3853.4663,N,11527.4923,E,0.00,,161206,,,A*76 $GPGGA,062504.000,3853.4663,N,11527.4923,E,1,06,1.4,74.5,M,-10.3,M,,0 000*45 $GPGSA,A,3,08,17,20,28,11,04,,,,,,,2.3,1.4,1.9*3C $GPRMC,062504.000,A,3853.4663,N,11527.4923,E,0.00,,161206,,,A*71 $GPGGA,062505.000,3853.4663,N,11527.4923,E,1,06,1.4,74.5,M,-10.3,M,,0 000*44 $GPGSA,A,3,08,17,20,28,11,04,,,,,,,2.3,1.4,1.9*3C $GPGSV,2,1,07,28,72,179,33,17,55,313,29,20,46,101,37,11,32,055,33*74 $GPGSV,2,2,07,04,31,234,39,09,09
GPS 接收机-0183 是美国国家海洋电子协会为海用电子设备制定的标准格式。 GPS 接收机-0183 是美国国家海洋电子协会为海用电子设备制定的标准格式。 它是在过去海用电子设备的标准格式 0180 和 0182 的 基础上,增加了 GPS 接收机输出的内容而完成的。目前广泛采用的是 Ver 2.00 版本。现在除少数 GPS 接收机外,几乎所有的 GPS 接收机均采用了这一格式。为了有效地开发 GPS-OEM 芯片,必须熟练掌握 这一格式。因此,下面介绍两种最常用的 GN-77N 输出语句格式。 a.GPS 固定数据输出语句($GPGGA) 这是一帧 GPS 接收机定位的主要数据,也是使用最广的数据。 为了便于理解,下面举例说明$GPGGA 语句各部分的含义。例 1 是用 GN- 77N 和笔者开发的软硬件接口,在笔者所在地接 收到的$GPGGA 语句的内容。 例 1:$GPGGA,050901,3931.4449,N,11643.5123,E,1,07,1.4, 76.2,M,-7.0,M,,*65 其标准格式为: $GPGGA,(1),(2),(3),(4),(5),(6),(7),(8),(9),M,(10),M, (11),(12)*hh(CR)(LF) 各部分所对应的含义为: (1)定位 UTC 时间:05 时 09 分 01 秒 (2)纬度(格式 ddmm.mmmm:即 dd 度,mm.mmmm 分); (3)N/S(北纬或南纬):北纬 39 度 31.4449 分; (4)经度(格式 dddmm.mmmm:即 ddd 度,mm.mmmm 分); (5)E/W(东经或西经):东经 116 度 43.5123 分; (6)质量因子(0=没有定位,1=实时 GPS,2=差分 GPS):1=实时 GPS; (7)可使用的卫星数(0~8):可使用的卫星数=07; (8)水平精度因子(1.0~99.9);水平精度因子=1.4; (9)天线高程(海平面,-9999.9~99999.9,单位:m);天线高程=76.2m); (10)大地椭球面相对海平面的高度(-999.9~9999.9,单位:m):-7.0m; (11)差分 GPS 数据年龄,实时 GPS 时无:无; (12)差分基准站号(0000~1023),实时 GPS 时无:无; *总和校验域; hh 总和校验数:65 (CR)(LF)回车,换行。 b.可视卫星状态输出语句($GPGSV) 例 2:$GPGSV,2,1,08,06,33,240,45,10,36,074,47,16,21, 078,44,17,36,313,42*78 标准格式: $GPGSV,(1),(2),(3),(4),(5),(6),(7),...(4),(5),(6),(7) *hh(CR)(LF)
各部分含义为: (1)总的 GSV 语句电文数;2;(2)当前 GSV 语句号:1; (3)可视卫星总数:08; (4)卫星号:06; (5)仰角(00~90 度):33 度;S (6)方位角(000~359 度):240 度; (7)信噪比(00~99dB):45dB(后面依次为第 10,16,17 号卫星的信息); *总和校验域; hh 总和校验数:78; (CR)(LF)回车,换行。 注:每条语句最多包括四颗卫星的信息,每颗 GPS 接收机卫星的信息有四个 数据项,即: (4)-卫星号,(5)-仰角,(6)-方位角,(7)-信噪比。 标签: 无标签
GPS 输出数据的格式分析
GPS 接收 OEM 板的型号甚多、性能各异,但它们的 GPS 定位信息串行输出格式大多采用 美国国家海洋电子协会制定的 NMEA-0183 通信标准格式。其输出数据采用的是 ASCII 码,内 容包含了纬度、经度、高度、速度、日期、时间、航向以及卫星状况等信息,常用语句有 6 种, 包括 GGA、GLL、GSA、GSV、RMC 和 VTG。我们也可以通过 GPS 专用设置软件或普通的 串口调试软件发送相应的命令语句给 OEM 板,把 GPS OEM 板设置为每隔若干毫秒发送哪种 或哪几种 NMEA 语句,然后该 OEM 板将这些设置参数存储到板上的 EEPROM 芯片内,此后 该 OEM 板将按照这些设置每隔相应的毫秒数发送出一个或几个 GPS 输出 NMEA 语句。根据 不同的应用需要, 设置选择不同的输出记录语句以及它们的发送时间间隔, 如本系统我们只关心 其时间、经纬度、海拔高度、地面速度信息以及卫星使用数信息,因而可只选用 GGA,VTG 记 录语句并设成每 1s 发送一次。不过须注意,这些设置信息只在系统本次上电,并设置后方有效, 在下次重新上电时需重新设置。
一条$GPGGA 语句包括 17 个字段:语句标识头,世界时间,纬度,纬度半球,经度,经 度半球,定位质量指示,使用卫星数量,水平精确度,海拔高度,高度单位,大地水准面高度, 高度单位,差分 GPS 数据期限,差分参考基站标号,校验和结束标记(用回车符和换行 符),分别用 14 个逗号进行分隔。该数据帧的结构及各字段释义如下:
$GPGGA,,,,,,,,,,M,,M,,*xx
$GPGGA:起始引导符及语句格式说明(本句为 GPS 定位数据);
UTC 时间,格式为 hhmmss.sss;
纬度,格式为 ddmm.mmmm(第一位是零也将传送); 纬度半球,N 或 S(北纬或南纬) 经度,格式为 dddmm.mmmm(第一位零也将传送); 经度半球,E 或 W(东经或西经) 定位质量指示,0=定位无效,1=定位有效; 使用卫星数量,从 00 到 12(第一个零也将传送) 水平精确度,0.5 到 99.9 天线离海平面的高度,-9999.9 到 9999.9 米 M 指单位米
大地水准面高度,-9999.9 到 9999.9 米 M 指单位米
差分 GPS 数据期限(RTCM SC-104),最后设立 RTCM 传送的秒数量
差分参考基站标号,从 0000 到 1023(首位 0 也将传送)。
* xx
语句结束标志符 从$开始到*之间的所有 ASCII 码的异或校验和 回车 换行
对于 VTG 信息我们只需要以 Km/h 为单位的速度信息,就不再累述其格式。
MTI-3 板输出的信息可通过串口调试工具在 PC 机的超级终端中显示。 如在 PC 机上看到的 实时接收 GPGGA 语句为: $GPGGA,114641,3002.3232,N,12206.1157,E,1,05,12.9,53.2,M,11.6,M,,*4A 这是一条 GPS 定位数据信息语句,意思为世界(格林威治)时间为 11 时 46 分 41 秒,位置 在北纬 30 度 2.3232 分,东经 122 度 6.1157 分,定位有效,接收到 5 颗卫星,水平精度 12.9 米,天线离海平面高度 53.2 米,所在地离地平面高度 11.6 米,校验和为 4AH。
从 GPS 板接收下来的数据流是文本字符串。 可根据 GPS 输出数据 NMEA-0183 通信标准 格式中定义的各种记录语句的结构组成特点, 编制程序解析其中包含的有用信息。 但在此需要强 调的是, GPS 输出记录中各 ASCII 码字段的位数可能随着实际测量计算出的定位数据的不同而 有所变化,因此在进行识别、分解、解析记录中各字段时必须以逗号分割符“,”作为各字段的分 割标志,而不应该以各字段的字符位数作为分割各字段的依据,否则将会导致严重的数据错位。
转载: 转载:GPS 的数据格式介绍
新一篇: 转载: 新一篇 转载:GetWindowLong 函数详解
GPRMC(建议使用最小 GPS 数据格式) $GPRMC,,,,,,,,,,, 1) 标准定位时间(UTC time)格式:时时分分秒秒.秒秒秒(hhmmss.sss) 。 2) 定位状态,A = 数据可用,V = 数据不可用。 3) 纬度,格式:度度分分.分分分分(ddmm.mmmm) 。 4) 纬度区分,北半球(N)或南半球(S) 。 5) 经度,格式:度度分分.分分分分。 6) 经度区分,东(E)半球或西(W)半球。 7) 相对位移速度, 0.0 至 1851.8 knots 8) 相对位移方向,000.0 至 359.9 度。实际值。 9) 日期,格式:日日月月年年(ddmmyy) 。 10) 磁极变量,000.0 至 180.0。 11) 度数。 12) Checksum.(检查位) GPGSV(所示卫星格式) $GPGSV, ,,,,,,,⋯,,,, 1) 天空中收到讯号的卫星总数。 2) 定位的卫星总数。 3) 天空中的卫星总数,00 至 12。 4) 卫星编号, 01 至 32。 5) 卫星仰角, OO 至 90 度。 6) 卫星方位角, OOO 至 359 度。实际值。
7) 讯号噪声比(C/No) 00 至 99 dB;无表未接收到讯号。 , 8) Checksum.(检查位). 第,,,项个别卫星会重复出现,每行最多有四颗卫星。其余卫星信息会 于次一行出现,若未使用,这些字段会空白。 “ 1 串行通信 每个 Pocket PC 都配有一个串行端口,以便 PocketPC 与外部串行设备之间进行通信。 串行端口的本质功能是作为芯片和串行设备之间的编码转换器。 当数据从芯片经过串行端口 发送出去时,字节数据被转换为串行的位。在接收数据时,串行的位将被转换为字节数据。 Windows CE 使用了通信驱动程序 Comm.drv,以便使用标准的 Windows API 函数发 送和接收数据。驱动程序通常由串口设备制造商提供,以便将硬件与 Windows CE 连接。 在程序设计中,模拟了一个 COM6 串口。先使用 Comm6.PoxtOpen 打开串口,设置 C omm 控件的属性,Timer 触发 OnComm 接收 GPS 信号的事件,实现 GPS 信号的实时 接收。GPS 提供串行通信接口,串行通信参数为:波特率=57 600 bps,数据位=8 位, 开始位=1 位,停止位=1 位,无奇偶校验。 2 GPS 数据格式 NMEA0183 协议是美国国家海洋电子协会(NationaIMarine Electronlcs Associati on)制定的 GPS 接口协议标准。 NMEA0183 定义了若干代表不同含义的语句, 每个语句实 际上是一个 ASCII 码串。这种码直观,易于识别和应用。在试验中,不需要了解 NMEA01 83 通信协议的全部信息,仅需要从中挑选出需要的那部分定位数据,其余的信息忽略掉。 GPS 与掌上电脑通信时,通过串口每秒钟发送 10 条数据。实际导航应用读取 GPS 的 空间定位数据时, 可以根据需要每隔几秒钟更新一次经纬度和时问数据, 不必频繁地更新数 据, 否则, 会浪费掌上设备有限的电能。 如果和卫星通信正常, 可以接收到的数据格式如下: $GPGGA,,,,,,,,,,,, *hh。其具体信息如表 l 所列。
一个完整的 NEMA0183 语句是从起始符“$GPGGA”到终止符“”为止 的一段字符串。需要掌握的信息是经纬度、经纬度方向、GPS 定位状态和接收信号的时间。 所以当接收到这样一个完整的 NEMA0183 语句时,提取有用信息的方法是: 先判定起始符 $GPGGA 的位置,从起始符开始读人数据,再通过异或校验后的语句中寻找字符“, 然后 , ” 截取前后两个“, ”之间的字符(串)获得所关心的数据,并以回车符为一个 CPS 语句的终止 符,得到一个完整的 GPS 信号。在提取出的 GPS 语句中,找寻经纬度所在的逗号位置, 读出经纬度坐标,再将经纬度坐标进行度数的转换。因为地图的坐标是以度数为标准的。 ” GPGSA(GPS 精度指针及使用卫星格式) $GPGSA,,,,,,,,,,,,,,, 1)模式 2:M = 手动, A = 自动。 2)模式 1:定位型式 1 = 未定位, 2 = 二维定位, 3 = 三维定位。 3) PRN 数字:01 至 32 表天空使用中的卫星编号,最多可接收 12 颗卫星信息。 4) PDOP-位置精度稀释 0.5 至 99.9. 5) HDOP-水平精度稀释 0.5 to 99.9. 6) VDOP-垂直精度稀释 0.5 to 99.9. 7) Checksum.(检查位).
$GPGGA,160000.000,3202.6258,N,12135.8964,E,0,00,0.0,73.2,M,,,,000 0*32 $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 $GPGSV,3,1,12,22,71,209,00,30,64,109,00,14,54,337,00,05,50,053,00*79 $GPGSV,3,2,12,18,36,161,00,25,25,259,00,01,21,306,00,09,12,054,00*73 $GPGSV,3,3,12,22,71,209,00,22,71,209,00,22,71,209,00,22,71,209,00*7A $GPRMC,160000.000,V,3202.6258,N,12135.8964,E,0.00,0.00,110206,,*1A $GPGGA,160001.000,3202.6258,N,12135.8964,E,0,00,0.0,73.2,M,,,,0000*33 $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 $GPGSV,3,1,12,22,71,209,00,30,64,109,00,14,54,337,00,05,50,053,00*79 $GPGSV,3,2,12,18,36,161,00,25,25,259,00,01,21,306,00,09,12,054,00*73 $GPGSV,3,3,12,22,71,209,00,22,71,209,00,22,71,209,00,22,71,209,00*7A $GPRMC,160001.000,V,3202.6258,N,12135.8964,E,0.00,0.00,110206,,*1B $GPGGA,160002.000,3202.6258,N,12135.8964,E,0,00,0.0,73.2,M,,,,0000*30 $GPRMC,062500.000,A,3853.4663,N,11527.4923,E,0.00,,161206,,,A*75 $GPGGA,062501.000,3853.4663,N,11527.4923,E,1,06,1.4,74.5,M,-10.3,M,,0 000*40 $GPGSA,A,3,08,17,20,28,11,04,,,,,,,2.3,1.4,1.9*3C $GPRMC,062501.000,A,3853.4663,N,11527.4923,E,0.00,,161206,,,A*74 $GPGGA,062502.000,3853.4663,N,11527.4923,E,1,06,1.4,74.5,M,-10.3,M,,0 000*43 $GPGSA,A,3,08,17,20,28,11,04,,,,,,,2.3,1.4,1.9*3C $GPRMC,062502.000,A,3853.4663,N,11527.4923,E,0.00,,161206,,,A*77 $GPGGA,062503.000,3853.4663,N,11527.4923,E,1,06,1.4,74.5,M,-10.3,M,,0 000*42 $GPGSA,A,3,08,17,20,28,11,04,,,,,,,2.3,1.4,1.9*3C $GPRMC,062503.000,A,3853.4663,N,11527.4923,E,0.00,,161206,,,A*76 $GPGGA,062504.000,3853.4663,N,11527.4923,E,1,06,1.4,74.5,M,-10.3,M,,0 000*45 $GPGSA,A,3,08,17,20,28,11,04,,,,,,,2.3,1.4,1.9*3C $GPRMC,062504.000,A,3853.4663,N,11527.4923,E,0.00,,161206,,,A*71 $GPGGA,062505.000,3853.4663,N,11527.4923,E,1,06,1.4,74.5,M,-10.3,M,,0 000*44 $GPGSA,A,3,08,17,20,28,11,04,,,,,,,2.3,1.4,1.9*3C $GPGSV,2,1,07,28,72,179,33,17,55,313,29,20,46,101,37,11,32,055,33*74 $GPGSV,2,2,07,04,31,234,39,09,09