快速开始
SANPO 机器人集成开发板用于将电脑或主控板连接到 CAN、CAN FD 和 RS485 关节电机。V6 版本可通过 USB 串口、Linux SocketCAN 或 SPI 控制整板 4 路 CAN/CAN FD 和 4 路 RS485。
本文适用于预装 V6 固件的 FDCAN 升级版。使用 V4 固件的标准版、CAN 隔离版或 RS485 隔离版,请访问 V4 版本说明。
本页目录
产品概览
项目 |
说明 |
|---|---|
主控接入方式 |
USB 串口 / Linux SocketCAN / SPI |
电机通信接口 |
4 路 CAN/CAN FD + 4 路 RS485 |
CAN 数据长度 |
经典 CAN 最大 8 字节;CAN FD 最大 64 字节 |
SPI 模式 |
SHORT 23 字节;LONG 73 字节 |
离线执行 |
可以保存并自动执行 CAN、CAN FD 和 RS485 指令 |
扩展接口 |
IIC(I²C)/ ADC / 串口 / SWD |
每颗 MCU 控制两路 CAN/CAN FD 和两路 RS485,并通过自己的 USB 与 SPI 片选接入主机。两颗芯片使用相同固件,区别只是它们连接的物理接口编号不同。
选择控制方式
使用方式 |
推荐文档 |
|---|---|
Linux 通过 |
|
直接发送不带 SANPO 封装的 RS485 原始数据 |
|
USB 串口控制指定的经典 CAN 接口 |
|
USB 串口控制指定的 CAN FD 接口 |
|
USB 串口控制指定的 RS485 接口 |
|
Jetson、树莓派等主控板通过 SPI 控制经典 CAN |
|
Jetson、树莓派等主控板通过 SPI 控制 CAN FD |
|
Jetson、树莓派等主控板通过 SPI 控制 RS485 |
SocketCAN 使用 Linux 标准 CAN 接口,不需要 SANPO 帧头。USB 串口和 SPI 扩展协议使用以下帧头:
帧头 |
十六进制 |
用途 |
|---|---|---|
|
|
经典 CAN 标准帧 |
|
|
经典 CAN 扩展帧 |
|
|
CAN FD 标准帧 |
|
|
CAN FD 扩展帧 |
|
|
RS485 封装帧 |
默认通信参数
项目 |
出厂默认值 |
|---|---|
经典 CAN |
1 Mbps |
CAN FD 仲裁段 |
1 Mbps |
CAN FD 数据段 |
5 Mbps,BRS 开启 |
RS485 |
4 Mbps、1 个停止位、无校验、8 个数据位 |
SPI |
SHORT,23 字节 |
USB RS485 |
|
USB 串口和 SPI 使用固件保存的通信参数;SocketCAN 由 Linux 使用 ip link 单独配置。USB 串口软件里选择的“串口波特率”不会改变 CAN、CAN FD 或 RS485 总线参数。
首次使用或更换电机后,建议通过 USB 串口按文本发送以下命令,并把发送结束符设置为 CRLF:
AT+VER
AT+SETFDCAN?
AT+SETRS485?
AT+SPIMODE?
版本查询应返回当前烧录固件的版本号。例如,G473 的 V66 发布包会返回:
V66
详细设置方法见 通信参数配置。
通道编号
一条 USB 串口连接或一个 SPI 片选只访问当前 MCU 的两路总线。发送报文时可以沿用整板接口编号,但固件实际按下面的本地关系选择接口:
Channel |
当前 MCU 的发送目标 |
|---|---|
|
第一路 CAN/CAN FD/RS485 |
|
第二路 CAN/CAN FD/RS485 |
|
同时发送到当前 MCU 的两路同类接口 |
推荐在连接第一颗 MCU 时使用 1/2,连接第二颗 MCU 时使用 3/4,这样上位机配置与板上 CAN-1~4、RS485-1~4 丝印保持一致。
设备回包中的 Channel 是当前 MCU 的本地编号:第一路返回 0x01,第二路返回 0x02。因此,从 CAN-3、CAN-4、RS485-3 或 RS485-4 收到的回包,也会在对应 USB 串口或 SPI 片选中显示为 0x01 或 0x02。
USB 接入
完整开发板连接电脑后通常会出现两个 USB 串口;Linux 还会通过 gs_usb 出现 4 个 canX 接口。操作系统分配的 COM、/dev/ttyACM* 和 canX 编号不保证与开发板丝印顺序一致,第一次使用时应只连接一个电机确认对应关系。
Windows 可以使用 SANPO Studio、串口程序或电机原厂软件。
Linux 可以使用 USB 串口;CAN/CAN FD 也可以直接使用
can-utils或python-can。直接发送不带 SANPO 封装的 RS485 数据前,先按 RS485 原始数据透传开启 RAW 回包。
SPI 接入
SPI 适合 Jetson、树莓派或其他主控板进行周期控制。主控软件中的 CS0、CS1 通常分别连接开发板的两个外部片选,每个片选访问一颗 MCU。
SPI 使用 Mode 0、MSB First。
出厂默认 SHORT:每次完整传输 23 字节。
CAN FD 或超过 18 字节的 RS485 数据需要 LONG:每次完整传输 73 字节。
SPI 是全双工接口。发送控制帧时读到的可能是之前缓存的数据或全零;需要继续发送同长度空帧读取后续反馈。
配置和维护
通信参数配置:设置 CAN、CAN FD、RS485 和 SPI 长度模式。
离线批量执行:保存并自动执行一组电机指令。
固件更新:使用 ST-LINK 更新两颗 MCU。
接口和引脚说明:查看总线、扩展接口和 MCU 引脚。
V4 到 V6 迁移:将原有 V4 上位机程序迁移到 V6。
重要: 更新固件时不要执行全片擦除。全片擦除会删除出厂识别信息、已保存的通信参数和离线批次,之后需要重新进行出厂初始化。