5004 CM5IO Plus
关键词
树莓派、CM5核心板、NVME SSD、双网口、RPiOS、Ubuntu、USB3.0、USB2.0、4G、mini PCIe、SSD、RTC、PWM、DSI、CSI、HDMI
一、简介
CM5IO_Plus扩展板是专为树莓派CM5核心板设计的多用途扩展板,采用兼容树莓派原装CM5IO板的尺寸设计,新增了USB2.0和百兆以太网接口以及用于扩展存储的TF卡接口,还预留了PoE模块和CM4尺寸4G安装位置。
CM5IO_Plus扩展板是四层板设计,具备双HDMI、千兆+百兆双网络、双USB3.0+四路USB2.0、支持PoE供电、M.2 SSD并可进一步转接WiFi7和2.5G以太网。同时可选配多款基于40Pin的工业接口扩展板和4G等USB扩展模块。
二、硬件资源
1. 支持全系列树莓派CM5核心板,DF40HC3.0接插件,CM4也可使用但USB3.0接口无效;
2. 一路原生千兆以太网,支持PoE;板载可选配PoE模组,5V4.5A;
3. 一路百兆以太网接口;
4. 两路USB3.0接口;
5. 四路USB2.0接口,其中两路USB-A接口,两路1.25mm-4Pin USB接口;
6. 一路支持2230/2242/2260/2280尺寸的NVME SSD固态硬盘接口
7. 两路DSI/CSI组合接口;
8. 两路TF卡座,其中一路仅用于无eMMC的CM5核心板启动系统用(带eMMC核心板无效),一路为存储扩展接口;
9. 一路实时时钟RTC,1.25mm-2P接口;
10. 两路标准尺寸HDMI接口;
11. 两路风扇接口,一路PWM FAN 1.0mm-4Pin,一路2.54mm-2P接口;
12 .四盏LED灯,分别为电源、CM5核心板电源、运行灯和SSD灯;
13. 3组排针跳线;
14. 40Pin GPIO接口
15. 电源按键;
16. 尺寸:160*90mm,四层板设计,板材通过UL和ROHS认证,防火等级94V-O
17. 可选钣金外壳。
三、烧写系统
本文档采用树莓派系统进行测试,使用前请先下载并安装核心板驱动、树莓派镜像烧录器以及树莓派系统:
树莓派系统的版本为2024-11-19-raspios-bookworm-arm64.img.xz,树莓派系统下载地址:
https://www.raspberrypi.com/software/operating-systems/#raspberry-pi-os-64-bit
镜像烧录器的下载地址:
https://www.raspberrypi.com/software/
树莓派CM5核心板的驱动,可以从树莓派官网下载,也可以从我司网站下载,下载地址如下:
http://www.mcuzone.com/down/Software.asp?ID=10000641
3.1 eMMC的烧写
带eMMC的核心板,系统只能烧写在eMMC内,此时用于启动系统的板载TF卡将无法使用,但用于存储扩展的板载TF卡可以使用。
扩展板的操作如下:
电源USB-C接到电脑,板上的OTG和BOOT跳线用短路帽短上,上电后板子下方的PWR灯微微亮起,如下图:
驱动安装完成后,电脑上打开计算机的设备管理器,查看是否有新的USB设备出现。在下图中的是名称为“BCM2712D0 Boot”的USB设备(即识别树莓派CM5):
PC的开始菜单的所有程序下,Raspberry Pi下面有个“rpiboot-CM4-CM5 - Mass Storage Gadget”:
打开这个软件,计算机会将eMMC的分区在Windows下分配盘符并显示出来:
稍等片刻,在资源管理器中会出现一个分区(本例中的分区名为bootfs,具体名称视实际情况而不同):
接下来我们就可以使用树莓派镜像烧录器烧写系统了。
打开树莓派镜像烧录器:
Raspberry Pi Device:选择Raspberry Pi 5;
请选择需要写入的操作系统:
- 选择Raspberry Pi OS(64-bit),为从树莓派官网下载系统镜像烧写(需联网);
- 选择Use Custom,则需要自行选择硬盘上已经下载的系统镜像(无需联网);
储存卡:选择刚才显示出来的分区;
选择完毕后按“NEXT”,建议点击“编辑设置”,将一些参数预设置进烧写软件,之后在系统启动时就不必再次设置,便于使用。
需要使用预设置的按“是”,不需要使用预设置的按“不”,进入下一页。
点击“是”,就开始烧写及验证完整性。
烧写完成后,把短路帽都拔掉,重新上电,启动系统即可。
3.2 TF卡的烧写
核心板如果没有eMMC,则系统将从TF卡启动。
TF卡的烧写步骤与eMMC基本相同,无需使用扩展板,将TF卡通过USB读卡器插入电脑的USB口,将系统烧录到TF卡内的分区即可。
烧写完毕后,将TF卡从读卡器中取下,插入CM5IO_Plus扩展板的TF卡卡槽,上电后即可进入系统。
3.3 SSD的烧写
CM5IO_Plus扩展板支持一路M.2 M-KEY接口NVME SSD,所以可以从SSD启动系统(同样需要核心板不带eMMC)。
SSD的烧写步骤与TF卡基本相同,无需使用扩展板,将SSD卡通过USB硬盘盒插入电脑的USB口,将系统烧录到SSD内的分区即可。
烧写完毕后,将SSD从硬盘盒中取下,插入CM5IO_Plus扩展板的M.2接口,上电后即可进入系统,注意此时不要插TF卡。
四、树莓派OS的操作
4.1 测试USB口
4.1.1 USB口识别测试
在树莓派终端中执行lsusb
,显示如下:
识别都正常
随后输入lsusb -t
查看USB口的工作模式是否正常:
Bus 02:为USB 3.0接口,5000M;
Bus 04:为USB 3.0接口,5000M;
Bus 05:为USB 2.0接口,480M。
注意,如果扩展板上的上述USB口不接设备,那lsusb里是不会出现相应的设备编号的。如Bus 005 Device 004在这里是因为接了无线键鼠才会出现,如果不接设备,就不会出现这个编号。
4.1.2 测速USB3.0
将一个USB的NVME SSD硬盘盒插入扩展板的USB3.0-A口,同时扩展板上插一个NVME SSD硬盘。启动系统,在这两个硬盘之间拷贝大文件,测试结果如下:
数据传输方向 | 耗时s | 包大小MB | 传输速度MB/s | 传输速度Gbps |
扩展板的USB3.0 NVME->扩展板 SSD | 5.89 | 2048 | 347.71 | 2.78 |
扩展板SSD->扩展板的USB3.0 NVME | 7.55 | 2048 | 271.26 | 2.17 |
扩展板的USB3.0 USB NVME->扩展板SSD | 41.1 | 10240 | 249.15 | 1.99 |
扩展板SSD->扩展板的USB3.0 NVME | 42.14 | 10240 | 243 | 1.94 |
4.1.3 测速USB2.0
将一个USB的NVME SSD硬盘盒插入扩展板的USB2.0-A口,同时扩展板上插一个NVME SSD硬盘。启动系统,在这两个硬盘之间拷贝大文件,测试结果如下:
数据传输方向 | 耗时s | 包大小MB | 传输速度MB/s | 传输速度Gbps |
USB2.0的NVME->扩展板SSD | 60.79 | 2048 | 33.69 | 0.27 |
扩展板SSD->USB2.0 NVME | 39.45 | 2048 | 51.91 | 0.42 |
USB2.0的NVME->扩展板SSD | 304.64 | 10240 | 33.61 | 0.27 |
扩展板SSD->USB2.0 NVME | 306.01 | 10240 | 33.46 | 0.27 |
4.2 测试SSD硬盘
4.2.1 SSD硬盘的识别
扩展板上接一个NVME SSD硬盘,上电启动系统。
在树莓派终端中执行lspci
,查看SSD硬盘信息:
然后需要对SSD硬盘进行授权,在File Manager中点击SSD分区,会弹出授权框,填入当前账户的密码进行授权:
注意:点击的第一个分区需要输入密码进行授权,如有其它分区只需要点击即可完成授权。
授权完毕后,在桌面会显示分区:
在树莓派终端中输入df,即可查看SSD硬盘分区信息:
我们可以看到两个SSD分区名为nvme0n1p1、nvme0n1p2。
4.2.2 测试SSD硬盘接口速度(PCIe Gen2)
默认状态下,SSD硬盘运行在 PCIe Gen2下。
安装硬盘测速软件hdparm,在树莓派终端下运行:
sudo apt install hdparm
运行接口测速命令,可多次运行,测试多次硬盘速度:
sudo hdparm -t /dev/nvme0n1
这里运行了5次,具体数据见下:
次数 | 传输速度MB/s | 传输速度Gbps |
1 | 450.95 | 3.61 |
2 | 451.04 | 3.61 |
3 | 451.02 | 3.61 |
4 | 450.97 | 3.61 |
5 | 451.01 | 3.61 |
平均 | 451 | 3.61 |
4.2.3 测试SSD硬盘接口速度(PCIe Gen3)
首先在树莓派OS终端中输入sudo nano /boot/firmware/config.txt
,在最后一行加入下列代码:
dtparam=pciex1_gen=3
保存后退出并重启系统,这样就切换到了PCIe Gen3。
运行接口测速命令,可多次运行,测试多次硬盘速度:
sudo hdparm -t /dev/nvme0n1
这里运行了5次,具体数据见下:
次数 | 传输速度MB/s | 传输速度Gbps |
1 | 875.11 | 7.00 |
2 | 880.84 | 7.05 |
3 | 877.09 | 7.02 |
4 | 875.91 | 7.01 |
5 | 883.57 | 7.07 |
平均 | 878.5 | 7.03 |
可见在PCIe Gen3下的SSD硬盘的接口速度与在PCIe Gen2下的测试数值相比,有明显的提高。
4.3 测试以太网口
扩展板的原生千兆网口插上级路由器,执行ifconfig -a
,显示如下:
我们使用网速测试软件iperf3进行测速。
Windows版iperf3下载:
http://www.mcuzone.com/down/Software.asp?ID=10000634
Linux下iperf3安装:
sudo apt-get install iperf3
4.3.1 千兆网口测速
使用iperf3对原生千兆网口进行测速:
client模式为938Mbps左右:
server模式为947Mbps左右:
注意:网络测速受网络环境和测试方法影响,速度请以实际为准,本测试仅供参考。
4.3.2 百兆网口测速
使用iperf3对百兆网口进行测速:
client模式为93.7Mbps左右:
server模式为94.7Mbps左右:
注意:网络测速受网络环境和测试方法影响,速度请以实际为准,本测试仅供参考。
4.4 测试RTC
CM5核心板自带RTC,扩展板上需外接电池,可在树莓派系统下直接使用。如下图所示:
15
系统启动后,在树莓派终端中运行:
ls /dev/r*
即可看到RTC设备:
显示当前系统时间的命令是date
;
将系统时间从RTC读出的命令是sudo hwclock -r
;
将系统时间写入RTC的命令是sudo hwclock -w
。
如下图所示:
如果此时正确接上了RTC电池,则断电后RTC内部的当前时间不会消失,否则将会恢复到默认时间(1970年1月1日)。
4.5 测试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
4.6 测试DSI
我们测试用的液晶屏是树莓派官方第一代液晶屏,液晶屏需额外独立供电,上电启动系统,打开终端,运行下列命令:
sudo nano /boot/firmware/config.txt
在文件末尾加入下列语句:
dtoverlay=vc4-kms-dsi-7inch,dsi0
(使用接口为CAM/DISP 0,如果使用CAM/DISP 1接口,请将dsi0改成dsi1)
保存后重启系统,即可使用树莓派官方7寸触摸屏。显示效果如下所示:
注意1:如果同时插HDMI显示器和7寸触摸屏,7寸触摸屏有可能变成副屏,只要关机后将HDMI显示器拔掉,再启动系统,7寸触摸屏就会成为主屏。
注意2:添加的语句实际上开启了第二块显示屏,即双屏显示,无论第二块屏的硬件是否安装,系统都有可能认为存在双屏,如果使用PrtScn截图,也会截到双屏的图。甚至还有可能造成系统无法启动。因此如果不需要使用这块屏,建议在config.txt中把这条语句去掉或者注释掉。
4.7 测试CSI
我们使用的是OV5647摄像头,接口为CAM/DISP 0,系统运行后打开终端,运行下列命令:
sudo nano /boot/firmware/config.txt
在文件末尾加入下列语句:
dtoverlay=ov5647,cam0
(如果使用CAM/DISP 1接口,请将cam0改成cam1)
在实际使用中根据自己的型号进行添加,保存后重启系统,即可使用OV5647摄像头。
重启后在终端中输入:
ls /dev/video*
即可看到video0设备:
在终端中输入libcamera-hello --camera 0
即可打开对应的摄像头浏览:
如果需要拍照,则输入:
libcamera-jpeg -o test.jpg
照片保存在/home/mcuzone
目录下(即用户主目录),照片效果如下:
4.8 测试外接4G模组
我司配套的4G模块均具有免驱免拨号、系统自动识别、即插即用等功能。我们的4G型号有CAT4 4G、高通4G、高通4G-GPS、ZTE CAT4 4G和移远EC20 GPS语音简版。其中CAT4 4G和ZTE CAT4 4G,系统均自动识别成eth设备,高通4G/高通4G-GPS和EC20均自动识别成usb0。
4.8.1 4G网络测试
将4G模块的1.25mm-4p接口与CM5IO_Plus扩展板的1.25mm-4p接口相连:
原生千兆网口接上级路由器,启动系统,在树莓派系统终端下执行ifconfig -a
,显示结果如下:
上图所示的usb0即为4G模块,高通4G LTE;
若您的4G模块是国产CAT4 4G/ZTE CAT4,则系统识别成eth2(2位置上的数字依其它有线网络的数目而定)。
以高通4G LTE模块为例,我们将原生千兆网口和扩展百兆网口都连接上级路由器,执行route
,查看路由表,eth1排在第一位,因此此时是通过扩展百兆网口上网:
我们把扩展百兆网口的网线拔了,重启系统,执行route
,查看路由表,usb0排在第一位,因此此时是通过4G模块上网:
此时我们ping IP和域名,均成功,说明4G模块工作正常:
打开https://www.speedtest.cn/进行网速测试,结果如下:
注意:网络测速受网络环境和测试方法影响,速度请以实际为准,本测试仅供参考。
4.8.2 网络优先级的修改
上一节我们查看了路由表,在扩展百兆网口不接网络的情况下,优先通过4G网络上网。
如果你不想用4G上网,要优先使用有线网络上网的话,可以运行命令:
sudo ip route del default && sudo route add -net default netmask 0.0.0.0 gw 192.168.8.1
这两条命令(以“&&”分隔)的解释:
sudo ip route del default
:删除路由表中的默认路由;
sudo route add -net default netmask 0.0.0.0 gw 192.168.8.1
:添加有线网络的网关为新的默认路由(网关地址以实际为准)。
执行完毕后,再执行route
,查看路由表,目前的默认路由为有线网络的网关(eth0排第一位):
这样网络就默认走有线网络了,如果需要改回默认走4G网络,请重启系统即可。
注意,重启后路由表还是会恢复原状,所以如果重启后要网络继续默认走有线网络,需要再执行一次sudo ip route del default && sudo route add -net default netmask 0.0.0.0 gw 192.168.8.1
。
4.8.3 AT命令操作
以高通4G LTE为例,使用lsusb
查看USB设备,红框处即为4G模组:
记下4G模块的ID值:05c6 90b6
使用下列命令打开ttyUSB串口,其中echo后面的值就是上面记录的ID值:
sudo modprobe option
sudo sh -c 'echo 05c6 90b6 > /sys/bus/usb-serial/drivers/option1/new_id'
执行上述两条命令之后执行:
ls /dev/ttyUSB*
此时应该能看到dev设备下有ttyUSB0-3三个设备:
然后用串口工具打开特定串口(AT命令串口):
安装minicom工具:
sudo apt-get install minicom
通过minicom打开AT命令串口:
sudo minicom -D /dev/ttyUSB0
(注意:使用哪个串口,应以在进入此串口后,可输入运行AT命令,显示不乱码,不乱跳结果为准)
如果需要查看回显,请键入命令:ate1
,然后回车,继续键入其它命令,回车可以看到结果。
常用AT命令:
1. 检查SIM卡是否识别到:
at+cpin?
返回ready表示卡已识别,返回error要检查硬件
2. 检查天线信号质量:
at+csq
返回值在26-31表示信号OK,信号满格31;返回值在20-25表示信号勉勉强强;返回值在20以下表示信号比较糟糕或者天线没接
3. 检查注网情况:
at+cops?
正常应该返回运营商代码和7,7代表4G。
注意,以上命令只有at+csq
不要加问号,另外两条命令需要加问号。
4. 查看4G模块的IMEI码:
at+cgsn
5. 重启4G模块(有时候如果重插SIM卡,热插拔不一定管用,可以用这个reset命令来复位模块):
at+reset
6. 关闭射频:
at+cfun=0
开启射频:
at+cfun=1
上述两条命令成对使用,可以在不重启4G模组的情况下让模组重新注网。
7. APN设置
普通手机SIM卡,不需要任何设置,直接使用;有些物联网卡需要设置APN才能使用,以下是用户使用提供的参考,具体的APN代码需要SIM卡运营商提供。
移动卡:
AT+CPNETAPN=0,"cmnet","",""
电信卡:
AT+CPNETAPN=0,"ctnet","",""
4.8.4 修改4G模组的IP地址
如果出厂默认的4G IP地址和用户使用的IP地址有冲突,或有修改IP地址的需求,可按照下列步骤进行修改:
CAT4 4G模块:
执行AT命令:
AT+ROUTEIP=<newip>
注意,只支持192.168.x.1这样格式的地址,如果设置了AT+ROUTEIP=192.168.3.1
,最终获得的IP为192.168.3.100,修改完后需断电重启系统。
查询当前IP:AT+ROUTEIP?
,返回两个值,前一个为旧IP,后一个为新IP。
测试命令:AT+ROUTEIP=?
高通 4G模块、ZTE CAT4 4G模块:
将4G模块的IP改为直接获取公网IP即可,请执行AT命令:
设置IP为公网:AT+GTIPPASS=1
设置IP为内网:AT+GTIPPASS=0
查询当前IP为公网还是内网:AT+GTIPPASS?
修改IP完毕后需要断电重启才能生效。
4.8.5 4G的GPS操作
高通4G-GPS和EC20 GPS语音简版,这两款4G均支持GPS功能。高通4G需要配无源GPS天线,EC20 4G需要配有源GPS天线。
高通4G-GPS的GPS操作:
输入命令lsusb
,如下图所示:
记下4G模块的ID值:05c6 90b6
使用下列命令打开ttyUSB串口,其中echo后面的值就是上面记录的ID值:
sudo modprobe option
sudo sh -c 'echo 05c6 90b6 > /sys/bus/usb-serial/drivers/option1/new_id'
执行以上两条命令后系统应该会多出ttyUSB0-2三个设备,输入ls /dev/ttyUSB*
可以查看:
运行minicom,打开ttyUSB0串口:
sudo minicom -D /dev/ttyUSB0
并运行:
at+gtgpsepo=1
//开启AGPS
at+gtgpspower=1
//打开GPS
稍等片刻待定位成功,运行:
at+gtgps?
//查看NMEA信息
就可以看到GPS信息输出:
EC20 GPS语音简版的GPS操作:
输入命令lsusb
,如下图所示:
记下4G模块的ID值:2c7c 0125
使用下列命令打开ttyUSB串口,其中echo后面的值就是上面记录的ID值:
sudo modprobe option
sudo sh -c 'echo 2c7c 0125 > /sys/bus/usb-serial/drivers/option1/new_id'
执行以上两条命令后系统应该会多出ttyUSB0-3四个设备,输入ls /dev/ttyUSB*
可以查看:
运行minicom,打开ttyUSB3串口:
sudo minicom -D /dev/ttyUSB3
并运行:
AT+QGPS=1
//打开GPS
运行成功后打开ttyUSB1:
sudo minicom -D /dev/ttyUSB1
就可以看到该串口有GPS信息输出,稍等片刻即可定位:
4.9 测试开关机按键
CM5IO_Plus扩展板带有一个开关机按键,开机状态下,按一下按键,弹出关机菜单:
再按一下按键,直接关机;
关机状态下(需接电源)按一下按键,上电开机。
4.10 测试PoE电源输入
CM5IO_Plus扩展板支持PoE取电,可提供5V4.5A输出。我们将支持PoE供电的路由器的网线连接至扩展板的千兆网口,这样就完成了硬件连接,板子即可通过网线供电。PoE供电和USB-C电源口供电不可同时使用。
板载PoE模组参数:
25.5W(5V4.5A) PoE模组,支持IEEE802.3af/at compliant
支持37-57V输入,典型值48V
带过热保护,短路保护,过流保护
1.5KVrms绝缘等级
PSE供电设备要求:
支持IEEE802.3af/at compliant
至少支持30W输出能力
48V输出,1,2+/3,6-供电
4.11 测试HDMI
CM5IO_Plus扩展板具有两个HDMI输出口,支持分别输出图像信号和同时输出图像信号,同时输出图像信号的效果如下:
32.jpg
联系我们
电话:13957118045
如本页面有任何疏漏、错误或者侵权,请通过上述途径联系我们,谢谢!
Copyright 2004-2025 野芯科技