CAN转USB工具文档
硬件版本说明
Section titled “硬件版本说明”目前有两种外观版本,功能、通信方式、AT 指令及使用方法完全一致,区别仅在于外观与接口结构。本文档两种版本通用。
端子版(无外壳)
Section titled “端子版(无外壳)”
CAN USB CDC 调试适配器通过 USB CDC 虚拟串口与计算机进行通信,将计算机侧数据转换为 CAN 总线数据,同时可将 CAN 总线接收的数据通过 USB CDC 发送至计算机。
可使用 在线串口工具 进行调试,也可以使用 手机 APP 进行现场调试。
主要功能包括:
- CAN 与 USB CDC 双向透传;
- AT 指令配置与状态查询;
- CAN FD 通信兼容经典 CAN 通信;
- 标准 CAN ID 发送与接收过滤;
- NORMAL、LOOPBACK、LISTEN 三种工作模式;
- 配置保存、读取及恢复默认参数;
- 支持固件升级。
2.1 USB 连接
Section titled “2.1 USB 连接”使用 USB 数据线将设备连接至计算机。
设备正常枚举后,计算机系统中应出现一个 USB CDC 虚拟串口。
2.2 CAN 总线连接
Section titled “2.2 CAN 总线连接”CAN 接口至少应连接:
| 设备接口 | 总线连接 |
|---|---|
| CANH | CANH |
| CANL | CANL |
| GND | GND / 共参考地 |
标准点到点测试时,应根据实际总线拓扑在总线两端设置终端电阻,通常为每端 120 Ω。
注意:
CAN 接口为非隔离接口。设备与其他 CAN 节点之间应具有可靠的公共地参考。
3 首次使用
Section titled “3 首次使用”3.1 出厂默认参数
Section titled “3.1 出厂默认参数”设备首次使用且不存在有效保存配置时,使用以下默认参数:
| 参数 | 默认值 |
|---|---|
| CAN 类型 | Classic CAN |
| CAN 仲裁速率 | 1000000 bit/s |
| TX ID | 0x123 |
| RX ID | ALL |
| 工作模式 | NORMAL |
| FD | 0 |
| DBR | 2000000 bit/s |
| BRS | 1 |
设备上电后会自动读取已保存配置。
3.2 首次通信建议
Section titled “3.2 首次通信建议”首次连接建议依次执行:
AT+AT+HELPAT+CFG?AT+STATUS?每条指令均必须以 CRLF 结束。
正常情况下:
AT+返回OK;AT+HELP返回固件版本及当前有效指令;AT+CFG?返回当前配置;AT+STATUS?返回控制器状态、统计及诊断信息。
4 AT 指令通信规则
Section titled “4 AT 指令通信规则”4.1 指令结束方式
Section titled “4.1 指令结束方式”所有 AT 指令均必须使用 CRLF 结束:
0x0D 0x0A标准形式:
AT+指令\r\n串口助手必须实际发送回车和换行,而不仅是在界面中换行显示。
4.2 返回值
Section titled “4.2 返回值”| 返回值 | 含义 |
|---|---|
OK |
指令执行成功 |
OK:QUEUED |
发送数据已进入发送队列 |
ERROR:ARG |
参数无效 |
ERROR:UNKNOWN |
未知指令 |
ERROR:CAN_INIT |
CAN 初始化失败 |
OK:QUEUED 仅表示 AT+SEND 数据已经进入发送队列,不表示 CAN 总线已经实际完成发送。应使用 AT+STATUS? 查看实际发送统计。
5 AT 指令
Section titled “5 AT 指令”5.1 指令列表
Section titled “5.1 指令列表”| 指令 | 功能 |
|---|---|
AT+ |
连通性测试 |
AT+HELP |
查看固件版本和当前有效指令 |
AT+CFG? |
查询当前运行配置 |
AT+STATUS? |
查询控制器状态、错误及统计 |
AT+CANBR=125000 |
设置 CAN 仲裁速率 |
AT+FD=0 |
选择经典 CAN |
AT+FD=1 |
选择 CAN FD |
AT+DBR=1000000 |
设置 FD 数据相位速率 |
AT+BRS=0 |
FD 不切换数据相位速率 |
AT+BRS=1 |
FD 切换到数据相位速率 |
AT+TXID=123 |
设置原始透传发送 ID |
AT+RXID=ALL |
接收全部标准 ID |
AT+RXID=321 |
仅接收指定标准 ID |
AT+MODE=NORMAL |
正常工作模式 |
AT+MODE=LOOPBACK |
内部回环模式 |
AT+MODE=LISTEN |
监听模式 |
AT+SEND=123,HEX,... |
发送十六进制 CAN 数据 |
AT+SEND=123,STR,... |
发送字符串 CAN 数据 |
AT+FRAMELOG=0 |
关闭 CDC 帧日志 |
AT+FRAMELOG=1 |
开启 CDC 帧日志 |
AT+SAVE |
保存当前配置 |
AT+LOAD |
读取保存的配置 |
AT+DEFAULT |
恢复当前运行配置为默认值 |
AT+UPFW |
进入 CDC 固件升级接收状态 |
5.2 指令参数范围
Section titled “5.2 指令参数范围”| 指令 | 参数范围 |
|---|---|
AT+CANBR |
125000 / 250000 / 500000 / 1000000 |
AT+FD |
0 / 1 |
AT+DBR |
1000000 / 2000000 / 4000000 |
AT+BRS |
0 / 1 |
AT+TXID |
标准 ID:000~7FF |
AT+RXID |
ALL 或标准 ID:000~7FF |
AT+MODE |
NORMAL / LOOPBACK / LISTEN |
AT+FRAMELOG |
0 / 1 |
AT+SEND |
单次最多 64 字节 |
6 指令说明
Section titled “6 指令说明”6.1 选择经典 CAN
Section titled “6.1 选择经典 CAN”AT+FD=0选择经典 CAN 通信。
与普通 CAN 节点通信时,应使用该设置。
6.2 选择 CAN FD
Section titled “6.2 选择 CAN FD”AT+FD=1选择 CAN FD 通信。
普通 CAN 节点不能接收 CAN FD 数据帧,因此使用 FD 时必须确认通信对端支持 CAN FD。
设备不会自动检测对端能力。
6.3 设置 FD 数据相位速率
Section titled “6.3 设置 FD 数据相位速率”支持:
100000020000004000000例如:
AT+DBR=20000006.4 设置 BRS
Section titled “6.4 设置 BRS”关闭速率切换
Section titled “关闭速率切换”AT+BRS=0FD 帧的数据阶段继续使用仲裁速率。
开启速率切换
Section titled “开启速率切换”AT+BRS=1FD 帧进入数据阶段后切换至 DBR 设置的速率。
6.5 CAN FD 配置示例
Section titled “6.5 CAN FD 配置示例”例如设置:
AT+FD=1AT+CANBR=1000000AT+DBR=2000000AT+BRS=1双方必须保持匹配的 CAN FD 模式及仲裁 / 数据相位配置。
BRS=0 测试建议
Section titled “BRS=0 测试建议”若需要测试 BRS=0,直接发送:
AT+BRS=0固件会自动处理 CAN 状态切换。两端均设置完成后即可进行通信测试。
BRS=0时,FD 数据阶段使用仲裁速率;此时配置中的DBR可以保留,但不会用于该帧的数据相位切换。
6.6 CAN 工作模式
Section titled “6.6 CAN 工作模式”NORMAL
Section titled “NORMAL”AT+MODE=NORMAL正常 CAN 总线收发模式,用于实际通信。
LOOPBACK
Section titled “LOOPBACK”AT+MODE=LOOPBACK控制器内部回环测试模式。
适用于验证控制器及软件配置,但:
内部回环成功不能证明外部 CAN 收发器、CANH / CANL 接线及总线终端电阻正常。
LISTEN
Section titled “LISTEN”AT+MODE=LISTEN监听模式。
该模式仅用于监听总线,不主动发送数据,也不向总线提供 ACK。
因此,在验证实际 CAN 双向通信时,不应仅使用 LISTEN 模式。
6.7 CAN ID 设置
Section titled “6.7 CAN ID 设置”AT+TXID=123设置 USB 原始数据透传时使用的标准 CAN 发送 ID。
标准 ID 范围:
000 ~ 7FF例如:
AT+TXID=321表示普通 USB 透传数据使用 0x321 发送。
AT+SEND指令中的 ID 仅作用于本次发送,不会修改全局TXID。
RXID=ALL
Section titled “RXID=ALL”AT+RXID=ALL接收全部符合当前接收路径条件的数据帧。
指定 RXID
Section titled “指定 RXID”AT+RXID=321设置接收过滤,只接收指定标准 ID。
6.8 AT+SEND 单帧发送
Section titled “6.8 AT+SEND 单帧发送”HEX 方式
Section titled “HEX 方式”格式:
AT+SEND=ID,HEX,数据示例:
AT+SEND=123,HEX,0102030405060708表示发送:
| 项目 | 内容 |
|---|---|
| ID | 0x123 |
| 数据长度 | 8 字节 |
| 数据 | 01 02 03 04 05 06 07 08 |
单次 AT+SEND 最多发送 64 字节。
STR 方式
Section titled “STR 方式”格式:
AT+SEND=ID,STR,字符串示例:
AT+SEND=123,STR,thank you字符串按实际字节内容发送,不会转换成十六进制文本。
例如:
AT+SEND=123,HEX,01020304返回:
OK:QUEUED表示数据已进入发送队列。
随后建议执行:
AT+STATUS?通过 TX_OK 等统计确认实际发送结果。
7 USB 原始数据透传
Section titled “7 USB 原始数据透传”7.1 USB → CAN
Section titled “7.1 USB → CAN”非 AT 数据会根据当前 CAN 配置自动进入原始透传路径。
经典 CAN 模式下,单个 CAN 数据帧最多 8 字节;CAN FD 模式下,单个数据帧最多 64 字节。
超过单帧长度的数据会连续拆分发送,不添加额外填充字节。
例如:
- 经典 CAN:10 字节 →
8 + 2; - FD:65 字节 →
64 + 1; - FD:100 字节 →
64 + 32 + 4。
7.2 CAN → USB
Section titled “7.2 CAN → USB”CAN 接收到的数据会通过 USB CDC 输出连续的原始数据载荷。
USB 输出不包含:
- CAN ID;
- DLC;
- 自动换行;
- 原始 CAN 帧边界。
例如收到:
ID = 321DATA = 11 22 33 44USB CDC 输出为:
11 22 33 448 配置保存与恢复
Section titled “8 配置保存与恢复”8.1 保存配置
Section titled “8.1 保存配置”AT+SAVE将当前运行配置保存到设备内部非易失性存储器。
仅执行参数修改指令不会自动永久保存。
8.2 读取保存配置
Section titled “8.2 读取保存配置”AT+LOAD读取已经保存的配置。
如果不存在有效保存记录,则使用默认参数。
8.3 恢复默认参数
Section titled “8.3 恢复默认参数”AT+DEFAULT将当前运行配置恢复为默认值。
该操作默认只修改当前运行参数,不会自动永久保存。
如果需要永久恢复默认值,应继续执行:
AT+SAVE组合操作:
AT+DEFAULTAT+SAVE9 固件升级
Section titled “9 固件升级”可使用 在线串口工具 的 YMODEM 功能进行固件升级。
固件升级过程中:
- 保持 USB 连接稳定;
- 不要断开设备电源;
- 不要重复插拔 USB;
- 不要继续发送其他 AT 指令;
- 使用与型号及硬件版本匹配的官方升级文件;
- 按升级工具提示完成传输及重启。