波特率配置

V6 固件的波特率配置分为两类:

使用入口

配置方式

是否写入固件 Flash

USB CDC串口协议

通过 USB CDC串口发送 AT+ 指令

SPI 协议

使用固件保存的配置;需要先通过 USB CDC串口 AT+ 指令配置

SocketCAN(gs_usb)

Linux 主机通过 ip link set canX type can ... 配置

USB CDC串口协议和 SPI 协议使用同一组固件保存的 CAN/FDCAN 与 RS485 参数。SocketCAN 直接使用 Linux SocketCAN 的运行时配置,不读取也不写入这组持久化参数。

出厂默认值

项目

默认值

经典 CAN 波特率

1000000

CAN FD 仲裁段波特率

1000000

CAN FD 数据段波特率

5000000

RS485 参数

4000000,1,0,8

RS485 工作模式

SANPO RT 封装帧模式,原始数据透传关闭

RS485 参数字段依次为:baud,stop,parity,bits。其中 parity=0 表示无校验,bits=8 表示 8 数据位。

RS485 原始数据透传由 AT+RS485RAW 单独控制,只影响当前运行状态,不写入固件 Flash。设备重新上电后会自动恢复为非透传的 RT 封装帧模式。

正式收发 CAN/CAN FD/RS485 数据前,应先通过 USB CDC串口 AT+ 指令查询或配置波特率,确认固件保存值和现场总线参数一致。即使使用默认值,也建议先使用查询命令确认当前固件保存值。

USB CDC 和 SPI 波特率

设置 CAN/FDCAN 波特率:

AT+SETFDCAN=<arb_baud>,<data_baud>

查询当前固件保存的 CAN/FDCAN 波特率:

AT+SETFDCAN?

返回格式:

FDCAN:<arb_baud>,<data_baud>

arb_baud 同时用于经典 CAN 和 CAN FD 仲裁段;data_baud 用于 CAN FD 数据段。

字段

支持值

arb_baud

1000000 / 500000 / 250000 / 125000 / 100000

data_baud

5000000 / 2000000

设置 RS485 参数:

AT+SETRS485=<baud>,<stop>,<parity>,<bits>

查询当前固件保存的 RS485 参数:

AT+SETRS485?

返回格式:

RS485:<baud>,<stop>,<parity>,<bits>

字段

支持值

baud

12004000000

stop

1 / 2

parity

0 无校验,1 奇校验,2 偶校验

bits

8 / 9

AT+SETFDCANAT+SETRS485 配置成功后返回 OK。配置会写入固件 Flash,下次上电继续使用;如果设置值与当前保存值一致,固件会重新应用运行时外设参数,但不会追加写入 Flash。

USB CDC串口工具中设置的“串口波特率”只作为虚拟串口连接参数,不会同步修改 CAN/FDCAN/RS485 总线波特率。

SocketCAN 波特率

SocketCAN 的波特率由 Linux 主机配置,只对当前运行中的 canX 生效,不写入固件 Flash。设备重新上电、重新插拔或重新枚举后,上位机应重新执行 ip link 配置。

经典 CAN 示例:

sudo ip link set can0 down
sudo ip link set can0 type can bitrate 1000000
sudo ip link set can0 up

CAN FD 示例:

sudo ip link set can0 down
sudo ip link set can0 type can bitrate 1000000 dbitrate 5000000 fd on
sudo ip link set can0 up

查看当前 SocketCAN 配置:

ip -details link show can0

正常情况下可以看到 bitratedbitratefd on 等信息。

USB CDC串口/SPI 和 SocketCAN 共用同一组物理 FDCAN 控制器。同一条 CAN 总线如果同时被多种入口配置,最后一次配置会决定当前实际 CAN 时序。

恢复默认配置

如需擦除通信配置区并恢复默认通信参数,可以发送:

AT+CFGERASE

执行成功后返回 OK,并立即恢复:

项目

恢复值

CAN/FDCAN

1000000,5000000

RS485

4000000,1,0,8

RS485 工作模式

SANPO RT 封装帧模式,原始数据透传关闭

SPI 模式

SHORT

RS485 原始数据透传通道

0

AT+CFGERASE 只擦除通信配置区,不擦除批量指令数据。