GNBIN 协议与联调
GNBIN协议
GNBIN协议概述
HiDiTing GNSS使用自定义的GNBIN(GNSS BINary)标准接口协议与外部主机进行数据通信,数据通过UART接口传输。
GNBIN协议框架
GNBIN协议框架分为两层,外层提供了分包机制,对应UART直接发送的数据结构,内层直接对应GNSS业务数据结构。
对于直接通过UART从芯片获取原始数据的用户,需要先按外层协议格式解析出GNSS业务数据,然后再按内层协议格式对具体的GNSS数据进行解析。反之,通过UART向芯片发送数据时,则需要先按内层协议格式组装出GNSS业务数据,再按外层协议格式组装成包数据,最后通过UART发送给芯片。
对于通过HiDiTing GNSS驱动接口获取和发送数据的用户,驱动接口已经实现了外层协议的适配,用户可以忽略外层协议,直接按内层协议解析或者组装GNSS业务数据。
表 1 GNBIN协议框架
消息头 |
消息类型 |
消息长度 |
消息载荷 |
消息尾 |
|---|---|---|---|---|
外层协议头 |
外层协议类型 |
外层数据长度 |
内层协议格式数据 |
外层协议尾 |
GNBIN所有多字符数据类型,均按小端格式(Little Endian)排列。协议中所用到的基本数据类型描述如表2。
表 2 GNBIN基本数据类型
缩写 |
数据类型 |
字节数 |
备注 |
|---|---|---|---|
I1 |
int8 |
1 |
- |
U1 |
uint8 |
1 |
- |
I2 |
int16 |
2 |
- |
U2 |
uint16 |
2 |
- |
I4 |
int32 |
4 |
- |
U4 |
uint32 |
4 |
- |
I64 |
int64 |
8 |
- |
U64 |
uint64 |
8 |
- |
R4 |
float32 |
4 |
IEEE-754浮点数标准。 |
R8 |
float64 |
8 |
IEEE-754浮点数标准。 |
外层协议框架
外层协议消息包结构如表1所示。
表 1 GNBIN外层消息框架
消息头 |
消息号[1] |
消息包长[2] |
消息载荷 |
消息尾 |
|---|---|---|---|---|
1Byte |
1Byte |
2Byte |
NByte |
1Byte |
0x7E |
U1 |
U2 |
- |
0x7E |
说明:
- [1]:消息号表示消息载荷对应的编号,包括:0x00(平台消息,可忽略)、0x02(业务消息首包)、0x03(业务消息中包)、0x04(业务消息尾包)。HiDiTing GNSS每包业务消息最大10KB,当实际业务消息小于4KB时,只会发送0x04数据类型,用户获取消息载荷后,直接按内层协议框架处理即可。当实际业务消息大于4KB时,会被拆包处理,最多被拆成3包,用户需要将0x02(如有)、0x03(如有)、0x04的消息载荷按先后顺序拼接在一起,然后按内层协议框架处理。用户向芯片下发超过4095Byte的内层协议数据时,也需要按外层协议进行分包处理后,再经过UART下发给芯片。
- [2]:外层协议的消息包长包括外层协议框架长度和消息载荷长度,即消息长度=1+1+2+N+1。
内层协议框架
内层协议消息包结构,前8个字节统一称为消息头数据。
表 1 GNBIN内层协议框架
消息类 |
校验和 |
消息序列号 |
载荷长度 |
有效载荷 |
|---|---|---|---|---|
2Byte |
2Byte |
2Byte |
2Byte |
NByte |
U2 |
U2 |
U2 |
U2 |
- |
校验和采用按字节累加求和的方式计算,仅有效载荷字节参考累加计算,参考算法如下:
uint16_t checksum = 0;
uint16_t i = 0;
while (i++ < len) {
checksum += *buff;
buff++;
}
return checksum;
其中len为有效载荷buff对应的长度。
说明: 消息序列号为保留字段,可默认填充0值。
GNBIN业务消息类型
GNBIN支持的业务消息类(内层协议框架)分为下发消息(向芯片下发)和上报消息(从芯片获取),下发消息用于控制芯片的行为。
支持的下发消息类如表1所示。
表 1 GNBIN下行消息类型
消息类 |
消息名 |
载荷长度(Byte) |
说明 |
|---|---|---|---|
0x0001 |
CTR-START |
12 |
启动GNSS定位。 |
0x0002 |
CTR-STOP |
0 |
停止GNSS定位。 |
0x0003 |
CTR-CFG |
变长 |
配置GNSS参数,需在启动GNSS前发送。 |
0x0005 |
CTR-QRY |
1 |
配置查询命令。 |
0x0101 |
CTR-HIS |
变长 |
配置历史信息,辅助温启动。 |
0x0102 |
CTR-HIS-REQ |
0 |
单次请求历史信息,历史信息会上报1次。 |
0x0201 |
CTR-PX-TIME |
14 |
注入PGNSS时间,要求在位置星历前注入。 |
0x0202 |
CTR-PX-LOC |
21 |
注入PGNSS位置。 |
0x0203 |
CTR-PX-EPHG |
变长 |
注入PGNSS-GPS星历。 |
0x0204 |
CTR-PX-EPHA |
变长 |
注入PGNSS-BDS/GLO/GAL星历。 |
0x0205 |
CTR-PX-UTCG |
14 |
注入PGNSS-GPS UTC信息。 |
0x0206 |
CTR-PX-RTIG |
变长 |
注入PGNSS-GPS RTI信息。 |
0x0207 |
CTR-PX-RTIA |
变长 |
注入PGNSS-BDS/GLO/GAL RTI信息。 |
0x0208 |
CTR-PX-IONG |
8 |
注入PGNSS-GPS ION信息。 |
0x0209 |
CTR-PX-AUXA |
变长 |
注入PGNSS-BDS/GLO/GAL AUX信息。 |
0x0301 |
CTR-AX-TIME |
变长 |
注入AGNSS时间,要求在位置星历前注入。 |
0x0302 |
CTR-AX-LOC |
43 |
注入AGNSS位置。 |
0x0303 |
CTR-AX-EPHG |
变长 |
注入AGNSS-GPS星历。 |
0x0304 |
CTR-AX-IONG |
8 |
注入AGNSS-GPS ION信息。 |
0x0305 |
CTR-AX-UTCG |
20 |
注入AGNSS-GPS UTC信息。 |
0x0306 |
CTR-AX-RTIG |
变长 |
注入AGNSS-GPS RTI信息。 |
0x0308 |
CTR-AX-IONA |
9 |
注入AGNSS-BDS ION信息。 |
0x0309 |
CTR-AX-EPHA |
变长 |
注入AGNSS-BDS/GLO/GAL星历。 |
0x030a |
CTR-AX-RTIA |
变长 |
注入AGNSS-BDS/GLO/GAL RTI信息。 |
0x030c |
CTR-AX-AUXA |
变长 |
注入AGNSS-GLO AUX信息。 |
0x0401 |
CTR-PDR-LOC |
82 |
注入PDR推算出的参考位置。 |
0x0403 |
CTR-DEL-AID |
2 |
配置删除芯片内辅助数据。 |
0x0404 |
CTR-AST-TIME |
10 |
注入UTC时间,要求在所有辅助数据前注入。 |
支持的上报消息类列表如表2所示。
表 2 GNBIN上行消息类型
消息类 |
消息名 |
载荷长度 |
说明 |
|---|---|---|---|
0x1002 |
RPT-NAV |
82 |
周期上报导航定位信息。 |
0x1005 |
RPT-HIS |
变长 |
单次上报定位历史信息。 |
0x1006 |
RPT-QRY |
变长 |
单次上报查询信息。 |
0x100b |
RPT-PDR-CMN |
21 |
周期上报PDR融合所需的时间同步信息。 |
0x100c |
RPT-PDR-MEA |
2+8×n |
周期上报PDR融合所需的观测值信息。n为观测值数量。 |
0x100d |
RPT-PDR-LSQ |
60 |
周期上报PDR融合所需的定位结果信息。 |
0xff01 |
RPT-ACK |
4 |
单次上报回执信息,响应下发类消息。 |
GNBIN业务控制类消息
说明: 下文消息示例表中,加粗的5个字节(消息头4字节+消息尾1字节),为GNBIN外层协议框架,当使用串口工具直接对通控制GNSS芯片时,需要发送此类型指令;在主控芯片上使用API接口控制GNSS芯片时,无需添加这5个字节。
CTR-START
表 1 CTR-START消息格式
消息类 |
CTR-START |
||||
|---|---|---|---|---|---|
说明 |
启动GNSS芯片定位功能。 |
||||
类型 |
设置 |
||||
消息结构 |
消息类 |
校验和 |
消息序号 |
载荷长度(Byte) |
有效载荷 |
0x0001 |
U2 |
0x0000 |
12 |
如表2所示。 |
|
表 2 CTR-START有效载荷内容
字节偏移 |
数据类型 |
比例因子/单位 |
字段名 |
说明 |
|---|---|---|---|---|
0 |
U4 |
- |
period |
定位周期,默认为1。 |
4 |
U2 |
- |
count |
定位次数,固定为1。 |
6 |
U2 |
- |
timeout |
超时设置,默认为1。 |
8 |
U4 |
- |
resv |
保留字段,默认为0。 |
表 3 CTR-START常用消息示例
消息子类/消息子类名 |
消息内容(HEX) |
消息描述 |
|---|---|---|
0x0001 CTR-START |
7e 04 19 00 01 00 03 00 00 00 0c 00 01 00 00 00 01 00 01 00 00 00 00 00 7e |
启动GNSS定位。 |
CTR-STOP
表 1 CTR-STOP消息格式
消息类 |
CTR-STOP |
||||
|---|---|---|---|---|---|
说明 |
停止GNSS芯片定位功能。 |
||||
类型 |
设置 |
||||
消息结构 |
消息类 |
校验和 |
消息序号 |
载荷长度(Byte) |
有效载荷 |
0x0002 |
U2 |
0x0000 |
0 |
如表2所示。 |
|
表 2 CTR-STOP有效载荷内容
字节偏移 |
数据类型 |
比例因子/单位 |
字段名 |
说明 |
|---|---|---|---|---|
- |
- |
- |
- |
- |
表 3 CTR-STOP常用消息示例
消息类/消息类名 |
消息内容(HEX) |
消息描述 |
|---|---|---|
0x0002 CTR-STOP |
7e 04 0d 00 02 00 00 00 00 00 00 00 7e |
停止GNSS定位。 |
CTR-QRY
表 1 CTR-QRY消息格式
消息类 |
CTR-QRY |
||||
|---|---|---|---|---|---|
说明 |
配置单次查询信息。 |
||||
类型 |
查询 |
||||
消息结构 |
消息类 |
校验和 |
消息序号 |
载荷长度(Byte) |
有效载荷 |
0x0005 |
U2 |
0x0000 |
1 |
如表2所示。 |
|
表 2 CTR-QRY有效载荷内容
字节偏移 |
数据类型 |
比例因子/单位 |
字段名 |
说明 |
|---|---|---|---|---|
0 |
U1 |
- |
type |
查询信息类别:
|
表 3 CTR-QRY常用消息示例
消息子类/消息子类名 |
消息内容(HEX) |
消息描述 |
|---|---|---|
0x00 VERSION |
7e 04 0e 00 05 00 00 00 00 00 01 00 00 7e |
查询固件版本号。 |
0x01 PPS-STATUS |
7e 04 0e 00 05 00 01 00 00 00 01 00 01 7e |
查询PPS状态。 |
0x02 GNSS-MODE |
7e 04 0e 00 05 00 02 00 00 00 01 00 02 7e |
查询GNSS星座模式。 |
0x03 NMEA-MODE |
7e 04 0e 00 05 00 03 00 00 00 01 00 03 7e |
查询NMEA配置模式。 |
0x04 TSENSOR |
7e 04 0e 00 05 00 04 00 00 00 01 00 04 7e |
查询TSENSOR温度。 |
CTR-CFG
CTR-CFG是配置消息类,包含多个消息子类,HiDiTing GNSS支持的CFG配置消息子类列表如表1所示。
表 1 CTR-CFG消息子类列表
消息子类ID |
消息子类名 |
说明 |
|---|---|---|
0x0000 |
配置参与定位的星座。 |
|
0x0001 |
配置冷热启动模式。 |
|
0x0002 |
配置项拓展接口。 |
|
0x0003 |
配置输出的NMEA语句类型。 |
|
0x0004 |
配置捕获低功耗。 |
|
0x0005 |
配置跟踪低功耗。 |
|
0x0006 |
配置抗干扰。 |
|
0x0007 |
配置定位频率。 |
|
0x0008 |
配置PPS功能。 |
|
0x000a |
配置定位优先级模式。 |
|
0x1009 |
配置开始时间同步。 |
|
0x100e |
配置PDR上报信息。 |
|
0x1012 |
配置高动态模式。 |
HiDiTing GNSS支持的详细配置消息类型如下。
表 2 CFG-FIX-GNSS消息格式
消息类 |
CTR-CFG |
消息子类 |
CFG-FIX-GNSS |
||
|---|---|---|---|---|---|
说明 |
配置需要使能的GNSS星座。 |
||||
类型 |
设置 |
||||
消息结构 |
消息类 |
校验和 |
消息序号 |
载荷长度(Byte) |
有效载荷 |
0x0003 |
U2 |
0x0000 |
8 |
如表3所示。 |
|
表 3 CFG-FIX-GNSS有效载荷内容
字节偏移 |
数据类型 |
比例因子/单位 |
字段名 |
说明 |
|---|---|---|---|---|
0 |
U2 |
- |
type |
消息子类ID:0x0000。 |
2 |
U2 |
- |
len |
消息子类载荷字节:4。 |
4 |
U4 |
- |
fixmode |
星座掩码:默认0x001f
|
表 4 CFG-FIX-GNSS常用消息示例
消息子类/消息子类名 |
消息内容(HEX) |
消息描述 |
|---|---|---|
0x0000 CFG-FIX-GNSS |
7e 04 15 00 03 00 05 00 00 00 08 00 00 00 04 00 01 00 00 00 7e |
配置使能的GNSS星座:GPS。 |
7e 04 15 00 03 00 06 00 00 00 08 00 00 00 04 00 02 00 00 00 7e |
配置使能的GNSS星座:GLO。 |
|
7e 04 15 00 03 00 08 00 00 00 08 00 00 00 04 00 04 00 00 00 7e |
配置使能的GNSS星座:BDS。 |
|
7e 04 15 00 03 00 0c 00 00 00 08 00 00 00 04 00 08 00 00 00 7e |
配置使能的GNSS星座:GAL。 |
|
7e 04 15 00 03 00 23 00 00 00 08 00 00 00 04 00 1f 00 00 00 7e |
配置使能的GNSS星座:QZSS/GAL/BDS/GLO/GPS(芯片默认)。 |
表 5 CFG-START-MODE消息格式
消息类 |
CTR-CFG |
消息子类 |
CFG-START-MODE |
||
|---|---|---|---|---|---|
说明 |
配置冷热启动模式。 |
||||
类型 |
设置 |
||||
消息结构 |
消息类 |
校验和 |
消息序号 |
载荷长度(Byte) |
有效载荷 |
0x0003 |
U2 |
0x0000 |
5 |
如表6所示。 |
|
表 6 CFG-START-MODE有效载荷内容
字节偏移 |
数据类型 |
比例因子/单位 |
字段名 |
说明 |
|---|---|---|---|---|
0 |
U2 |
- |
type |
消息子类ID:0x0001。 |
2 |
U2 |
- |
len |
消息子类载荷字节:1。 |
4 |
U1 |
- |
mode |
启动模式:
|
表 7 CFG-START-MODE常用消息示例
消息子类/消息子类名 |
消息内容(HEX) |
消息描述 |
|---|---|---|
0x0001 CFG-START-MODE |
7e 04 12 00 03 00 02 00 00 00 05 00 01 00 01 00 00 7e |
配置启动模式:自动模式,有历史信息时执行热启动(芯片默认)。 |
7e 04 12 00 03 00 03 00 00 00 05 00 01 00 01 00 01 7e |
配置启动模式:冷启动模式。 |
表 8 CFG-EXTEND消息格式
消息类 |
CTR-CFG |
消息子类 |
CFG-EXTEND |
||
|---|---|---|---|---|---|
说明 |
配置NMEA输出语句类型。 |
||||
类型 |
设置 |
||||
消息结构 |
消息类 |
校验和 |
消息序号 |
载荷长度(Byte) |
有效载荷 |
0x0003 |
U2 |
0x0000 |
32 |
如表9所示。 |
|
表 9 CFG-EXTEND有效载荷内容
字节偏移 |
数据类型 |
比例因子/单位 |
字段名 |
说明 |
|---|---|---|---|---|
0 |
U2 |
- |
type |
消息子类ID:0x0002。 |
2 |
U2 |
- |
len |
消息子类载荷字节:28。 |
4 |
U1 |
s |
tcxoHoldTime |
配置STOP后TCXO维持时长,有效范围[5,255]。 |
5 |
U1 |
- |
qopThreshold |
配置质量控制门限,有效范围[3,200],算法默认为20,实际定位评估指标QOP超门限时,定位结果被拦截。 |
6 |
U1 |
- |
interceptStrategy |
配置初始定位结果的拦截策略,掩码形式,默认0x00。 0x01:reserved 0x02:reserved 0x04:reserved 0x08:reserved 0x10:reserved 0x20:reserved 0x40:正常定位后选择性拦截 0x80:正常定位后不拦截 |
7 |
U1 |
- |
reserve3 |
- |
8 |
U2 |
- |
reserve4 |
- |
10 |
U2 |
- |
reserve5 |
- |
12 |
U2 |
- |
reserve6 |
- |
14 |
U2 |
- |
reserve7 |
- |
16 |
U4 |
- |
reserve8 |
- |
20 |
U4 |
- |
reserve9 |
- |
24 |
U4 |
- |
reserve10 |
- |
28 |
U4 |
- |
reserve11 |
- |
表 10 CFG-EXTEND常用消息示例
消息子类 / 消息子类名 |
消息内容(HEX) |
消息描述 |
|---|---|---|
0x0002 CFG-EXTEND |
7e 04 2d 00 03 00 23 00 00 00 20 00 02 00 1c 00 05 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 7e |
配置STOP后,TCXO维持5s。 |
7e 04 2d 00 03 00 e6 00 00 00 20 00 02 00 1c 00 00 c8 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 7e |
配置QOP拦截门限为200。 |
表 11 CFG-NMEA消息格式
消息类 |
CTR-CFG |
消息子类 |
CFG-NMEA |
||
|---|---|---|---|---|---|
说明 |
配置NMEA输出语句类型。 |
||||
类型 |
设置 |
||||
消息结构 |
消息类 |
校验和 |
消息序号 |
载荷长度(Byte) |
有效载荷 |
0x0003 |
U2 |
0x0000 |
6 |
如表12所示。 |
|
表 12 CFG-NMEA有效载荷内容
字节偏移 |
数据类型 |
比例因子/单位 |
字段名 |
说明 |
|---|---|---|---|---|
0 |
U2 |
- |
type |
消息子类ID:0x0003。 |
2 |
U2 |
- |
len |
消息子类载荷字节:2。 |
4 |
U2 |
- |
mask |
使能掩码:默认0x00ff
|
表 13 CFG-NMEA常用消息示例
消息子类/消息子类名 |
消息内容(HEX) |
消息描述 |
|---|---|---|
0x0003 CFG-NMEA |
7e 04 13 00 03 00 16 00 00 00 06 00 03 00 02 00 11 00 7e |
配置上报NMEA类型:RMC/GGA。 |
7e 04 13 00 03 00 84 00 00 00 06 00 03 00 02 00 7f 00 7e |
配置上报NMEA类型:ZDA/VTG/RMC/GSV/GSA/GLL/GGA。 |
|
7e 04 13 00 03 00 04 01 00 00 06 00 03 00 02 00 ff 00 7e |
配置上报NMEA类型:PNT/ZDA/VTG/RMC/GSV/GSA/GLL/GGA(芯片默认)。 |
表 14 CFG-ACQ-LPW消息格式
消息类 |
CTR-CFG |
消息子类 |
CFG-ACQ-LPW |
||
|---|---|---|---|---|---|
说明 |
配置捕获低功耗特性。 |
||||
类型 |
设置 |
||||
消息结构 |
消息类 |
校验和 |
消息序号 |
载荷长度(Byte) |
有效载荷 |
0x0003 |
U2 |
0x0000 |
6 |
如表15所示。 |
|
表 15 CFG-ACQ-LPW有效载荷内容
字节偏移 |
数据类型 |
比例因子/单位 |
字段名 |
说明 |
|---|---|---|---|---|
0 |
U2 |
- |
type |
消息子类ID:0x0004 |
2 |
U2 |
- |
len |
消息子类载荷字节:2 |
4 |
U1 |
- |
enable |
使能开关:默认1
|
5 |
U1 |
- |
reserved |
使能低功耗时,此字段固定填2。 |
表 16 CFG-ACQ-LPW常用消息示例
消息子类 / 消息子类名 |
消息内容(HEX) |
消息描述 |
|---|---|---|
0x0004 CFG-ACQ-LPW |
7e 04 13 00 03 00 06 00 00 00 06 00 04 00 02 00 00 00 7e |
配置禁用ACQ低功耗。 |
7e 04 13 00 03 00 09 00 00 00 06 00 04 00 02 00 01 02 7e |
配置使能ACQ低功耗(芯片默认)。 |
表 17 CFG-TRK-LPW消息格式
消息类 |
CTR-CFG |
消息子类 |
CFG-TRK-LPW |
||
|---|---|---|---|---|---|
说明 |
配置跟踪低功耗特性。 |
||||
类型 |
设置 |
||||
消息结构 |
消息类 |
校验和 |
消息序号 |
载荷长度(Byte) |
有效载荷 |
0x0003 |
U2 |
0x0000 |
6 |
如表18所示。 |
|
表 18 CFG-TRK-LPW有效载荷内容
字节偏移 |
数据类型 |
比例因子/单位 |
字段名 |
说明 |
|---|---|---|---|---|
0 |
U2 |
- |
type |
消息子类ID:0x0005。 |
2 |
U2 |
- |
len |
消息子类载荷字节:2。 |
4 |
U1 |
- |
enable |
使能开关:默认1。
|
5 |
U1 |
- |
reserved |
使能低功耗时,此字段固定填2。 |
表 19 CFG-TRK-LPW常用消息示例
消息子类/消息子类名 |
消息内容(HEX) |
消息描述 |
|---|---|---|
0x0005 CFG-TRK-LPW |
7e 04 13 00 03 00 07 00 00 00 06 00 05 00 02 00 00 00 7e |
配置禁用TRK低功耗。 |
7e 04 13 00 03 00 0a 00 00 00 06 00 05 00 02 00 01 02 7e |
配置使能TRK低功耗(芯片默认)。 |
表 20 CFG-ANTIJAM消息格式
消息类 |
CTR-CFG |
消息子类 |
CFG-ANTIJAM |
||
|---|---|---|---|---|---|
说明 |
配置跟踪抗干扰特性。 |
||||
类型 |
设置 |
||||
消息结构 |
消息类 |
校验和 |
消息序号 |
载荷长度(Byte) |
有效载荷 |
0x0003 |
U2 |
0x0000 |
8 |
如表21所示。 |
|
表 21 CFG-ANTIJAM有效载荷内容
字节偏移 |
数据类型 |
比例因子/单位 |
字段名 |
说明 |
|---|---|---|---|---|
0 |
U2 |
- |
type |
消息子类ID:0x0006。 |
2 |
U2 |
- |
len |
消息子类载荷字节:4。 |
4 |
U1 |
- |
enable |
使能开关:默认1。
|
5 |
U1 |
- |
periodWork |
周期性扫描:默认1。
|
6 |
U1 |
- |
weakScan |
弱细扫:默认0。
|
7 |
U1 |
- |
reserved |
保留字段,配置0。 |
表 22 CFG-ANTIJAM常用消息示例
消息子类/消息子类名 |
消息内容(HEX) |
消息描述 |
|---|---|---|
0x0006 CFG-ANTIJAM |
7e 04 15 00 03 00 0a 00 00 00 08 00 06 00 04 00 00 00 00 00 7e |
配置禁用抗干扰特性。 |
7e 04 15 00 03 00 0b 00 00 00 08 00 06 00 04 00 01 00 00 00 7e |
配置使能抗干扰特性(芯片默认)。 |
表 23 CFG-UPDATE-RATE消息格式
消息类 |
CTR-CFG |
消息子类 |
CFG-UPDATE-RATE |
||
|---|---|---|---|---|---|
说明 |
配置定位频率(1Hz-5Hz-10Hz)。 |
||||
类型 |
设置 |
||||
消息结构 |
消息类 |
校验和 |
消息序号 |
载荷长度(Byte) |
有效载荷 |
0x0003 |
U2 |
0x0000 |
5 |
如表24所示。 |
|
表 24 CFG-UPDATE-RATE有效载荷内容
字节偏移 |
数据类型 |
比例因子/单位 |
字段名 |
说明 |
|---|---|---|---|---|
0 |
U2 |
- |
type |
消息子类ID:0x0007。 |
2 |
U2 |
- |
len |
消息子类载荷字节:1。 |
4 |
U1 |
- |
rate |
定位频率:默认0。
|
表 25 CFG-UPDATE-RATE常用消息示例
消息子类/消息子类名 |
消息内容(HEX) |
消息描述 |
|---|---|---|
0x0007 CFG-UPDATE-RATE |
7e 04 12 00 03 00 08 00 00 00 05 00 07 00 01 00 00 7e |
配置定位频率:1Hz。 |
7e 04 12 00 03 00 09 00 00 00 05 00 07 00 01 00 01 7e |
配置定位频率:5Hz。 |
|
7e 04 12 00 03 00 0a 00 00 00 05 00 07 00 01 00 02 7e |
配置定位频率:10Hz。 |
表 26 CFG-PPS消息格式
消息类 |
CTR-CFG |
消息子类 |
CFG-PPS |
||
|---|---|---|---|---|---|
说明 |
配置PPS特性,仅支持1Hz定位频率下使能PPS。 |
||||
类型 |
设置 |
||||
消息结构 |
消息类 |
校验和 |
消息序号 |
载荷长度(Byte) |
有效载荷 |
0x0003 |
U2 |
0x0000 |
8 |
如表27所示。 |
|
表 27 CFG-PPS消息格式有效载荷内容
字节偏移 |
数据类型 |
比例因子/单位 |
字段名 |
描述 |
|
|---|---|---|---|---|---|
0 |
U2 |
- |
type |
消息子类ID:0x0008。 |
|
2 |
U2 |
- |
len |
消息子类载荷字节:4。 |
|
4 |
U1 |
- |
enable |
使能开关:默认0。
|
|
5 |
U1 |
ms |
width |
PPS脉冲上高电平维持时间:默认20ms,最大值255ms。 |
|
6 |
U1 |
- |
reserved1 |
此字段固定填0。 |
|
7 |
U1 |
- |
reserved2 |
此字段固定填0。 |
|
表 28 CFG-PPS常用消息示例
消息子类/消息子类名 |
消息内容(HEX) |
消息描述 |
|---|---|---|
0x0008 CFG-PPS |
7e 04 15 00 03 00 0c 00 00 00 08 00 08 00 04 00 00 00 00 00 7e |
配置禁用1PPS(芯片默认)。 |
7e 04 15 00 03 00 0d 00 00 00 08 00 08 00 04 00 01 00 00 00 7e |
配置使能1PPS。 |
表 29 CFG-FIX-PRIO消息格式
消息类 |
CTR-CFG |
消息子类 |
CFG-FIX-PRIO |
||
|---|---|---|---|---|---|
说明 |
配置定位优先级模式。 |
||||
类型 |
设置 |
||||
消息结构 |
消息类 |
校验和 |
消息序号 |
载荷长度(Byte) |
有效载荷 |
0x0003 |
U2 |
0x0000 |
5 |
如表30所示。 |
|
表 30 CFG-FIX-PRIO有效载荷内容
字节偏移 |
数据类型 |
比例因子/单位 |
字段名 |
说明 |
|---|---|---|---|---|
0 |
U2 |
- |
type |
消息子类ID:0x000a |
2 |
U2 |
- |
len |
消息子类载荷字节:1 |
4 |
U1 |
- |
mode |
优先级模式:默认0
|
表 31 CFG-FIX-PRIO常用消息示例
消息子类/消息子类名 |
消息内容(HEX) |
消息描述 |
|---|---|---|
0x000a CFG-FIX-PRIO |
7e 04 12 00 03 00 0b 00 00 00 05 00 0a 00 01 00 00 7e |
配置定位优先级:自动。(芯片默认) |
7e 04 12 00 03 00 0c 00 00 00 05 00 0a 00 01 00 01 7e |
配置定位优先级:TTFF优先。 |
|
7e 04 12 00 03 00 0d 00 00 00 05 00 0a 00 01 00 02 7e |
配置定位优先级:定位精度优先。 |
表 32 CFG_SYNC_INFO消息格式
消息类 |
CTR-CFG |
消息子类 |
CFG_SYNC_INFO |
||
|---|---|---|---|---|---|
说明 |
配置开始时间同步。 |
||||
类型 |
设置 |
||||
消息结构 |
消息类 |
校验和 |
消息序号 |
载荷长度(Byte) |
有效载荷 |
0x0003 |
U2 |
0x0000 |
5 |
如表33所示。 |
|
表 33 CFG_SYNC_INFO有效载荷内容
字节偏移 |
数据类型 |
比例因子/单位 |
字段名 |
说明 |
|---|---|---|---|---|
0 |
U2 |
- |
type |
消息子类ID:0x1009。 |
2 |
U2 |
- |
reserved |
保留字段 |
4 |
U1 |
- |
isCalib |
使能标志位。
|
表 34 CFG_SYNC_INFO常用消息示例
消息子类/消息子类名 |
消息内容(HEX) |
消息描述 |
|---|---|---|
0x1009 CFG_SYNC_INFO |
7e 04 12 00 03 00 1b 00 00 00 05 00 09 10 01 00 01 7e |
配置开始时间同步,用于PDR融合定位。 |
表 35 CFG-PDR-RPT消息格式
消息类 |
CTR-CFG |
消息子类 |
CFG-PDR-RPT |
||
|---|---|---|---|---|---|
说明 |
配置芯片上报PDR的信息。 |
||||
类型 |
设置 |
||||
消息结构 |
消息类 |
校验和 |
消息序号 |
载荷长度(Byte) |
有效载荷 |
0x0003 |
U2 |
0x0000 |
5 |
如表36所示。 |
|
表 36 CFG-PDR-RPT有效载荷内容
字节偏移 |
数据类型 |
比例因子/单位 |
字段名 |
说明 |
|---|---|---|---|---|
0 |
U2 |
- |
type |
消息子类ID:0x100e。 |
2 |
U2 |
- |
len |
消息子类载荷字节:1。 |
4 |
U1 |
- |
mask |
使能掩码:默认0x00。
|
表 37 CFG_PDR_RPT常用消息示例
消息子类/消息子类名 |
消息内容(HEX) |
消息描述 |
|---|---|---|
0x100e CFG_PDR_RPT |
7e 04 12 00 03 00 1f 00 00 00 05 00 0e 10 01 00 00 7e |
配置上报PDR消息:NONE(芯片默认)。 |
7e 04 12 00 03 00 26 00 00 00 05 00 0e 10 01 00 07 7e |
配置上报PDR消息:观测值/LSQ结果/COMMON信息。 |
表 38 CFG-ALT-CSTR消息格式
消息类 |
CTR-CFG |
消息子类 |
CFG-ALT-CSTR |
||
|---|---|---|---|---|---|
说明 |
配置高动态模式。 |
||||
类型 |
设置 |
||||
消息结构 |
消息类 |
校验和 |
消息序号 |
载荷长度(Byte) |
有效载荷 |
0x0003 |
U2 |
0x0000 |
5 |
如表39所示。 |
|
表 39 CFG-ALT-CSTR有效载荷内容
字节偏移 |
数据类型 |
比例因子/单位 |
字段名 |
说明 |
|---|---|---|---|---|
0 |
U2 |
- |
type |
消息子类ID:0x1012。 |
2 |
U2 |
- |
len |
消息子类载荷字节:1。 |
4 |
U1 |
- |
mode |
高低动态模式:默认1。
|
表 40 CFG-ALT-CSTR常用消息示例
消息子类/消息子类名 |
消息内容(HEX) |
消息描述 |
|---|---|---|
0x1012 CFG-ALT-CSTR |
7e 04 12 00 03 00 24 00 00 00 05 00 12 10 01 00 01 7e |
配置低动态模式(芯片默认)。 |
7e 04 12 00 03 00 23 00 00 00 05 00 12 10 01 00 00 7e |
配置高动态模式。 |
CTR-HIS-REQ
表 1 CTR-HIS-REQ消息格式
消息类 |
CTR-HIS-REQ |
||||
|---|---|---|---|---|---|
说明 |
单次请求历史信息数据。 |
||||
类型 |
单次请求 |
||||
消息结构 |
消息类 |
校验和 |
消息序号 |
载荷长度(Byte) |
有效载荷 |
0x0102 |
U2 |
0x0001 |
0 |
如表2所示。 |
|
表 2 CTR-HIS-REQ有效载荷内容
字节偏移 |
数据类型 |
比例因子/单位 |
字段名 |
说明 |
|---|---|---|---|---|
- |
- |
- |
- |
- |
表 3 CTR-HIS-REQ常用消息示例
消息类/消息类名 |
消息内容(HEX) |
消息描述 |
|---|---|---|
0x0102 CTR-HIS-REQ |
7e 04 0d 00 02 01 00 00 01 00 00 00 7e |
单次请求历史信息数据,用于温启动。 |
CTR-PX-TIME
表 1 CTR-PX-TIME消息格式
消息类 |
CTR-PX-TIME |
||||
|---|---|---|---|---|---|
说明 |
PGNSS注入参考时间功能,要求其他辅助数据前注入。 |
||||
类型 |
设置 |
||||
消息结构 |
消息类 |
校验和 |
消息序号 |
载荷长度(Byte) |
有效载荷。 |
0x0201 |
U2 |
0x0000 |
14 |
如表2所示。 |
|
表 2 CTR-PX-TIME有效载荷内容
字节偏移 |
数据类型 |
比例因子/单位 |
字段名 |
说明 |
|---|---|---|---|---|
0 |
U2 |
- |
weekNumber |
GPS时间系统,周数;每过一周,周数+1,数值范围0~65535,持续累加计数不清零。 |
2 |
U4 |
s |
tow |
GPS时间系统,周内秒。 |
6 |
U4 |
- |
timeUnc |
置信度,数值范围0~100,数值越高表示精度越高。 |
10 |
U4 |
- |
source |
时间源,默认填1:
|
表 3 CTR-PX-TIME常用消息示例
消息类/消息类名 |
消息内容(HEX) |
消息描述 |
|---|---|---|
0x0201 CTR-PX-TIME |
7e 04 1b 00 01 02 11 02 00 00 0e 00 f6 00 21 a1 05 00 53 00 00 00 01 00 00 00 7e |
注入PGNSS参考时间,北京时间2023-12-28 14:28:49.000。 |
CTR-AX-TIME
表 1 CTR-AX-TIME消息格式
消息类 |
CTR-AX-TIME |
||||
|---|---|---|---|---|---|
说明 |
AGNSS注入参考时间功能,要求其他辅助数据前注入。 |
||||
类型 |
设置 |
||||
消息结构 |
消息类 |
校验和 |
消息序号 |
载荷长度(Byte) |
有效载荷 |
0x0301 |
U2 |
0x0000 |
19 |
如表2所示。 |
|
表 2 CTR-AX-TIME有效载荷内容
字节偏移 |
数据类型 |
比例因子/单位 |
字段名 |
说明 |
|---|---|---|---|---|
0 |
U1 |
- |
weekRound |
GPS时间系统,周计数;从0开始,GPS周数满一个周期,周计数+1。 |
1 |
U2 |
- |
weekNumber |
GPS时间系统,周数;每过一周,周数+1,数值范围0~1023,满一个周期后周数清零。 |
3 |
U4 |
ms |
tow |
GPS时间系统,周内秒。 |
7 |
U4 |
- |
towUnit |
固定填1。 |
11 |
U4 |
- |
timeUnc |
置信度,数值范围0~100,数值越高表示精度越高。 |
15 |
U4 |
- |
resv |
固定填0。 |
表 3 CTR-AX-TIME常用消息示例
消息类/消息类名 |
消息内容(HEX) |
消息描述 |
|---|---|---|
0x0301 CTR-AX-TIME |
7e 04 20 00 01 03 75 03 00 00 13 00 00 f6 00 d8 41 fd 15 01 00 00 00 53 00 00 00 00 00 00 00 7e |
注入AGNSS参考时间,北京时间2023-12-28 14:28:39.000。 |
CTR-AST-TIME
表 1 CTR-AST-TIME消息格式
消息类 |
CTR-AST-TIME |
||||
|---|---|---|---|---|---|
说明 |
注入UTC时间,要求在所有辅助数据前注入。 |
||||
类型 |
设置 |
||||
消息结构 |
消息类 |
校验和 |
消息序号 |
载荷长度(Byte) |
有效载荷。 |
0x0404 |
U2 |
0x0000 |
10 |
如表2所示。 |
|
表 2 CTR-AST-TIME有效载荷内容
字节偏移 |
数据类型 |
比例因子/单位 |
字段名 |
说明 |
|---|---|---|---|---|
0 |
U2 |
- |
year |
当前年份,如2023。 |
2 |
U1 |
- |
month |
当前月份,数据范围1~12。 |
3 |
U1 |
- |
day |
当前日期,数据范围1~31。 |
4 |
U1 |
- |
hour |
当前小时数,数据范围0~23。 |
5 |
U1 |
- |
minute |
当前分钟数,数据范围0~59。 |
6 |
U1 |
s |
second |
当前秒数,数据范围0~59。 |
7 |
U2 |
ms |
ms |
当前秒内的毫秒数,数据范围0~999。 |
9 |
U1 |
- |
valid |
数据有效性:
|
表 3 CTR-AST-TIME常用消息示例
消息类/消息类名 |
消息内容(HEX) |
消息描述 |
|---|---|---|
0x0404 CTR-AST-TIME |
7e 04 17 00 04 04 bc 01 00 00 0a 00 e7 07 0c 1c 06 1c 15 6c 02 01 7e |
注入UTC时间,北京时间2023-12-28 14:28:21.620,换算成UTC时间2023-12-28 6:28:21.620。 |
CTR-AX-LOC
表 1 CTR-AX-LOC消息格式
消息类 |
CTR-AX-LOC |
||||
|---|---|---|---|---|---|
说明 |
注入AGNSS位置。 |
||||
类型 |
设置 |
||||
消息结构 |
消息类 |
校验和 |
消息序号 |
载荷长度(Byte) |
有效载荷。 |
0x0302 |
U2 |
0x0001 |
43 |
如表2所示。 |
|
表 2 CTR-AX-LOC有效载荷内容
字节偏移 |
数据类型 |
比例因子/单位 |
字段名 |
说明 |
|---|---|---|---|---|
0 |
U4 |
(2-24/180)deg |
latitude |
接收机纬度。 |
4 |
I4 |
(2-23/180)deg |
longitude |
接收机经度,通过正负号区分东西经:
|
8 |
I4 |
- |
altInfoValid |
海拔信息有效标志:
|
12 |
I2 |
m |
altitude |
海拔高度。 |
14 |
U1 |
- |
latitudeSign |
纬度符号:
|
15 |
I4 |
- |
reserved1 |
保留配置,配置0 |
19 |
U1 |
- |
altSign |
海拔高度符号:
|
20 |
U1 |
- |
reserved2 |
保留配置,配置0。 |
21 |
U1 |
- |
reserved3 |
保留配置,配置0。 |
22 |
U1 |
- |
reserved4 |
保留配置,配置0。 |
23 |
I4 |
- |
reserved5 |
保留配置,配置0。 |
27 |
U1 |
- |
reserved6 |
保留配置,配置0。 |
28 |
U1 |
- |
reserved7 |
保留配置,配置0。 |
29 |
U1 |
- |
reserved8 |
保留配置,配置0。 |
30 |
U1 |
- |
reserved9 |
保留配置,配置0。 |
31 |
U2 |
- |
reserved10 |
保留配置,配置0。 |
33 |
U2 |
- |
reserved11 |
保留配置,配置0。 |
35 |
U2 |
- |
reserved12 |
保留配置,配置0。 |
37 |
U2 |
- |
reserved13 |
保留配置,配置0。 |
39 |
U2 |
- |
reserved14 |
保留配置,配置0。 |
41 |
U2 |
- |
reserved15 |
保留配置,配置0。 |
表 3 CTR-AX-LOC常用消息示例
消息类/消息类名 |
消息内容(HEX) |
消息描述 |
|---|---|---|
0x0302 CTR-AX-LOC |
7e 04 38 00 02 03 d2 01 00 00 2b 00 f5 49 1f 00 11 11 51 00 01 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 7e |
注入接收机位置(北纬22°,东经114°,海拔高度0m)。 |
CTR-DEL-AID
表 1 CTR-DEL-AID消息格式
消息类 |
CTR-DEL-AID |
||||
|---|---|---|---|---|---|
说明 |
配置删除芯片内辅助数据。 |
||||
类型 |
设置 |
||||
消息结构 |
消息类 |
校验和 |
消息序号 |
载荷长度(Byte) |
有效载荷。 |
0x0403 |
U2 |
0x0001 |
2 |
如表2所示。 |
|
表 2 CTR-DEL-AID有效载荷内容
字节偏移 |
数据类型 |
比例因子/单位 |
字段名 |
说明 |
|---|---|---|---|---|
0 |
U2 |
- |
delAid |
删除辅助信息掩码:
|
表 3 CTR-DEL-AID常用消息示例
消息类/消息类名 |
消息内容(HEX) |
消息描述 |
|---|---|---|
0x0403 CTR-DEL-AID |
7e 04 0f 00 03 04 fe 01 00 00 02 00 ff ff 7e |
删除芯片内所有辅助信息。 |
GNBIN业务上报类消息
RPT-QRY
RPT-QRY消息用于上报CTR-QRY配置单次查询结果,对应CTR-QRY的消息子类,RPT-QRY消息也支持相应的子类。
表 1 QRY-PPS-CFG消息格式
消息类 |
RPT-QRY |
消息子类 |
QRY-PPS-CFG |
||
|---|---|---|---|---|---|
说明 |
上报PPS配置信息。 |
||||
类型 |
查询上报 |
||||
消息结构 |
消息类 |
校验和 |
消息序号 |
载荷长度(Byte) |
有效载荷。 |
0x1006 |
U2 |
0x0000 |
4 |
如表2所示。 |
|
表 2 QRY-PPS-CFG有效载荷内容
字节偏移 |
数据类型 |
比例因子/单位 |
字段名 |
说明 |
|
|---|---|---|---|---|---|
0 |
U1 |
- |
type |
消息子类ID:0x01。 |
|
1 |
U2 |
- |
len |
消息子类载荷字节:1。 |
|
3 |
U1 |
- |
enable |
使能开关:默认0。
|
|
表 3 QRY-GNSS-CFG消息格式
消息类 |
RPT-QRY |
消息子类 |
QRY-GNSS-CFG |
||
|---|---|---|---|---|---|
说明 |
上报GNSS星座配置信息。 |
||||
类型 |
查询上报 |
||||
消息结构 |
消息类 |
校验和 |
消息序号 |
载荷长度(Byte) |
有效载荷。 |
0x1006 |
U2 |
0x0000 |
7 |
如表4所示。 |
|
表 4 QRY-GNSS-CFG有效载荷内容
字节偏移 |
数据类型 |
比例因子/单位 |
字段名 |
说明 |
|---|---|---|---|---|
0 |
U1 |
- |
type |
消息子类ID:0x02。 |
1 |
U2 |
- |
len |
消息子类载荷字节:4。 |
3 |
U4 |
- |
fixmode |
星座掩码:默认0x001f
|
表 5 QRY-NMEA-CFG消息格式
消息类 |
RPT-QRY |
消息子类 |
QRY-NMEA-CFG |
||
|---|---|---|---|---|---|
说明 |
上报NMEA输出配置信息。 |
||||
类型 |
查询上报 |
||||
消息结构 |
消息类 |
校验和 |
消息序号 |
载荷长度(Byte) |
有效载荷。 |
0x1006 |
U2 |
0x0000 |
5 |
如表6所示。 |
|
表 6 QRY-NMEA-CFG有效载荷内容
字节偏移 |
数据类型 |
比例因子/单位 |
字段名 |
说明 |
|---|---|---|---|---|
0 |
U1 |
- |
type |
消息子类ID:0x03。 |
1 |
U2 |
- |
len |
消息子类载荷字节:2。 |
3 |
U2 |
- |
mask |
使能掩码:默认0x0011。 0x0001:GGA 0x0002:GLL 0x0004:GSA 0x0008:GSV 0x0010:RMC 0x0020:VTG 0x0040:ZDA 0x0080:PN(自定义消息) |
表 7 QRY-TSENSOR-INFO消息格式
消息类 |
RPT-QRY |
消息子类 |
QRY-TSENSOR-INFO |
||
|---|---|---|---|---|---|
说明 |
上报Tsensor温度传感器信息 |
||||
类型 |
查询上报 |
||||
消息结构 |
消息类 |
校验和 |
消息序号 |
载荷长度(Byte) |
有效载荷。 |
0x1006 |
U2 |
0x0000 |
5 |
如表8所示。 |
|
表 8 QRY-TSENSOR-INFO有效载荷内容
字节偏移 |
数据类型 |
比例因子/单位 |
字段名 |
说明 |
|---|---|---|---|---|
0 |
U1 |
- |
type |
消息子类ID:0x04。 |
1 |
U2 |
- |
len |
消息子类载荷字节:2。 |
3 |
I2 |
degree Celsius |
temper |
Tsensor传感器温度。 |
RPT-ACK
表 1 RPT-ACK消息格式
消息类 |
RPT-ACK |
||||
|---|---|---|---|---|---|
说明 |
回复主机下发的配置信息。 |
||||
类型 |
配置回执 |
||||
消息结构 |
消息类 |
校验和 |
消息序号 |
载荷长度(Byte) |
有效载荷。 |
0xFF01 |
U2 |
0x0000 |
4 |
如表2所示。 |
|
表 2 RPT-ACK有效载荷内容
字节偏移 |
数据类型 |
比例因子/单位 |
字段名 |
说明 |
|---|---|---|---|---|
0 |
U2 |
- |
cmd |
主机下发的控制类消息ID:CTR-XXX。 |
2 |
U2 |
- |
status |
芯片对该消息的处理状态:
|
RPT-NAV
表 1 RPT-NAV消息格式
消息类 |
RPT-NAV |
||||
|---|---|---|---|---|---|
说明 |
上报导航定位信息。 |
||||
类型 |
周期性上报 |
||||
消息结构 |
消息类 |
校验和 |
消息序号 |
载荷长度(Byte) |
有效载荷。 |
0x1002 |
U2 |
0x0000 |
82 |
如表2所示。 |
|
表 2 RPT-NAV有效载荷内容
字节偏移 |
数据类型 |
比例因子/单位 |
字段名 |
说明 |
|---|---|---|---|---|
0 |
U2 |
- |
flag |
对应下述各字段有效性:
|
2 |
U8 |
ms |
unixTime |
1970-01-01 00:00:00 开始的UTC连续时间计数。 |
10 |
I8 |
2-24deg |
latitude |
接收机纬度。 |
18 |
I8 |
2-24deg |
longitude |
接收机经度。 |
26 |
I8 |
2-20m |
clockBias |
接收机钟差。 |
34 |
I8 |
2-20Hz |
clockDrift |
接收机钟漂(相对于1575.42M)。 |
42 |
I8 |
2-20m/s |
velocityE |
接收机东方向速率。 |
50 |
I8 |
2-20m/s |
velocityN |
接收机北方向速率。 |
58 |
I8 |
2-20m/s |
velocityU |
接收机天方向速率。 |
66 |
R4 |
m |
altitude |
接收机高度。 |
70 |
R4 |
rad |
heading |
接收机速度真北方向。 |
74 |
R4 |
m |
positionAcc |
接收机位置精度。 |
78 |
R4 |
m/s |
velocityAcc |
接收机速度精度。 |
RPT-PDR-CMN
表 1 RPT-PDR-CMN消息格式
消息类 |
RPT-PDR-CMN |
||||
|---|---|---|---|---|---|
说明 |
上报PDR消息:COMMON信息 |
||||
类型 |
周期性上报 |
||||
消息结构 |
消息类 |
校验和 |
消息序号 |
载荷长度(Byte) |
有效载荷。 |
0x100B |
U2 |
0x0000 |
21 |
如表2所示。 |
|
表 2 RPT-PDR-CMN有效载荷内容
字节偏移 |
数据类型 |
比例因子/单位 |
字段名 |
说明 |
|---|---|---|---|---|
0 |
I4 |
ms |
deltaTime |
观测量时间与下发时间同步命令时刻的时间差。 |
4 |
U1 |
- |
context |
场景识别:
|
5 |
U1 |
- |
isStatic |
是否静态标识:
|
6 |
U1 |
- |
pvtState |
PVT状态:
|
7 |
U2 |
- |
inuseNum |
参与定位卫星个数。 |
9 |
R4 |
- |
qop |
定位精度评估。 |
13 |
R4 |
- |
hdop |
水平方向定位精度因子。 |
17 |
R4 |
m |
ems |
伪距残差均方根。 |
GNBIN业务消息交互
当接收机接收到一个控制类消息时,会根据当前消息处理状态,回复一个RPT-ACK消息,在接收机回复RPT-ACK之前,用户不得再发送另一条控制类消息,否则会导致接收机对下发的消息处理失败。
MCU(主机)与GNSS(芯片)的消息交互机制如图1所示。

