2006 CM4/CM5 UART/CAN:修订间差异

来自Mcuzone Wiki
第278行: 第278行:
设置完成后,在PC端插上一个USB转RS485串口的转换器,与扩展板上的RS485串口相连,各自打开串口软件进行收发,结果如下:
设置完成后,在PC端插上一个USB转RS485串口的转换器,与扩展板上的RS485串口相连,各自打开串口软件进行收发,结果如下:


Ubuntu系统端:
Ubuntu系统端/Windows端:


http://www.mcuzone.com/wiki/2006_CM4_UART_CAN/2006_CM4_UART_CAN_16.jpg
http://www.mcuzone.com/wiki/2006_CM4_UART_CAN/2006_CM4_UART_CAN_63.jpg
 
Windows端:
 
http://www.mcuzone.com/wiki/2006_CM4_UART_CAN/2006_CM4_UART_CAN_17.jpg


经过实测,波特率最高可达到2.01M(以传输数据不发生乱码为准)。
经过实测,波特率最高可达到2.01M(以传输数据不发生乱码为准)。
第293行: 第289行:
'''''CM4_UART_CAN扩展板的测试如下:'''''
'''''CM4_UART_CAN扩展板的测试如下:'''''


Ubuntu系统端:
Ubuntu系统端/Windows端:
 
http://www.mcuzone.com/wiki/2006_CM4_UART_CAN/2006_CM4_UART_CAN_18.jpg
 
Windows端:


http://www.mcuzone.com/wiki/2006_CM4_UART_CAN/2006_CM4_UART_CAN_19.jpg
http://www.mcuzone.com/wiki/2006_CM4_UART_CAN/2006_CM4_UART_CAN_64.jpg


经过实测,波特率最高可达到0.86M(以传输数据不发生乱码为准)。
经过实测,波特率最高可达到0.86M(以传输数据不发生乱码为准)。
第305行: 第297行:
'''''CM4 UART扩展板测试如下:'''''
'''''CM4 UART扩展板测试如下:'''''


Ubuntu系统端:
Ubuntu系统端/Windows端:
 
http://www.mcuzone.com/wiki/2006_CM4_UART_CAN/2006_CM4_UART_CAN_14.jpg
 
Windows端:


http://www.mcuzone.com/wiki/2006_CM4_UART_CAN/2006_CM4_UART_CAN_15.jpg
http://www.mcuzone.com/wiki/2006_CM4_UART_CAN/2006_CM4_UART_CAN_65.jpg


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

2024年12月4日 (三) 11:49的版本

关键词

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

一、简介

CM4_UART和CM4_UART_CAN这两款扩展板针对工业应用场景而设计,两款板子均具备HDMI输出、原生千兆网络、USB扩展百兆网络、两路USB2.0、CSI1、DSI、RTC以及常规的启动用TF卡座、40Pin GPIO。CM4_UART具备一路RS232串口和一路RS485接口,而CM4_UART_CAN具备一路RS485,一路RS232,一路CAN接口。板载设计DC宽电压供电和USB-C供电,两路电源,二选一使用,不可同时使用;扩展板沉金工艺,无铅生产,PCB板通过UL和ROHS认证,防火等级94V-0。

二、硬件资源

2006_CM4_UART_CAN_52.jpg

2006_CM4_UART_CAN_48.jpg

2006_CM4_UART_CAN_49.jpg

2006_CM4_UART_CAN_50.jpg

2006_CM4_UART_CAN_51.jpg

三、烧写系统

本文档采用树莓派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.10-preinstalled-desktop-arm64+raspi.img.xz,

Ubuntu系统下载地址:

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

3.1 TF卡的烧写

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

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

3.2 eMMC的烧写

烧写前,扩展板的操作如下:

扩展板上的USB-C口即为5V3A电源口,也是eMMC烧写口,将C口接电脑,板上的BOOT短路帽短上;CM4_UART_CAN扩展板还需把OTG跳线短上,如下图:

2006_CM4_UART_CAN_53.jpg

电脑上需安装树莓派CM4核心板的驱动,具体的eMMC烧写系统的方法请点击这里

烧写完成后,把短路帽都拔掉,重新上电,启动系统即可。

3.3 注意事项

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

0007_Zero_4G_Cat1_41.jpg

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

2006_CM4_UART_CAN_59.jpg

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

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

2006_CM4_UART_CAN_60.jpg

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

