跳转到内容
主菜单
主菜单
移至侧栏
隐藏
导航
首页
最近更改
随机页面
MediaWiki帮助
Mcuzone Wiki
搜索
搜索
登录
个人工具
登录
查看“5104 CM5IO UART-CAN”的源代码
页面
讨论
大陆简体
阅读
查看源代码
查看历史
工具
工具
移至侧栏
隐藏
操作
阅读
查看源代码
查看历史
常规
链入页面
相关更改
特殊页面
页面信息
←
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接口,如下图所示: http://www.mcuzone.com/wiki/5005_CM5IO_Mini/5005_CM5IO_Mini_141.jpg '''六个接口的示意图如下:''' <html><img src="http://www.mcuzone.com/wiki/5005_CM5IO_Mini/5005_CM5IO_Mini_65.jpg" width=400></html> 测试需要安装串口软件CuteCom,安装命令为: <code>sudo apt install cutecom</code> 安装完毕后,点击桌面左上角的树莓派图标,在“System Tools”有CuteCom的快捷方式: http://www.mcuzone.com/wiki/0012_MPUUART_MP4232/0012_MPUUART_MP4232_01.jpg 如果在使用过程中有权限不足的问题,请打开树莓派OS终端,输入: <code>sudo cutecom</code> 来启动CuteCom。 === 3.1 配置RS485和RS232 === 系统运行后打开终端,运行下列命令: <code>sudo nano /boot/firmware/config.txt</code> 在文件末尾加入下列语句: <code>dtoverlay=uart0</code> <code>dtoverlay=uart2</code> <code>dtoverlay=uart3</code> <code>dtoverlay=uart4</code> http://www.mcuzone.com/wiki/5005_CM5IO_Mini/5005_CM5IO_Mini_40.jpg === 3.2 测试双RS485 === '''测试ttyAMA0与PC之间的数据收发:''' 在PC端插上一个USB转485的转换器,与扩展板上的RS485接口(ttyAMA0,对应UART0)相连,各自打开串口软件进行收发,结果如下: 树莓派OS端/Windows端: http://www.mcuzone.com/wiki/5005_CM5IO_Mini/5005_CM5IO_Mini_66.jpg 经过实测,波特率最高可达到2.06Mbps(以传输数据不发生乱码、缺失为准)。 '''测试ttyAMA2与PC之间的数据收发:''' 在PC端插上一个USB转485的转换器,与扩展板上的RS485接口(ttyAMA2,对应UART2)相连,各自打开串口软件进行收发,结果如下: 树莓派OS端/Windows端: http://www.mcuzone.com/wiki/5005_CM5IO_Mini/5005_CM5IO_Mini_67.jpg 经过实测,波特率最高可达到2.06Mbps(以传输数据不发生乱码、缺失为准)。 '''测试ttyAMA0与ttyAMA2之间的数据收发:''' 扩展板上的两个RS485接口(ttyAMA0与ttyAMA2)相连,各自打开串口软件进行收发,结果如下: ttyAMA0的树莓派OS端/ttyAMA1的树莓派OS端: http://www.mcuzone.com/wiki/5005_CM5IO_Mini/5005_CM5IO_Mini_68.jpg 经过实测,波特率最高可达到1.87Mbps(以传输数据不发生乱码、缺失为准)。 === 3.3 测试双RS232 === '''测试ttyAMA3与PC之间的数据收发:''' 在PC端插上一个USB转232的转换器,与扩展板上的RS232接口(ttyAMA3,对应UART3)相连,各自打开串口软件进行收发,结果如下: 树莓派OS端/Windows端: http://www.mcuzone.com/wiki/5005_CM5IO_Mini/5005_CM5IO_Mini_69.jpg 经过实测,波特率最高可达到890kbps(以传输数据不发生乱码、缺失为准)。 '''测试ttyAMA4与PC之间的数据收发:''' 在PC端插上一个USB转232的转换器,与扩展板上的RS232接口(ttyAMA4,对应UART4)相连,各自打开串口软件进行收发,结果如下: 树莓派OS端/Windows端: http://www.mcuzone.com/wiki/5005_CM5IO_Mini/5005_CM5IO_Mini_70.jpg 经过实测,波特率最高可达到890kbps(以传输数据不发生乱码、缺失为准)。 '''测试ttyAMA3与ttyAMA4之间的数据收发:''' 扩展板上的两个RS232接口(ttyAMA3与ttyAMA4)相连,各自打开串口软件进行收发,结果如下: ttyAMA3的树莓派OS端/ttyAMA4的树莓派OS端: http://www.mcuzone.com/wiki/5005_CM5IO_Mini/5005_CM5IO_Mini_71.jpg 经过实测,波特率最高可达到1.05Mbps(以传输数据不发生乱码、缺失为准)。 === 3.4 测试双CAN === '''准备工作:''' 需要在config.txt中加入CAN接口的配置: <code>dtparam=spi=on</code> <code>dtoverlay=spi1-3cs</code> <code>dtoverlay=mcp2515,spi1-0,oscillator=16000000,interrupt=25,speed=500000</code> <code>dtoverlay=mcp2515,spi1-1,oscillator=16000000,interrupt=24,speed=500000</code> http://www.mcuzone.com/wiki/5005_CM5IO_Mini/5005_CM5IO_Mini_80.jpg '''''注意:CAN是SPI接口,需要打开SPI;MCP2515是CAN控制器,oscillator为CAN晶振的频率,interrupt为MP2515的中断号,都要和硬件相对应。''''' 在图形界面中,依次选择如下图项目后,确保SPI已开启: http://www.mcuzone.com/wiki/2006_CM4_UART_CAN/2006_CM4_UART_CAN_62.png http://www.mcuzone.com/wiki/2006_CM4_UART_CAN/2006_CM4_UART_CAN_08.jpg 然后重新启动树莓派系统。 在终端中输入<code>dmesg | grep spi</code>,查看 SPI 的信息,红框中的信息显示can0和can1识别成功: http://www.mcuzone.com/wiki/5005_CM5IO_Mini/5005_CM5IO_Mini_73.jpg SPI成功识别后,输入以下命令开启CAN: <code>sudo ip link set can0 up type can bitrate 500000</code> <code>sudo ip link set can1 up type can bitrate 500000</code> <code>sudo ifconfig can0 txqueuelen 65536</code> <code>sudo ifconfig can1 txqueuelen 65536</code> http://www.mcuzone.com/wiki/5005_CM5IO_Mini/5005_CM5IO_Mini_74.jpg 设置完成后输入<code>ifconfig -a</code>,查看CAN连接,可看到can0和can1: http://www.mcuzone.com/wiki/5005_CM5IO_Mini/5005_CM5IO_Mini_75.jpg 安装CAN软件: <code>sudo apt-get install can-utils</code> http://www.mcuzone.com/wiki/2006_CM4_UART_CAN/2006_CM4_UART_CAN_36.jpg 安装完毕后,连接好与PC之间的CAN收发器,如果树莓派OS重启过,需要再运行一次: <code>sudo ip link set can0 up type can bitrate 500000</code> <code>sudo ip link set can1 up type can bitrate 500000</code> '''测试can0接口:''' 运行下列命令,将树莓派OS端置于接收状态: <code>candump can0</code> http://www.mcuzone.com/wiki/2006_CM4_UART_CAN/2006_CM4_UART_CAN_41.jpg 打开PC端的CAN测试软件,设置好波特率(这里波特率设置为1000kbps)等参数,向树莓派OS端发送数据,结果如下: 发送端: http://www.mcuzone.com/wiki/5005_CM5IO_Mini/5005_CM5IO_Mini_76.jpg 接收端: http://www.mcuzone.com/wiki/5005_CM5IO_Mini/5005_CM5IO_Mini_77.jpg 如果需要树莓派OS端发送数据,则运行下列命令(#后面的是要发送的数据): <code>cansend can0 000#11223344</code> 运行几次就发送几次。 发送端: http://www.mcuzone.com/wiki/5005_CM5IO_Mini/5005_CM5IO_Mini_78.jpg 接收端: http://www.mcuzone.com/wiki/5005_CM5IO_Mini/5005_CM5IO_Mini_79.jpg '''测试can1接口:''' 运行下列命令,将树莓派OS端置于接收状态: <code>candump can1</code> http://www.mcuzone.com/wiki/5005_CM5IO_Mini/5005_CM5IO_Mini_81.jpg 打开PC端的CAN测试软件,设置好波特率(这里波特率设置为1000kbps)等参数,向树莓派OS端发送数据,结果如下: 发送端: http://www.mcuzone.com/wiki/5005_CM5IO_Mini/5005_CM5IO_Mini_82.jpg 接收端: http://www.mcuzone.com/wiki/5005_CM5IO_Mini/5005_CM5IO_Mini_83.jpg 如果需要树莓派OS端发送数据,则运行下列命令(#后面的是要发送的数据): <code>cansend can1 000#11223344</code> 运行几次就发送几次。 发送端: http://www.mcuzone.com/wiki/5005_CM5IO_Mini/5005_CM5IO_Mini_84.jpg 接收端: http://www.mcuzone.com/wiki/5005_CM5IO_Mini/5005_CM5IO_Mini_85.jpg {{联系我们_图标}}
本页使用的模板:
模板:联系我们 图标
(
查看源代码
)
返回
5104 CM5IO UART-CAN
。
开关有限宽度模式