跳转到内容

5011 CM5 UART

来自Mcuzone Wiki

关键词

树莓派、CM5核心板、千兆以太网、百兆以太网、RS232、RS485、CANFD、电源隔离、USB OTG、USB3.0、RPiOS、Ubuntu

一、简介

CM5_UART扩展板是一款基于树莓派CM5核心板UART扩展板,针对工业应用场景而设计。CM5_UART扩展板具备一路RS232串口、一路带电源隔离的RS485接口,以及一路带电源隔离的CANFD接口。板载一路千兆以太网、一路百兆以太网、三路USB2.0、两路USB3.0、CSI/DSI1、RTC、PWN、PCIe、HDMI输出以及常规的启动用TF卡座、40Pin GPIO。还板载一路USB2.0 OTG,用于供电,也可用于烧写系统。

供电采用9-24V DC宽电压供电和5V3A USB-C供电,两路电源,二选一使用,不可同时使用。

二、硬件资源

1. 支持所有树莓派CM5核心板版本,接插件为DF40HC3.0;

2. 两路以太网:一路原生千兆以太网和一路USB2.0扩百兆以太网,采用一体式集成网络变压器;

3. 两路USB3.0-A HOST;

4. 三路USB2.0 HOST(一路USB2.0-A、两路USB2.0-1.25mm-4p);

5. 一路RS232串口,接口为3.81mm-3p;

6. 一路带电源隔离的RS485接口,接口为3.81mm-3p;

7. 一路带电源隔离的CANFD接口,接口为3.81mm-3p;

8. 一路原生PCIe接口,0.5mm-16Pin,FPC竖贴,PCIe供电能力达2A,优于树莓派5的PCIe的1A供电能力;

9. 一路实时时钟RTC接口,1.25mm-2P;

10. 一路标准HDMI输出接口,支持4K输出;

11. 一组CSI/DSI组合接口,0.5mm-22P FPC竖贴;

12. 一路BOOT跳线,用于烧写系统;

13. 一路Power ON/OFF插针;

14. 四盏LED灯:9-24V电源输入指示灯、5V电源输入指示灯、CM5核心板电源指示灯和CM5核心板运行指示灯;

15. 一个PWM风扇接口,1.0mm-4Pin;

16. 40Pin GPIO,2.54mm-2*20PIN,完全兼容树莓派5引脚GPIO;

17. 一路TF卡座,用于启动不带eMMC的核心板;

18. 一路USB-C接口,此接口是USB2.0-OTG接口,可用于烧写系统,支持所有的树莓派CM5核心板版本;此接口也可以用于供电:5V3A,最高5V5A;此接口接电脑,可在OpenWrt系统下用作USB网卡(需要系统支持);

19. 一路9-24V DC5.5接口供电,与USB-C口供电任选一使用,不能同时使用;

20. 尺寸:83.4*120mm,四层板设计,板材通过UL和ROHS认证,防火等级为94V-0;

21. 可选铝合金外壳。

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℃;
  • 总线超时保护。

外壳尺寸:

三、烧写系统

带eMMC的核心板,系统烧写在eMMC内;不带eMMC的核心板,系统烧写在TF卡内。

使用带eMMC的核心板,硬件操作如下:

将BOOT跳线短路帽接上,USB Type-C接口接电脑:

烧写方法请参阅:

烧写系统的方法

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

四、树莓派系统的操作

树莓派OS的版本为2025-05-13-raspios-bookworm-arm64.img.xz。

树莓派OS下载地址:

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

▶ 扩展板的接口示意图如下:

4.1 配置串口

▶ 系统启动后,打开树莓派终端,运行下列命令:

sudo nano /boot/firmware/config.txt

在文件末尾加入下列语句:

dtoverlay=uart2

dtoverlay=uart4

5108_CM5IO_RS485-CANFD_01.jpg

保存后重启系统。

▶ 安装串口软件CuteCom,安装命令为:

sudo apt install cutecom

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

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

sudo cutecom

来启动CuteCom。

4.2 测试RS485串口

将扩展板的RS485接口通过USB转485模块连接到电脑,各自打开串口软件进行收发,结果如下:

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

4.3 测试RS232串口

将扩展板的RS232接口通过USB转232模块连接到电脑,各自打开串口软件进行收发,结果如下:

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

