5108 CM5IO RS485-CANFD
Change the language to English
关键词
树莓派5、树莓派4B、CM5核心板、CM4核心板、RPiOS、ISO RS485、ISO CANFD、40p-GPIO
一、简介
CM5IO_RS485-CANFD是一款基于40Pin接口进行RS485扩展和CANFD扩展的模块。具备两路带隔离的RS485,两路带隔离的CANFD。
二、硬件资源
1,采用树莓派的40Pin GPIO进行扩展;适用于树莓派3B/4B/5/CM4/CM5等平台;
2,两路带隔离的RS485,3.81mm-3Pin接口;
3,两路带隔离的CANFD,3.81mm-3Pin接口;
4,RS485和CANFD都带有120欧姆终端匹配电阻,如果传输距离太长或者电缆终端没有相应匹配电阻,建议短接跳线;
5,尺寸:56*65mm,板材通过UL和ROHS认证,防火等级94V-0。
6,模块分三个版本,分别为RS485版本,CANFD版本和RS485-CANFD版本。
RS485隔离模组特点:
本模组采用自动流控型高速RS485隔离模块,是一款采用IC集成化技术,实现了电源隔离、信号隔离、RS-485通信和总线保护于一体的RS-485协议收发模组。模组自带定压隔离电源,可实现2500VDC电气隔离耐压保护;可作为从机接入RS485总线,也可作为主机,接收处理各从机信息。
- 最多可以连接64/128个节点;
- 高达500Kbps传输速率;
- 电磁辐射EMI极低;
- 工作温度范围:-40℃ - +85℃;
- 集成电源隔离、信号隔离和总线ESD保护功能。
CANFD隔离模组特点:
本模组自带隔离电源,可实现2500VDC的两端电气隔离,继承了隔离CAN收发器的主要特性,提升了其数据传输性能,符合ISO 11898-2物理层标准。
- 波特率高达5Mbps;
- 同一网络至少可支持连接110个节点;
- 工作温度范围:-40℃ - +105℃;
- 总线超时保护。
三、模块测试
树莓派各种版本使用本模块,对应的串口号有所不同,对比如下:
| 端口序号 | 1 | 2 | 3 | 4 |
| 端口类型 | CANFD | CANFD | RS485 | RS485 |
| CM5、树莓派5 | CANFD0 | CANFD1 | UART2 | UART4 |
| CM4、树莓派4B | CANFD0 | CANFD1 | UART3 | UART5 |
软件平台:树莓派OS的版本为2025-05-13-raspios-bookworm-arm64.img.xz,树莓派OS下载地址:
https://www.raspberrypi.com/software/operating-systems/#raspberry-pi-os-64-bit
硬件平台:CM5IO_RS485-CANFD模块搭配树莓派5,如下图所示:
四个接口的示意图如下(RS485-CANFD版本,另外两个版本只包含相应接口):
3.1 测试RS485
打开终端,运行下列命令:
sudo nano /boot/firmware/config.txt
在文件末尾加入下列语句:
dtoverlay=uart2
dtoverlay=uart4
保存后重启系统。
安装串口软件CuteCom,安装命令为:
sudo apt install cutecom
安装完毕后,点击桌面左上角的树莓派图标,在“System Tools”有CuteCom的快捷方式:
如果在使用过程中有权限不足的问题,请打开树莓派OS终端,输入:
sudo cutecom
来启动CuteCom。
▶ 测试串口ttyAMA2与PC之间的数据收发:
在PC端插上一个USB转485的转换器,与模块上的RS485接口(ttyAMA2,对应UART2)相连,各自打开串口软件进行收发,结果如下:
经过实测,波特率最高可达到2.01Mbps(以传输数据不发生乱码、缺失为准)。
▶ 测试串口ttyAMA4与PC之间的数据收发:
在PC端插上一个USB转485的转换器,与模块上的RS485接口(ttyAMA4,对应UART4)相连,各自打开串口软件进行收发,结果如下:
经过实测,波特率最高可达到2.01Mbps(以传输数据不发生乱码、缺失为准)。
▶ 测试ttyAMA2与ttyAMA4之间的数据收发:
两个RS485接口相连,各自打开串口软件进行收发,结果如下:
经过实测,波特率最高可达到1.54Mbps(以传输数据不发生乱码、缺失为准)。
3.2 测试CANFD
CAN是SPI接口,mcp251xfd为CAN控制器,spi0-0和spi0-1为同一路SPI接口不同片选,interrupt为MP2518FD的中断号,都要和硬件相对应。
注意:必须在收发两端的至少一端开启120欧姆终端匹配电阻。如果需要在模块一端开启,请将相应的端口的120欧姆终端匹配电阻的插针,用短路帽短接。
首先更新系统,在树莓派终端中执行:
sudo apt update
sudo apt upgrade
需要在config.txt中加入CAN接口的配置,运行下列命令:
sudo nano /boot/firmware/config.txt
在文件末尾加入下列语句:
dtoverlay=spi1-3cs
dtoverlay=mcp251xfd,spi0-0,interrupt=25
dtoverlay=mcp251xfd,spi0-1,interrupt=24
然后在图形界面中,依次选择如下图项目后,确保SPI已开启:
最后重启系统。在终端中输入dmesg | grep spi,查看 SPI 的信息,红框中的信息显示can0和can1识别成功:
安装CAN软件:
sudo apt-get install can-utils
输入以下命令开启CANFD(我们将波特率设置为bitrate:500000,dbitrate:2000000):
sudo ip link set can0 up type can bitrate 500000 dbitrate 2000000 restart-ms 1000 berr-reporting on fd on
sudo ip link set can1 up type can bitrate 500000 dbitrate 2000000 restart-ms 1000 berr-reporting on fd on
sudo ifconfig can0 txqueuelen 65536
sudo ifconfig can1 txqueuelen 65536
注:bitrate设置为1000000(1M),dbitrate设置为5000000(5M)也可以正常使用。
设置完成后输入ifconfig,查看CAN连接,可看到can0和can1:
在模块与PC之间连接好USB CANFD收发器,使用cangaroo软件在PC端进行接收,cangaroo下载地址:
http://www.mcuzone.com/wiki/5108_CM5IO_RS485-CANFD/cangaroo-win32-ccdcb64.zip
cangaroo设置如下(Measurement - Setup...):
其中COM85为USB CANFD收发器在PC上的监听端口(依系统配置不同而不同)。Bitrate和CanFD Bitrate应与上面开启CANFD的命令中的比特率设置相对应。
测试CAN0发送数据:
USB CANFD收发器接在模块的CAN0接口上,让cangaroo在PC的COM85上开始监听(Measurement - Start Measurement),在树莓派终端中运行:
cansend can0 123#0123456789ABCDEF
(注意:“#”之前是CAN设备的ID;“#”之后是发送内容,为16进制数字,可以自定义。)
可以运行多次:
cangaroo输出如下,说明收发正常:
测试CAN0接收数据:
在树莓派终端中运行:
candump can0 -a
注意:-a参数表示显示接收结果时同时显示相应的16进制数字的ASCII码,如果不加此参数,则不显示ASCII码。
在cangaroo主界面的Transmit View里面,设置好Address和DLC,以及后面需要的发送数据,下图显示的是发送“MCUZONE!”的16进制ASCII码数据:
然后按下Send键(或Send Repeat键重复发送),即可在树莓派终端中看到从cangaroo发来的数据:
测试CAN1发送数据:
USB CANFD收发器接在模块的CAN1接口上,让cangaroo在PC的COM85上开始监听(Measurement - Start Measurement),在树莓派终端中运行:
cansend can1 123#0123456789ABCDEF
(注意:“#”之前是CAN设备的ID;“#”之后是发送内容,为16进制数字,可以自定义。)
可以运行多次:
cangaroo输出如下,说明收发正常:
测试CAN1接收数据:
在树莓派终端中运行:
candump can0 -a
注意:-a参数表示显示接收结果时同时显示相应的16进制数字的ASCII码,如果不加此参数,则不显示ASCII码。
在cangaroo主界面的Transmit View里面,设置好Address和DLC,以及后面需要的发送数据,下图显示的是发送“MCUZONE!”的16进制ASCII码数据:
然后按下Send键(或Send Repeat键重复发送),即可在树莓派终端中看到从cangaroo发来的数据:
联系我们
电话:13957118045
如本页面有任何疏漏、错误或者侵权,请通过上述途径联系我们,谢谢!
Copyright 2004-2025 野芯科技




QQ:8204136