快速上手
接线与出厂默认
按产品硬件手册连接电源、地线和通信接口(USB 虚拟串口、RS-232、TTL、RS-485、CAN 或 I2C)。各型号提供哪些接口见适用产品,引脚、电平和供电范围见硬件手册。
第一次接入时,按下表的出厂值连接。参数被改过的模块,以它当前的配置为准;完整的出厂默认见出厂默认配置。
| 接口 | 出厂默认 | 说明 |
|---|---|---|
| 串口 | 115200 bps,8N1 | 同一个串口既收 ASCII 命令,也输出二进制数据帧 |
| 数据输出 | COM1 以 100 Hz 输出 HI91 | 带 RS-485 接口的型号例外:COM1 出厂不主动输出,只应答命令和 Modbus 请求 |
| Modbus RTU | 从站 ID 80(0x50) | 型号提供 Modbus 时适用 |
| CAN / CAN FD | 500 kbit/s,节点地址 8 | 带 CAN 的型号(含 CAN FD 型号)相同 |
| I2C | 设备地址 80(0x50) | 仅 -I2C 型号;与 Modbus 从站 ID 是同一个值 |
第一次看到数据
顺序是:先用 CHCenter 看到数据,再用串口命令确认命令通道,最后认一帧原始数据。这几步只查询和接收,不会保存任何配置。
用 CHCenter 验证
- 从下载中心安装 CHCenter。
- 选择模块所在的串口,波特率填模块当前值(出厂 115200);CAN 模块选对应通道,速率填当前值(出厂 500 kbit/s)。
- 点击连接。转动模块,姿态和数据曲线随之变化,说明输出正常。
能看到数据,说明接线和通信参数都对,可以直接阅读选择输出。看不到数据时,继续用串口命令排查。
用串口命令验证
用串口助手(或 CHCenter 的命令终端)按 8N1 和模块当前波特率打开端口。命令必须全大写,并以回车换行(\r\n)结束,其他书写规则见命令格式与响应。
出厂的模块一直在输出二进制帧(带 RS-485 接口的型号除外),命令应答会被淹没在数据里。先发 LOG DISABLE 暂停输出,看完应答后再发 LOG ENABLE 恢复。这两条命令不保存,重新上电后输出照常恢复。
→ 为主机发送,← 为模块应答:
→ LOG DISABLE
← OK
→ LOG VERSION
← PNAME=<型号>
← BUILD=<编译日期>
← UUID=<芯片 ID>
← SN=<序列号>
← APP_VER=<固件版本>
← BL_VER=<引导程序版本>
← OK
→ LOG ENABLE
← OK收到 OK,说明命令通道正常;LOG ENABLE 之后输出恢复。联系技术支持时,请附上这段输出。
认出第一帧 HI91
出厂模块每 10 ms 输出一帧 HI91,每帧 82 字节。串口助手切到十六进制显示,会看到下面这个开头反复出现:
5A A5 4C 00 .. .. 915A A5 是帧头,4C 00 是数据域长度 76 字节(小端),.. .. 是每帧不同的 CRC,91 是数据标签,表示 HI91。标签为 83 的是 HI83 帧,长度随所选字段变化。各部分的详细定义见帧格式。
看到它每 10 ms 出现一次,波特率和输出就都正常。
第一次接入建议先用 HI91,解析方法见读取与解析数据,字段见 HI91。
其他接口的第一次验证
| 接口 | 怎么验证 | 详见 |
|---|---|---|
| Modbus RTU | 核对波特率和从站 ID,读版本寄存器,检查应答的地址、功能码、长度和 CRC | 使用前准备、读取版本信息 |
| J1939(CAN) | 核对接线、终端电阻和速率;上电后应收到 29 位扩展帧,先看 PGN 和数据长度 | J1939 |
| I2C | 读取 HI83 帧 | 读取数据帧 |
串口工具能打开端口,只说明主机这边的端口正常。模块是否连通,要看有没有收到有效应答或有效报文。
上电过程
上电后让模块静止至少 3 s,等姿态收敛。
- 上电初期可能输出全 0 的数据帧,直接丢弃。
- 静止满 3 s 后,看 MAIN_STATUS 的
ATT_CONV:0 表示横滚、俯仰已经收敛,1 表示还没有。这一位不反映航向,9 轴航向另看MAG_DIST。 - 位定义见 MAIN_STATUS 状态字。型号没有的状态位恒为 0,例如无磁传感器型号的
MAG_DIST。 - 俯仰接近 ±90° 时欧拉角不唯一,6 轴航向是上电为 0 的相对航向,约定见姿态表示和航向约定。
失联恢复
改过通信参数后连不上,通常是主机和模块的参数不一致。按下图的顺序找回连接,不要先恢复出厂。
- 检查物理连接:供电、地线,TX/RX 是否接反,端口号是否选对。带 COM2 的型号可以改接另一个串口试试。
- 逐档试波特率:按 115200、921600、460800、230400、57600、38400、19200、9600、4800 的顺序,每档把主机切到该波特率,发两次
LOG VERSION(间隔约 1 s)。收到PNAME=和OK,说明找到了当前波特率。 - 看数据帧:某一档能看到稳定重复的
5A A5,说明波特率已经对了,问题在主机到模块的发送方向。查主机 TX 到模块 RX 的连线,确认命令全大写、以回车换行结束,或者先发一次LOG DISABLE。带 RS-485 接口的型号默认不输出数据帧,这一步不适用。 - 记录当前参数:用
LOG COMCONFIG读回并记下当前串口参数,再按配置流程与保存修改。 - Modbus:Modbus 和 ASCII 命令共用一个串口,先按第 2 步找到波特率。从站 ID 先试出厂的 80(
0x50);不知道 ID 时,总线上只留这一台模块,在该波特率下对 ID 1–247 逐个读寄存器0x0005(MD_ID),有应答的就是当前 ID(不要用广播地址 0)。 - CAN:先试 500 kbit/s、节点地址 8。速率不明时,用 CHCenter 的 CAN 扫描或带自动波特率的 CAN 分析仪确认;速率确定后节点地址仍不明,对 1–127 逐个发送点对点请求,读参数地址
0x009C(节点地址),有应答的就是当前地址,请求格式见配置协议。
都试过仍然没有应答,换一个端口或一台主机再试,排除主机侧问题,然后按联系技术支持前准备资料。确需恢复出厂时,先看恢复出厂。