- 可选,主机向芯片下发配置项/注入辅助信息/删除历史信息。
- 必须,主机向芯片下发启动GNSS的命令。
- 可选,主机向芯片注入辅助信息,查询信息。
- 可选,芯片根据配置情况,向主机上报信息。
- 必选,主机向芯片下发停止GNSS的命令。
联调与排障
| 现象 | 检查方法 |
|---|---|
| 未收到 NMEA 数据 | 确认已通过 uapi_gnss_register_callback 注册 GNSS_CALLBACK_NMEA,并已完成 GNSS 启动。检查语句起始符、校验和与 <CR><LF>。 |
| 二进制数据无法解析 | SDK 驱动回调交付的是 GNBIN 内层数据;UART 直连数据需要先处理外层 0x7E 帧和分包,再解析内层 8 字节消息头。 |
| 控制消息无响应或返回错误 | 核对消息类、载荷长度、载荷校验和和小端字节序;等待当前控制类消息的 RPT-ACK 后再下发下一条控制类消息。具体状态码见 RPT-ACK。 |
| 查询结果未到达 | CTR-QRY 的结果通过 RPT-QRY 上报,检查二进制回调和查询子类 ID 是否匹配。 |
| 只收到一个业务分包 | UART 直连时按 0x02、0x03、0x04 的顺序拼接消息载荷后再解析内层协议;使用 SDK 驱动时不要自行重复分包。 |
联调前建议分别验证 NMEA 文本输出、GNBIN CTR-START/RPT-ACK 流程及查询上报流程,再叠加辅助数据注入或 PDR 业务。硬件、串口和定位状态的检查流程见 GNSS集成开发指南。
注意事项
- GNBIN 的多字节数据按小端格式排列;内层校验和只对有效载荷做按字节累加,NMEA 校验和按
$与*之间的字节异或计算。 - 使用公开驱动接口时,向 uapi_gnss_config 传入内层
gnss_message_t,不要把外层 0x7E 封装再次传入。 - 对于直接 UART 接入,单个业务消息的分包、帧长和消息尾均必须符合 GNBIN 外层协议;不能仅复制某个示例的十六进制字节后任意替换字段。
- 当前 NMEA 标准消息以本指南的“NMEA消息类型列表”为准:GGA、RMC、GSV、GSA、VTG、ZDA、GLL;自定义消息为 TH000、TH001、TH002。
- 需在定位启动前执行的配置、时间或辅助数据注入应遵守各消息章节的时序要求。涉及 PGNSS、AGNSS 或 RTK 的业务还应参见 XGNSS开发指南。
- 集成、烧录、运行和日志确认应使用 GNSS集成开发指南 中的流程。