2006_CM4_UART_CAN_61.jpg

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

四、树莓派OS的使用

4.1 测试RS485串口

我们首先要对对串口进行设置,需要在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_09.jpg

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

树莓派端建议安装可视化串口软件CuteCom:

sudo apt install cutecom

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

0012_MPUUART_MP4232_01.jpg

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

sudo cutecom

来运行CuteCom。

经测试,接口与串口号的对应关系如下:

RS485对应ttyAMA5

RS232对应ttyAMA4

下图为CM4_UART_CAN扩展板:

2006_CM4_UART_CAN_02.jpg

下图为CM4_UART扩展板:

2006_CM4_UART_CAN_13.jpg

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

树莓派OS端/Windows端:

2006_CM4_UART_CAN_56.jpg

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

4.2 测试RS232串口

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

以下是CM4_UART_CAN扩展板测试:

树莓派OS端/Windows端:

2006_CM4_UART_CAN_57.jpg

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

以下是CM4_UART扩展板测试:

树莓派OS端/Windows端:

2006_CM4_UART_CAN_58.jpg

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

4.3 测试CAN接口

基于CM4_UART_CAN扩展板测试,需要在config.txt中加入CAN接口的配置:

dtparam=spi=on

dtoverlay=spi1-3cs

dtoverlay=mcp2515,spi1-0,oscillator=8000000,interrupt=25,speed=500000

说明:CAN是SPI接口,需要打开SPI;MCP2515是CAN控制器,oscillator为CAN晶振的频率,interrupt为MP2515的中断号,都要和硬件相对应。


此外,CAN的GPIO不能和之前的串口有冲突,如果有冲突,请在本文件中先屏蔽冲突的串口GPIO(如下图蓝框处,屏蔽了UART4):

2006_CM4_UART_CAN_32.jpg

保存后退出,然后将系统卡插入扩展板,启动系统;在图形界面中,依次选择如下图项目后,确保SPI已开启:

2006_CM4_UART_CAN_62.png

2006_CM4_UART_CAN_08.jpg

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

2006_CM4_UART_CAN_33.jpg

SPI成功识别后,输入以下命令开启CAN:

sudo ip link set can0 up type can bitrate 500000

sudo ifconfig can0 txqueuelen 65536

2006_CM4_UART_CAN_34.jpg

设置完成后输入ifconfig -a,查看CAN连接,可看到can0:

2006_CM4_UART_CAN_35.jpg

安装CAN软件:

sudo apt-get install can-utils

2006_CM4_UART_CAN_36.jpg

安装完毕后,连接好与PC之间的CAN收发器,如果树莓派OS重启过,需要再运行一次:

sudo ip link set can0 up type can bitrate 500000

然后运行下列命令,将树莓派OS端置于接收状态:

candump can0

2006_CM4_UART_CAN_41.jpg

打开PC端的CAN测试软件,设置好波特率等参数,向树莓派OS端发送数据,结果如下:

发送端:

2006_CM4_UART_CAN_37.jpg

接收端:

2006_CM4_UART_CAN_38.jpg

