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跳线(在核心板上方)用短路帽短上,如下图:
驱动安装完成后,电脑上打开计算机的设备管理器,查看是否有新的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 测试开关机按键
CM5IO_Mini扩展板带有一个开关机按键,开机状态下,按一下按键,弹出关机菜单:
再按一下按键,直接关机;
关机状态下(需接电源)按一下按键,上电开机。
4.9 PoE电源输入
CM5IO_Mini扩展板可选配PoE供电,可提供5V4.5A输出。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.10 测试HDMI
CM5IO_Mini扩展板具有两个HDMI输出口,支持分别输出图像信号和同时输出图像信号,同时输出图像信号的效果如下:
五、选配件
5.1 内置4G模组
我司配套的4G模块均具有免驱免拨号、系统自动识别、即插即用等功能。我们的4G型号有CAT4 4G、高通4G、高通4G-GPS、ZTE CAT4 4G。其中CAT4 4G和ZTE CAT4 4G,系统均自动识别成eth设备,高通4G/高通4G-GPS和EC20均自动识别成usb0。
将4G模块接到CM5IO_Mini扩展板的1.25mm-4p接口:
原生千兆网口接上级路由器,启动系统,在树莓派系统终端下执行ifconfig -a
,以CAT4 4G为例,显示结果如下:
若您的4G模块是ZTE CAT4,则系统也识别成eth1(1位置上的数字依其它有线网络的数目而定),若您的4G模块是高通4G/GPS,则系统识别成usb0。
以CAT4 4G为例,我们将原生千兆网口连接上级路由器,执行route
,查看路由表,eth1排在第一位,因此此时是通过4G模块上网:
我们ping IP和域名,均成功,说明4G模块工作正常:
打开https://www.speedtest.cn/进行网速测试,结果如下:
注意:网络测速受网络环境和测试方法影响,速度请以实际为准,本测试仅供参考。
5.2 CM5IO_HDMI IN模块
CM5IO_Mini扩展板上的1.25mm-4p接口上可接一块CM5IO_HDMI IN模块,具有HDMI信号输入的功能,如下图所示:
使用OBS软件作为视频捕捉软件(关于OBS的安装与一般设置,请参阅下面的链接,这里不做详细展开:OBS的安装与一般设置),捕捉视频源的图像,并储存为一个分辨率为1080p的视频软件。
OBS软件按常规设置即可,但有两个地方需要注意:
1. 设置输出视频的分辨率
OBS的默认输出分辨率为720p,如果想要输入其它分辨率,需要手动设置。
点击“File - Settings - Video”,将”Output (Scaled) Resolution“改为1920x1080:
2. 图像设置
为了避免偏色,需要对输出图像进行一些设置。
双击”Video Capture Device“,打开设置窗口:
然后按下面的图进行设置:
设置完毕后保存,并退出设置菜单。
点击“Controls”下面的“Start Recording”开始录制,此时视频窗口仍然可以继续显示输入源的图像。录制完毕后,软件会自动将生成视频保存在主目录下:
我们录制了一段2分10秒的视频,视频具体参数如下:
5.3 CM5IO-UART(RS485和RS232)
CM5IO_Mini扩展板上的40p-GPIO接口上可接一块双RS485双RS232扩展板(40p-GPIO),扩展出两个RS485接口+两个RS232接口,如下图所示:
5.3.1 连接串口
测试需要安装串口软件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接口。
四个接口的示意图如下:
5.3.2 测试双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(以传输数据不发生乱码、缺失为准)。
5.3.3 测试双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(以传输数据不发生乱码、缺失为准)。
5.4 USB 转UART(RS485和RS232)
CM5IO_Mini扩展板上的USB接口上可接一块双RS485双RS232扩展板(USB),扩展出两个RS485接口+两个RS232接口,如下图所示:
5.4.1 连接串口
在树莓派终端中执行lsusb
,红框处即为USB转串口芯片:
执行ls /dev/ttyACM*,如下图所示:
四个接口的示意图如下:
5.4.2 测试双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(以传输数据不发生乱码、缺失为准)。
5.4.3 测试双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(以传输数据不发生乱码、缺失为准)。
5.5 CM5IO-UART-CAN
CM5IO_Mini扩展板上的40p-GPIO接口上可接一块双RS485双RS232双CAN扩展板(40p-GPIO),扩展出两个RS485接口+两个RS232接口+两个CAN接口,如下图所示:
六个接口的示意图如下:
5.5.1 配置RS485和RS232
系统运行后打开终端,运行下列命令:
sudo nano /boot/firmware/config.txt
在文件末尾加入下列语句:
dtoverlay=uart0
dtoverlay=uart2
dtoverlay=uart3
dtoverlay=uart4
5.5.2 测试双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(以传输数据不发生乱码、缺失为准)。
5.5.3 测试双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(以传输数据不发生乱码、缺失为准)。
5.5.4 测试双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
运行几次就发送几次。
发送端:
接收端:
5.6 NVME转2.5G以太网
扩展板反面的M.2接口上接一个SSD转2.5G转接板,以实现一路2.5G以太网口,如下图所示:
上电启动系统,在树莓派终端中执行lspci
,红框处即为SSD转2.5G模块:
将连接上级路由器的网线插入2.5G以太网口,执行ifconfig -a
,eth1即为扩展2.5G以太网口:
我们使用网速测试软件iperf3进行测速。
测速结果为:
client模式为2.34Gbps左右:
server模式为1.78Gbps左右:
注意:网络测速受网络环境和测试方法影响,速度请以实际为准,本测试仅供参考。
5.7 NVME转WiFi7转接板
CM5IO_Mini扩展板反面的M.2接口,接一个NVME转WiFi7转接板,用于扩展WiFI7/6无线网卡。如图所示:
5.7.1 安装WiFi7驱动
intel网卡WiFi7(BE200),WiFi6E(AX210)和WiFi6(AX200)在树莓派OS使用,均需加载驱动方可使用。且和树莓派CM5自带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. 安装wifi7固件
在树莓派终端下执行:
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
5.7.2 查看WiFi无线网卡
启动系统后,我们运行lspci
:
BE200:
AX200:
AX210:
然后就可以在网络连接里面使用WiFi模块连接无线AP了:
注意,此时核心板自带的WiFi模块已自动关闭,被WiFi6模块所取代。
点击桌面右上角网络图标 - Advanced Options - Connection Information...
在网络连接的信息中,我们可以看到这个驱动为iwlwifi的网络连接(如果是核心板自带的无线网卡,驱动会显示为brcmfmac):
在树莓派终端中执行ifconfig -a
,结果如下:
这里的wlan0为WiFi模块。
5.7.3 测速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左右。
注意:网络测速受网络环境和测试方法影响,速度请以实际为准,本测试仅供参考。
5.7.4 WiFi7(BE200)的蓝牙测试
BE200 WiFi7模组自带一个USB蓝牙接口,我们将转接板上的1.25mm-4p USB接到扩展板的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
可查看该蓝牙所连接的设备的情况:
5.8 温湿度模块
将树莓派专用温湿度模块使用USB线连接至CM5IO_Mini扩展板上的USB接口,如图所示:
启动系统,在终端中执行lsusb
,红框处即为连接温湿度模块与树莓派的USB转串口模块:
执行ls /dev/ttyUSB*
:
ttyUSB0即为温湿度模块所占用的串口。
打开CuteCom,选择ttyUSB0,开启串口,即可看到有温湿度数据输出:
联系我们
电话:13957118045
如本页面有任何疏漏、错误或者侵权,请通过上述途径联系我们,谢谢!
Copyright 2004-2025 野芯科技