CAN FD TO ETH
说明
|
| |||||||||||||||||||||
| |||||||||||||||||||||
产品概述
CAN FD TO ETH 是导轨式 CAN FD 转以太网设备,具备高速低延迟、性能稳定、易用和高性价比的特点,支持五种数据转换模式:透明、透明带 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 × 76.1 (mm) | |
| 安装方式 | 导轨式安装 | |
| Reload 按键 | 长按可恢复出厂设置 | |
| 指示灯 | POWER、WORK、NET 和 CAN | |
| 接口参数 | CAN 口规格 | 1 路 CAN 口、支持 CAN FD、兼容 CAN 2.0A/2.0B |
| CAN 口波特率 | 仲裁域波特率:5Kbps ~ 1Mbps 数据域波特率:100Kbps ~ 5Mbps | |
| 终端电阻 | 内置 2 个 CAN 总线 120Ω 终端电阻, 通过拨码把电阻接入,拨任意一位拨码到 ON,并接一个 120Ω 电阻, 两位拨码都到 ON,并联两个 120Ω 电阻 | |
| 网口规格 | RJ45,10/100Mbps,交叉直连自适应 | |
| 工作环境 | 工作温度 | -40℃ ~ 85℃ |
| 储存温度 | -40℃ ~ 105℃ | |
| 工作湿度 | 5%RH ~ 95%RH(无凝露) | |
| 存储湿度 | 5%RH ~ 95%RH(无凝露) | |
| 软件功能 | 网络协议 | TCP server、TCP client、UDP server 和 UDP client |
| Modbus 网关 | CAN FD 转 ModbusTCP(主 / 从) | |
| 发送报文 | 支持 64 条发送报文 | |
| 接收报文 | 支持 64 条接收报文 | |
| 转换模式 | 透明转换、透明带 ID 转换、标准转换、Modbus 转换和自定义帧头帧尾转换 | |
| CAN ID | 支持标准帧、扩展帧 | |
| 帧 ID 过滤 | 支持仅标准帧、仅扩展帧和自定义输入帧 ID(最多 32 组) | |
| 打包帧数时间 | 支持自定义打包帧数、自定义打包时间 | |
| 转换方向 | 支持双向转换、仅网口转 CAN、仅 CAN 转网口 | |
| 固件升级 | 支持上位机进行固件升级 | |
| 参数配置 | AT 指令、上位机软件配置 | |
| 其他功能 | 支持心跳包、注册包、正常、回环和只听工作模式 | |
| 防护参数 | 静电防护 | 空气放电 8KV,接触放电 6KV |
| 电快速脉冲群 | 电源回路 2KV,网口、CAN 口回路 1KV | |
| 浪涌干扰度测试 | 电源回路差模 1KV,共模 2KV,CAN 回路共模 2KV,网口回路 2KV |
硬件说明
指示灯说明
| 指示灯 | 颜色 | 功能说明 |
| POWER灯 | 红色 | 上电常亮,断电熄灭 |
| STA灯 | 绿色 | 闪烁:设备正常运行,频率 1s;
频闪:进入 CAN 总线被动错误状态; 常亮:CAN 总线运行异常 |
| NET灯 | 绿色/红色 | 绿灯闪烁:表示网口有数据正在接收
红灯闪烁:表示网口有数据正在发送 |
| CAN灯 | 红色 | 绿灯闪烁:表示 CAN 口有数据正在接收
红灯闪烁:表示 CAN 口有数据正在发送 |
软件操作
- 注:以透传模式为例
CAN FD转换器基本参数配置
- 打开WS-CAN-FD-Converter,选择CAN FD TO ETH。(软件默认是英文,可以修改为中文)
- 按顺序点击网络搜索、目标设备、读取参数。
- 假如右侧消息栏有报错提示,重新点击“读取参数”,直至没有报错出现再进行下一步
- 点击接口设置、设置CAN FD模式、启用CAN FD加速、仲裁域波特率为1000k、数据域波特率为5000k,然后点击网络设置
- 网络工作模式选择TCP Server、本地端口改为502、最后点击保存就可以结束设备配置。右侧指令有报错需要重新保存或重新配置
实例演示
接线说明
CAN
1、CAN FD TO ETH 的 CAN-H 接 USB-CAN-FD 的 CAN1-H
2、CAN FD TO ETH 的 CAN-L 接 USB-CAN-FD 的 CAN1-L
网线
CAN FD TO ETH的网口接电脑的网口
USB_CANFD TOOL通信软件配置
- 打开测试软件“USB_CANFD TOOL.exe”,点击设备管理
- 点击索引旁边的“打开设备”,再点击USBCANFD- 200U旁边的启动
- 工作模式选择“正常”、CAN FD标准选“CAN FD ISO”,仲裁域波特率”1Mbps“,数据域波特率”5Mbps“,最后点“确定”
SSCOM软件配置
- 网络设置区选择TCPClient模式,远程IP地址输入192.168.0.7,此为模块默认的IP地址,本地IP地址选择192.168.0.200(根据具体情况选择),服务器端口号502,此为模块的TCP端口号,点击连接建立TCP连接。
接口收发通信测试
- 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 报文。
- ETH 转 CAN
- ETH 转 CAN FD
- ETH 转 CAN FD
CAN(FD)转以太网
- 对于CAN总线的报文,同样是收到一帧CAN(FD)报文就立即转发一帧。
- 如果配置开启了使能帧信息,转换器工作时会将CAN(FD)报文的帧信息添加在以太网帧的第一个字节。未选中时不转换CAN(FD)的帧信息。
- 如果配置开启了使能帧ID,转换器工作时会将CAN(FD)报文的帧ID添加在以太网帧的帧数据之前,帧信息之后(如开启使能帧信息)
CAN转以太网数据(未开启使能帧信息/使能帧ID) CANFD转以太网数据(开启使能帧信息/使能帧ID)
- CAN 转 ETH (未开启使能帧信息/使能帧ID)
- CAN 转 ETH (未开启使能帧信息/使能帧ID)
- CAN FD 转 ETH (开启使能帧信息/使能帧ID)
- CAN FD 转 ETH (开启使能帧信息/使能帧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转换到以太网帧中对应位置。
- ETH 转 CAN
- ETH 转 CAN
- ETH 转 CAN FD
- ETH 转 CAN FD
CAN(FD)转以太网
- 对于CAN(FD)报文,收到一帧就立即转发一帧,每次转发的时候,根据事先配置的CAN(FD)帧ID在以太网数据中的位置和长度,把接收到的CAN(FD)报文中的ID作相应的转换。其它数据依序转发。
- 注意:如果CAN(FD)帧ID长度大于设置的透明带ID长度,则只取低位字节转换到以太网帧对应位置。举例:CAN帧ID为01020304,设置的透明带ID长度为2,则只将0304转换到以太网帧中对应位置。
- CAN 转 ETH
- CAN 转 ETH
- CAN FD 转 ETH
- CAN FD 转 ETH
转换示例
标准协议转换
- 标准 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帧格式
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 TCP 以太网帧中的地址域填充。
帧格式
modbus帧格式:
网口:Modbus TCP协议,用户帧符合此协议即可。
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 TCP转CAN(FD)
Modbus 协议的地址域转换成 CAN 报文中帧 ID 的 ID4(扩展帧)或 ID2(标准帧),在转换该帧的过程中标识不变。
MBAP头不转换到 CAN 报文中, CAN 的报文中也不必带有MBAP头。
转换的是 Modbus 的协议内容——功能码和数据域,转换时将它们依次转换在 CAN 报文帧的数据域(从第二个数据字节开始,第一个数据字节为分段协议使用)里。
由于 Modbus 帧的长度根据功能码的不同而不同,而 CAN 报文一帧只能传送 7 个数据,CANFD 报文一帧只能传送 63 个数据。
所以转换器会将较长的 Modbus 帧分段转换成 CAN 的报文后,用上述的 CAN 分段协议发出。用户在 CAN的节点上接收时取功能码和数据域处理即可。
CAN(FD)转Modbus TCP
对于 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:
![]()
转换示例
AT指令
网络 AT 指令概述
网络 AT 指令是一种指令集,用户可在命令模式下,通过网口与模块进行命令交互,其详细指令集与串口 AT 指令集完全一致。
- 指令模式要求:使用网络 AT 指令时,必须确保模块与电脑处于同一网段,方可通过该指令对模块进行参数配置。
- 进入指令模式的方法:通过网络调试工具以 UDP 广播形式发送固定字符串(默认值为 www.waveshare.com,支持自定义修改)。若模块与电脑在同一网段,电脑将接收到模块的回复信息,这表明模块已成功进入网络 AT 指令模式,此时即可下发 AT 指令进行参数配置。
- 超时退出机制:模块进入网络 AT 指令模式后,若 30 秒内未接收到任何指令,将自动退出该模式。
AT 指令集
| 分类 | 序号 | 指令 | 功能描述 |
|---|---|---|---|
| 基础指令 | 1 | AT | 测试 |
| 2 | AT+E | 查询/设置回显使能 | |
| 3 | AT+Z | 重启模组 | |
| 4 | AT+ENTM | 退出配置模式 | |
| 5 | AT+VER | 查询固件版本号 | |
| 6 | AT+CFGTF | 保存运行参数为用户参数 | |
| 7 | AT+RELD | 恢复模块出厂设置 | |
| 8 | AT+CLEAR | 恢复出厂并重启 | |
| 9 | AT+MID | 查询/设置设备名 | |
| 10 | AT+SN | 查询 SN 码 | |
| CAN 通信指令 | 1 | AT+CAN | 查询/设置基础 CAN 参数 |
| 2 | AT+CANFD | 查询/设置基础 CANFD 模式参数 | |
| 3 | AT+CANBAUD | 查询/设置自定义波特率的相位缓冲段与分频值 | |
| 4 | AT+CANFDBAUD | 查询/设置 CANFD 数据域自定义波特率的相位缓冲段与分频值 | |
| 5 | AT+CANLT | 查询/设置 CAN 滤波模式 | |
| 6 | AT+ADDLIST | 查询/设置滤波帧 ID 白名单 | |
| 7 | AT+DELLIST | 删除滤波帧 ID 白名单中对应的帧 ID | |
| 8 | AT+TRDIR | 查询/设置 CAN 转换传输方向 | |
| 9 | AT+TMODE | 查询/设置 CAN 协议转换模式 | |
| 10 | AT+MSG | 查询/设置使能帧 ID、使能帧信息 | |
| 11 | AT+MARK | 查询/设置透明带 ID 参数位置和长度 | |
| 12 | AT+UDMHT | 查询/设置自定义转换模式下的帧头帧尾 | |
| 13 | AT+CANMODE | 查询/设置 CAN 工作模式 | |
| 14 | AT+CANPACK | 查询/设置 CAN 打包时间和帧数 | |
| 网口指令 | 1 | AT+WANN | 查询/设置设备本地 IP 以及获取方式 |
| 2 | AT+SOCKAEN/SOCKBEN | 查询/设置端口的 socketN 是否开启 | |
| 3 | AT+SOCKA/SOCKB | 查询/设置端口的 socketN 参数 | |
| 4 | AT+SOCKPORT/SOCKBPORT | 查询/设置端口的 socketN 本地端口号 | |
| 5 | AT+SOCKLK/SOCKBKLK | 查询端口 socketN 的连接状态 | |
| 6 | AT+SOCKSL/SOCKBBSL | 查询/设置端口 socketN 的短连接功能 | |
| 7 | AT+SHORTO/SHORBTO | 查询/设置端口 socketN 的短连接时间 | |
| 8 | AT+UDPAFLT/UDPBFLT | 查询/设置端口 socketN 的 UDP IP 端口号过滤功能 | |
| 9 | AT+DNS | 查询/设置 DNS 地址配置 | |
| 10 | AT+DNSMODE | 查询/设置 DNS 的获取方式 | |
| 11 | AT+TCPCSE | 查询/设置 TCPS 是否踢掉旧链接 | |
| 12 | AT+MAXSK | 查询/设置 TCPS 最大连接数 | |
| 13 | AT+TCPREIP/TCPBREIP | 查询/设置端口 socketN 的目标 IP 地址/域名 | |
| 14 | AT+RCTIM | 查询/设置 TCPC 无数据重连时间 | |
| 15 | AT+UDPFLT | 查询/设置 UDP IP 端口号过滤功能 | |
| 16 | AT+HEARTEN | 查询/设置心跳包使能 | |
| 17 | AT+HEARTDT | 查询/设置自定义心跳包内容 | |
| 18 | AT+HEARTDTHEX | 查询/设置 HEX 格式自定义心跳包内容 | |
| 19 | AT+CANHEART | 查询/设置 CAN 心跳包内容 | |
| 20 | AT+HEARTTTM | 查询/设置心跳包时间 | |
| 21 | AT+HEARTSND | 查询/设置心跳包发送方向 | |
| 22 | AT+REGDT | 查询/设置注册包自定义数据 | |
| 23 | AT+REGDTHEX | 查询/设置 HEX 格式注册包自定义数据 | |
| 24 | AT+REGEN | 查询/设置注册包类型 | |
| 25 | AT+REGSND | 查询/设置注册包发送方式 | |
| 26 | AT+PING | 查询/设置 PING 命令 | |
| 27 | AT+DHCPEN | 查询/设置 DHCP 开关 | |
| 28 | AT+SEARCH | 查询/设置网络 AT 指令端口号以及关键字 | |
| 29 | AT+RSTIM | 查询/设置无数据重启时间 | |
| Modbus 指令 | 1 | AT+MDBSEN | 查询/设置 Modbus 网关功能使能 |
| 2 | AT+MDBSMOD | 查询/设置 Modbus 工作模式 | |
| 3 | AT+RDSDLIST | 查询发送报文 | |
| 4 | AT+ADDSDLIST | 添加发送报文 | |
| 5 | AT+DELSDLIST | 删除发送报文 | |
| 6 | AT+RDSDPOINT | 查询发送数据(映射变量) | |
| 7 | AT+ADDSDPOINT | 添加发送数据(映射变量) | |
| 8 | AT+DELSDP0INT | 删除发送数据(映射变量) | |
| 9 | AT+RDRVLIST | 查询接收报文 | |
| 10 | AT+DELRVLIST | 删除接收报文 | |
| 11 | AT+RDRVPOINT | 查询接收数据(映射变量) | |
| 12 | AT+ADDRVPOINT | 添加接收数据(映射变量) | |
| 13 | AT+DELRVPOINT | 删除接收数据(映射变量) |
AT错误提示符
| 错误码 | 说明 |
|---|---|
| EER1 | 无效的命令格式 |
| EER2 | 无效的命令 |
| EER3 | 无效的操作符 |
| EER4 | 无效的参数 |



