5005 CM5IO Mini
关键词
树莓派、CM5核心板、NVME SSD、PoE千兆以太网、RPiOS、Ubuntu、USB3.0、RTC、PWM、DSI、CSI、双HDMI
一、简介
CM5IO_Mini
二、硬件资源
CM5接口 | DF40HC3.0 |
以太网口 | 一路POE千兆以太网,可选配POE功能; |
USB口 | 两路USB3.2-A口;
四路USB2.0口,其中2路USB-A,2路1.25mm-4P接口; |
显示 | 两组CSI/DSI组合接口;0.5mm-22P FPC下接;
两路micro HDMI接口; |
存储 | 一路PCIe M.2 M-key,支持NVME SSD,2280/2242,默认焊接2280固定柱,不支持SATA和GNFF; |
LED | 一盏电源指示灯;一盏SSD灯;一盏运行指示灯; |
实时时钟 | 一路RTC,1.25mm-2P接口; |
TF卡座 | 一路TF卡座,仅用于无eMMC的CM5核心板启动系统用; |
其他 | 40PIN GPIO,2.54mm-2*20P;完全兼容树莓派5的GPIO引脚;
一路I2C1; 一路PWM风扇接口,1.0mm-4P; 一路开关机按键; |
电源 | USB-C,5V3A供电,也是eMMC核心板的烧写口; |
尺寸 | 84*120mm;四层板设计;板材通过UL和ROHS认证,防火等级94V-0; |
外壳 | 全铝合金外壳;88*122*39mm; |
![]() |
![]() |
三、烧写系统
本文档采用树莓派系统进行测试,使用前请先下载并安装核心板驱动、树莓派镜像烧录器以及树莓派系统:
树莓派系统的版本为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卡无法使用。
扩展板的操作如下:
电源USB-C接到电脑,板上的OTG和BOOT跳线(在核心板上方)用短路帽短上,如下图:
01.jpg
驱动安装完成后,电脑上打开计算机的设备管理器,查看是否有新的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_Mini扩展板的TF卡卡槽,上电后即可进入系统。
3.3 SSD的烧写
CM5IO_Mini扩展板支持一路M.2 M-KEY接口NVME SSD,所以可以从SSD启动系统(同样需要核心板不带eMMC)。
SSD的烧写步骤与TF卡基本相同,无需使用扩展板,将SSD卡通过USB硬盘盒插入电脑的USB口,将系统烧录到SSD内的分区即可。
烧写完毕后,将SSD从硬盘盒中取下,插入CM5IO_Mini扩展板的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 003在这里是因为接了无线键鼠才会出现,如果不接设备,就不会出现这个编号。
4.1.2 测速USB3.0
将一个NVME M.2硬盘插入SSD转USB硬盘盒,然后将这个硬盘盒插入CM5IO_Mini扩展板的USB3.0-A口,同时在PCIe转M.2接口插上一个NVME M.2硬盘,启动系统,在这两个硬盘之间拷贝大文件,测试结果如下:
数据传输方向 | 耗时s | 传输速度MB/s | 包大小MB |
NVME->PCIe SSD | 5.39 | 379.96 | 2048.00 |
PCIe SSD->NVME | 6.04 | 339.07 | 2048.00 |
NVME->PCIe SSD | 28.71 | 356.67 | 10240.00 |
PCIe SSD->NVME | 41.82 | 244.86 | 10240.00 |
4.1.3 测速USB2.0
将一个NVME M.2硬盘插入SSD转USB硬盘盒,然后将这个硬盘盒插入CM5IO_Mini扩展板的USB2.0-A口,同时在PCIe转M.2接口插上一个NVME M.2硬盘,启动系统,在这两个硬盘之间拷贝大文件,测试结果如下:
数据传输方向 | 耗时s | 传输速度MB/s | 包大小MB |
NVME->PCIe SSD | 35.66 | 57.43 | 2048.00 |
PCIe SSD->NVME | 56.14 | 36.48 | 2048.00 |
NVME->PCIe SSD | 238.13 | 43.00 | 10240.00 |
PCIe SSD->NVME | 281.25 | 36.41 | 10240.00 |
4.2 测试SSD硬盘
4.2.1 SSD硬盘的识别
将SSD硬盘插入CM5IO_Mini扩展板的PCIe转M.2接口,上电启动系统。
在树莓派终端中执行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 |
1 | 451.19 |
2 | 451.40 |
3 | 451.51 |
4 | 451.50 |
5 | 451.52 |
平均 | 451.42 |
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 |
1 | 885.29 |
2 | 881.59 |
3 | 877.42 |
4 | 880.50 |
5 | 883.33 |
平均 | 881.63 |
可见在PCIe Gen3下的SSD硬盘的接口速度与在PCIe Gen2下的测试数值相比,有明显的提高。
4.2.4 测试SSD硬盘读写速度速度
分别测试SSD硬盘在PCIe Gen2下和PCIe Gen3下的读写速度,结果如下:
PCIe Gen2:
数据传输方向 | 耗时s | 传输速度MB/s | 包大小MB |
SSD->eMMC | 14.17 | 144.53 | 2048.00 |
eMMC->SSD | 7.88 | 259.90 | 2048.00 |
SSD->eMMC | 90.74 | 112.85 | 10240.00 |
eMMC->SSD | 43.84 | 233.58 | 10240.00 |
PCIe Gen3:
数据传输方向 | 耗时s | 传输速度MB/s | 包大小MB |
SSD->eMMC | 13.80 | 148.41 | 2048.00 |
eMMC->SSD | 7.77 | 263.58 | 2048.00 |
SSD->eMMC | 90.15 | 113.59 | 10240.00 |
eMMC->SSD | 43.46 | 235.62 | 10240.00 |
4.3 测试以太网口
CM5IO_Mini扩展板带有一个原生千兆网口。
将网线插入扩展板的原生千兆网口,执行ifconfig -a
,显示如下:
eth0即为原生千兆网口。
我们使用网速测试软件iperf3进行测速。
Windows版iperf3下载:
http://www.mcuzone.com/down/Software.asp?ID=10000634
Linux下iperf3安装:
sudo apt-get install iperf3
测速结果为:
client模式为938Mbps左右:
server模式为948Mbps左右:
注意:网络测速受网络环境和测试方法影响,速度请以实际为准,本测试仅供参考。
4.4 测试RTC
CM5核心板自带RTC,扩展板上需外接电池,可在树莓派系统下直接使用。如下图所示:
11
系统启动后,在树莓派终端中运行:
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
4.6.1 测试树莓派官方第一代液晶屏
我们测试用的液晶屏是树莓派官方第一代液晶屏,接口为CAM/DISP 0,液晶屏需额外独立供电(Micro-USB接口,位于显示屏后部的控制板上),上电启动系统,打开终端,运行下列命令:
sudo nano /boot/firmware/config.txt
在文件末尾加入下列语句:
dtoverlay=vc4-kms-dsi-7inch,dsi0
保存后重启系统,即可使用树莓派官方7寸触摸屏。
如果使用CAM/DISP 1接口,请将dsi0改成dsi1,且需要短接核心板上方的SCL与SDA两个跳线:
20
4.6.2 测试树莓派官方第二代液晶屏
这里使用的是树莓派官方第二代液晶屏进行测试,液晶屏需额外独立供电(电源接口与扩展板的GPIO的5V和GND相连)。
连接好硬件后,给扩展板上电。等待系统运行后打开终端,运行下列命令:
sudo nano /boot/firmware/config.txt
在文件末尾加入下列语句:
dtoverlay=vc4-kms-dsi-ili9881-7inch,dsi0
保存后重启系统,即可使用树莓派官方二代7寸触摸屏。
如果使用CAM/DISP 1接口,请将dsi0改成dsi1,且需要短接核心板上方的SCL与SDA两个跳线。
4.6.3 注意事项
注意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
在实际使用中根据自己的型号进行添加,保存后重启系统,即可使用OV5647摄像头。
如果使用CAM/DISP 1接口,请将cam0改成cam1,且需要短接核心板上方的SCL与SDA两个跳线。
重启后在终端中输入:
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_Mini扩展板的1.25mm-4p接口相连:
21
原生千兆网口接上级路由器,启动系统,在树莓派系统终端下执行ifconfig -a
,以CAT4 4G为例,显示结果如下:
若您的4G模块是ZTE CAT4,则系统也识别成eth1(1位置上的数字依其它有线网络的数目而定),若您的4G模块是高通4G/高通4G-GPS和EC20,则系统识别成usb0。
以CAT4 4G为例,我们将原生千兆网口连接上级路由器,执行route
,查看路由表,eth1排在第一位,因此此时是通过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命令操作
以CAT4 4G为例,使用lsusb
查看USB设备,红框处即为4G模组:
记下4G模块的ID值:1286 4e3d
使用下列命令打开ttyUSB串口,其中echo后面的值就是上面记录的ID值:
sudo modprobe option
sudo sh -c 'echo 1286 4e3d > /sys/bus/usb-serial/drivers/option1/new_id'
执行上述两条命令之后执行:
ls /dev/ttyUSB*
此时应该能看到dev设备下有ttyUSB0-2三个设备:
安装minicom工具:
sudo apt-get install minicom
通过minicom打开AT命令串口:
sudo minicom -D /dev/ttyUSB0
(注意:使用哪个串口,应以在进入此串口后,可输入运行AT命令,显示不乱码,不乱跳结果为准)
第一次输入AT命令可能没有回显,此时如果输入命令at
后回车,有返回OK,就说明工作正常。如果需要查看回显,请键入命令: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_Mini扩展板带有一个开关机按键,开机状态下,按一下按键,弹出关机菜单:
再按一下按键,直接关机;
关机状态下(需接电源)按一下按键,上电开机。
4.10 测试PoE电源输入
CM5IO_Mini扩展板支持PoE取电,可提供5V4.5A输出。我们将支持PoE供电的路由器的网线连接至扩展板的千兆网口,这样就完成了硬件连接,板子即可通过网线供电。PoE供电和USB-C电源口供电不可同时使用。
15
板载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_Mini扩展板具有两个HDMI输出口,支持分别输出图像信号和同时输出图像信号,同时输出图像信号的效果如下:
4.12 测试CM5IO_HDMI IN扩展板
CM5IO_Mini扩展板上的1.25mm-4p接口上可接一块CM5IO_HDMI IN扩展板,具有HDMI信号输入的功能,如下图所示:
30
我们使用OBS软件作为视频捕捉软件,关于OBS的安装与一般设置,请参阅下面的链接,这里不做详细展开:
本次测试的内容为,利用CM5IO_HDMI IN扩展板的HDMI信号输入接口,使用OBS软件,捕捉视频源的图像,并储存为一个分辨率为1080p的视频软件。
OBS软件按常规设置即可,但有两个地方需要注意:
1. 设置输出视频的分辨率
OBS的默认输出分辨率为720p,如果想要输入其它分辨率,需要手动设置。
点击“File - Settings - Video”,将”Output (Scaled) Resolution“改为1920x1080:
2. 图像设置
为了避免偏色,需要对输出图像进行一些设置。
双击”Video Capture Device“,打开设置窗口:
然后按下面的图进行设置:
设置完毕后保存,并退出设置菜单。
点击“Controls”下面的“Start Recording”开始录制,此时视频窗口仍然可以继续显示输入源的图像。录制完毕后,软件会自动将生成视频保存在主目录下:
我们录制了一段2分10秒的视频,视频具体参数如下:
4.13 测试双RS485双RS232扩展板(40p-GPIO)
CM5IO_Mini扩展板上的40p-GPIO接口上可接一块双RS485双RS232扩展板(40p-GPIO),扩展出两个RS485接口+两个RS232接口,如下图所示:
39
测试需要安装串口软件CuteCom,安装命令为:
sudo apt install cutecom
安装完毕后,点击桌面左上角的树莓派图标,在“System Tools”有CuteCom的快捷方式:
如果在使用过程中有权限不足的问题,请打开树莓派OS终端,输入:
sudo cutecom
来启动CuteCom。
系统运行后打开终端,运行下列命令:
sudo nano /boot/firmware/config.txt
在文件末尾加入下列语句:
dtoverlay=uart0
dtoverlay=uart2
dtoverlay=uart3
dtoverlay=uart4
重启后即可使用两个RS485接口和两个RS232接口。
四个接口的示意图如下:
4.13.1 测试双RS485串口
测试ttyAMA0与PC之间的数据收发:
在PC端插上一个USB转485的转换器,与扩展板上的RS485接口(ttyAMA0,对应UART0)相连,各自打开串口软件进行收发,结果如下:
树莓派OS端/Windows端:
经过实测,波特率最高可达到2.01Mbps(以传输数据不发生乱码、缺失为准)。
测试ttyAMA2与PC之间的数据收发:
在PC端插上一个USB转485的转换器,与扩展板上的RS485接口(ttyAMA2,对应UART2)相连,各自打开串口软件进行收发,结果如下:
树莓派OS端/Windows端:
经过实测,波特率最高可达到2.01Mbps(以传输数据不发生乱码、缺失为准)。
测试ttyAMA0与ttyAMA2之间的数据收发:
扩展板上的两个RS485接口(ttyAMA0与ttyAMA2)相连,各自打开串口软件进行收发,结果如下:
ttyAMA0的树莓派OS端/ttyAMA1的树莓派OS端:
经过实测,波特率最高可达到1.39Mbps(以传输数据不发生乱码、缺失为准)。
4.13.2 测试双RS232串口
测试ttyAMA3与PC之间的数据收发:
在PC端插上一个USB转232的转换器,与扩展板上的RS232接口(ttyAMA3,对应UART3)相连,各自打开串口软件进行收发,结果如下:
树莓派OS端/Windows端:
经过实测,波特率最高可达到890kbps(以传输数据不发生乱码、缺失为准)。
测试ttyAMA4与PC之间的数据收发:
在PC端插上一个USB转232的转换器,与扩展板上的RS232接口(ttyAMA4,对应UART4)相连,各自打开串口软件进行收发,结果如下:
树莓派OS端/Windows端:
经过实测,波特率最高可达到890kbps(以传输数据不发生乱码、缺失为准)。
测试ttyAMA3与ttyAMA4之间的数据收发:
扩展板上的两个RS232接口(ttyAMA3与ttyAMA4)相连,各自打开串口软件进行收发,结果如下:
ttyAMA3的树莓派OS端/ttyAMA4的树莓派OS端:
经过实测,波特率最高可达到990kbps(以传输数据不发生乱码、缺失为准)。
4.14 测试双RS485双RS232扩展板(USB)
CM5IO_Mini扩展板上的USB接口上可接一块双RS485双RS232扩展板(USB),扩展出两个RS485接口+两个RS232接口,如下图所示:
53
在树莓派终端中执行lsusb
,红框处即为USB转串口芯片:
执行ls /dev/ttyACM*,如下图所示:
四个接口的示意图如下:
4.14.1 测试双RS485串口
测试ttyACM1与PC之间的数据收发:
在PC端插上一个USB转485的转换器,与扩展板上的RS485接口(ttyACM1,对应UART1)相连,各自打开串口软件进行收发,结果如下:
树莓派OS端/Windows端:
经过实测,波特率最高可达到2.02Mbps(以传输数据不发生乱码、缺失为准)。
测试ttyACM2与PC之间的数据收发:
在PC端插上一个USB转485的转换器,与扩展板上的RS485接口(ttyACM2,对应UART2)相连,各自打开串口软件进行收发,结果如下:
树莓派OS端/Windows端:
经过实测,波特率最高可达到2.02Mbps(以传输数据不发生乱码、缺失为准)。
测试ttyACM1与ttyACM2之间的数据收发:
扩展板上的两个RS485接口(ttyACM1与ttyACM2)相连,各自打开串口软件进行收发,结果如下:
ttyACM1的树莓派OS端/ttyACM2的树莓派OS端:
经过实测,波特率最高可达到3.03Mbps(以传输数据不发生乱码、缺失为准)。
4.14.2 测试双RS232串口
测试ttyACM0与PC之间的数据收发:
在PC端插上一个USB转232的转换器,与扩展板上的RS232接口(ttyACM0,对应UART0)相连,各自打开串口软件进行收发,结果如下:
树莓派OS端/Windows端:
经过实测,波特率最高可达到740kbps(以传输数据不发生乱码、缺失为准)。
测试ttyACM3与PC之间的数据收发:
在PC端插上一个USB转232的转换器,与扩展板上的RS232接口(ttyACM3,对应UART3)相连,各自打开串口软件进行收发,结果如下:
树莓派OS端/Windows端:
经过实测,波特率最高可达到740kbps(以传输数据不发生乱码、缺失为准)。
测试ttyACM0与ttyACM3之间的数据收发:
扩展板上的两个RS232接口(ttyAMA0与ttyAMA3)相连,各自打开串口软件进行收发,结果如下:
ttyAMA0的树莓派OS端/ttyAMA3的树莓派OS端:
经过实测,波特率最高可达到1.22Mbps(以传输数据不发生乱码、缺失为准)。
4.15 测试双RS485双RS232双CAN扩展板(40p-GPIO)
CM5IO_Mini扩展板上的40p-GPIO接口上可接一块双RS485双RS232双CAN扩展板(40p-GPIO),扩展出两个RS485接口+两个RS232接口+两个CAN接口,如下图所示:
64
六个接口的示意图如下:
配置使用RS485及RS232串口:
系统运行后打开终端,运行下列命令:
sudo nano /boot/firmware/config.txt
在文件末尾加入下列语句:
dtoverlay=uart0
dtoverlay=uart2
dtoverlay=uart3
dtoverlay=uart4
4.15.1 测试双RS485串口
测试ttyAMA0与PC之间的数据收发:
在PC端插上一个USB转485的转换器,与扩展板上的RS485接口(ttyAMA0,对应UART0)相连,各自打开串口软件进行收发,结果如下:
树莓派OS端/Windows端:
经过实测,波特率最高可达到2.06Mbps(以传输数据不发生乱码、缺失为准)。
测试ttyAMA2与PC之间的数据收发:
在PC端插上一个USB转485的转换器,与扩展板上的RS485接口(ttyAMA2,对应UART2)相连,各自打开串口软件进行收发,结果如下:
树莓派OS端/Windows端:
经过实测,波特率最高可达到2.06Mbps(以传输数据不发生乱码、缺失为准)。
测试ttyAMA0与ttyAMA2之间的数据收发:
扩展板上的两个RS485接口(ttyAMA0与ttyAMA2)相连,各自打开串口软件进行收发,结果如下:
ttyAMA0的树莓派OS端/ttyAMA1的树莓派OS端:
经过实测,波特率最高可达到1.87Mbps(以传输数据不发生乱码、缺失为准)。
4.15.2 测试双RS232串口
测试ttyAMA3与PC之间的数据收发:
在PC端插上一个USB转232的转换器,与扩展板上的RS232接口(ttyAMA3,对应UART3)相连,各自打开串口软件进行收发,结果如下:
树莓派OS端/Windows端:
经过实测,波特率最高可达到890kbps(以传输数据不发生乱码、缺失为准)。
测试ttyAMA4与PC之间的数据收发:
在PC端插上一个USB转232的转换器,与扩展板上的RS232接口(ttyAMA4,对应UART4)相连,各自打开串口软件进行收发,结果如下:
树莓派OS端/Windows端:
经过实测,波特率最高可达到890kbps(以传输数据不发生乱码、缺失为准)。
测试ttyAMA3与ttyAMA4之间的数据收发:
扩展板上的两个RS232接口(ttyAMA3与ttyAMA4)相连,各自打开串口软件进行收发,结果如下:
ttyAMA3的树莓派OS端/ttyAMA4的树莓派OS端:
经过实测,波特率最高可达到1.05Mbps(以传输数据不发生乱码、缺失为准)。
4.15.3 测试双CAN接口
准备工作:
需要在config.txt中加入CAN接口的配置:
dtparam=spi=on
dtoverlay=spi1-3cs
dtoverlay=mcp2515,spi1-0,oscillator=16000000,interrupt=25,speed=500000
dtoverlay=mcp2515,spi1-1,oscillator=16000000,interrupt=24,speed=500000
注意:CAN是SPI接口,需要打开SPI;MCP2515是CAN控制器,oscillator为CAN晶振的频率,interrupt为MP2515的中断号,都要和硬件相对应。
在图形界面中,依次选择如下图项目后,确保SPI已开启:
然后重新启动树莓派系统。
在终端中输入dmesg | grep spi
,查看 SPI 的信息,红框中的信息显示can0和can1识别成功:
SPI成功识别后,输入以下命令开启CAN:
sudo ip link set can0 up type can bitrate 500000
sudo ip link set can1 up type can bitrate 500000
sudo ifconfig can0 txqueuelen 65536
sudo ifconfig can1 txqueuelen 65536
设置完成后输入ifconfig -a
,查看CAN连接,可看到can0和can1:
安装CAN软件:
sudo apt-get install can-utils
安装完毕后,连接好与PC之间的CAN收发器,如果树莓派OS重启过,需要再运行一次:
sudo ip link set can0 up type can bitrate 500000
sudo ip link set can1 up type can bitrate 500000
测试can0接口:
运行下列命令,将树莓派OS端置于接收状态:
candump can0
打开PC端的CAN测试软件,设置好波特率(这里波特率设置为1000kbps)等参数,向树莓派OS端发送数据,结果如下:
发送端:
接收端:
如果需要树莓派OS端发送数据,则运行下列命令(#后面的是要发送的数据):
cansend can0 000#11223344
运行几次就发送几次。
发送端:
接收端:
测试can1接口:
运行下列命令,将树莓派OS端置于接收状态:
candump can1
打开PC端的CAN测试软件,设置好波特率(这里波特率设置为1000kbps)等参数,向树莓派OS端发送数据,结果如下:
发送端:
接收端:
如果需要树莓派OS端发送数据,则运行下列命令(#后面的是要发送的数据):
cansend can1 000#11223344
运行几次就发送几次。
发送端:
接收端:
4.16 测试SSD转2.5G模块
CM5IO_Mini扩展板上的PCIe转M.2接口上可接一个SSD转2.5G模块,扩展出一个2.5G以太网口,如下图所示:
48
上电启动系统,在树莓派终端中执行lspci
,红框处即为SSD转2.5G模块:
将连接上级路由器的网线插入2.5G以太网口,执行ifconfig -a
,eth1即为扩展2.5G以太网口:
我们使用网速测试软件iperf3进行测速。
测速结果为:
client模式为2.34Gbps左右:
server模式为1.78Gbps左右:
注意:网络测速受网络环境和测试方法影响,速度请以实际为准,本测试仅供参考。
4.17 测试SSD转WiFi模块
CM5IO_Mini扩展板上的PCIe转M.2接口上可接一个SSD转WiFi模块,用于扩展WiFI6/7无线网卡。SSD转WiFi模块分两种,分别适用于WiFI6无线网卡和WiFI7无线网卡。
4.17.1 安装驱动
以AX200、AX210、BE200等无线模块为例,在树莓派系统下运行时,需要加载驱动方可使用。
若使用带WiFi功能的树莓派CM5核心板,在安装WiFi驱动后,核心板自带的WiFi模块将自动关闭,无法使用。在此也建议可以使用不带WiFi的CM5核心板。
1. 安装驱动首先需要在树莓派终端下更新头文件:
sudo apt install -y raspberrypi-kernel-headers firmware-iwlwifi flex yacc
2. 然后下载源码:
mkdir wifi && cd wifi
wget http://www.mcuzone.com/wiki/2004_CM4_WiFi7/backport-iwlwifi-20231029.tar.bz2
sudo tar -xvf backport-iwlwifi-20231029.tar.bz2
3. 准备编译环境:
sudo make defconfig-iwlwifi-public
sudo sed -i 's/CPTCFG_IWLMVM_VENDOR_CMDS=y/# CPTCFG_IWLMVM_VENDOR_CMDS is not set/' .config
4. 编译源码:
sudo make -j 4
sudo make install
注意,编译时如果使用-j 4出现死机或者报错,请使用-j 2或者-j 1进行编译。
5. 安装完成后提示重启系统,请重启:
sudo reboot
如果是AX200、AX210这样的WiFI6无线网卡到上面那步就已经装好了驱动,如果是BE200这样的WiFI7无线网卡,还需要安装固件:
6. 在树莓派终端下执行:
cd ..
cd Downloads
wget http://www.mcuzone.com/wiki/0011_MPW7/firmware_wifi7.zip
unzip firmware_wifi7.zip
sudo cp iwlwifi-gl-c0-fm-c0-86.ucode /lib/firmware
sudo cp iwlwifi-gl-c0-fm-c0.pnvm /lib/firmware
7. 然后重启系统:
sudo reboot
注意:安装BE200的固件,不影响AX200和AX210的使用。
4.17.2 测试WiFi6无线网卡
将一块WiFi6无线网卡插在SSD转WiFi模块(WiFi6版),然后将SD转WiFi模块插到CM5IO_Mini扩展板背部的M.2 M-KEY接口,如下图所示:
88
启动系统后,我们运行lspci
:
AX200:
AX210:
红框中即为WiFi6模块。
然后就可以在网络连接里面使用WiFi6模块连接无线AP了:
注意,此时核心板自带的WiFi模块已自动关闭,被WiFi6模块所取代。
点击桌面右上角网络图标 - Advanced Options - Connection Information...,在网络连接的信息中,我们也可以看到这个驱动为iwlwifi的网络连接(如果是核心板自带的无线网卡,驱动会显示为brcmfmac):
在树莓派终端中执行ifconfig -a
,结果如下:
这里的wlan0为WiFi6模块。
4.17.3 测试WiFi7无线网卡
将一块WiFi7无线网卡(这里我们使用BE200)插在SSD转WiFi模块(WiFi7版),然后将SD转WiFi模块插到CM5IO_Mini扩展板背部的M.2 M-KEY接口,如下图所示:
93
启动系统后,我们运行lspci
:
红框中即为WiFi7无线模块BE200。
连接无线网络和查看网络连接详情的方法和WiFi6无线模块相同,这块无线网卡的详情如下:
在树莓派终端中执行ifconfig -a
,结果如下:
这里的wlan0为WiFi7模块。
我们使用网速测试软件iperf3进行测速。
测速所使用的硬件设备:
路由器为小米BE6500 Pro,WiFi7+四口2.5G路由器,测试所用板子距离路由器约1米。
使用BE200+CM5IO_Mini,连接WiFi7无线网络,与同一路由器下的Windows系统(2.5G USB网卡,ip地址为:192.168.8.197)进行iperf3测速:
扩展板作为client,单线程测速:
速度为为481Mbps左右。
30个线程测速:
速度为为2.03Gbps左右。
扩展板作为server,单线程测速:
速度为为534Mbps左右。
30个线程测速:
速度为为1.61Gbps左右。
注意:网络测速受网络环境和测试方法影响,速度请以实际为准,本测试仅供参考。
4.17.4 WiFi7(BE200)的蓝牙测试
BE200 WiFi7模组自带一个USB蓝牙接口,使用前需要将SSD转WiFi模块上的1.25mm-4p USB接口与CM5IO_Mini上的1.25mm-4p USB接口相连,另外需要额外安装蓝牙驱动方可使用。
安装蓝牙驱动:
在树莓派终端中运行:
cd Downloads
wget http://www.mcuzone.com/wiki/5001_CM5_WiFi7-PoE/intel.zip
sudo cp intel.zip /lib/firmware/intel && cd /lib/firmware/intel
sudo unzip intel.zip
解压时报文件名冲突时,请选择“A”,即全部替换。
然后重启系统:
sudo reboot
测试蓝牙:
在树莓派终端中运行:
hciconfig -a
可以看到有两个设备,其中hci0是核心板自带的蓝牙(厂商为Cypress Semiconductor,为UART设备),hci1是BE200的蓝牙(厂商为Intel,为USB设备),且两个蓝牙都已经开启。
注意:如果发现此时hci1的状态为DOWN(即未开启),可以运行下列命令解除限制:
rfkill unblock bluetooth
为了测试hci1,我们需要将hci0关闭,请在树莓派终端中运行:
sudo hciconfig hci0 down
(如果需要开启这个设备,请运行sudo hciconfig hci0 up
)
此时我们再运行hciconfig -a
,可见hci0已经关闭:
点击桌面右上方的蓝牙标志,在弹出的菜单中点击“Add Device...”:
将所需连接的设备处于可发现的状态,稍等片刻,蓝牙模块就会扫描到这个设备,这里以蓝牙鼠标为例:
选取该鼠标,点击“Pair”,稍等片刻即配对连接成功:
我们在树莓派系统中可以对该鼠标进行操作:
在树莓派终端中运行:
hcitool -i hci1 con
可查看该蓝牙所连接的设备的情况:
4.18 测试温湿度模块
将树莓派专用温湿度模块使用USB线连接至CM5IO_Mini扩展板上的USB接口,启动系统,在终端中执行lsusb
,红框处即为连接温湿度模块与树莓派的USB转串口模块:
执行ls /dev/ttyUSB*
:
ttyUSB0即为温湿度模块所占用的串口。
打开CuteCom,选择ttyUSB0,开启串口,即可看到有温湿度数据输出:
联系我们
电话:13957118045
如本页面有任何疏漏、错误或者侵权,请通过上述途径联系我们,谢谢!
Copyright 2004-2025 野芯科技