5104 CM5IO UART-CAN
关键词
树莓派、CM5核心板、RPiOS、双RS485、双RS232、双CAN、40p-GPIO
一、简介
CM5IO_UART-CAN
二、硬件资源
三、模块测试
本文档采用树莓派OS的版本为2024-07-04-raspios-bookworm-arm64.img.xz,树莓派OS下载地址:
https://www.raspberrypi.com/software/operating-systems/#raspberry-pi-os-64-bit
CM5IO_Mini扩展板上的40p-GPIO接口上可接一块双RS485双RS232双CAN扩展板(40p-GPIO),扩展出两个RS485接口+两个RS232接口+两个CAN接口,如下图所示:
六个接口的示意图如下:
测试需要安装串口软件CuteCom,安装命令为:
sudo apt install cutecom
安装完毕后,点击桌面左上角的树莓派图标,在“System Tools”有CuteCom的快捷方式:
如果在使用过程中有权限不足的问题,请打开树莓派OS终端,输入:
sudo cutecom
来启动CuteCom。
3.1 配置RS485和RS232
系统运行后打开终端,运行下列命令:
sudo nano /boot/firmware/config.txt
在文件末尾加入下列语句:
dtoverlay=uart0
dtoverlay=uart2
dtoverlay=uart3
dtoverlay=uart4
3.2 测试双RS485
测试ttyAMA0与PC之间的数据收发:
在PC端插上一个USB转485的转换器,与扩展板上的RS485接口(ttyAMA0,对应UART0)相连,各自打开串口软件进行收发,结果如下:
树莓派OS端/Windows端:
经过实测,波特率最高可达到2.06Mbps(以传输数据不发生乱码、缺失为准)。
测试ttyAMA2与PC之间的数据收发:
在PC端插上一个USB转485的转换器,与扩展板上的RS485接口(ttyAMA2,对应UART2)相连,各自打开串口软件进行收发,结果如下:
树莓派OS端/Windows端:
经过实测,波特率最高可达到2.06Mbps(以传输数据不发生乱码、缺失为准)。
测试ttyAMA0与ttyAMA2之间的数据收发:
扩展板上的两个RS485接口(ttyAMA0与ttyAMA2)相连,各自打开串口软件进行收发,结果如下:
ttyAMA0的树莓派OS端/ttyAMA1的树莓派OS端:
经过实测,波特率最高可达到1.87Mbps(以传输数据不发生乱码、缺失为准)。
3.3 测试双RS232
测试ttyAMA3与PC之间的数据收发:
在PC端插上一个USB转232的转换器,与扩展板上的RS232接口(ttyAMA3,对应UART3)相连,各自打开串口软件进行收发,结果如下:
树莓派OS端/Windows端:
经过实测,波特率最高可达到890kbps(以传输数据不发生乱码、缺失为准)。
测试ttyAMA4与PC之间的数据收发:
在PC端插上一个USB转232的转换器,与扩展板上的RS232接口(ttyAMA4,对应UART4)相连,各自打开串口软件进行收发,结果如下:
树莓派OS端/Windows端:
经过实测,波特率最高可达到890kbps(以传输数据不发生乱码、缺失为准)。
测试ttyAMA3与ttyAMA4之间的数据收发:
扩展板上的两个RS232接口(ttyAMA3与ttyAMA4)相连,各自打开串口软件进行收发,结果如下:
ttyAMA3的树莓派OS端/ttyAMA4的树莓派OS端:
经过实测,波特率最高可达到1.05Mbps(以传输数据不发生乱码、缺失为准)。
3.4 测试双CAN
准备工作:
需要在config.txt中加入CAN接口的配置:
dtparam=spi=on
dtoverlay=spi1-3cs
dtoverlay=mcp2515,spi1-0,oscillator=16000000,interrupt=25,speed=500000
dtoverlay=mcp2515,spi1-1,oscillator=16000000,interrupt=24,speed=500000
注意:CAN是SPI接口,需要打开SPI;MCP2515是CAN控制器,oscillator为CAN晶振的频率,interrupt为MP2515的中断号,都要和硬件相对应。
在图形界面中,依次选择如下图项目后,确保SPI已开启:
然后重新启动树莓派系统。
在终端中输入dmesg | grep spi
,查看 SPI 的信息,红框中的信息显示can0和can1识别成功:
SPI成功识别后,输入以下命令开启CAN:
sudo ip link set can0 up type can bitrate 500000
sudo ip link set can1 up type can bitrate 500000
sudo ifconfig can0 txqueuelen 65536
sudo ifconfig can1 txqueuelen 65536
设置完成后输入ifconfig -a
,查看CAN连接,可看到can0和can1:
安装CAN软件:
sudo apt-get install can-utils
安装完毕后,连接好与PC之间的CAN收发器,如果树莓派OS重启过,需要再运行一次:
sudo ip link set can0 up type can bitrate 500000
sudo ip link set can1 up type can bitrate 500000
测试can0接口:
运行下列命令,将树莓派OS端置于接收状态:
candump can0
打开PC端的CAN测试软件,设置好波特率(这里波特率设置为1000kbps)等参数,向树莓派OS端发送数据,结果如下:
发送端:
接收端:
如果需要树莓派OS端发送数据,则运行下列命令(#后面的是要发送的数据):
cansend can0 000#11223344
运行几次就发送几次。
发送端:
接收端:
测试can1接口:
运行下列命令,将树莓派OS端置于接收状态:
candump can1
打开PC端的CAN测试软件,设置好波特率(这里波特率设置为1000kbps)等参数,向树莓派OS端发送数据,结果如下:
发送端:
接收端:
如果需要树莓派OS端发送数据,则运行下列命令(#后面的是要发送的数据):
cansend can1 000#11223344
运行几次就发送几次。
发送端:
接收端:
联系我们
电话:13957118045
如本页面有任何疏漏、错误或者侵权,请通过上述途径联系我们,谢谢!
Copyright 2004-2025 野芯科技