2006 CM4 UART CAN

来自Mcuzone Wiki
Mcuadm留言 | 贡献2024年10月28日 (一) 13:04的版本 →‎4.4 测试CAN接口

关键词

树莓派、CM4核心板、千兆以太网、百兆以太网、RS232、RS485、CAN、RPiOS、Ubuntu

一、简介

CM4_UART/CAN扩展板

二、硬件资源

三、系统烧写及设置

3.1 概述

本文档采用树莓派OS和Ubuntu系统进行测试。

1. 树莓派OS的版本为2024-07-04-raspios-bookworm-arm64.img.xz,树莓派OS下载地址:

https://www.raspberrypi.com/software/operating-systems/#raspberry-pi-os-64-bit

2. Ubuntu系统的版本为ubuntu-24.04-preinstalled-desktop-arm64+raspi.img.xz,Ubuntu OS下载地址:

https://ubuntu.com/download/raspberry-pi

3.2 TF卡的烧写

树莓派CM4核心板分2个大类,一类是不带eMMC版本,仅限从TF卡启动系统;一类是带eMMC版本,仅限从eMMC启动系统,那对应扩展板上的TF卡将无效。

从TF卡启动系统的详细烧录方法请点击这里

3.3 eMMC的烧写

eMMC烧写系统的详细烧录方法请点击这里

注意,CM4_UART/CAN扩展板上烧写的OTG口为USB Type-C口。

3.4 注意事项

1. 如果使用树莓派系统,系统启动后卡死或者键盘鼠标无法使用,请在PC端打开TF卡系统分区根目录下的config.txt检查USB的初始化脚本,如果是烧写在eMMC上,则请在烧写完毕后,再次使用一次rpiboot工具使系统分区显示出来,然后打开系统分区根目录下的config.txt检查USB的初始化脚本:

0007_Zero_4G_Cat1_41.jpg

然后按照下面红框所示的两处进行修改:

2004_CM4_WiFi7_48.jpg

2. 如果使用Ubuntu系统,系统启动后键盘鼠标无法使用,请在PC端打开TF卡系统分区根目录下的config.txt检查USB的初始化脚本,如果是烧写在eMMC上,则请在烧写完毕后,再次使用一次rpiboot工具使系统分区显示出来,然后打开系统分区根目录下的config.txt检查USB的初始化脚本。

需要确认下图中的红框处是否配置完全,如果没有,请手动添加完整并保存文件:

2004_CM4_WiFi7_40.jpg

也可以将红框处这一行删除后保存文件:

2004_CM4_WiFi7_41.jpg

3. Ubuntu系统的desktop版本对硬件要求较高,如果核心板只有1G内存,有可能在运行时速度很慢甚至死机,建议使用内存为2G或以上的核心板进行安装使用。

四、树莓派OS下的使用演示

4.1 修改config.txt

我们首先需要在config.txt中加入各个接口与GPIO的对应关系:

dtoverlay=uart0

dtoverlay=uart3,txd3_pin=4,rxd3_pin=5

dtoverlay=uart4,txd4_pin=8,rxd4_pin=9

dtoverlay=uart5,txd5_pin=12,rxd5_pin=13

2006_CM4_UART_CAN_01.jpg

保存后退出,然后将TF卡插入扩展板,启动系统。

4.2 准备工作

建议安装可视化串口软件CuteCom:

sudo apt install cutecom

安装完毕后,点击桌面左上角的树莓派图标,在“System Tools”有CuteCom的快捷方式:

0012_MPUUART_MP4232_01.jpg

如果在使用过程中有权限不足的问题,请打开树莓派OS终端,输入:

sudo cutecom

来运行CuteCom。

经测试,CM4_UART/CAN扩展板上各个接口与串口号的对应关系如下:

RS485对应ttyAMA5

RS232(三针)对应ttyAMA4

2006_CM4_UART_CAN_02.jpg

4.3 测试RS485串口

在PC端插上一个USB转RS485串口的转换器,与扩展板上的RS485串口相连,各自打开串口软件进行收发,结果如下:

树莓派OS端:

2006_CM4_UART_CAN_03.jpg

Windows端:

2006_CM4_UART_CAN_04.jpg

经过实测,波特率最高可达到2.01M(以传输数据不发生乱码为准)。

4.3 测试RS232串口(三针)

在PC端插上一个USB转RS232串口的转换器,与扩展板上的RS232串口(三针)相连,各自打开串口软件进行收发,结果如下:

树莓派OS端:

2006_CM4_UART_CAN_05.jpg

Windows端:

2006_CM4_UART_CAN_06.jpg

经过实测,波特率最高可达到0.86M(以传输数据不发生乱码为准)。

4.4 测试CAN接口

我们首先需要在config.txt中加入CAN接口的配置:

dtparam=spi=on

dtoverlay=mcp2515-can0,oscillator=16000000,interrupt=25

07.jpg

保存后退出,然后将TF卡插入扩展板,启动系统。

等待系统重启完毕后,在图形界面中,依次选择如下图项目后,确保SPI已开启:

MPS2280iPoE_08.png

08.jpg

在终端中输入dmesg | grep spi,查看 SPI 的信息:

09