CAN FD TO RS232/RS485 使用教程

说明

产品概述

CAN FD TO RS232/RS485 是导轨式 CAN FD 和 RS232/RS485 双向互转设备,具备高速低延迟、性能稳定、易用和高性价比等特点,支持五种数据转换模式:透明、透明带 ID、标准协议、Modbus 和自定义帧头帧尾,可实现 CAN 与串口设备互联,兼容 CAN FD 及 CAN 2.0A/2.0B 协议。
产品采用工业级设计,-40°C ~ 85°C 稳定运行,支持 9V ~ 36V 宽电压供电,仲裁域波特率 5Kbps ~ 1Mbps、数据域 100Kbps ~ 5Mbps。
设备支持上位机软件配置,自带 120Ω 总线电阻 (拨码快速接入),支持导轨安装,配置便捷,安装高效。

产品参数

分类参数数值
基本参数工作电压DC 9V ~ 36V
尺寸110 × 27 × 85.6 (mm)
安装方式导轨式安装
Reload 按键长按可恢复出厂设置
指示灯POWER、WORK、COM 和 CAN
接口参数CAN 口规格1 路 CAN 口、支持 CAN FD、兼容 CAN 2.0A/2.0B
CAN 口波特率仲裁域波特率:5Kbps ~ 1Mbps
数据域波特率:100Kbps ~ 5Mbps
终端电阻内置 2 个 120Ω 终端电阻,
拨任意一位拨码到 ON,并联一个 120Ω 电阻,
两位都到 ON,并联两个 120Ω 电阻
串口规格支持一路 RS485 或 RS232 接入
工作环境工作温度-40℃ ~ 85℃
储存温度-40℃ ~ 105℃
工作湿度5%RH ~ 95%RH(无凝露)
存储湿度5%RH ~ 95%RH(无凝露)
软件功能Modbus 网关CAN FD 转 Modbus RTU(主 / 从)
发送报文支持 64 条发送报文
接收报文支持 64 条接收报文
转换模式透明转换、透明带 ID 转换、标准转换、Modbus 转换和自定义帧头帧尾转换
CAN ID支持标准帧、扩展帧
帧 ID 过滤支持仅标准帧、仅扩展帧和自定义输入帧 ID(最多 32 组)
转换方向支持双向转换、仅串口转 CAN 和仅 CAN 转串口
固件升级支持上位机进行固件升级
参数配置AT 指令、上位机软件配置
防护参数静电防护空气放电 8KV,接触放电 6KV
电快速脉冲群电源回路 2KV;RS485/RS232 回路 1KV;CAN 回路 1KV
浪涌干扰度测试电源回路差模 1KV,共模 2KV;CAN 回路共模 2KV


硬件说明

指示灯说明

指示灯颜色功能说明
POWER灯红色上电常亮,断电熄灭
STA灯绿色闪烁:设备正常运行,频率 1s;

频闪:进入 CAN 总线被动错误状态; 常亮:CAN 总线运行异常

COM灯绿色/红色绿灯闪烁:表示串口有数据正在接收

红灯闪烁:表示串口有数据正在发送

CAN灯红色绿灯闪烁:表示 CAN 口有数据正在接收

红灯闪烁:表示 CAN 口有数据正在发送


软件操作

  • 注:以透传模式为例

CAN FD转换器基本参数配置

  • 打开WS-CAN-FD-Converter,选择CAN FD TO RS232/RS485。(软件默认是英文,可以修改为中文)


  • 点击 打开串口 旁边的三角形选择串口配置,再点击串口旁边的小三角形,然后修改串口配置


  • 修改串口号为USB TO RS232/485的实际串口号


  • 配置完串口参数后,依次点击:打开串口、进入配置状态、读取参数。(若右侧消息栏有报错、重新点击读取参数,直至没有报错)


  • 点击设置CAN FD模式、启用CAN FD加速、仲裁域波特率为1000k、数据域波特率为5000k,然后点击设置并保存


  • 确认右侧指令无报错提示后,依次点击退出配置状态、关闭串口就可以结束设备配置。右侧指令有报错需要重新重新保存或重新配置


实例演示

接线说明

CAN
1、CAN FD TO RS232/RS485 的 CAN-H 接 USB-CAN-FD 的 CAN1-H
2、CAN FD TO RS232/RS485 的 CAN-L 接 USB-CAN-FD 的 CAN1-L

RS232
1、CAN FD TO RS232/RS485 的 RS232-GND 接 USB TO RS232 (B) 的RS232-GND
2、CAN FD TO RS232/RS485 的 RS232-RX 接 USB TO RS232 (B) 的 RS232-TX
3、CAN FD TO RS232/RS485 的 RS232-TX 接 USB TO RS232 (B) 的 RS232-RX


