V4 到 V6 协议迁移对比

开发板当前有两个大的版本,老版本V4和新版本V6。老版本支持 CAN/RS485,新版本除了继续支持 CAN/RS485,还加入对 CAN FD。由于需要支持 FDCAN 通信,新版本使用 STM32G4 系列芯片替代原 STM32F4 芯片。

协议差异表

功能

V4 协议定义

V6 协议定义

上位机/主机控制程序从V4迁移到V6

USB CDC串口转 CAN 扩展帧

ET + Channel + ExtID(4B) + Len + Data(0~8B) + 0x0D 0x0A

ET + Channel + ExtID(4B) + Len + Data(0~8B) + 0x0D 0x0A

无需改动

USB CDC串口转 CAN 标准帧

ST + Channel + 0x00 0x00 + StdID(2B) + Len + Data(0~8B) + 0x0D 0x0A

ST + Channel + 0x00 0x00 + StdID(2B) + Len + Data(0~8B) + 0x0D 0x0A

无需改动

USB CDC串口转 RS485

Data + Channel(1B) + Len(1B) + 0x0D 0x0A

SANPO RT 封装帧:RT + Channel + Len + Data(0~64B) + 0x0D 0x0A

需要修改,V6 使用 SANPO RT 封装帧,可逐帧指定 RS485 通道

SocketCAN(gs_usb)

不支持

支持 Linux SocketCAN,经典 CAN 和 CAN FD 均可通过 canX 使用

SocketCAN 程序不使用 ST/ET/SF/EF 帧头,直接使用 ipcansendcandumppython-can

SPI 转 CAN 扩展帧

固定 23 字节,ET + Channel + ExtID(4B) + Len + Data + 0x0D 0x0A + 0x00 0x00 0x00 0x12 + CRC(1B)

SHORT短帧模式,固定 23 字节,ET + Channel + ExtID(4B) + Len + Data(8B) + 0x00 0x00 0x00 0x00 0x00 0x00 + CRC(1B)

需要修改。V6版本协议更简洁

SPI 转 CAN 标准帧

固定 23 字节,ST + Channel + 0x00 0x00 + StdID(2B) + Len + Data + 0x0D 0x0A + 0x00 0x00 0x00 0x12 + CRC(1B)

SHORT短帧模式,固定23字节,ST + Channel + 0x00 0x00 + StdID(2B) + Len + Data(8B) + 0x00 0x00 0x00 0x00 0x00 0x00 + CRC(1B)

需要修改。V6版本协议更简洁

SPI 转 RS485

固定 23 字节。Data + Channel + Len + CRC(1B)

SHORT 短帧模式,固定 23 字节。SANPO RT 封装帧:RT + Channel + Len + Data(18B) + CRC(1B)

需要修改。V6 使用 SANPO RT 封装帧

CAN 波特率配置

可使用旧配置方式或跟随 USB CDC串口波特率同步

统一使用 AT+SETFDCAN=<arb_baud>,<data_baud>;串口工具发送结束符选择 CRLFarb_baud 同时作为经典 CAN 波特率和 CAN FD 仲裁段波特率

需要修改。需要改为发送 AT+ 指令设置波特率,波特率会持久化存储在固件,下次上电无需重复配置。串口工具发送结束符选择 CRLF

RS485 波特率配置

可跟随 USB CDC串口参数同步

使用 AT+SETRS485=<baud>,<stop>,<parity>,<bits>,配置写入固件Flash

需要修改。需要改为发送 AT+ 指令设置波特率,波特率会持久化存储在固件,下次上电无需重复配置。串口工具发送结束符选择 CRLF

SocketCAN 波特率配置

不支持

使用 Linux ip link set canX type can ... 配置当前运行时 CAN 参数

该配置不写入固件Flash;重新上电或重新枚举后应重新配置

小米原厂上位机软件

兼容

兼容

无需改动

宇树原厂上位机软件

兼容

兼容;使用前通过 AT+RS485RAW=1 临时开启 RS485 原始数据透传

使用第三方上位机调试或设置参数前先开启透传;完成后发送 AT+RS485RAW=0 或重新上电恢复非透传模式。生产通信建议使用 SANPO RT 封装帧

USB CDC串口转 CAN FD(标准帧/扩展帧)

不支持

支持

V6版本支持CAN FD 64字节数据段

SPI 转 CAN FD(标准帧/扩展帧)

不支持

通过 AT+SPIMODE=LONG 切换到 LONG长帧模式,73字节,支持CAN FD;串口工具发送结束符选择 CRLF

V6版本支持CAN FD长帧73字节模式