如果需要树莓派OS端发送数据,则运行下列命令(#后面的是要发送的数据):

cansend can0 000#11223344

运行几次就发送几次。

发送端:

2006_CM4_UART_CAN_39.jpg

接收端:

2006_CM4_UART_CAN_40.jpg

4.4 测试以太网

板载一路原生千兆以太网和一路USB转百兆以太网,树莓派系统终端执行ifconfig,显示结果如下:

4.4.1 测速百兆以太网

将扩展板的网口接到上级路由器,安装网络测速工具iperf3:

sudo apt install iperf3

0008_MPS2_5G_04.jpg

利用iperf3与PC端进行测速,结果如下:

扩展板作为client时,速度大约为94.5Mbps:

2006_CM4_UART_CAN_24.jpg

扩展板作为server时,速度大约为94.9Mbps:

2006_CM4_UART_CAN_25.jpg

注意:网络测速受网络环境和测试方法影响,速度请以实际为准,本测试仅供参考。

4.4.2 测速原生千兆以太网

将扩展板的千兆网口接到上级路由器,同样用iperfs测速工具测速。

利用iperf3与PC端进行测速,结果如下:

扩展板作为client时,速度大约为942Mbps:

2006_CM4_UART_CAN_26.jpg

扩展板作为server时,速度大约为945Mbps:

2006_CM4_UART_CAN_27.jpg

注意:网络测速受网络环境和测试方法影响,速度请以实际为准,本测试仅供参考。

4.5 USB及4G测试

4.5.1 USB测试

4.5.2 4G测试

板载的一路1.25mm-4P USB口,可以接我司CM4 4G mini模块,使扩展板具有4G网络功能。

2006_CM4_UART_CAN_54.jpg

4.6 RTC测试

2006_CM4_UART_CAN_55.jpg

4.7 DSI/CSI测试

4.7.1 DSI测试

4.7.2 CSI测试

五、Ubuntu系统的使用

5.1 测试RS485串口

首先要对系统进行串口设置,操作步骤和树莓派官方OS一样,见4.1章节。

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

Ubuntu系统端/Windows端:

2006_CM4_UART_CAN_63.jpg

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

5.2 测试RS232串口

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

CM4_UART_CAN扩展板的测试如下:

Ubuntu系统端/Windows端:

2006_CM4_UART_CAN_64.jpg

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

CM4 UART扩展板测试如下:

Ubuntu系统端/Windows端:

2006_CM4_UART_CAN_65.jpg

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

5.3 测试CAN接口

本节测试CAN接口时,使用Ubuntu 24.10版本。

Ubuntu系统下同样需要在config.txt中加入CAN配置信息和屏蔽冲突串口:

# dtoverlay=uart4,txd4_pin=8,rxd4_pin=9

dtparam=spi=on

dtoverlay=spi1-3cs

dtoverlay=mcp2515,spi1-0,oscillator=8000000,interrupt=25,speed=500000

后续配置与在树莓派OS下一致:

查看SPI 的信息:

sudo dmesg | grep spi

2006_CM4_UART_CAN_47.jpg

SPI成功识别后,输入以下命令开启CAN:

sudo ip link set can0 up type can bitrate 500000

sudo ifconfig can0 txqueuelen 65536

设置完成后输入ifconfig -a,查看CAN连接,可看到can0:

2006_CM4_UART_CAN_42.jpg

安装CAN软件:

sudo apt-get install can-utils

安装完毕后,连接好与PC之间的CAN收发器,如果Ubuntu系统重启过,需要再运行一次:

sudo ip link set can0 up type can bitrate 500000

然后运行下列命令,将Ubuntu系统端置于接收状态:

candump can0

打开PC端的CAN测试软件,设置好波特率等参数,向Ubuntu系统端发送数据,结果如下:

发送端:

2006_CM4_UART_CAN_43.jpg

接收端:

2006_CM4_UART_CAN_44.jpg

如果需要Ubuntu系统端发送数据,则运行下列命令(#后面的是要发送的数据):

cansend can0 000#11223344

运行几次就发送几次。

发送端:

2006_CM4_UART_CAN_45.jpg

接收端:

2006_CM4_UART_CAN_46.jpg

5.4 测试以太网

板载两路以太网,测试:

5.4.1 百兆以太网测速

将扩展板的百兆网口接上级路由器,利用iperf3与PC端进行测速,结果如下:

CM4_UART/CAN扩展板作为client时,速度大约为94.4Mbps:

2006_CM4_UART_CAN_20.jpg

扩展板作为server时,速度大约为94.8Mbps:

2006_CM4_UART_CAN_21.jpg

注意:网络测速受网络环境和测试方法影响,速度请以实际为准,本测试仅供参考。

5.4.2 千兆以太网测速

将扩展板千兆网口接上级路由器,利用iperf3与PC端进行测速,结果如下:

扩展板作为client时,速度大约为941Mbps:

2006_CM4_UART_CAN_22.jpg

扩展板作为server时,速度大约为938Mbps:

2006_CM4_UART_CAN_23.jpg

注意:网络测速受网络环境和测试方法影响,速度请以实际为准,本测试仅供参考。

5.5 USB及4G测试

5.6 RTC测试

5.7 CSI/DSI测试

联系我们

4f7e81daf8791971.jpg 79c020da7ad0af9b.jpg 2851e01a0549e6f7.gif 0003_bb.jpg 0005_qq.jpg QQ:8204136

邮件:mcuzone@vip.qq.com

电话:13957118045

如本页面有任何疏漏、错误或者侵权,请通过上述途径联系我们,谢谢!

Copyright 2004-2025 野芯科技