CM5 PoE BASE A
产品概述
我是树莓派计算模块5代的IO板,CM5 PoE BASE A 是一款可以搭配树莓派 Compute Module 5 使用的底板,并且支持POE供电和Type C 5V 5A DC直流供电,板载2路USB3.2 Gen1,2路USB2.0,方便用户使用。
特征和注意事项
1:禁止带电时拔插除USB和HDMI之外的任何设备
2:Type C用作USB SLAVE 接口烧录镜像,不可以做为OTG接口,无法对外供电。
3:板载默认2 路 USB 3.2 Gen1 接口。
4:使用POE功能时,注意查看交换机是否支持802.3af/at 网络标准的 PoE,并且要支持单口30W的交换机。
5:需要使用POE时,将POE跳线帽连接到EN位置。
6:支持4屏幕异显,添加MIPI DSI驱动,不管是否连接屏幕,系统都将默认连接,屏幕将会分屏显示(和系统版本有关系)
7:板载按键连接BOOT,可以上电前按下PSW按键,通过Type C连接电脑,让设备接入烧录模式
8:使用Type C烧录不要连接其他设备,复制供电不足导致无法识别设备
9:USB2.0接口一共最大功率输出2A ,USB3.0接口一共最大功率输出2A
产品尺寸
核心板尺寸
地板尺寸
外壳尺寸
镜像烧录
如何接入烧录模式
二选一即可
1:板载按键连接BOOT,可以上电前按下PSW按键,通过Type C连接电脑,让设备接入烧录模式
2:跳线帽连接BOOT
POE
如需使用POE供电请将POE跳线帽连接到EN
产品参数
- POE输入电压: 37V ~ 57V 直流输入
- POE - GPIO 排针:5V 4.5A (MAX)
- POE - 2P 排针:12V 2A (MAX)
- 网络标准: 支持 IEEE 802.3af/at PoE
12V
12V输出仅仅是在POE供电时有输出,使用其他方式供电时,12V没有输出
注意
如果出现提示供电限制
在/boot/firmware/config.txt中添加usb_max_current_enable=1 即可
NVME
挂载
1:启用PCIE接口
在/boot/firmware/config.txt 中添加: dtparam=pciex1
2:PCIE默认是gen2,如果需要启用PCIE gen3, 则在/boot/firmware/config.txt 中添加:
dtparam=pciex1_gen=3
3:修改之后重启PI5,就可以识别到设备了,
如下图,识别到SM2263就是我的SSD固态,另外一个PI5的是RPI芯片
4:分区,如果在其他平台有分区和格式化,则跳过这一步(会删除SSD所有数据谨慎操作)
lsblk 可以看到磁盘(如果想看到详细信息执行 sudo fdisk -l ) 分区 sudo fdisk /dev/nvme0n1 设备号是总设备号,不要添加p1,那只是一个分区而已 分区工具fdisk如何使用 n 新建分区 q 不保存退出 p 打印分区表 m 打印选择菜单 d 删除分区 w 保存退出 t 修改ID号 添加分区执行n即可,最后w保存退出
5:格式化
sudo mkfs. 然后按tab 可以看到很多种不同的后缀名,不同的后缀名就是你需要想要格式化的格式 假设我要格式化为ext4 文件格式,那么就是执行 sudo mkfs.ext4 /dev/nvme0n1p1 等待片刻,当done都出现完毕后,意味着格式化已经进行完毕。
6:挂载
创建挂载目录 sudo mkdir toshiba 挂载设备 sudo mount /dev/nvme0n1p1 ./toshiba 检查磁盘状态 df -h
读写测试
进入挂载磁盘的目录
cd toshiba
- 释放内存
sudo sh -c "sync && echo 3 > /proc/sys/vm/drop_caches"
- 拷贝树莓派内存内容到硬盘 (写)
sudo dd if=/dev/zero of=./test_write count=2000 bs=1024k
- 拷贝硬盘内容到树莓派内存 (/etc/fstab读)
sudo dd if=./test_write of=/dev/null count=2000 bs=1024k
- 注意:不同的卡以及环境 测试效果不同 树莓派受到的影响比较大 ,如果想要测试准确的性能使用PC 电脑测试
自动挂载
测试没有问题如果不需要作为系统盘,只扩展磁盘使用,设置自动挂载
sudo nano /etc/fstab #结尾添加 /dev/nvme0n1p1 /home/pi/toshiba ext4 defaults 0 0 #/dev/nvme0n1p1 设备名, /home/pi/toshiba 挂载到目录,ext4是文件系统类型 ,defaults 使用默认的挂载选项 #使更改生效(测试无问题再重启,不然会导致无法挂载导致无法开机) sudo mount -a #然后重启 通过lsblk检查设备
NVMe SSD引导启动
先使用SD卡或者EMMC启动,先挂载测试一下,确保硬件可以正常工作
以下方法二选一即可
方法1
1:执行:
sudo raspi-config
2:重启树莓派
如果修改多次发现无法修改,请连接网络之后再修改(等待网络自对时),或者设置正确时间之后再修改文件
3:将系统烧录到NVME中,然后将NVME连接到扩展板,移除SD卡重新上电即可
方法2
1:修改树莓派的引导加载程序配置中的BOOT_ORDER:
sudo rpi-eeprom-config --edit BOOT_ORDER=0xf41 改为 BOOT_ORDER=0xf416 更多内容可以参考BOOT_ORDER
2:重启树莓派
如果修改多次发现无法修改,请连接网络之后再修改(等待网络自对时),或者设置正确时间之后再修改文件
3:将系统烧录到NVME中,然后将NVME连接到扩展板,移除SD卡重新上电即可
风扇控制
PI5风扇默认是温度控制50度才开始转,如果想要控制其他温度就可以转,/boot/firmware/config.txt 中添加指定内容即可,例如:
dtparam=fan_temp0=36000,fan_temp0_hyst=2000,fan_temp0_speed=90 dtparam=fan_temp1=40000,fan_temp1_hyst=3000,fan_temp1_speed=150 dtparam=fan_temp2=52000,fan_temp2_hyst=4000,fan_temp2_speed=200 dtparam=fan_temp3=58000,fan_temp3_hyst=5000,fan_temp3_speed=255
其中:
fan_temp0/1/2/3 表示温度(36000表示36℃)
fan_temp0/1/2/3_speed 表示对应的转速(值最大255)
fan_temp0/1/2/3_hyst 表示迟滞温度
更多内容参考这里
注意:仅仅是0123一共4个温度,不可能再设置其他温度,迟滞温度不得超过两个温度的跨步范围
MIPI
支持双MIPI,客户可以自由选择CSI或者DSI连接
DSI屏幕默认是800x480分辨率的屏幕,其他分辨率的屏幕请参考对应的WIKI
使用MIPI1接口需要连接跳线帽
DSI
#在config.txt中添加内容 sudo nano /boot/firmware/config.txt #DSI1 dtoverlay=vc4-kms-dsi-7inch,dsi0 #DSI0 dtoverlay=vc4-kms-dsi-7inch,dsi1
CSI
型号 | CAM0设置语句 | CAM1设置语句 |
---|---|---|
OV9281 | dtoverlay=ov9281,cam0 | dtoverlay=ov9281,cam1 |
IMX290/IMX327 | dtoverlay=imx290,clock-frequency=37125000,cam0 | dtoverlay=imx290,clock-frequency=37125000,cam1 |
IMX378 | dtoverlay=imx378,cam0 | dtoverlay=imx378,cam1 |
IMX219 | dtoverlay=imx219,cam0 | dtoverlay=imx219,cam1 |
IMX477 | dtoverlay=imx477,cam0 | dtoverlay=imx477,cam1 |
IMX708 | dtoverlay=imx708,cam0 | dtoverlay=imx708,cam1 |
容许一个连接DSI一个连接CSI,例如使用IMX219连接MIPI1
例如:使用DSI显示器连接MIPI0,在config.txt 中添加
dtoverlay=imx219,cam1 dtoverlay=vc4-kms-dsi-7inch,dsi0
sudo reboot
测试摄像头
- 输入摄像头检测指令,此时可以看到摄像头已经被检查到了
libcamera-hello --list-cameras
- 显示摄像头画面到桌面
libcamera-hello -t 0
- 拍摄照片
libcamera-jpeg -o test.jpg
- 录制一个10s的视频
libcamera-vid -t 10000 -o test.h264
其他命令
检查摄像头是否被检测到
libcamera-hello --list-cameras
打开对应的摄像头
libcamera-hello --camera 1 libcamera-hello --camera 0
拍摄照片
libcamera-jpeg -o test.jpg #可以添加 --camera 来指定摄像头
实时时钟 (RTC)
默认不带电池需要额外连接RTC电池
软件调试
默认设备是/dev/rtc0
关于时间,在命令行输入date可以看到当前时间,连接网络树莓派系统会自动网络对时,如果默认RTC设备有连接并且工作正常,那么RTC时间会在自动网络对时后更新时间
sudo hwclock -r 读取RTC时间,如果存在多个RTC设备,可以使用-f来选择对应的设备(例如:sudo hwclock -f /dev/rtc1 -r)
Hwclock简单使用
系统时钟 -> 硬件时钟(RTC)
sudo hwclock -w
同步硬件时钟(RTC) -> 系统时钟
sudo hwclock -s #需要关闭网络,或者关闭网络对时,否则会被改回去
设置硬件时钟时间(RTC):
sudo hwclock --set --date="9/8/2023 16:45:05"
查看硬件时钟(RTC)
sudo hwclock -r
显示版本信息
sudo hwclock --verbose
自动唤醒
要支持唤醒警报的低功耗模式,添加配置:
sudo -E rpi-eeprom-config --edit #添加以下两行。 POWER_OFF_ON_HALT=1 WAKE_ON_GPIO=0 #添加之后重启设备(如果连接串口日志可以看到有更新相关日志) sudo reboot #您可以使用以下方法测试功能: echo +600 | sudo tee /sys/class/rtc/rtc0/wakealarm sudo halt 或者 sudo poweroff #10分钟后将唤醒并重新启动
RTC电池充电
注意:在添加这个之前先确认你的RTC电池是否容许充电,以及最大容许电压是多少
sudo nano /boot/firmware/config.txt #添加 dtparam=rtc_bbat_vchg=3000000 #其中 3000000 表示最大电压,充电充到3V就会关闭充电,电压低于3V会启动涓流充电
FAQ
CM5 需要最新版本的 Raspberry Pi OS Bookworm(2024-11-19的系统或者以后的系统)。