在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
EETOP诚邀模拟IC相关培训讲师 创芯人才网--重磅上线啦!
查看: 7664|回复: 15

GPS接口和程序控制

[复制链接]
发表于 2011-6-9 14:58:11 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
我有一GPS模块,有串口,就是不知道如何写程序控制,解码。
  请问一般的GPS模块串口接到数据后写个什么样的程序解析GPS信息。
  如何编写GPS解码的信息。
 楼主| 发表于 2011-6-17 13:12:39 | 显示全部楼层
过了这么几天了,没人顶。
发表于 2011-10-13 09:09:19 | 显示全部楼层
国际通用协议NMEA-0183,可能还有各个厂商自己的协议。


一、
NMEA0183标准语句
1
Global Positioning System FixDataGGAGPS定位信息
$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>
差分站ID0000~1023(前面的0也将被传输,如果不是差分定位将为空)
2
GPS DOP and Active SatellitesGSA)当前卫星信息
$GPGSA,<1>,<2>,<3>,<3>,<3>,<3>,<3>,<3>,<3>,<3>,<3>,<3>,<3>,<3>,<4>,<5>,<6>*hh<CR><LF>
<1>
模式,M=手动,A=自动
<2>
定位类型,1=没有定位,2=2D定位,3=3D定位
<3> PRN
码(伪随机噪声码),正在用于解算位置的卫星号(01~32,前面的0也将被传输)。
<4> PDOP
位置精度因子(0.5~99.9
<5> HDOP
水平精度因子(0.5~99.9
<6> VDOP
垂直精度因子(0.5~99.9
3
GPS Satellites in ViewGSV)可见卫星信息
$GPGSV,<1>,<2>,<3>,<4>,<5>,<6>,<7>,…<4>,<5>,<6>,<7>*hh<CR><LF>
<1> GSV
语句的总数
<2>
本句GSV的编号
<3>
可见卫星的总数(00~12,前面的0也将被传输)
<4> PRN
码(伪随机噪声码)(01~32,前面的0也将被传输)
<5>
卫星仰角(00~90度,前面的0也将被传输)
<6>
卫星方位角(000~359度,前面的0也将被传输)
<7>
信噪比(00~99dB,没有跟踪到卫星时为空,前面的0也将被传输)
注:<4>,<5>,<6>,<7>信息将按照每颗卫星进行循环显示,每条GSV语句最多可以显示4颗卫星的信息。其他卫星信息将在下一序列的NMEA0183语句中输出。
4
Recommended Minimum SpecificGPS/TRANSIT DataRMC)推荐定位信息
$GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>*hh<CR><LF>
<1> UTC
时间,hhmmss(时分秒)格式
<2>
定位状态,A=有效定位,V=无效定位
<3>
纬度ddmm.mmmm(度分)格式(前面的0也将被传输)
<4>
纬度半球N(北半球)或S(南半球)
<5>
经度dddmm.mmmm(度分)格式(前面的0也将被传输)
<6>
经度半球E(东经)或W(西经)
<7>
地面速率(000.0~999.9节,前面的0也将被传输)
<8>
地面航向(000.0~359.9度,以真北为参考基准,前面的0也将被传输)
<9> UTC
日期,ddmmyy(日月年)格式
<10>
磁偏角(000.0~180.0度,前面的0也将被传输)
<11>
磁偏角方向,E(东)或W(西)
<12>
模式指示(仅NMEA01833.00版本输出,A=自主定位,D=差分,E=估算,N=数据无效)
5
Track Made Good and GroundSpeedVTG)地面速度信息
$GPVTG,<1>,T,<2>,M,<3>,N,<4>,K,<5>*hh<CR><LF>
<1>
以真北为参考基准的地面航向(000~359度,前面的0也将被传输)
<2>
以磁北为参考基准的地面航向(000~359度,前面的0也将被传输)
<3>
地面速率(000.0~999.9节,前面的0也将被传输)
<4>
地面速率(0000.0~1851.8公里/小时,前面的0也将被传输)
<5>
模式指示(仅NMEA01833.00版本输出,A=自主定位,D=差分,E=估算,N=数据无效)
6
Geographic PositionGLL)定位地理信息
$GPGLL,<1>,<2>,<3>,<4>,<5>,<6>,<7>*hh<CR><LF>
<1>
纬度ddmm.mmmm(度分)格式(前面的0也将被传输)
<2>
纬度半球N(北半球)或S(南半球)
<3>
经度dddmm.mmmm(度分)格式(前面的0也将被传输)
<4>
经度半球E(东经)或W(西经)
<5> UTC
时间,hhmmss(时分秒)格式
<6>
定位状态,A=有效定位,V=无效定位
<7>
模式指示(仅NMEA01833.00版本输出,A=自主定位,D=差分,E=估算,N=数据无效)
二、 GARMIN定义的语句
7
Estimated Error InformationPGRME)估计误差信息
$PGRME,<1>,M,<2>,M,<3>,M*hh<CR><LF>
<1> HPE
(水平估计误差),0.0~999.9
<2> VPE
(垂直估计误差),0.0~999.9
<3> EPE
(位置估计误差),0.0~999.9
8
GPS Fix Data SentencePGRMFGPS定位信息
$PGRMF,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>,<13>,<14>,<15>*hh<CR><LF>
<1> GPS
周数(0~1023
<2> GPS
秒数(0~604799
<3> UTC
日期,ddmmyy(日月年)格式
<4> UTC
时间,hhmmss(时分秒)格式
<5> GPS
跳秒数
<6>
纬度ddmm.mmmm(度分)格式(前面的0也将被传输)
<7>
纬度半球N(北半球)或S(南半球)
<8>
经度dddmm.mmmm(度分)格式(前面的0也将被传输)
<9>
经度半球E(东经)或W(西经)
<10>
模式,M=手动,A=自动
<11>
定位类型,0=没有定位,1=2D定位,2=3D定位
<12>
地面速率(0~1851公里/小时)
<13>
地面航向(000~359度,以真北为参考基准)
<14> PDOP
位置精度因子(0~9,四舍五入取整)
<15> TDOP
时间精度因子(0~9,四舍五入取整)
9
Map DatumPGRMM)坐标系统信息
$PGRMM,<1>*hh<CR><LF>
<1>
当前使用的坐标系名称(数据长度可变,如“WGS 84”
注:该信息在与MapSource进行实时连接的时候使用。
10
SensorStatus InformationPGRMT)工作状态信息
$PGRMT,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>*hh<CR><LF>
<1>
产品型号和软件版本(数据长度可变,如“GPS 15L/15H VER 2.05”
<2> ROM
校验测试,P=通过,F=失败
<3>
接收机不连续故障,P=通过,F=失败
<4>
存储的数据,R=保持,L=丢失
<5>
时钟的信息,R=保持,L=丢失
<6>
振荡器不连续漂移,P=通过,F=检测到过度漂移
<7>
数据不连续采集,C=正在采集,如果没有采集则为空
<8> GPS
接收机温度,单位为摄氏度
<9> GPS
接收机配置数据,R=保持,L=丢失
注:本语句每分钟发送一次,与所选择的波特率无关。
11
3Dvelocity InformationPGRMV)三维速度信息
$PGRMV,<1>,<2>,<3>*hh<CR><LF>
<1>
东向速度,514.4~514.4/
<2>
北向速度,514.4~514.4/
<3>
上向速度,999.9~9999.9/
12
DGPSBeacon InformationPGRMB)信标差分信息
$PGRMB,<1>,<2>,<3>,<4>,<5>,K,<6>,<7>,<8>*hh<CR><LF>
<1>
信标站频率(0.0283.5~325.0kHz,间隔为0.5kHz
<2>
信标比特率(02550100200bps
<3> SNR
信标信号信噪比(0~31
<4>
信标数据质量(0~100
<5>
与信标站的距离,单位为公里
<6>
信标接收机的通讯状态,0=检查接线,1=无信号,2=正在调谐,3=正在接收,4=正在扫描
<7>
差分源,R=RTCMW=WAASN=非差分定位
<8>
差分状态,A=自动,W=仅为WAASR=仅为RTCMN=不接收差分信号
发表于 2011-10-13 09:10:16 | 显示全部楼层
国际通用协议NMEA-0183,可能还有各个厂商自己的协议。


一、
NMEA0183标准语句
1
Global Positioning System FixDataGGAGPS定位信息
$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>
差分站ID0000~1023(前面的0也将被传输,如果不是差分定位将为空)
2
GPS DOP and Active SatellitesGSA)当前卫星信息
$GPGSA,<1>,<2>,<3>,<3>,<3>,<3>,<3>,<3>,<3>,<3>,<3>,<3>,<3>,<3>,<4>,<5>,<6>*hh<CR><LF>
<1>
模式,M=手动,A=自动
<2>
定位类型,1=没有定位,2=2D定位,3=3D定位
<3> PRN
码(伪随机噪声码),正在用于解算位置的卫星号(01~32,前面的0也将被传输)。
<4> PDOP
位置精度因子(0.5~99.9
<5> HDOP
水平精度因子(0.5~99.9
<6> VDOP
垂直精度因子(0.5~99.9
3
GPS Satellites in ViewGSV)可见卫星信息
$GPGSV,<1>,<2>,<3>,<4>,<5>,<6>,<7>,…<4>,<5>,<6>,<7>*hh<CR><LF>
<1> GSV
语句的总数
<2>
本句GSV的编号
<3>
可见卫星的总数(00~12,前面的0也将被传输)
<4> PRN
码(伪随机噪声码)(01~32,前面的0也将被传输)
<5>
卫星仰角(00~90度,前面的0也将被传输)
<6>
卫星方位角(000~359度,前面的0也将被传输)
<7>
信噪比(00~99dB,没有跟踪到卫星时为空,前面的0也将被传输)
注:<4>,<5>,<6>,<7>信息将按照每颗卫星进行循环显示,每条GSV语句最多可以显示4颗卫星的信息。其他卫星信息将在下一序列的NMEA0183语句中输出。
4
Recommended Minimum SpecificGPS/TRANSIT DataRMC)推荐定位信息
$GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>*hh<CR><LF>
<1> UTC
时间,hhmmss(时分秒)格式
<2>
定位状态,A=有效定位,V=无效定位
<3>
纬度ddmm.mmmm(度分)格式(前面的0也将被传输)
<4>
纬度半球N(北半球)或S(南半球)
<5>
经度dddmm.mmmm(度分)格式(前面的0也将被传输)
<6>
经度半球E(东经)或W(西经)
<7>
地面速率(000.0~999.9节,前面的0也将被传输)
<8>
地面航向(000.0~359.9度,以真北为参考基准,前面的0也将被传输)
<9> UTC
日期,ddmmyy(日月年)格式
<10>
磁偏角(000.0~180.0度,前面的0也将被传输)
<11>
磁偏角方向,E(东)或W(西)
<12>
模式指示(仅NMEA01833.00版本输出,A=自主定位,D=差分,E=估算,N=数据无效)
5
Track Made Good and GroundSpeedVTG)地面速度信息
$GPVTG,<1>,T,<2>,M,<3>,N,<4>,K,<5>*hh<CR><LF>
<1>
以真北为参考基准的地面航向(000~359度,前面的0也将被传输)
<2>
以磁北为参考基准的地面航向(000~359度,前面的0也将被传输)
<3>
地面速率(000.0~999.9节,前面的0也将被传输)
<4>
地面速率(0000.0~1851.8公里/小时,前面的0也将被传输)
<5>
模式指示(仅NMEA01833.00版本输出,A=自主定位,D=差分,E=估算,N=数据无效)
6
Geographic PositionGLL)定位地理信息
$GPGLL,<1>,<2>,<3>,<4>,<5>,<6>,<7>*hh<CR><LF>
<1>
纬度ddmm.mmmm(度分)格式(前面的0也将被传输)
<2>
纬度半球N(北半球)或S(南半球)
<3>
经度dddmm.mmmm(度分)格式(前面的0也将被传输)
<4>
经度半球E(东经)或W(西经)
<5> UTC
时间,hhmmss(时分秒)格式
<6>
定位状态,A=有效定位,V=无效定位
<7>
模式指示(仅NMEA01833.00版本输出,A=自主定位,D=差分,E=估算,N=数据无效)
二、 GARMIN定义的语句
7
Estimated Error InformationPGRME)估计误差信息
$PGRME,<1>,M,<2>,M,<3>,M*hh<CR><LF>
<1> HPE
(水平估计误差),0.0~999.9
<2> VPE
(垂直估计误差),0.0~999.9
<3> EPE
(位置估计误差),0.0~999.9
8
GPS Fix Data SentencePGRMFGPS定位信息
$PGRMF,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>,<13>,<14>,<15>*hh<CR><LF>
<1> GPS
周数(0~1023
<2> GPS
秒数(0~604799
<3> UTC
日期,ddmmyy(日月年)格式
<4> UTC
时间,hhmmss(时分秒)格式
<5> GPS
跳秒数
<6>
纬度ddmm.mmmm(度分)格式(前面的0也将被传输)
<7>
纬度半球N(北半球)或S(南半球)
<8>
经度dddmm.mmmm(度分)格式(前面的0也将被传输)
<9>
经度半球E(东经)或W(西经)
<10>
模式,M=手动,A=自动
<11>
定位类型,0=没有定位,1=2D定位,2=3D定位
<12>
地面速率(0~1851公里/小时)
<13>
地面航向(000~359度,以真北为参考基准)
<14> PDOP
位置精度因子(0~9,四舍五入取整)
<15> TDOP
时间精度因子(0~9,四舍五入取整)
9
Map DatumPGRMM)坐标系统信息
$PGRMM,<1>*hh<CR><LF>
<1>
当前使用的坐标系名称(数据长度可变,如“WGS 84”
注:该信息在与MapSource进行实时连接的时候使用。
10
SensorStatus InformationPGRMT)工作状态信息
$PGRMT,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>*hh<CR><LF>
<1>
产品型号和软件版本(数据长度可变,如“GPS 15L/15H VER 2.05”
<2> ROM
校验测试,P=通过,F=失败
<3>
接收机不连续故障,P=通过,F=失败
<4>
存储的数据,R=保持,L=丢失
<5>
时钟的信息,R=保持,L=丢失
<6>
振荡器不连续漂移,P=通过,F=检测到过度漂移
<7>
数据不连续采集,C=正在采集,如果没有采集则为空
<8> GPS
接收机温度,单位为摄氏度
<9> GPS
接收机配置数据,R=保持,L=丢失
注:本语句每分钟发送一次,与所选择的波特率无关。
11
3Dvelocity InformationPGRMV)三维速度信息
$PGRMV,<1>,<2>,<3>*hh<CR><LF>
<1>
东向速度,514.4~514.4/
<2>
北向速度,514.4~514.4/
<3>
上向速度,999.9~9999.9/
12
DGPSBeacon InformationPGRMB)信标差分信息
$PGRMB,<1>,<2>,<3>,<4>,<5>,K,<6>,<7>,<8>*hh<CR><LF>
<1>
信标站频率(0.0283.5~325.0kHz,间隔为0.5kHz
<2>
信标比特率(02550100200bps
<3> SNR
信标信号信噪比(0~31
<4>
信标数据质量(0~100
<5>
与信标站的距离,单位为公里
<6>
信标接收机的通讯状态,0=检查接线,1=无信号,2=正在调谐,3=正在接收,4=正在扫描
<7>
差分源,R=RTCMW=WAASN=非差分定位
<8>
差分状态,A=自动,W=仅为WAASR=仅为RTCMN=不接收差分信号
发表于 2011-10-26 22:27:42 | 显示全部楼层
好砖一块拍
发表于 2011-12-16 22:34:58 | 显示全部楼层
4楼正解,不错
发表于 2012-3-7 16:53:57 | 显示全部楼层
好东东
发表于 2012-6-25 19:35:36 | 显示全部楼层
传说中的0183协议吗?不过还要看芯片是不是兼容这个协议吧
发表于 2012-9-27 14:26:39 | 显示全部楼层
我有比较简单的解析0183的,要的话留邮箱!
发表于 2012-11-15 09:44:59 | 显示全部楼层
可以參考模塊是那一家芯片廠商(sirf or ...),找找使用手冊,
每家的指令不會一樣
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-5-12 13:24 , Processed in 0.049542 second(s), 9 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表