USB_CANFD TOOL通信软件配置

  • 打开测试软件“USB_CANFD TOOL.exe”,点击设备管理


  • 点击索引旁边的“打开设备”,再点击USBCANFD- 200U旁边的启动


  • 工作模式选择“正常”、CAN FD标准选“CAN FD ISO”,仲裁域波特率”1Mbps“,数据域波特率”5Mbps“,最后点“确定”


SSCOM软件配置

  • 打开测试软件“SSCOM.exe”,串口连接到的计算机的串口号COM5(根据具体情况选择),选择 CAN FD TO RS232/RS485 串口默认波特率115200,点打开串口。


接口收发通信测试

  • USB_CANFD TOOL点击发送消息,发送数据 55 55 66 66 77 77 88 88,SSCOM软件勾选HEX十六进制接收数据55 55 66 66 77 77 88 88。
  • SSCOM软件点击发送消息,发送数据 11 11 22 22 33 33 44 44,USB_CANFD TOOL勾选HEX十六进制接收数据 11 11 22 22 33 33 44 44。


转换模式使用说明

透明转换

  • 透明转换方式下,接收到一侧总线的数据就立即转换发送至另一总线侧,不附加数据,也不对数据做任何修改。这样既实现了数据格式的交换又没有改变数据内容,对于两端的总线来说转换器如同透明的一样。
  • CAN报文帧信息(帧类型部分)和帧ID来自用户事先的配置,并且在转换过程中帧类型和帧ID一直保持不变。用户可以选择是否将帧信息和帧ID进行转换。
  • 这种方式下不会增加用户通讯负担,而能够实时的将数据原样转换,能承担较大流量的数据的传输。

串口 转 CAN(FD)

  • 串口转 CAN 报文:串行帧的全部数据依序填充到 CAN 报文帧的数据域里。转换器一检测到串行总线上有数据后就立即接收并转换。帧信息(帧类型部分)和帧 ID 需预先配置。
    • CAN模式:每帧数据最大 8 字节。
    • CANFD模式:每帧数据最大 64 字节。注意:当数据长度超过 8 字节时,必须符合 CANFD 的 DLC 能编码的长度才能保证准确转换,即长度为 12、16、20、24、32、48、64,否则转换器会自动将拆分成合适长度的几个 CANFD 报文。
    • 串口 转 CAN


    • 串口 转 CAN FD


CAN(FD)转串口

  • 对于CAN总线的报文,同样是收到一帧CAN(FD)报文就立即转发一帧。
  • 如果配置开启了使能帧信息,转换器工作时会将CAN(FD)报文的帧信息添加在串行帧的第一个字节。未选中时不转换CAN(FD)的帧信息。
  • 如果配置开启了使能帧ID,转换器工作时会将CAN(FD)报文的帧ID添加在串行帧的帧数据之前,帧信息之后(如开启使能帧信息)

CAN转串口数据(未开启使能帧信息/使能帧ID) CANFD转串口数据(开启使能帧信息/使能帧ID)

    • CAN 转 串口 (未开启使能帧信息/使能帧ID)


    • CAN FD 转 串口 (开启使能帧信息/使能帧ID)


转换示例

串口:


透明带 ID 转换

  • 透明带标识转换是透明转换的特殊用法,也不附加协议。该方式能将串口数据中的“地址”转换到 CAN(FD)报文的标识域中,其中帧 ID 在串口数据中的起始位置和长度均可配置。转换器在转换时会提取出这个帧 ID ,填充在 CAN(FD) 报文的帧 ID 域里,作为该串口数据转发时的 CAN(FD)报文的 ID。同样的,在 CAN 报文转换成串口数据的时候也把 CAN(FD)报文的 ID 转换在串口数据的相应位置。
  • 在这种方式下,转换器能最大限度地适应用户的自定义协议。

  • 注意:在该转换模式下,配置软件的 CAN 参数设置项的“CAN ID”无效,因为此时发送的标识符(帧 ID)是由上述的串口数据中的数据填充的。

串口转CAN(FD)

  • 配置CAN(FD)帧类型和串口数据中所带有CAN(FD)报文的“帧ID“的起始地址和长度。其中起始地址的范围是0~7;长度范围是标准帧:1~2、扩展帧:1~4。
  • 转换时根据事先的配置将串口数据中的CAN(FD)报文“帧ID“,对应全部转换到CAN(FD)的帧ID域中。若配置的透明带ID长度少于CAN(FD)报文的帧类型的帧ID长度,则在CAN(FD)报文中帧ID的高字节补0。
  • 对于CAN(FD)报文,收到一帧就立即转发一帧,每次转发的时候,根据事先配置的CAN(FD)帧ID在串口数据中的位置和长度,把接收到的CAN(FD)报文中的ID作相应的转换。其它数据依序转发。
  • 注意:如果CAN(FD)帧ID长度大于设置的透明带ID长度,则只取低位字节转换到串行帧对应位置。举例:CAN帧ID为01020304,设置的透明带ID长度为2,则只将0304转换到串行帧中对应位置。
    • 串口 转 CAN


    • 串口 转 CAN FD


