GNSS模块使用笔记
GNSS芯片
ATGM336H-5N31(GPS+BDS双模)
原理图
NMEA0183 协议
前缀
- BD --- 北斗模式
- GP --- GPS模式
- GN --- 双模模式
指令
GNSS TO MCU
命令 | 字段 | 含义 | 格式 | 示例 |
$XXGGA(接收机时间、位置及定位相关的数 据) |
0 | 定位UTC时间 | hhmmss.000 | "083237.000":08时32分37秒 |
1 | 纬度 | ddmm.mmmmm | "2256.47697": 22度56.47697分 | |
2 | 北纬/南纬 | N/S | "N": 南纬;"S": 北纬 | |
3 | 经度 | dddmm.mmmmm | "11325.59708": 113度25.59708分 | |
4 | 东经/西经 | E/W | "E": 东经; "W": 西经 | |
5 | 质量因子 | 0/1/2 | "0": 没有定位;"1": 实时GPS;"2": 差分GPS | |
6 | 用于定位的卫星数目 | 00~24 | "13": 当前用于定位的卫星数量为13颗 | |
7 | 水平精度因子 | 1.0~99.9 | "1.6": 水平精度因子为1.4 | |
8 | 海拔高度 | -9999.9~99999.9 | "88.6": 当前海拔为88.6米 | |
9 | 高度单位 | M | "M": 高度单位,米,固定字符 M | |
10 | 大地椭球面相对海平面的高度 | -999.9~9999.9 | "0.0": 0米 | |
11 | 高度单位 | M | "M": 高度单位,米,固定字符 M | |
12 | 差分GPS数据年龄 | - | 未使用 DGPS 时该域为空 | |
13 | 差分参考站的 ID | 0000~1023 | 未使用 DGPS 时该域为空 | |
14 | 校验和 | *hh | "*4C": $和*之间(不包括$和*)所有字符的异或结果 | |
15 | 回车与换行 | <CR><LF> | 回车与换行符 | |
$XXGLL(纬度、经度、定位时间与定位状态等信息) | 0 | 纬度 | ddmm.mmmmm | "2256.47697": 22度56.47697分 |
1 | 北纬/南纬 | N/S | "N": 南纬;"S": 北纬 | |
2 | 经度 | dddmm.mmmmm | "11325.59708": 113度25.59708分 | |
3 | 东经/西经 | E/W | "E": 东经; "W": 西经 | |
4 | 定位UTC时间 | hhmmss.000 | "083237.000":08时32分37秒 | |
5 | 数据有效性 | A/V | "A": 有效定位;"V": 无效定位 | |
6 | 定位模式 | A/D/E/N | "A": 自主定位;"D": 差分,"E"; 估算,"N": 数据无效 | |
7 | 校验和 | *hh | "*4C": $和*之间(不包括$和*)所有字符的异或结果 | |
8 | 回车与换行 | <CR><LF> | 回车与换行符 | |
$XXGSA(定位的卫星编号与 DOP 信息) | 0 | 模式切换 | M/A | "M": 手动切换;"A": 自动切换 |
1 | 定位类型 | 1/2/3 | "1": 没有定位;"2": 2D定位;"3": 3D定位 | |
2 | 用于定位的卫星编号 | 01~12 | "12": 用于定位的卫星编号为12 | |
3 | 位置精度因子 | 0.5~99.9 | "15": 位置精度因子为15 | |
4 | 水平精度因子 | 0.5~99.9 | "22": 水平精度因子为22 | |
5 | 垂直精度因子 | 0.5~99.9 | "23": 垂直精度因子为23 | |
6 | NMEA 所定义的 GNSS 系统 ID 号 | - | 仅 NMEA 4.1 及以上版本有效 | |
7 | 校验和 | *hh | "*4C": $和*之间(不包括$和*)所有字符的异或结果 | |
8 | 回车与换行 | <CR><LF> | 回车与换行符 | |
$XXGSV(可见卫星的卫星编号及其仰角、方位角、载噪比等信息) | 0 | GSV语句总数 | - | "3": 共收到3条GSV语句 |
1 | 当前GSV语句编号 | - | "1": 当前GSV语句编号为1 | |
2 | 可见卫星总数 | 00~12 | "12": 当前可见卫星总数为12 | |
3 | 卫星编号 | 01~32 | "10": 卫星编号为10 | |
4 | 卫星仰角 | 00~90 | "12": 卫星仰角为12度 | |
5 | 卫星方位角 | 000~359 | "205": 卫星方位角为205度 | |
6 | 信噪比 | 00~99 | "23": 23dB | |
7 | 校验和 | *hh | "*4C": $和*之间(不包括$和*)所有字符的异或结果 | |
8 | 回车与换行 | <CR><LF> | 回车与换行符 | |
$XXRMC(推荐的最小定位信息) | 0 | 定位UTC时间 | hhmmss.000 | "083237.000":08时32分37秒 |
1 | 数据有效性 | A/V | "A": 有效定位;"V": 无效定位 | |
2 | 纬度 | ddmm.mmmmm | "2256.47697": 22度56.47697分 | |
3 | 北纬/南纬 | N/S | "N": 南纬;"S": 北纬 | |
4 | 经度 | dddmm.mmmmm | "11325.59708": 113度25.59708分 | |
5 | 东经/西经 | E/W | "E": 东经; "W": 西经 | |
6 | 对地速度 | 000.0~999.9 | "0.00": 当前对地速度为0.00节 | |
7 | 对地真航向 | 000.0~359.9 | "0.00": 以真北为参考基准,当前对地速度为0.00度 | |
8 | UTC日期 | ddmmyy | "270822": 27日08月2022年 | |
9 | 磁偏角 | - | 单位为度,固定为空 | |
10 | 磁偏角方向 | E/W | "E": 东; "W": 西 | |
11 | 定位模式 | A/D/E/N | "A": 自主定位;"D": 差分,"E"; 估算,"N": 数据无效 | |
12 | 导航状态标示符 | - | 仅 NMEA 4.1 及以上版本有效 | |
13 | 校验和 | *hh | "*4C": $和*之间(不包括$和*)所有字符的异或结果 | |
14 | 回车与换行 | <CR><LF> | 回车与换行符 |
MCU TO GNSS
- 开启或停止输出NMEA语句
命令 | 标识符 | 控制模式 | 频率(秒) | 示例 |
$CCRMO | GGA/GSA/GSV/RMC/... | 1-关闭指定语句 | 最慢1秒 | $CCRMO,RMC,1,1*20\r\n |
2-打开指定语句 | $CCRMO,RMC,2,1*23\r\n | |||
3-关闭全部语句 | $CCRMO,RMC,3,1*22\r\n | |||
4-打开全部语句 | $CCRMO,RMC,4,1*25\r\n |
- 串口波特率配置
命令 | 波特率 | 示例 |
$PCAS10 | 0-4800 | $PCAS01,0*1C\r\n |
1-9600 | $PCAS01,1*1D\r\n | |
2-19200 | $PCAS01,2*1E\r\n | |
3-38400 | $PCAS01,3*1F\r\n | |
4-57600 | $PCAS01,4*18\r\n | |
5-115200 | $PCAS01,5*19\r\n |