4.4 测试CANFD接口

CAN是SPI接口,mcp251xfd为CAN控制器,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-1,interrupt=24

5011_CM5_UART_03.jpg

然后在图形界面中,依次选择如下图项目后,确保SPI已开启:

最后重启系统。在终端中输入dmesg | grep spi,查看 SPI 的信息,红框中的信息显示can0识别成功:

安装CAN软件:

sudo apt-get install can-utils

2006_CM4_UART_CAN_36.jpg

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

sudo ip link set can0 up type can bitrate 500000 dbitrate 2000000 restart-ms 1000 berr-reporting on fd on

sudo ifconfig can0 txqueuelen 65536

经过测试,bitrate设置为1000000(1M),dbitrate设置为5000000(5M)都可以正常使用,请按照实际情况选择设置。

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

在扩展板与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的命令中的比特率设置相对应。

测试CAN接口发送数据:

USB CANFD收发器接在CM5_UART扩展板的CAN接口上,让cangaroo在PC的COM85上开始监听(Measurement - Start Measurement),在树莓派终端中运行:

cansend can0 123#0123456789ABCDEF

(注意:“#”之前是CAN设备的ID;“#”之后是发送内容,为16进制数字,可以自定义。)

可以运行多次:

cangaroo输出如下,说明收发正常:

测试CAN接收数据:

在树莓派终端中运行:

candump can0 -a

注意:-a参数表示显示接收结果时同时显示相应的16进制数字的ASCII码,如果不加此参数,则不显示ASCII码。

在cangaroo主界面的Transmit View里面,设置好Address和DLC,以及后面需要的发送数据,下图显示的是发送“MCUZONE!”的16进制ASCII码数据:

然后按下Send键(或Send Repeat键重复发送),即可在树莓派终端中看到从cangaroo发来的数据:

4.5 测试USB口

将两路USB3.0-A HOST、一路USB2.0-A、两路USB2.0-1.25mm-4p都插上外设:

在树莓派终端中执行lsusb,显示如下:

识别都正常,如果USB口上没有外接设备,对应的设备编号都不会出现。

随后输入lsusb -t查看USB口的工作模式是否正常:

Bus 02:USB 3.0接口,5000M;

Bus 03:USB 2.0接口,480M;

Bus 04:USB 3.0接口,5000M。

工作模式都正常。

4.6 测试以太网

将连接上级路由器的网线插入千兆以太网,执行ifconfig,显示如下:

5011_CM5_UART_10.jpg

eth0为千兆以太网;

eth1为百兆以太网。

我们使用测速软件iperf3对两个以太网口进行测速。

Windows版iperf3下载:

http://www.mcuzone.com/down/Software.asp?ID=10000634

Linux下iperf3安装:

sudo apt-get install iperf3

测试千兆以太网:

Client模式下,为938Mbps左右:

5011_CM5_UART_11.jpg

Server模式下,为948Mbps左右:

5011_CM5_UART_12.jpg

测试百兆以太网:

Client模式下,为93.9Mbps左右:

5011_CM5_UART_13.jpg

Server模式下,为94.4Mbps左右:

5011_CM5_UART_14.jpg

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

4.7 测试RTC

CM5核心板自带RTC,扩展板上需外接电池,可在树莓派系统下直接使用。如下图所示:

系统启动后,在树莓派终端中运行:

ls /dev/r*

即可看到RTC设备:

5012_CM5_SSD_14.jpg

显示当前系统时间的命令是date

将系统时间从RTC读出的命令是sudo hwclock -r

将系统时间写入RTC的命令是sudo hwclock -w

如下图所示:

5011_CM5_UART_16.jpg

如果此时正确接上了RTC电池,则断电后RTC内部的当前时间不会丢失,否则将会恢复到默认时间(1970年1月1日),如下图所示:

5009_CM5_3ETH_14.jpg

4.8 测试PWM风扇

安装监测软件s-tui:

sudo apt install s-tui

然后在树莓派终端中运行s-tui,则可以在监测窗口中看到风扇转速的变化:

如果需要自定义风扇的转速和运行的温度范围,请打开终端,运行下列命令:

sudo nano /boot/firmware/config.txt

在文件末尾加入下列语句:

dtparam=cooling_fan=on

dtparam=fan_temp0=50000,fan_temp0_hyst=5000,fan_temp0_speed=255

其中:

fan_temp0=50000,50000为表示温度,这里是50摄氏度;

fan_temp0_hyst=5000,5000表示迟滞温度,这里是5摄氏度;

fan_temp0_speed=255,255表示风扇转速,最高为255。

可以写入多段温度及相对应的风扇转速,每一段另起一行,使用不同的序号数字来区分,例如:

dtparam=fan_temp1=36000,fan_temp1_hyst=5000,fan_temp1_speed=128

5009_CM5_3ETH_16.jpg

4.9 测试DSI

树莓派官方两代液晶屏,第一代液晶屏的分辨率为800*480,第二代液晶屏的分辨率为1280*720,两代液晶屏均需独立供电。

CM5_UART扩展板具有一路CSI/DSI组合接口,可以使用树莓派官方两代液晶屏。

树莓派官方第一代液晶屏:

将树莓派官方第一代液晶屏接到CSI/DSI 1,启动系统后,打开终端,运行下列命令:

sudo nano /boot/firmware/config.txt

在文件末尾加入下列语句:

dtoverlay=vc4-kms-dsi-7inch,dsi1

5011_CM5_UART_24.jpg

保存后重启系统,即可使用树莓派官方第一代7寸触摸屏。

树莓派官方第二代液晶屏:

将树莓派官方第二代液晶屏接到CSI/DSI 1,等待系统运行后打开终端,运行下列命令:

sudo nano /boot/firmware/config.txt

在文件末尾加入下列语句:

dtoverlay=vc4-kms-dsi-ili9881-7inch,dsi1

5011_CM5_UART_25.jpg

保存后重启系统,即可使用树莓派官方第二代7寸触摸屏。

注意:如果同时插HDMI显示器和7寸触摸屏,7寸触摸屏有可能变成副屏,只要关机后将HDMI显示器拔掉,再启动系统,7寸触摸屏就会成为主屏。

4.10 测试CSI

CM5_UART扩展板的CSI/DSI组合接口,可以使用摄像头,这里介绍OV5647摄像头和IMX219摄像头的使用方法。

4.10.1 配置OV5647摄像头

将摄像头接到CSI/DSI 1,系统运行后打开终端,运行下列命令:

sudo nano /boot/firmware/config.txt

在文件末尾加入下列语句:

dtoverlay=ov5647,cam1

注意:需要确保cam1没有配置过,如果有配置过cam1,那就要把原先的配置删除。

5011_CM5_UART_22.jpg

保存后重启系统,即可使用OV5647摄像头。

4.10.2 配置IMX219摄像头

将摄像头接到CSI/DSI 1,系统运行后打开终端,运行下列命令:

sudo nano /boot/firmware/config.txt

在文件末尾加入下列语句:

dtoverlay=imx219,cam1

注意:需要确保cam1没有配置过,如果有配置过cam1,那就要把原先的配置删除。

camera-auto-detect=1 修改为 camera_auto_detect=0

5006_CM5_Tiny_74.jpg

保存后重启系统,即可使用IMX219摄像头。

4.10.3 测试摄像头

OV5647摄像头和IMX219摄像头的测试方法是一样的。

在树莓派终端中输入:

ls /dev/video*

即可看到video0设备,这个就是摄像头设备:

5005_CM5IO_Mini_17.jpg

如果没看到video0设备,说明硬件连接有误或者config.txt中设置不正确。

在终端中输入libcamera-hello --camera 0即可打开对应的摄像头浏览:

5005_CM5IO_Mini_18.jpg

如果需要拍照,则输入:

libcamera-jpeg -o test.jpg

照片保存在/home/mcuzone目录下(即用户主目录),照片效果如下:

5005_CM5IO_Mini_19.jpg

4.11 测试4G模块

我司配套的多款4G模块均可即插即用免驱免拨号。我们的4G型号有CAT4 4G、ZTE CAT4 4G、高通4G和高通4G-GPS。

在树莓派官方OS里,CAT4 4G和ZTE CAT4 4G,系统均自动识别成eth设备,高通4G/高通4G-GPS自动识别成usb0。

3007_CM4_4G_Mini_14.jpg

LED灯说明 注网指示灯(mode) 工作状态灯(status)
CAT4 4G 常亮 闪烁状态为1.8秒亮0.2秒灭(也可以通过亮的时间比灭的时间长来判断)表示4G模组已经联网。
闪烁状态是1.8秒灭0.2秒亮,说明SIM卡或者网络有问题,请检查SIM卡和天线。
高通4G 闪烁状态为慢闪,中间有短暂快闪,表示4G模组已经联网;否则说明SIM卡或者网络有问题,请检查SIM卡和天线。
ZTE CAT4 闪烁状态快闪,表示4G模组已经联网;否则说明SIM卡或者网络有问题,请检查SIM卡和天线。
CAT4 高通4G/GPS ZTE CAT4
BAND LTE FDD:B1/3/5/8

LTE TDD:B34/38/39/40/41

LTE FDD:B1/3/5/8

LTE TDD:B34/38/39/40/41

WCDMA:B1/8

TDSCDMA:B34/39

EVDO/CDMA1X:BC0

GSM/GPRS/EDGE:900/1800MHz(OPT)

LTE FDD:B1/3/5/8

LTE TDD:B34/38/39/40/41

接高通4G LTE(USB2.0-1.25mm-4p接口):

测试以高通4G为例,在树莓派终端中执行lsusb,显示如下,红框中即为4G:

在树莓派系统终端下执行ifconfig -a,显示结果如下:

上图所示的usb0即为4G模块,高通4G LTE;若是国产CAT4 4G/ZTE CAT4,则系统识别成eth2。

我们ping IP和域名,均成功,说明4G模块工作正常:

5011_CM5_UART_20.jpg

打开https://test.ustc.edu.cn/进行网速测试,结果如下:

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

4G模组的其它操作,可以参考:0024 M4GUSB

4.12 测试HDMI

CM5_UART扩展板的HDMI接口支持4K输出,显示效果如下图所示:

4K分辨率(3840*2160)

对比一般的1080p分辨率(1920*1080)

4.13 测试PCIe扩展

PCIe接一块CM_SSD扩展板对其进行扩展NVMe SSD硬盘,如图所示:

不带eMMC的CM5核心板可以从NVMe SSD启动系统,操作步骤见烧写章节。这里我们基于带eMMC的核心板演示NVMe SSD硬盘作为数据存储用。

在树莓派终端中执行lspci,可以看到NVMe SSD硬盘已经被正确识别:

在File Manager中,可以看到该SSD硬盘,点击SSD分区,会弹出授权框,填入当前账户的密码进行授权:

注意:第一个被点击的分区需要输入密码进行授权,如有其它分区,只需要点击分区即可完成授权。

授权完毕后,在桌面会显示分区:

在树莓派终端中输入df,即可查看SSD硬盘分区信息:

5008_CM5_2ETH_21.jpg

我们可以看到SSD的分区名为nvme0n1p1。

该硬盘分区可以用作数据存储。

测试SSD硬盘的接口速度

安装硬盘测速工具hdparm,在树莓派终端下运行:

sudo apt install hdparm

运行接口测速命令,可多次运行,测试多次硬盘接口速度:

sudo hdparm -t /dev/nvme0n1p1

5011_CM5_UART_08.jpg

次数 传输速度MB/s
1 447.83
2 447.14
3 448.32
4 445.86
5 448.61
平均 447.55 (约等于3.50Gbps)

默认状态下,SSD硬盘运行在PCIe Gen2模式下,可以通过下列步骤开启PCIe Gen3模式:

在树莓派终端中输入sudo nano /boot/firmware/config.txt,在最后一行加入下列代码:

dtparam=pciex1_gen=3

5008_CM5_2ETH_23.jpg

保存后退出并重启系统,这样就切换到了PCIe Gen3。

再次运行接口测速命令,测试硬盘接口速度:

sudo hdparm -t /dev/nvme0n1p1

5011_CM5_UART_09.jpg

次数 传输速度MB/s
1 839.88
2 824.58
3 822.16
4 822.58
5 827.73
平均 827.39 (约等于6.46Gbps)

可见PCIe Gen3模式下的SSD硬盘接口速度几乎是PCIe Gen2模式下的一倍。

联系我们

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

邮件:mcuzone@vip.qq.com

电话:13957118045

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

Copyright 2004-2025 野芯科技