CAN(FD)转串口

  • 对于CAN(FD)报文,收到一帧就立即转发一帧,每次转发的时候,根据事先配置的CAN(FD)帧ID在串口数据中的位置和长度,把接收到的CAN(FD)报文中的ID作相应的转换。其它数据依序转发。

  • 注意:如果CAN(FD)帧ID长度大于设置的透明带ID长度,则只取低位字节转换到串行帧对应位置。举例:CAN帧ID为01020304,设置的透明带ID长度为2,则只将0304转换到串行帧中对应位置。

    • CAN 转 串口


    • CAN FD 转 串口


转换示例

串口:

标准协议转换

  • 标准 CAN 帧格式,每个 CAN 帧包含 13 个字节,13 个字节内容包括 CAN 帧信息(1 字节)+ 帧 ID(4 字节) +数据帧(8 字节)。
  • 标准 CANFD 帧格式,每个 CANFD 帧包含 69 个字节,69 个字节内容包括 CANFD 帧信息(1 字节)+ 帧 ID(4 字节) +数据帧(64字节)。
  • 通过正确配置帧信息(第一个字节的数据),可以灵活地发出标准帧、扩展帧甚至远程帧。通过正确解析串行帧可以得到标准帧、扩展帧甚至远程帧的细节。
  • 注意:
  • (1)该转换模式下,配置软件的“CAN ID”、“帧类型”均无效,因为此时发送的帧 ID 由上述串行帧中的帧 ID 数据填充,帧类型由串行帧中的帧信息来决定。
  • (2)该模式下,必须严格按照标准的串行数据格式才能转换成功。必须要确保帧信息无误,保留位要为零。CAN 帧固定长度为 13字节,CANFD 帧固定长度为 69 字节,不足必须补 0,否则不能传输。

标准CAN帧格式


帧信息:长度1字节,用于标识帧信息:帧类型、帧长度。

FF: 标准帧和扩展帧的标识位, 1 为扩展帧, 0 为标准帧。
RTR: 远程帧和数据帧的标识位, 1 为远程帧, 0 为数据帧,CANFD模式时只能为0。
EDL: CAN和CANFD标识,0为CAN,1为CANFD。
BRS:波特率切换使能标识,0 为不转换速率,1 为转换可变速率,仅 CANFD 时有效。CAN 时此位应该为 0。
DLC3~DLC0: 数据长度位,标识该CAN(FD)帧的数据长度。

帧ID:长度4字节;高位在前,低位在后。标准帧有效位是 11 位,扩展帧有效位是 29 位。

帧数据:CAN模式长度8字节,CANFD模式长度64字节,不足必须补00。

转换示例

串口:


Modbus 协议转换

Modbus 协议转换可以将标准的 Modbus 数据协议转换成特定的 CAN(FD)数据格式,此种转换一般要求 CAN(FD)总线设备报文可编辑。
在 CAN 侧,制定了一个简单易用的分段通讯格式来实现 Modbus 的通讯。转换器在其中扮演的角色仍然是协议验证和转发。支持 Modbus 协议的传输,而不是 Modbus 的主机或者从机,用户按照 Modbus 协议通讯即可。
注意:
(1)在该转换模式下,配置软件的“CAN 参数”项的“CAN ID”无效,因为此时发送的帧 ID 由 Modbus RTU 串行帧中的地址域填充。

帧格式

modbus帧格式:
串口:Modbus RTU协议,所以用户帧符合此协议即可。
CAN帧:
CAN 侧设计了一套分段协议格式,其定义了一个分段以及重组的方法,如下所示。其中,CAN 帧信息(远程帧或数据帧;标准帧或扩展帧)通过配置软件设置。
CAN模式下,传输的 Modbus 协议内容即可从“数据2”字节开始,如果协议内容大于7个字节,那么将剩下的协议内容照这种分段格式继续转换,直到转换完成。

CANFD模式下,传输的 Modbus 协议内容即可从“数据2”字节开始,如果协议内容大于63个字节,那么将剩下的协议内容照这种分段格式继续转换,直到转换完成。

