10轴IMU模块通讯协议
10轴IMU模块通讯协议指令使用说明:寄存器表协议格式读格式时间输出加速度输出角速度输出角度输出磁场输出端口状态输出气压高度输出经纬度输出GPS数据输出四元数输出GPS定位精度输出读取寄存器返回值写格式SAVE(保存/重启/恢复出厂)CALSW(校准模式)RSW(输出内容)RRATE(输出速率)BAUD(串口波特率)AXOFFSETHZOFFSET(零偏设置)D0MODED3MODE(端口模式设置)IICADDR(设备地址)LEDOFF(关闭LED灯)MAGRANGXMAGRANGZ(磁场校准范围)BANDWIDTH(带宽)GYRORANGE(陀螺仪量程)ACCRANGE(加速度计量程)SLEEP(休眠)ORIENT(安装方向)AXIS6(算法)FILTK(K值滤波)GPSBAUD(GPS波特率)READADDR(读取寄存器)ACCFILT(加速度滤波)POWONSEND(上电输出)VERSION(版本号)YYMMMS(片上时间)AXAZ(加速度)GXGZ(角速度)HXHZ(磁场)RollYaw(角度)TEMP(温度)D0StatusD3Status(端口状态)PressureLHeightH(气压高度)LonLLatH(经纬度)GPSHeightGPSVH(GPS数据)q0q3(四元数)SVNUMVDOP(GPS定位精度)DELAYT(报警信号延时)XMINXMAX(X轴角度报警阈值)BATVAL(电压)ALARMPIN(报警引脚映射)YMINYMAX(Y轴角度报警阈值)GYROCALITHR(陀螺仪静止阈值)ALARMLEVEL(角度报警电平)GYROCALTIME(陀螺仪自动校准时间)TRIGTIME(报警连续触发时间)KEY(解锁)WERROR(陀螺仪变化值)TIMEZONE(GPS时区)WZTIME(角速度连续静止时间)WZSTATIC(角速度积分阈值)MODDELAY(485数据应答延时)XREFROLLYREFPITCH(角度零位参考值)NUMBERID1NUMBERID6(设备编号)
指令使用说明:
串口发送指令必须要在10S 内完成,否则会自动上锁,为避免自动上锁,可以先进行以下步骤。
- 输入解锁指令
- 输入需要修改或读取数据的指令
- 保存指令
寄存器表
| ADDR(Hex) | ADDR(Dec) | REGISTER NAME | FUNCTION | SERIAL I/F | Bit15 | Bit14 | Bit13 | Bit12 | Bit11 | Bit10 | Bit9 | Bit8 | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 00 | 00 | SAVE | 保存/重启/恢复出厂 | R/W | SAVE[15:0] | |||||||||||||||
| 01 | 01 | CALSW | 校准模式 | R/W | CALSW[3:0] | |||||||||||||||
| 02 | 02 | RSW | 输出内容 | R/W | GSA | QUATER | VELOCITY | GPS | PRESS | PORT | MAG | ANGLE | GYRO | ACC | TIME | |||||
| 03 | 03 | RRATE | 输出速率 | R/W | RRATE[3:0] | |||||||||||||||
| 04 | 04 | BAUD | 串口波特率 | R/W | BAUD[3:0] | |||||||||||||||
| 05 | 05 | AXOFFSET | 加速度X零偏 | R/W | AXOFFSET[15:0] | |||||||||||||||
| 06 | 06 | AYOFFSET | 加速度Y零偏 | R/W | AYOFFSET[15:0] | |||||||||||||||
| 07 | 07 | AZOFFSET | 加速度Z零偏 | R/W | AZOFFSET[15:0] | |||||||||||||||
| 08 | 08 | GXOFFSET | 角速度X零偏 | R/W | GXOFFSET[15:0] | |||||||||||||||
| 09 | 09 | GYOFFSET | 角速度Y零偏 | R/W | GYOFFSET[15:0] | |||||||||||||||
| 0A | 10 | GZOFFSET | 角速度Z零偏 | R/W | GZOFFSET[15:0] | |||||||||||||||
| 0B | 11 | HXOFFSET | 磁场X零偏 | R/W | HXOFFSET[15:0] | |||||||||||||||
| 0C | 12 | HYOFFSET | 磁场Y零偏 | R/W | HYOFFSET[15:0] | |||||||||||||||
| 0D | 13 | HZOFFSET | 磁场Z零偏 | R/W | HZOFFSET[15:0] | |||||||||||||||
| 0E | 14 | D0MODE | D0引脚模式 | R/W | D0MODE[3:0] | |||||||||||||||
| 0F | 15 | D1MODE | D1引脚模式 | R/W | D1MODE[3:0] | |||||||||||||||
| 10 | 16 | D2MODE | D2引脚模式 | R/W | D2MODE[3:0] | |||||||||||||||
| 11 | 17 | D3MODE | D3引脚模式 | R/W | D3MODE[3:0] | |||||||||||||||
| 1A | 26 | IICADDR | 设备地址 | R/W | IICADDR[7:0] | |||||||||||||||
| 1B | 27 | LEDOFF | 关闭LED灯 | R/W | LEDOFF | |||||||||||||||
| 1C | 28 | MAGRANGX | 磁场X校准范围 | R/W | MAGRANGX[15:0] | |||||||||||||||
| 1D | 29 | MAGRANGY | 磁场Y校准范围 | R/W | MAGRANGY[15:0] | |||||||||||||||
| 1E | 30 | MAGRANGZ | 磁场Z校准范围 | R/W | MAGRANGZ[15:0] | |||||||||||||||
| 1F | 31 | BANDWIDTH | 带宽 | R/W | BANDWIDTH[3:0] | |||||||||||||||
| 20 | 32 | GYRORANGE | 陀螺仪量程 | R/W | GYRORANGE[3:0] | |||||||||||||||
| 21 | 33 | ACCRANGE | 加速度量程 | R/W | ACCRANGE[3:0] | |||||||||||||||
| 22 | 34 | SLEEP | 休眠 | R/W | SLEEP | |||||||||||||||
| 23 | 35 | ORIENT | 安装方向 | R/W | ORIENT | |||||||||||||||
| 24 | 36 | AXIS6 | 算法 | R/W | AXIS6 | |||||||||||||||
| 25 | 37 | FILTK | 动态滤波 | R/W | FILTK[15:0] | |||||||||||||||
| 26 | 38 | GPSBAUD | GPS波特率 | R/W | GPSBAUD[3:0] | |||||||||||||||
| 27 | 39 | READADDR | 读取寄存器 | R/W | READADDR[7:0] | |||||||||||||||
| 2A | 42 | ACCFILT | 加速度滤波 | R/W | ACCFILT[15:0] | |||||||||||||||
| 2D | 45 | POWONSEND | 指令启动 | R/W | POWONSEND[3:0] | |||||||||||||||
| 2E | 46 | VERSION | 版本号 | R | VERSION[15:0] | |||||||||||||||
| 30 | 48 | YYMM | 年月 | R/W | MOUTH[15:8] | YEAR[7:0] | ||||||||||||||
| 31 | 49 | DDHH | 日时 | R/W | HOUR[15:8] | DAY[7:0] | ||||||||||||||
| 32 | 50 | MMSS | 分秒 | R/W | SECONDS[15:8] | MINUTE[7:0] | ||||||||||||||
| 33 | 51 | MS | 毫秒 | R/W | MS[15:0] | |||||||||||||||
| 34 | 52 | AX | 加速度X | R | AX[15:0] | |||||||||||||||
| 35 | 53 | AY | 加速度Y | R | AY[15:0] | |||||||||||||||
| 36 | 54 | AZ | 加速度Z | R | AZ[15:0] | |||||||||||||||
| 37 | 55 | GX | 角速度X | R | GX[15:0] | |||||||||||||||
| 38 | 56 | GY | 角速度Y | R | GY[15:0] | |||||||||||||||
| 39 | 57 | GZ | 角速度Z | R | GZ[15:0] | |||||||||||||||
| 3A | 58 | HX | 磁场X | R | HX[15:0] | |||||||||||||||
| 3B | 59 | HY | 磁场Y | R | HY[15:0] | |||||||||||||||
| 3C | 60 | HZ | 磁场Z | R | HZ[15:0] | |||||||||||||||
| 3D | 61 | Roll | 横滚角 | R | Roll[15:0] | |||||||||||||||
| 3E | 62 | Pitch | 俯仰角 | R | Pitch[15:0] | |||||||||||||||
| 3F | 63 | Yaw | 航向角 | R | Yaw[15:0] | |||||||||||||||
| 40 | 64 | TEMP | 温度 | R | TEMP[15:0] | |||||||||||||||
| 41 | 65 | D0Status | D0引脚状态 | R | D0Status[15:0] | |||||||||||||||
| 42 | 66 | D1Status | D1引脚状态 | R | D1Status[15:0] | |||||||||||||||
| 43 | 67 | D2Status | D2引脚状态 | R | D2Status[15:0] | |||||||||||||||
| 44 | 68 | D3Status | D3引脚状态 | R | D3Status[15:0] | |||||||||||||||
| 45 | 69 | PressureL | 气压低16位 | R | PressureL[15:0] | |||||||||||||||
| 46 | 70 | PressureH | 气压高16位 | R | PressureH[15:0] | |||||||||||||||
| 47 | 71 | HeightL | 高度低16位 | R | HeightL[15:0] | |||||||||||||||
| 48 | 72 | HeightH | 高低高16位 | R | HeightH[15:0] | |||||||||||||||
| 49 | 73 | LonL | 经度低16位 | R | LonL[15:0] | |||||||||||||||
| 4A | 74 | LonH | 经度高16位 | R | LonH[15:0] | |||||||||||||||
| 4B | 75 | LatL | 纬度低16位 | R | LatL[15:0] | |||||||||||||||
| 4C | 76 | LatH | 纬度高16位 | R | LatH[15:0] | |||||||||||||||
| 4D | 77 | GPSHeight | GPS海拔 | R | GPSHeight[15:0] | |||||||||||||||
| 4E | 78 | GPSYAW | GPS航向角 | R | GPSYAW[15:0] | |||||||||||||||
| 4F | 79 | GPSVL | GPS地速低16位 | R | GPSVL[15:0] | |||||||||||||||
| 50 | 80 | GPSVH | GPS地速高16位 | R | GPSVH[15:0] | |||||||||||||||
| 51 | 81 | q0 | 四元数0 | R | q0[15:0] | |||||||||||||||
| 52 | 82 | q1 | 四元数1 | R | q1[15:0] | |||||||||||||||
| 53 | 83 | q2 | 四元数2 | R | q2[15:0] | |||||||||||||||
| 54 | 84 | q3 | 四元数3 | R | q3[15:0] | |||||||||||||||
| 55 | 85 | SVNUM | 卫星数 | R | SVNUM[15:0] | |||||||||||||||
| 56 | 86 | PDOP | 位置精度 | R | PDOP[15:0] | |||||||||||||||
| 57 | 87 | HDOP | 水平精度 | R | HDOP[15:0] | |||||||||||||||
| 58 | 88 | VDOP | 垂直精度 | R | VDOP[15:0] | |||||||||||||||
| 59 | 89 | DELAYT | 报警信号延时 | R/W | DELAYT[15:0] | |||||||||||||||
| 5A | 90 | XMIN | X轴角度报警最小值 | R/W | XMIN[15:0] | |||||||||||||||
| 5B | 91 | XMAX | X轴角度报警最大值 | R/W | XMAX[15:0] | |||||||||||||||
| 5C | 92 | BATVAL | 供电电压 | R | BATVAL[15:0] | |||||||||||||||
| 5D | 93 | ALARMPIN | 报警引脚映射 | R/W | X-ALARM[15:12] | X+ALARM[11:8] | Y-ALARM[7:4] | Y+ALARM[3:0] | ||||||||||||
| 5E | 94 | YMIN | Y轴角度报警最小值 | R/W | YMIN[15:0] | |||||||||||||||
| 5F | 95 | YMAX | Y轴角度报警最大值 | R/W | YMAX[15:0] | |||||||||||||||
| 61 | 97 | GYROCALITHR | 陀螺仪静止阈值 | R/W | GYROCALITHR[15:0] | |||||||||||||||
| 62 | 98 | ALARMLEVEL | 角度报警电平 | R/W | ALARMLEVEL[3:0] | |||||||||||||||
| 63 | 99 | GYROCALTIME | 陀螺仪自动校准时间 | R/W | GYROCALTIME[15:0] | |||||||||||||||
| 68 | 104 | TRIGTIME | 报警连续触发时间 | R/W | TRIGTIME[15:0] | |||||||||||||||
| 69 | 105 | KEY | 解锁 | R/W | KEY[15:0] | |||||||||||||||
| 6A | 106 | WERROR | 陀螺仪变化值 | R | WERROR[15:0] | |||||||||||||||
| 6B | 107 | TIMEZONE | GPS时区 | R/W | TIMEZONE[7:0] | |||||||||||||||
| 6E | 110 | WZTIME | 角速度连续静止时间 | R/W | WZTIME[15:0] | |||||||||||||||
| 6F | 111 | WZSTATIC | 角速度积分阈值 | R/W | WZSTATIC[15:0] | |||||||||||||||
| 74 | 116 | MODDELAY | 485数据应答延时 | R/W | ||||||||||||||||
| 79 | 121 | XREFROLL | 横滚角零位参考值 | R | XREFROLL[15:0] | |||||||||||||||
| 7A | 122 | YREFPITCH | 俯仰角零位参考值 | R | YREFPITCH[15:0] | |||||||||||||||
| 7F | 127 | NUMBERID1 | 设备编号1-2 | R | ID2[15:8] | ID1[7:0] | ||||||||||||||
| 80 | 128 | NUMBERID2 | 设备编号3-4 | R | ID4[15:8] | ID3[7:0] | ||||||||||||||
| 81 | 129 | NUMBERID3 | 设备编号5-6 | R | ID6[15:8] | ID5[7:0] | ||||||||||||||
| 82 | 130 | NUMBERID4 | 设备编号7-8 | R | ID8[15:8] | ID7[7:0] | ||||||||||||||
| 83 | 131 | NUMBERID5 | 设备编号9-10 | R | ID10[15:8] | ID9[7:0] | ||||||||||||||
| 84 | 132 | NUMBERID6 | 设备编号11-12 | R | ID12[15:8] | ID11[7:0] |
协议格式
读格式
- 数据是按照16进制方式发送的,不是ASCII码。
- 每个数据分低字节和高字节依次传送,二者组合成一个有符号的short类型的数据。例如数据DATA1,其中DATA1L为低字节,DATA1H为高字节。转换方法如下:假设DATA1为实际的数据,DATA1H为其高字节部分,DATA1L为其低字节部分, 那么:DATA1=(short)((short)DATA1H<<8|DATA1L)。这里一定要注意DATA1H需要先强制转换为一个有符号的short类型的数据以后再移位,并且DATA1的数据类型也是有符号的short类型,这样才能表示出负数。
| 协议头 | 数据内容 | 数据低8位 | 数据高8位 | 数据低8位 | 数据高8位 | 数据低8位 | 数据高8位 | 数据低8位 | 数据高8位 | SUMCRC |
|---|---|---|---|---|---|---|---|---|---|---|
| 0x55 | TYPE【1】 | DATA1L[7:0] | DATA1H[15:8] | DATA2L[7:0] | DATA2H[15:8] | DATA3L[7:0] | DATA3H[15:8] | DATA4L[7:0] | DATA4H[15:8] | SUMCRC【2】 |
【1】TYPE(数据内容):
| TYPE | 备注 |
|---|---|
| 0x50 | 时间 |
| 0x51 | 加速度 |
| 0x52 | 角速度 |
| 0x53 | 角度 |
| 0x54 | 磁场 |
| 0x55 | 端口状态 |
| 0x56 | 气压高度 |
| 0x57 | 经纬度 |
| 0x58 | 地速 |
| 0x59 | 四元数 |
| 0x5A | GPS定位精度 |
| 0x5F | 读取 |
【2】SUMCRC(数据和校验):
SUMCRC=0x55+TYPE+DATA1L+DATA1H+DATA2L+DATA2H+DATA3L+DATA3H+DATA4L+DATA4H
SUMCRC为char型,取校验和的低8位
时间输出
| 0x55 | 0x50 | YY | MM | DD | HH | MN | SS | MSL | MSH | SUM |
|---|---|---|---|---|---|---|---|---|---|---|
| 名称 | 描述 | 备注 | ||||||||
| --- | --- | --- | ||||||||
| YY | 年 | |||||||||
| MM | 月 | |||||||||
| DD | 日 | |||||||||
| HH | 时 | |||||||||
| MN | 分 | |||||||||
| SS | 秒 | |||||||||
| MSL | 毫秒低8位 | 毫秒计算公式:毫秒=((MSH<<8) | MSL) | |||||||
| MSH | 毫秒高8位 | |||||||||
| SUM | 校验和 | SUM=0x55+0x50+YY+MM+DD+HH+MN+SS+MSL+MSH |
加速度输出
| 0x55 | 0x51 | AxL | AxH | AyL | AyH | AzL | AzH | TL | TH | SUM |
|---|---|---|---|---|---|---|---|---|---|---|
| 名称 | 描述 | 备注 | ||||||||
| --- | --- | --- | ||||||||
| AxL | 加速度X低8位 | 加速度X=((AxH<<8) | AxL)/32768*16g(g为重力加速度,可取9.8m/s2) | |||||||
| AxH | 加速度X高8位 | |||||||||
| AyL | 加速度Y低8位 | 加速度Y=((AyH<<8) | AyL)/32768*16g(g为重力加速度,可取9.8m/s2) | |||||||
| AyH | 加速度Y高8位 | |||||||||
| AzL | 加速度Z低8位 | 加速度Z=((AzH<<8) | AzL)/32768*16g(g为重力加速度,可取9.8m/s2) | |||||||
| AzH | 加速度Z高8位 | |||||||||
| TL | 温度低8位 | 温度计算公式:温度=((TH<<8) | TL) /100 ℃ | |||||||
| TH | 温度高8位 | |||||||||
| SUM | 校验和 | SUM=0x55+0x51+AxL+AxH+AyL+AyH+AzL+AzH+TL+Th |
角速度输出
| 0x55 | 0x52 | WxL | WxH | WyL | WyH | WzL | WzH | VolL | VolH | SUM |
|---|---|---|---|---|---|---|---|---|---|---|
| 名称 | 描述 | 备注 | ||||||||
| --- | --- | --- | ||||||||
| WxL | 角速度X低8位 | 角速度X=((WxH<<8) | WxL)/32768*2000°/s | |||||||
| WxH | 角速度X高8位 | |||||||||
| WyL | 角速度Y低8位 | 角速度Y=((WyH<<8) | WyL)/32768*2000°/s | |||||||
| WyH | 角速度Y高8位 | |||||||||
| WzL | 角速度Z低8位 | 角速度Z=((WzH<<8) | WzL)/32768*2000°/s | |||||||
| WzH | 角速度Z高8位 | |||||||||
| VolL | 电压低8位 | (非蓝牙产品,该数据无效)电压计算公式:电压=((VolH<<8) | VolL) /100 ℃ | |||||||
| VolH | 电压高8位 | |||||||||
| SUM | 校验和 | SUM=0x55+0x52+WxL+WxH+WyL+WyH+WzL+WzH+VolH+VolL |
角度输出
| 0x55 | 0x53 | RollL | RollH | PitchL | PitchH | YawL | YawH | VL | VH | SUM |
|---|---|---|---|---|---|---|---|---|---|---|
| 名称 | 描述 | 备注 | ||||||||
| --- | --- | --- | ||||||||
| RollL | 滚转角X低8位 | 滚转角X=((RollH<<8) | RollL)/32768*180(°) | |||||||
| RollH | 滚转角X高8位 | |||||||||
| PitchL | 俯仰角Y低8位 | 俯仰角Y=((PitchH<<8) | PitchL)/32768*180(°) | |||||||
| PitchH | 俯仰角Y高8位 | |||||||||
| YawL | 偏航角Z低8位 | 偏航角Z=((YawH<<8) | YawL)/32768*180(°) | |||||||
| YawH | 偏航角Z高8位 | |||||||||
| VL | 版本号低8位 | 版本号计算公式:版本号=(VH<<8) | VL | |||||||
| VH | 版本号高8位 | |||||||||
| SUM | 校验和 | SUM=0x55+0x53+RollH+RollL+PitchH+PitchL+YawH+YawL+VH+VL |
磁场输出
| 0x55 | 0x54 | HxL | HxH | HyL | HyH | HzL | HzH | TL | TH | SUM |
|---|---|---|---|---|---|---|---|---|---|---|
| 名称 | 描述 | 备注 | ||||||||
| --- | --- | --- | ||||||||
| HxL | 磁场X低8位 | 磁场X=((HxH<<8) | HxL) | |||||||
| HxH | 磁场X高8位 | |||||||||
| HyL | 磁场Y低8位 | 磁场Y=((HyH <<8) | HyL) | |||||||
| HyH | 磁场Y高8位 | |||||||||
| HzL | 磁场Z低8位 | 磁场Z=((HzH<<8) | HzL) | |||||||
| HzH | 磁场Z高8位 | |||||||||
| TL | 温度低8位 | 温度计算公式:温度=((TH<<8) | TL) /100 ℃ | |||||||
| TH | 温度高8位 | |||||||||
| SUM | 校验和 | SUM=0x55+0x54+HxH+HxL+HyH+HyL+HzH+HzL+TH+TL |
端口状态输出
| 0x55 | 0x55 | D0L | D0H | D1L | D1H | D2L | D2H | D3L | D3H | SUM |
|---|---|---|---|---|---|---|---|---|---|---|
| 名称 | 描述 | 备注 | ||||||||
| --- | --- | --- | ||||||||
| D0L | D0状态低8位 | D0状态=((D0H<<8) | D0L) | |||||||
| D0H | D0状态高8位 | |||||||||
| D1L | D1状态低8位 | D1状态=((D1H<<8) | D1L) | |||||||
| D1H | D1状态高8位 | |||||||||
| D2L | D2状态低8位 | D2状态=((D2H<<8) | D2L) | |||||||
| D2H | D2状态高8位 | |||||||||
| D3L | D3状态低8位 | D3状态=((D3H<<8) | D3L) | |||||||
| D3H | D3状态高8位 | |||||||||
| SUM | 校验和 | SUM=0x55+0x54+D0L+D0H+D1L+D1H+D2L+D2H+D3L+D3H |
说明:
- 当端口模式设置为模拟输入时,端口状态数据表示模拟电压。实际电压的大小按照下面公式计算:
U=DxStatus/1024*Uvcc
- Uvcc为芯片的电源电压,由于片上有LDO,如果模块供电电压大于3.5V,Uvcc为3.3V。如果模块供电电压小于3.5V,Uvcc=电源电压-0.2V。
- 当端口模式设置为数字量输入时,端口状态数据表示端口的数字电平状态,高电平为1,低电平为0。
- 当端口模式设置为高电平输出模式时,端口状态数据为1。
- 当端口模式设置为低电平输出模式时,端口状态数据位0。
气压高度输出
| 0x55 | 0x56 | P0 | P1 | P2 | P3 | H0 | H1 | H2 | H3 | SUM |
|---|---|---|---|---|---|---|---|---|---|---|
| 名称 | 描述 | 备注 | ||||||||
| --- | --- | --- | ||||||||
| P0 | 气压[7:0] | 气压=(P3<<24) | (P2<<16) | (P1<<8) | P0(Pa) | |||||
| P1 | 气压[15:8] | |||||||||
| P2 | 气压[23:16] | |||||||||
| P3 | 气压[31:24] | |||||||||
| H0 | 高度[7:0] | 高度=(H3<<24) | (H2<<16) | (H1<<8) | H0(cm) | |||||
| H1 | 高度[15:8] | |||||||||
| H2 | 高度[23:16] | |||||||||
| H3 | 高度[31:24] | |||||||||
| SUM | 校验和 | SUM=0x55+0x56+P0+P1+P2+P3+H0+H1+H2+H3 |
经纬度输出
| 0x55 | 0x57 | Lon0 | Lon1 | Lon2 | Lon3 | Lat0 | Lat1 | Lat2 | Lat3 | SUM |
|---|---|---|---|---|---|---|---|---|---|---|
| 名称 | 描述 | 备注 | ||||||||
| --- | --- | --- | ||||||||
| Lon0 | 经度[7:0] | 经度=(Lon3<<24) | (Lon2<<16) | (Lon1<<8) | Lon0 | |||||
| Lon1 | 经度[15:8] | |||||||||
| Lon2 | 经度[23:16] | |||||||||
| Lon3 | 经度[31:24] | |||||||||
| Lat0 | 纬度[7:0] | 纬度=(Lat3<<24) | (Lat2<<16) | (Lat1<<8) | Lat0 | |||||
| Lat1 | 纬度[15:8] | |||||||||
| Lat2 | 纬度[23:16] | |||||||||
| Lat3 | 纬度[31:24] | |||||||||
| SUM | 校验和 | SUM=0x55+0x57+Lon0+Lon1+Lon2+Lon3+Lat0+Lat1+Lat2+Lat3 |
说明:
- NMEA8013标准规定GPS的经度输出格式为ddmm.mmmmm(dd为度,mm.mmmmm为分),经/纬度输出时去掉了小数点,因此经/纬度的度数可以这样计算:
dd=Lon[31:0]/10000000;
dd=Lat[31:0]/10000000;
经/纬度的分数可以这样计算:
mm.mmmmm=(Lon[31:0]%10000000)/100000;(%表示求余数运算)
mm.mmmmm=(Lat[31:0]%10000000)/100000;(%表示求余数运算)
GPS数据输出
| 0x55 | 0x58 | GPSHeightL | GPSHeightH | GPSYawL | GPSYawH | GPSV0 | GPSV1 | GPSV2 | GPSV3 | SUM |
|---|---|---|---|---|---|---|---|---|---|---|
| 名称 | 描述 | 备注 | ||||||||
| --- | --- | --- | ||||||||
| GPSHeightL | GPS海拔[7:0] | GPS高度=((GPSHeightH<<8) | GPSHeightL)/10(m) | |||||||
| GPSHeightH | GPS海拔[15:8] | |||||||||
| GPSYawL | GPS航向[7:0] | GPS航向角=((GPSYawH<<8) | GPSYawL)/100(°) | |||||||
| GPSYawH | GPS航向[15:8] | |||||||||
| GPSV0 | GPS地速[7:0] | GPS地速 = ((GPSV3<<24) | (GPSV2<<16) | (GPSV1<<8) | GPSV0)/1000(km/h) | |||||
| GPSV1 | GPS地速[15:8] | |||||||||
| GPSV2 | GPS地速[23:16] | |||||||||
| GPSV3 | GPS地速[31:24] | |||||||||
| SUM | 校验和 | SUM=0x55+0x58+GPSHeightL+GPSHeightH+GPSYawL+GPSYawH+GPSV0+GPSV1+GPSV2+GPSV3 |
四元数输出
| 0x55 | 0x59 | Q0L | Q0H | Q1L | Q1H | Q2L | Q2H | Q3L | Q3H | SUM |
|---|---|---|---|---|---|---|---|---|---|---|
| 名称 | 描述 | 备注 | ||||||||
| --- | --- | --- | ||||||||
| Q0L | 四元数0低8位 | q0=((Q0H<<8) | Q0L)/32768 | |||||||
| Q0H | 四元数0高8位 | |||||||||
| Q1L | 四元数1低8位 | q1=((Q1H<<8) | Q1L)/32768 | |||||||
| Q1H | 四元数1高8位 | |||||||||
| Q2L | 四元数2低8位 | q2=((Q2H<<8) | Q2L)/32768 | |||||||
| Q2H | 四元数2高8位 | |||||||||
| Q3L | 四元数3低8位 | q3=((Q3H<<8) | Q3L)/32768 | |||||||
| Q3H | 四元数3高8位 | |||||||||
| SUM | 校验和 | SUM=0x55+0x59+Q0L+Q0H+Q1L +Q1H +Q2L+Q2H+Q3L+Q3H |
GPS定位精度输出
| 0x55 | 0x5A | SNL | SNH | PDOPL | PDOPH | HDOPL | HDOPH | VDOPL | VDOPH | SUM |
|---|---|---|---|---|---|---|---|---|---|---|
| 名称 | 描述 | 备注 | ||||||||
| --- | --- | --- | ||||||||
| SNL | 卫星数低8位 | GPS卫星数=((SNH<<8) | SNL) | |||||||
| SNH | 卫星数高8位 | |||||||||
| PDOPL | 位置定位精度低8位 | 位置定位精度=((PDOPH<<8) | PDOPL)/100 | |||||||
| PDOPH | 位置定位精度高8位 | |||||||||
| HDOPL | 水平定位精度低8位 | 水平定位精度=((HDOPH<<8) | HDOPL)/100 | |||||||
| HDOPH | 水平定位精度高8位 | |||||||||
| VDOPL | 垂直定位精度低8位 | 垂直定位精度=((VDOPH<<8) | VDOPL)/100 | |||||||
| VDOPH | 垂直定位精度高8位 | |||||||||
| SUM | 校验和 | SUM=0x55+0x5A+SNL+SNH+PDOPL+PDOPH+HDOPL+HDOPH+VDOPL+VDOPH |
读取寄存器返回值
- 用于读取用户指定寄存器的值,读取REG1,则返回REG1~REG4的4个寄存器的值,协议固定必须返回4个寄存器
| 0x55 | 0x5F | REG1L | REG1H | REG2L | REG2H | REG3L | REG3H | REG4L | REG4H | SUM |
|---|---|---|---|---|---|---|---|---|---|---|
| 名称 | 描述 | 备注 | ||||||||
| --- | --- | --- | ||||||||
| REG1L | 寄存器1低8位 | REG1[15:0]=((REG1H<<8) | REG1L) | |||||||
| REG1H | 寄存器1高8位 | |||||||||
| REG2L | 寄存器2低8位 | REG2[15:0]=((REG2H<<8) | REG2L) | |||||||
| REG2H | 寄存器2高8位 | |||||||||
| REG3L | 寄存器3低8位 | REG3[15:0]=((REG3H<<8) | REG3L) | |||||||
| REG3H | 寄存器3高8位 | |||||||||
| REG4L | 寄存器4低8位 | REG4[15:0]=((REG4H<<8) | REG4L) | |||||||
| REG5H | 寄存器4高8位 | |||||||||
| SUM | 校验和 | SUM=0x55+0x5F+REG1L+REG1H+REG2L+REG2H+REG3L+REG3H+REG4L+REG4H |
例如:
- 读取寄存器"AXOFFSET",则返回:0x55 0x5F AXOFFSET[7:0] AXOFFSET[15:8] AYOFFSET[7:0] AYOFFSET[15:8] AZOFFSET[7:0] AZOFFSET[15:8] GXOFFSET[7:0] GXOFFSET[15:8] SUM
写格式
- 以下数据,全部使用Hex码16进制
- 所有的设置,都需要先操作解锁寄存器(KEY)
| 协议头 | 协议头 | 寄存器 | 数据低8位 | 数据高8位 |
|---|---|---|---|---|
| 0xFF | 0xAA | ADDR | DATAL[7:0] | DATAH[15:8] |
- 数据是按照16进制方式发送的,不是ASCII码。
- 每个数据分低字节和高字节依次传送,二者组合成一个有符号的short类型的数据。例如数据DATA,其中DATAL为低字节,DATAH为高字节。转换方法如下:假设DATA为实际的数据,DATAH为其高字节部分,DATAL为其低字节部分, 那么:DATA=(short)((short)DATAH<<8|DATAL)。这里一定要注意DATAH需要先强制转换为一个有符号的short类型的数据以后再移位,并且DATA的数据类型也是有符号的short类型,这样才能表示出负数。
SAVE(保存/重启/恢复出厂)
寄存器名称: SAVE寄存器地址: 0 (0x00)读写方向: R/W默认值: 0x0000 | |
---|---|---
Bit| NAME | FUNCTION
15:0| SAVE[15:0]| 保存: 0x0000重启: 0x00FF恢复出厂: 0x0001
示例:FF AA 00 FF 00(重启)| |
CALSW(校准模式)
寄存器名称: CALSW寄存器地址: 1 (0x01)读写方向: R/W默认值: 0x0000 | |
---|---|---
Bit| NAME | FUNCTION
15:4| |
3:0| CAL[3:0]| 设置校准模式: 0000(0x00): 正常工作模式0001(0x01): 自动加计校准0011(0x03): 高度清零0100(0x04): 航向角置零0111(0x07): 磁场校准(球型拟合法)1000(0x08): 设置角度参考1001(0x09): 磁场校准(双平面模式)
示例:FF AA 01 04 00(航向角置零)| |
RSW(输出内容)
寄存器名称: RSW寄存器地址: 2 (0x02)读写方向: R/W默认值: 0x001E| |
---|---|---
Bit| NAME | FUNCTION
15:11| |
10| GSA (0x5A)| 0: 关闭 1: 打开
9| QUATER (0x59)| 0: 关闭 1: 打开
8| VELOCITY (0x58)| 0: 关闭 1: 打开
7| GPS (0x57)| 0: 关闭 1: 打开
6| PRESS (0x56)| 0: 关闭 1: 打开
5| PORT (0x55)| 0: 关闭 1: 打开
4| MAG (0x54)| 0: 关闭 1: 打开
3| ANGLE (0x53)| 0: 关闭 1: 打开
2| GYRO (0x52)| 0: 关闭 1: 打开
1| ACC (0x51)| 0: 关闭 1: 打开
0| TIME (0x50)| 0: 关闭 1: 打开
示例:FF AA 02 3E 00(设置只输出加速度、角速度、角度、磁场、端口状态)| |
RRATE(输出速率)
寄存器名称: RRATE寄存器地址: 3 (0x03)读写方向: R/W默认值: 0x0006 | |
---|---|---
Bit| NAME | FUNCTION
15:4| |
3:0| RRATE[3:0]| 设置输出速率:0001(0x01): 0.2Hz0010(0x02): 0.5Hz0011(0x03): 1Hz0100(0x04): 2Hz0101(0x05): 5Hz0110(0x06): 10Hz0111(0x07): 20Hz1000(0x08): 50Hz1001(0x09): 100Hz1011(0x0B): 200Hz1011(0x0C): 单次回传1100(0x0D): 不回传
示例:FF AA 03 03 00(设置1Hz输出)| |
BAUD(串口波特率)
寄存器名称: BAUD寄存器地址: 4 (0x04)读写方向: R/W默认值: 0x0002 | |
---|---|---
Bit| NAME | FUNCTION
15:4| |
3:0| BAUD[3:0]| 设置串口波特率: 0001(0x01): 4800bps0010(0x02): 9600bps0011(0x03): 19200bps0100(0x04): 38400bps0101(0x05): 57600bps0110(0x06): 115200bps0111(0x07): 230400bps1000(0x08): 460800bps(仅WT931/JY931/HWT606/HWT906支持)1001(0x09): 921600bps(仅WT931/JY931/HWT606/HWT906支持)
示例:FF AA 04 06 00(设置串口波特率115200)| |
AXOFFSET~HZOFFSET(零偏设置)
寄存器名称: AXOFFSETHZOFFSET寄存器地址: 513 (0x05~0x0D)读写方向: R/W默认值: 0x0000 | |
---|---|---
Bit| NAME | FUNCTION
15:0| AXOFFSET[15:0]| 加速度X轴零偏,实际加速度零偏=AXOFFSET[15:0]/10000(g)
15:0| AYOFFSET[15:0]| 加速度Y轴零偏,实际加速度零偏=AYOFFSET[15:0]/10000(g)
15:0| AZOFFSET[15:0]| 加速度Z轴零偏,实际加速度零偏=AZOFFSET[15:0]/10000(g)
15:0| GXOFFSET[15:0]| 角速度X轴零偏,实际角速度零偏=GXOFFSET[15:0]/10000(°/s)
15:0| GYOFFSET[15:0]| 角速度Y轴零偏,实际角速度零偏=GYOFFSET[15:0]/10000(°/s)
15:0| GZOFFSET[15:0]| 角速度Z轴零偏,实际角速度零偏=GZOFFSET[15:0]/10000(°/s)
15:0| HXOFFSET[15:0]| 磁场X轴零偏
15:0| HYOFFSET[15:0]| 磁场Y轴零偏
15:0| HZOFFSET[15:0]| 磁场Z轴零偏
示例:FF AA 05 E8 03(设置加速度X轴零偏0.1g),0x03E8=1000,1000/10000=0.1(g)| |
D0MODE~D3MODE(端口模式设置)
寄存器名称: D0MODED3MODE寄存器地址: 1417 (0x0E~0x11)读写方向: R/W默认值: 0x0000 | |
---|---|---
Bit| NAME | FUNCTION
3:0| D0MODE[3:0]| 设置D0端口模式0000(0x00): 模拟输入(默认)0001(0x01): 数字输入0010(0x02): 输出数字高电平0011(0x03): 输出数字低电平
3:0| D1MODE[3:0]| 设置D1端口模式0000(0x00): 模拟输入(默认)0001(0x01): 数字输入0010(0x02): 输出数字高电平0011(0x03): 输出数字低电平0101(0x05): 设置相对姿态
3:0| D2MODE[3:0]| 设置D2端口模式0000(0x00): 模拟输入(默认)0001(0x01): 数字输入0010(0x02): 输出数字高电平0011(0x03): 输出数字低电平
3:0| D3MODE[3:0]| 设置D3端口模式0000(0x00): 模拟输入(默认)0001(0x01): 数字输入0010(0x02): 输出数字高电平0011(0x03): 输出数字低电平
示例:FF AA 0E 03 00(设置D0为输出数字低电平模式)| |
IICADDR(设备地址)
寄存器名称: IICADDR寄存器地址: 26 (0x1A)读写方向: R/W默认值: 0x0050 | |
---|---|---
Bit| NAME | FUNCTION
15:8| |
7:0| IICADDR[7:0]| 设置设备地址,用于I2C和Modbus通讯使用0x01~0x7F
示例:FF AA 1A 02 00(设置设备地址为0x02)| |
LEDOFF(关闭LED灯)
寄存器名称: LEDOFF寄存器地址: 27 (0x1B)读写方向: R/W默认值: 0x0000 | |
---|---|---
Bit| NAME | FUNCTION
15:1| |
0| LEDOFF| 1: 关闭LED灯0: 打开LED灯
示例:FF AA 1B 01 00(关闭LED灯)| |
MAGRANGX~MAGRANGZ(磁场校准范围)
寄存器名称: MAGRANGXMAGRANGZ寄存器地址: 2830 (0x1C~0x1E)读写方向: R/W默认值: 0x01F4 | |
---|---|---
Bit| NAME | FUNCTION
15:0| MAGRANGX[15:0]| 磁场校准X轴范围
15:0| MAGRANGY[15:0]| 磁场校准Y轴范围
15:0| MAGRANGZ[15:0]| 磁场校准Z轴范围
示例:FF AA 1C F4 01(设置磁场校准X轴范围为500)| |
BANDWIDTH(带宽)
寄存器名称: BANDWIDTH寄存器地址: 31 (0x1F)读写方向: R/W默认值: 0x0004 | |
---|---|---
Bit| NAME | FUNCTION
15:4| |
3:0| BANDWIDTH[3:0]| 设置带宽0000(0x00): 256Hz0001(0x01): 188Hz0010(0x02): 98Hz0011(0x03): 42Hz0100(0x04): 20Hz0101(0x05): 10Hz0110(0x06): 5Hz
示例:FF AA 1F 01 00(设置带宽为188Hz)| |
GYRORANGE(陀螺仪量程)
寄存器名称: GYRORANGE寄存器地址: 32 (0x20)读写方向: R/W默认值: 0x0003| |
---|---|---
Bit| NAME | FUNCTION
15:4| |
3:0| GYRORANGE[3:0]| 设置陀螺仪量程0011(0x03): 2000°/s默认2000°/s,固定不可设置
示例:FF AA 20 03 00(设置陀螺仪量程2000°/s)| |
ACCRANGE(加速度计量程)
寄存器名称: ACCRANGE寄存器地址: 33 (0x21)读写方向: R/W默认值: 0x0000| |
---|---|---
Bit| NAME | FUNCTION
15:4| |
3:0| ACCRANGE[3:0]| 设置加速度计量程0000(0x00): ±2g0011(0x03): ±16g该参数不可设置,产品内部自适应加速度量程,当加速度超过2g时,自动切换到16g
示例:FF AA 21 00 00(设置加速度计量程16g)| |
SLEEP(休眠)
寄存器名称: SLEEP寄存器地址: 34 (0x22)读写方向: R/W默认值: 0x0000| |
---|---|---
Bit| NAME | FUNCTION
15:1| |
0| SLEEP| 设置休眠1(0x01): 休眠任意串口数据,可唤醒
示例:FF AA 22 01 00(进入休眠)| |
ORIENT(安装方向)
寄存器名称: ORIENT寄存器地址: 35 (0x23)读写方向: R/W默认值: 0x0000| |
---|---|---
Bit| NAME | FUNCTION
15:1| |
0| ORIENT| 设置安装方向0(0x00): 水平安装1(0x01): 垂直安装(必须坐标轴的Y轴箭头朝上)
示例:FF AA 23 01 00(设置垂直安装)| |
AXIS6(算法)
寄存器名称: AXIS6寄存器地址: 36 (0x24)读写方向: R/W默认值: 0x0000| |
---|---|---
Bit| NAME | FUNCTION
15:1| |
0| AXIS6| 设置算法0(0x00):9轴算法(磁场解算航行角,绝对航向角)1(0x01):6轴算法(积分解算航行角,相对航向角)
示例:FF AA 24 01 00(设置6轴算法模式)| |
FILTK(K值滤波)
寄存器名称: FILTK寄存器地址: 37 (0x25)读写方向: R/W默认值: 0x001E| |
---|---|---
Bit| NAME | FUNCTION
15:0| FILTK[15:0]| 范围:1~10000,默认30(不建议修改,一旦修改,角度达不到使用要求时,请修改为30)FILTK[15:0]越小,抗震性能增强,实时性减弱FILTK[15:0]越大,抗震性能减弱,实时性增强
示例:FF AA 25 1E 00(设置K值滤波为30)| |
GPSBAUD(GPS波特率)
寄存器名称: GPSBAUD寄存器地址: 38 (0x26)读写方向: R/W默认值: 0x0002 | |
---|---|---
Bit| NAME | FUNCTION
15:4| |
3:0| GPSBAUD[3:0]| 设置GPS波特率: 0001(0x01): 4800bps0010(0x02): 9600bps0011(0x03): 19200bps0100(0x04): 38400bps0101(0x05): 57600bps0110(0x06): 115200bps0111(0x07): 230400bps
示例:FF AA 26 02 00(设置GPS波特率9600)| |
READADDR(读取寄存器)
寄存器名称: READADDR寄存器地址: 39 (0x27)读写方向: R/W默认值: 0x00FF | |
---|---|---
Bit| NAME | FUNCTION
15:8| |
7:0| READADDR[7:0]| 读取寄存器范围: 请参考“寄存器表”
示例:发送:FF AA 27 34 00(读取加速度X轴0x34)返回:55 5F AXL AXH AYL AYH AZL AZH GXL GXH SUM具体请参考“读格式”章节的“读取寄存器返回值”| |
ACCFILT(加速度滤波)
寄存器名称: ACCFILT寄存器地址: 42 (0x2A)读写方向: R/W默认值: 0x01F4| |
---|---|---
Bit| NAME | FUNCTION
15:0| ACCFILT[15:0]| 范围:1~10000,默认500(不建议修改,一旦修改,角度达不到使用要求时,请修改为500)ACCFILT[15:0]越小,抗震性能增强,实时性减弱ACCFILT[15:0]越大,抗震性能减弱,实时性增强该参数为经验值,需要根据不同环境调试该参数,在拖拉机的环境里,ACCFILT[15:0]可调节为100,因为拖拉机的抖动严重,需要提高抗震性能
示例:FF AA 2A F4 01(设置加速度滤波500)| |
POWONSEND(上电输出)
寄存器名称: POWONSEND寄存器地址: 45 (0x2D)读写方向: R/W默认值: 0x0001 | |
---|---|---
Bit| NAME | FUNCTION
15:4| |
3:0| POWONSEND[3:0]| 设置指令启动:0000(0x00): 关闭上电数据输出0001(0x01): 打开上电数据输出
示例:FF AA 2D 00 00(打开上电数据输出)| |
VERSION(版本号)
寄存器名称: VERSION寄存器地址: 46 (0x2E)读写方向: R默认值: 无| |
---|---|---
Bit| NAME | FUNCTION
15:0| VERSION[15:0]| 不同产品,版本号不一样
示例:发送:FF AA 27 2E 00(读取版本号,0x27表示读取,0x2E是版本号寄存器)返回:55 5F VL VH XX XX XX XX XX XX SUMVERSION[15:0]=(short)(((short)VH<<8)|VL)| |
YYMM~MS(片上时间)
寄存器名称: YYMMMS寄存器地址: 4851 (0x30~0x33)读写方向: R/W默认值: 0x0000 | |
---|---|---
Bit| NAME | FUNCTION
15:8| YYMM[15:8]| 月
7:0| YYMM[7:0]| 年
15:8| DDHH[15:8]| 时
7:0| DDHH[7:0]| 日
15:8| MMSS[15:8]| 秒
7:0| MMSS[7:0]| 分
15:0| MS[15:0]| 毫秒
示例:FF AA 30 16 03(设置年月22-03)FF AA 31 0C 09(设置日时12-09)FF AA 32 1E 3A(设置分秒30:58)FF AA 33 F4 01(设置毫秒500)示例:发送:FF AA 27 30 00(读取版本号,0x27表示读取,0x30是年月寄存器)返回:55 5F YYMM[7:0] YYMM[15:8] DDHH[7:0] DDHH[15:8] MMSS[7:0] MMSS[15:8] MS[7:0] MS[15:8] SUM| |
AX~AZ(加速度)
寄存器名称: AXAZ寄存器地址: 5254 (0x34~0x36)读写方向: R默认值: 0x0000 | |
---|---|---
Bit| NAME | FUNCTION
15:0| AX[15:0]| 加速度X=AX[15:0]/3276816g (g为重力加速度,可取9.8m/s2)
15:0| AY[15:0]| 加速度Y=AY[15:0]/3276816g (g为重力加速度,可取9.8m/s2)
15:0| AZ[15:0]| 加速度Z=AZ[15:0]/32768*16g (g为重力加速度,可取9.8m/s2)
读取3加速度:50 03 00 34| |
| |
GX~GZ(角速度)
寄存器名称: GXGZ寄存器地址: 5557 (0x37~0x39)读写方向: R默认值: 0x0000 | |
---|---|---
Bit| NAME | FUNCTION
15:0| GX[15:0]| 角速度X=GX[15:0]/327682000°/s
15:0| GY[15:0]| 角速度Y=GY[15:0]/327682000°/s
15:0| GZ[15:0]| 角速度Z=GZ[15:0]/32768*2000°/s
HX~HZ(磁场)
寄存器名称: HXHZ寄存器地址: 5860 (0x3A~0x3C)读写方向: R默认值: 0x0000 | |
---|---|---
Bit| NAME | FUNCTION
15:0| HX[15:0]| 磁场X=HX[15:0] (单位:LSB)
15:0| HY[15:0]| 磁场Y=HY[15:0] (单位:LSB)
15:0| HZ[15:0]| 磁场Z=HZ[15:0] (单位:LSB)
Roll~Yaw(角度)
寄存器名称: RollYaw寄存器地址: 6163 (0x3D~0x3F)读写方向: R默认值: 0x0000 | |
---|---|---
Bit| NAME | FUNCTION
15:0| Roll[15:0]| 滚转角X=Roll[15:0]/32768180°
15:0| Pitch[15:0]| 俯仰角Y=Pitch[15:0]/32768180°
15:0| Yaw[15:0]| 航向角Z=Yaw[15:0]/32768*180°
TEMP(温度)
寄存器名称: TEMP寄存器地址: 64 (0x40)读写方向: R默认值: 0x0000 | |
---|---|---
Bit| NAME | FUNCTION
15:0| TEMP[15:0]| 温度=TEMP[15:0]/100℃
D0Status~D3Status(端口状态)
寄存器名称: D0StatusD3Status寄存器地址: 6568 (0x41~0x44)读写方向: R默认值: 0x0000| |
---|---|---
Bit| NAME | FUNCTION
15:0| D0Status[15:0]| D0状态值
15:0| D1Status[15:0]| D1状态值
15:0| D2Status[15:0]| D2状态值
15:0| D3Status[15:0]| D3状态值
PressureL~HeightH(气压高度)
寄存器名称: PressureLHeightH寄存器地址: 6972 (0x45~0x48)读写方向: R默认值: 0x0000 | |
---|---|---
Bit| NAME | FUNCTION
15:0| PressureL[15:0]| 气压=((int)PressureH[15:0]<<16)|PressureL15:0
15:0| PressureH[15:0]|
15:0| HeightL[15:0]| 高度=((int)HeightH[15:0]<<16)|HeightL15:0
15:0| HeightH[15:0]|
LonL~LatH(经纬度)
寄存器名称: LonLLatH寄存器地址: 7376 (0x49~0x4C)读写方向: R默认值: 0x0000 | |
---|---|---
Bit| NAME | FUNCTION
15:0| LonL[15:0]| Lon[31:0]=((int)LonH[15:0]<<16)|LonL15:0
15:0| LonH[15:0]|
15:0| LatL[15:0]| Lat[31:0]=((int)LatH[15:0]<<16)|LatL15:0
15:0| LatH[15:0]|
NMEA8013标准规定GPS的经度输出格式为ddmm.mmmmm(dd为度,mm.mmmmm为分),经/纬度输出时去掉了小数点,因此经/纬度的度数可以这样计算:dd=Lon[31:0]/10000000;dd=Lat[31:0]/10000000;经/纬度的分数可以这样计算:mm.mmmmm=(Lon[31:0]%10000000)/100000;(%表示求余数运算)mm.mmmmm=(Lat[31:0]%10000000)/100000;(%表示求余数运算)| |
GPSHeight~GPSVH(GPS数据)
寄存器名称: GPSHeightGPSVH寄存器地址: 7780 (0x4D~0x50)读写方向: R默认值: 0x0000 | |
---|---|---
Bit| NAME | FUNCTION
15:0| GPSHeight[15:0]| GPS海拔=GPSHeight[15:0]/10(m)
15:0| GPSYAW[15:0]| GPS航向=GPSYAW[15:0]/100(°)
15:0| GPSVL[15:0]| GPS地速=(((int)GPSVH[15:0]<<16)|GPSVL[15:0])/1000(km/h)
15:0| GPSVH[15:0]|
q0~q3(四元数)
寄存器名称: q0q3寄存器地址: 8184 (0x51~0x54)读写方向: R默认值: 0x0000 | |
---|---|---
Bit| NAME | FUNCTION
15:0| q0[15:0]| 四元数0=q0[15:0]/32768
15:0| q1[15:0]| 四元数1=q1[15:0]/32768
15:0| q2[15:0]| 四元数2=q2[15:0]/32768
15:0| q3[15:0]| 四元数3=q3[15:0]/32768
SVNUM~VDOP(GPS定位精度)
寄存器名称: SVNUMVDOP寄存器地址: 8588 (0x55~0x58)读写方向: R默认值: 0x0000 | |
---|---|---
Bit| NAME | FUNCTION
15:0| SVNUM[15:0]| GPS卫星数=SVNUM[15:0]
15:0| PDOP[15:0]| 位置定位经度=PDOP[15:0]/100
15:0| HDOP[15:0]| 水平定位经度=HDOP[15:0]/100
15:0| VDOP[15:0]| 垂直定位经度=VDOP[15:0]/100
DELAYT(报警信号延时)
寄存器名称: DELAYT寄存器地址: 89 (0x59)读写方向: R/W默认值: 0x0000| |
---|---|---
Bit| NAME | FUNCTION
15:0| DELAYT[15:0]| 单位:ms角度发生报警后,端口会产生相应的报警信号,当报警消失后,该报警信号会持续DELAYT[15:0]的延时后才消失
示例:FF AA 59 E8 03(设置报警信号延时1000ms)| |
XMIN~XMAX(X轴角度报警阈值)
寄存器名称: XMINXMAX寄存器地址: 9091 (0x5A~0x5B)读写方向: R/W默认值: 0x0000| |
---|---|---
Bit| NAME | FUNCTION
15:0| XMIN[15:0]| 设置X轴角度报警最小值X轴角度报警最小值=XMIN[15:0]*180/32768(°)
15:0| XMAX[15:0]| 设置X轴角度报警最大值X轴角度报警最大值=XMAX[15:0]*180/32768(°)
示例:FF AA 5A 72 FC(设置-5度),0xFC72=-910,-910 180/32768=-5FF AA 5B 8E 03(设置5度),0x038E=910,910 180/32768=5X轴在-5°~5°之间不报警,一旦超出该范围,发生报警| |
BATVAL(电压)
寄存器名称: BATVAL寄存器地址: 92 (0x5C)读写方向: R默认值: 0x0000 | |
---|---|---
Bit| NAME | FUNCTION
15:0| BATVAL[15:0]| 电压=BATVAL[15:0]/100 ℃
ALARMPIN(报警引脚映射)
寄存器名称: ALARMPIN寄存器地址: 93 (0x5D)读写方向: R/W默认值: 0x4365| |
---|---|---
Bit| NAME | FUNCTION
15:12| X-ALARM[15:12]| 0001(0x01): D00010(0x02): D10011(0x03): D20100(0x04): D30101(0x05): SCL0110(0x06): SDA
11:8| X+ALARM[11:8]| 0001(0x01): D00010(0x02): D10011(0x03): D20100(0x04): D30101(0x05): SCL0110(0x06): SDA
7:4| Y-ALARM[7:4]| 0001(0x01): D00010(0x02): D10011(0x03): D20100(0x04): D30101(0x05): SCL0110(0x06): SDA
3:0| Y+ALARM[3:0]| 0001(0x01): D00010(0x02): D10011(0x03): D20100(0x04): D30101(0x05): SCL0110(0x06): SDA
示例:设置X-报警信号在D3口输出设置X+报警信号在D1口输出设置Y-报警信号在SCL口输出设置Y+报警信号在SCL口输出发送:FF AA 5D 55 42| |
YMIN~YMAX(Y轴角度报警阈值)
寄存器名称: YMINYMAX寄存器地址: 9495 (0x5E~0x5F)读写方向: R/W默认值: 0x0000| |
---|---|---
Bit| NAME | FUNCTION
15:0| YMIN[15:0]| 设置Y轴角度报警最小值Y轴角度报警最小值=YMIN[15:0]*180/32768(°)
15:0| YMAX[15:0]| 设置Y轴角度报警最大值Y轴角度报警最大值=YMAX[15:0]*180/32768(°)
示例:FF AA 5E 72 FC(设置-5度),0xFC72=-910,-910 180/32768=-5FF AA 5F 8E 03(设置5度),0x038E=910,910 180/32768=5Y轴在-5°~5°之间不报警,一旦超出该范围,发生报警| |
GYROCALITHR(陀螺仪静止阈值)
寄存器名称: GYROCALITHR寄存器地址: 97 (0x61)读写方向: R/W默认值: 0x0000| |
---|---|---
Bit| NAME | FUNCTION
15:0| GYROCALITHR[15:0]| 设置陀螺仪静止阈值:陀螺仪静止阈值=GYROCALITHR[15:0]/1000(°/s)
示例:设置陀螺仪静止阈值为0.05°/sFF AA 61 32 00当角速度变化小于0.05°/s时,且持续"GYROCALTIME"的时间,传感器识别为静止,自动把小于0.05°/s的角速度归零陀螺仪静止阈值的大小设置规律,可通过读取"WERROR"寄存器的值来确定,一般设置的规律是:GYROCALITHR=WERROR*1.2,单位:°/s该寄存器需要需要结合GYROCALTIME寄存器使用| |
ALARMLEVEL(角度报警电平)
寄存器名称: ALARMLEVEL寄存器地址: 98 (0x62)读写方向: R/W默认值: 0x0000| |
---|---|---
Bit| NAME | FUNCTION
15:4| |
3:0| ALARMLEVEL[3:0]| 设置报警电平:0000(0x00): 低电平报警(不报警时,高电平,报警时,低电平)0001(0x01): 高电平报警(不报警时,低电平,报警时,高电平)
示例:设置高电平报警FF AA 62 01 00| |
GYROCALTIME(陀螺仪自动校准时间)
寄存器名称: GYROCALTIME寄存器地址: 99 (0x63)读写方向: R/W默认值: 0x03E8| |
---|---|---
Bit| NAME | FUNCTION
15:0| GYROCALTIME[15:0]| 设置陀螺仪自动校准时间
示例:设置陀螺仪自动校准时间500msFF AA 63 F4 01当角速度变化小于"GYROCALITHR"时,且持续500ms的时间,传感器识别为静止,自动把小于0.05°/s的角速度归零该寄存器需要需要结合GYROCALITHR寄存器使用| |
TRIGTIME(报警连续触发时间)
寄存器名称: TRIGTIME寄存器地址: 104 (0x68)读写方向: R/W默认值: 0x0000| |
---|---|---
Bit| NAME | FUNCTION
15:0| TRIGTIME[15:0]| 设置报警连续触发时间
示例:设置报警连续触发时间500msFF AA 68 F4 01当角度发生报警时,报警信号不会立马输出,需要角度报警持续500ms时,才能输出报警信号。该寄存器用于滤除误动作导致的报警| |
KEY(解锁)
寄存器名称: KEY寄存器地址: 105 (0x69)读写方向: R/W默认值: 0x0000| |
---|---|---
Bit| NAME | FUNCTION
15:0| KEY[15:0]| 解锁寄存器:进行写操作时,需要先设置该寄存器
示例:解锁,往该寄存器写0xB588(其他值无效)FF AA 69 88 B5| |
WERROR(陀螺仪变化值)
寄存器名称: WERROR寄存器地址: 106 (0x6A)读写方向: R默认值: 0x0000| |
---|---|---
Bit| NAME | FUNCTION
15:0| WERROR[15:0]| 陀螺仪变化值=WERROR[15:0]/1000*180/3.1415926(°/s)在传感器静止放置时,可通过该寄存器的变化,来设定"GYROCALITHR"寄存器
TIMEZONE(GPS时区)
寄存器名称: TIMEZONE寄存器地址: 107 (0x6B)读写方向: R/W默认值: 0x0014 | |
---|---|---
Bit| NAME | FUNCTION
15:8| |
7:0| TIMEZONE[7:0]| 设置GPS时区: 00000000(0x0000): UTC-1200000001(0x0001): UTC-1100000010(0x0002): UTC-1000000011(0x0003): UTC-900000100(0x0004): UTC-800000101(0x0005): UTC-700000110(0x0006): UTC-600000111(0x0007): UTC-500001000(0x0008): UTC-400001001(0x0009): UTC-300001010(0x000A): UTC-200001011(0x000B): UTC-100001100(0x000C): UTC00001101(0x000D): UTC+100001110(0x000E): UTC+200001111(0x000F): UTC+300010000(0x0010): UTC+400010001(0x0011): UTC+500010010(0x0012): UTC+600010011(0x0013): UTC+700010100(0x0014): UTC+8(默认东8区)00010101(0x0015): UTC+900010110(0x0016): UTC+1000010111(0x0017): UTC+1100011000(0x0018): UTC+12
示例:FF AA 6B 15 00(设置GPS时区为东9区)| |
WZTIME(角速度连续静止时间)
寄存器名称: WZTIME寄存器地址: 110 (0x6E)读写方向: R/W默认值: 0x01F4| |
---|---|---
Bit| NAME | FUNCTION
15:0| WZTIME[15:0]| 角速度连续静止时间
示例:设置角速度连续静止时间500msFF AA 6E F4 01当角速度小于"WZSTATIC"时,且持续500ms,则角速度输出为0,且Z轴航向角不积分该寄存器需要需要结合"WZSTATIC"寄存器使用| |
WZSTATIC(角速度积分阈值)
寄存器名称: WZSTATIC寄存器地址: 111 (0x6F)读写方向: R/W默认值: 0x012C| |
---|---|---
Bit| NAME | FUNCTION
15:0| WZSTATIC[15:0]| 角速度积分阈值=WZSTATIC[15:0]/1000(°/s)
示例:设置角速度积分阈值为0.5°/sFF AA 6F F4 01当角速度大于0.5°/s时,Z轴航向角开始对加速度进行积分当角速度小于0.5°/s时,且持续寄存器"WZTIME"所设置的时长时,角速度输出为0,且Z轴航向角不积分该寄存器需要需要结合"WZTIME"寄存器使用| |
MODDELAY(485数据应答延时)
寄存器名称: MODDELAY寄存器地址: 116 (0x74)读写方向: R/W默认值: 0x0BB8| |
---|---|---
Bit| NAME | FUNCTION
15:0| MODDELAY[15:0]| 设置485数据应答延时,默认3000,单位:us
示例:设置485数据应答延时1000usFF AA 74 E8 03当传感器接到收Modbus读取指令后,传感器延时1000us,返回数据该寄存器仅支持Modbus版本的传感器| |
XREFROLL~YREFPITCH(角度零位参考值)
寄存器名称: XREFROLLYREFPITCH寄存器地址: 121122 (0x79~0x7A)读写方向: R/W默认值: 0x00000| |
---|---|---
Bit| NAME | FUNCTION
15:0| XREFROLL[15:0]| 滚转角零位参考值=XREFROLL[15:0]/32768180(°)
15:0| YREFPITCH[15:0]| 俯仰角零位参考值=YREFPITCH[15:0]/32768180(°)
示例:当前滚转角为2°,设置滚转角零位,减去2°,则XREFROLL[15:0]=2*32768/180=364=0x016CFF AA 79 6C 01| |
NUMBERID1~NUMBERID6(设备编号)
寄存器名称: NUMBERID1NUMBERID6寄存器地址: 127132 (0x7F~0x84)读写方向: R默认值: 无| |
---|---|---
Bit| NAME | FUNCTION
15:0| NUMBERID1[15:0]|
15:0| NUMBERID2[15:0]|
15:0| NUMBERID3[15:0]|
15:0| NUMBERID4[15:0]|
15:0| NUMBERID5[15:0]|
15:0| NUMBERID6[15:0]|
设备标号:WT4200000001| |