CM4-IO-BASE-A
| ||||||||||||||||||||||||
| ||||||||||||||||||||||||
说明
产品概述
我是树莓派计算模块4代的基础IO板,CM4-IO-BASE-A 是一款可以搭配树莓派 Compute Module 4 使用的底板,使用 5V/ 2.5A USB Type C接口供电
版本说明
版本:CM4-IO-BASE-A V4
1:修复BT-DIS 和 WIFI-DIS 丝印和实际管脚不一致
2:DSI 接口由DSI0 改为DSI1 ,已支持高分辨率
版本:CM4-IO-BASE-A V3.1
1:修复部分CM4无法重启问题
2:电源方案修改,提高输出能力。
使用注意事项
1:禁止带电时拔插除USB和HDMI之外的任何设备
2:FAN 风扇只支持5V风扇。不支持12V,在连接前确认风扇电压,此版本风扇不带控制器,不可调速。
3:DSI显示器接口是DSI0 接口,DSI1显示接口没有连接出来。(V4版本开始为DSI1显示接口)
4:Type C 接口可以用作供电也可以用作USB SLAVE 接口烧录镜像。
5:为了保证CM4供电正常,在使用Type C 接口烧录镜像时,请不要连接其他设备。
6:CM4在正常使用时,需要为CM4 提供5V 2A 的供电。否则可能出现自动关机,降频等等问题。
7:M.2 接口在使用的时候,请使用配套的螺丝,使用其他长度的螺丝可能会导致CM4核心被螺丝顶坏。
8:模块没有带任何保护,请勿短路电源。
9:USB2.0 默认是关闭的,如需打开需要在config.txt中添加 dtoverlay=dwc2,dr_mode=host
10:想HDMI1 单独使用,需要使用可以另外购买 HDMI转接头
11:USB 3/4 和 HDMI1都需要使用, 可使用转接板连接出来
12:此扩展板不支持POE功能。
13:M.2 接口供电限制1.5A, 如果导致固态或者其他设备降速等等问题,建议购买B版本(V3版本已修复)
产品尺寸
CM4-IO-BASE-A
Compute_Module 4 核心板
板载资源
标号 | 名称 | 说明 | |
1 | CM4 连接器 | 适用于 Compute Module 4 的所有版本 | |
2 | 供电/烧录接口 | 5V/2.5A 供电,也可以作为 eMMC 烧录接口 | |
3 | DISP 接口 | MIPI DSI 显示接口 | |
4 | FAN 接口 | 接入散热风扇,仅支持5V风扇 | |
5 | CAM 接口 | 双路 MIPI CSI 摄像头接口 | |
6 | HDMI0 接口 | HDMI 接口,支持4K 30fps 输出 | |
7 | USB 2.0 接口 | 2 路 USB 2.0 接口,支持各种 USB 设备插入 | |
8 | 千兆网口 | RJ45 千兆网口,支持 10 / 100 / 1000M 网络接入 | |
9 | M.2 指示灯 | 指示接口工作状态 | |
10 | ACT 指示灯 | 指示树莓派工作状态 | |
11 | PWR 指示灯 | 指示树莓派电源状态 | |
12 | BOOT | ON:CM4 USB Type C 开机引导 OFF: eMMC或者SD 卡开机引导 | |
13 | 40PIN GPIO 接口 | 方便连接各种HAT模块 | |
14 | Micro SD 卡接口 | 用于接入带系统的 Micro SD 卡,仅用于 Lite 版本 | |
15 | HDMI1 排线接口 | HDMI1 接口,支持 4K 30fps 输出 | |
16 | USB 2.0 排线接口 | USB 2.0 排线接口,通过转接板连接 | |
17 | FE1.1S | USB HUB芯片,USB 接口 1 扩 4 | |
18 | M.2 接口 | 适用于NVME固态硬盘,或者支持 PCIE M.2 接口的通信模块 |
注意事项
禁止带电时拔插任何设备
镜像烧录
USB2.0
CM4报错:
config failed, hub doesn't have any ports! (err -19)
USB还是可以使用的,如果想移除这个错误,在config.txt的[cm4]中移除otg_mode=1,并且添加dtoverlay=dwc2,dr_mode=host(不添加是无法识别USB的)。
如果USB无法工作,你需要在config.txt文件中添加以下内容:
dtoverlay=dwc2,dr_mode=host
重启之后即可
M.2
M.2 接口类型为M KEY, 只支持PCIE通道的设备(包括NVME固态等等),不支持SATA硬盘。
支持部分转接卡,走PCIE通道, 部分设备树莓派官方镜像无法驱动,需要重新编译内核。
FAN
风扇的PWM管脚连接GPIO18
CSI DSI
V4版本开始使用DSI1接口,在编译对应文件的时候选择对应的指令
配置文件
- CSI和DSI默认是关闭的,需要加载对应设备树用于开启,并且使用CSI摄像头与DSI屏幕的时候会占用I2C-10、I2C-11、I2C-0 三个I2C设备
- 输入一下指令:
sudo apt-get install p7zip-full -y wget https://www.waveshare.net/w/upload/4/41/CM4_dt_blob.7z 7z x CM4_dt_blob.7z -O./CM4_dt_blob sudo chmod 777 -R CM4_dt_blob cd CM4_dt_blob/ #如果使用两个摄像头和DSI1 执行 sudo dtc -I dts -O dtb -o /boot/dt-blob.bin dt-blob-disp1-double_cam.dts #在使用任意DSI时,HDMI1没有图像输出,哪怕你没有连接DSI屏幕只要编译的对应的文件,那HDMI1就没有输出了 #如果需要恢复,删除对应的dt-blob.bin 即可: sudo rm -rf /boot/dt-blob.bin #执行完毕 关闭电源 重启CM4
新版本系统(bullseye)
配置摄像头
- 执行如下命令进入编辑/boot/config.txt文件
sudo nano /boot/config.txt
- 屏蔽或者删除掉摄像头自动检测语句
- 添加你使用的摄像头的驱动动,这里我以IMX219为例,并且连接上CAM0上,附上适配
型号 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 - 如果使用的是树莓派官方摄像头,且只有一个摄像头接入,无需设置config文件,如果不是官方摄像头,请设置dtoverlay语句,不需要加cam后缀
- CM4-NANO-只用到CAM0,所以只需要添加一句 dtoverlay=imx219,cam0 即可
- 快捷键Ctrl+o保存文件,并回车
- 快捷键Ctrl+x退出编辑器
- 重启CM4
sudo reboot
- 输入摄像头检测指令,此时可以看到摄像头已经被检查到了
libcamera-hello --list-cameras
- 显示摄像头画面到桌面
libcamera-hello -t 0
- 拍摄照片
libcamera-jpeg -o test.jpg
- 录制一个10s的视频
libcamera-vid -t 10000 -o test.h264
- 执行如下命令进入树莓派配置
sudo raspi-config
- 选择Interfacing Options并进入
- 选择Camera
- 选择开启摄像头接口
- 系统提示如下
- 回到主界面,选择Finish
- 随后重启系统
- 测试拍照:
raspistill -o image.jpg
- 测试录像:
raspivid -o video.h264 -t 10000
- 其中 -t 10000 表示录制 10 秒,用户各根据自己的需要进行调整。
测试摄像头
其他命令
检查摄像头是否被检测到
libcamera-hello --list-cameras
打开对应的摄像头
libcamera-hello --camera 1 libcamera-hello --camera 0
拍摄照片
libcamera-jpeg -o test.jpg #可以添加 --camera 来指定摄像头
老版本系统(buster)
配置摄像头
测试摄像头
参考:CSI相机
资料
官方手册
原理图
3D图
程序
软件
相关链接