数据 1 是分段控制信息(占 1 个字节,8 Bit),其含义如下:

  • 分段标记:占 1 个 bit 位 (Bit7),标志该报文是否是分段报文。该位为 0 表示单独报文,为 1 表示属于被分段报文中的一帧。
  • 分段类型:占 2 个 bit 位(Bit6,Bit5),用于表示该报文在分段报文中的类型:
  • 分段计数器:占 5 个 bit 位(Bit4~Bit0),表示该段在该段在整个报文中的序号。如果是第几个段,那么计数器的值就是几。这样在接收时就能够验证是否有分段被遗失。


Modbus RTU 转CAN(FD)

Modbus 协议的地址域转换成 CAN 报文中帧 ID 的 ID4(扩展帧)或 ID2(标准帧),在转换该帧的过程中标识不变。
CRC 校验字节不转换到 CAN 报文中, CAN 的报文中也不必带有串行帧的校验字节,因为 CAN 总线本身就有较好的校验机制。
转换的是 Modbus 的协议内容——功能码和数据域,转换时将它们依次转换在 CAN 报文帧的数据域(从第二个数据字节开始,第一个数据字节为分段协议使用)里。 由于 Modbus 帧的长度根据功能码的不同而不同,而 CAN 报文一帧只能传送 7 个数据,CANFD 报文一帧只能传送 63 个数据。 所以转换器会将较长的 Modbus 帧分段转换成 CAN 的报文后,用上述的 CAN 分段协议发出。用户在 CAN的节点上接收时取功能码和数据域处理即可。

CAN(FD)转Modbus RTU

对于 CAN 总线的 Modbus 协议数据,无需做循环冗余校验(CRC16),转换器按照分段协议接收,接收完一帧解析后自动加上循环冗余校验(CRC16),转换成 Modbus 帧发送至串行总线。
注意:如果接收到的数据不符合分段协议,则将该组数据丢弃不予转换。
CAN:

CAN FD:

转换示例

串口:


自定义帧头帧尾转换

为了让用户方便使用 CAN-bus,将串行帧格式向 CAN 帧格式靠拢,在串行帧中规定了一帧的起始及结束,即“帧头”和“帧尾”,用户可自行配置。

串口转CAN(FD)

串行帧格式必须符合规定的帧格式,否则不能正确传输。串行帧必须包含:帧头、数据长度、数据域、帧尾。帧头帧尾由客户自定义,1字节。
数据长度指数据域的字节长度。数据长度和帧尾数据必须匹配,才能正确传输,否则丢弃。例如:帧头配置为AA,帧尾配置FF。串行帧 AA03010204FF,则可正常传输。如果串行帧发送 AA0301020304FF,数据域 010203后为04而非帧尾FF,则丢弃该帧,不能传输。
如同透明转换,自定义协议转换中,CANID和CAN类型需要自行配置。帧头、帧尾、数据长度不转换到CAN帧中。
CAN:

CAN FD:

串口转CAN(FD)

CAN(FD)总线报文收到一帧即转发一帧,模块会将CAN报文数据域中的数据依次转换,同时会自动向串行帧添加帧头、帧长度、帧信息等数据,实际为串行帧转CAN报文的逆向形式。
CAN:

CAN FD:

转换示例

串口:

资料

软件

FAQ

问题: 配置完设备之后,can端发送信息,设备无响应,串口端发送信息后,设备直接回复err -1 (ascii码),要怎么处理?

这种情况一般是配置完设备后没有退出配置状态,需要使用配置软件退出配置模式


问题: 配置无法保存要怎么处理?

检查一下配置项是否漏填


技术支持

周一-周五(9:30-6:30)周六(9:30-5:30)

手机:13434470212

邮箱:services04@spotpear.cn

QQ:202004841

TAG: TTL转CAN NUCLEO MX25R6435扩展RAM 全金属紧凑型UGV悬挂高强度弹簧7.5KG负载 适用于DDSM115轮毂电机 树莓派PICO 7寸显示屏 树莓派5 固态硬盘 ESP32小车 STM32下载器 Raspberry Pi 5 树莓派13.3寸LCD触摸显示屏1080P游戏机手机电脑副屏Type-C/HDMI ESP32 S3开发板2.1寸LCD触摸显示屏480 HMI LVGL带QMI8658 6轴加速度陀螺仪 无线串口 电子眼睛0.71寸圆形LCD显示屏液晶屏适用于Arduino/树莓派/PICO/STM32 树莓派5外壳 树莓派5散热 语音模块识别芯片 Jetson Nano舵机驱动板 树莓派RP2040 ESP32-S3 ST7701S Sipeed NanoKVM远程控制KVM远程运维服务器 远程桌面 远程装机 远程UART串口 HDMI适用于树莓派 树莓派5 PCIE转M.2 NVME SSD固态硬盘扩展板适用于Argon NEO 5外壳(不含)