CM4-IO-BASE-B
| ||||||||||||||||||||||||
| ||||||||||||||||||||||||
说明
产品概述
我是树莓派计算模块4代的基础IO板,CM4-IO-BASE-B 是一款可以搭配树莓派 Compute Module 4 使用的底板,使用 5V/ 2.5A USB Type C接口供电。
版本介绍
版本:CM4-IO-BASE-B V4
1:修复BT-DIS 和 WIFI-DIS 丝印和实际管脚不一致 2:DSI 接口由DSI0 改为DSI1 ,已支持高分辨率
版本:CM4-IO-BASE-B V3
1:修复部分CM4无法重启问题 2:新增一组RTC可选控制电路,U6和Q8,默认不焊接 3:V3版本存在V3.1 和V3.0两个版本,这两个版本差异不大,这里描述为一个版本
版本:CM4-IO-BASE-B V2.0
1:修改5V转3.3V DC-DC电源方案,TLV62130RGT 改为 MP1658 2:BOOT跳线帽改为拨码开关
使用注意事项
1:禁止带电时拔插除USB和HDMI之外的任何设备
2:FAN 风扇只支持5V风扇。不支持12V,在连接前确认风扇电压。
3:DSI显示器接口是DSI0 接口,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功能。
产品尺寸
CM4-IO-BASE-B
所有版本中产品尺寸无任何修改,只更换元器件和移动元器件位置
Compute_Module 4 核心板
板载资源
标号 | 名称 | 说明 | |
1 | CM4 连接器 | 适用于 Compute Module 4 的所有版本 | |
2 | 供电/烧录接口 | 5V/2.5A 供电,也可以作为 eMMC 烧录接口 | |
3 | DISP0 接口 | MIPI DSI 显示接口,DISP0 接口 | |
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 | 指示树莓派工作状态 | 指示树莓派电源状态 | |
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 接口 | 适用于NVIE固态硬盘,或者支持 PCIE M.2 接口的通信模块 | |
19 | RTC 芯片 | PCF85063芯片,可用做 RTC 唤醒,关机,重启,或者其他功能 | |
20 | RTC 中断管脚切换 | PI-RUN:RTC 触发中断 CM4 重启 GN-EN:RTC 触发中断 CM4 关机 D4:RTC 触发中断 D4 管脚触发 | |
21 | EMC2301 | 风扇控制器,控制风扇转速,测量风扇转速 | |
22 | RTC 电池连接座 | 可接入 CR1220 纽扣电池 |
注意事项
禁止带电时拔插任何设备
镜像烧录
USB2.0
USB接口在CM4上默认是被禁用的,以节省电源。如果需要启动,你需要在config.txt文件中添加以下内容:
dtoverlay=dwc2,dr_mode=host
重启之后即可
如果使用最新的树莓派OS(2021年10月30号之后的镜像)USB2.0是默认是OTG模式,CM4会报错:
config failed, hub doesn't have any ports! (err -19)
不过USB还是可以使用的,如果想移除这个错误,在config.txt的[cm4]中移除otg_mode=1,并且添加dtoverlay=dwc2,dr_mode=host(不添加是无法识别USB的)。
M.2
M.2 接口类型为M KEY, 只支持PCIE通道的设备(包括NVME固态等等),不支持SATA硬盘。
支持部分转接卡,走PCIE通道, 部分设备树莓派官方镜像无法驱动,需要重新编译内核。
RTC FAN
- 注意事项:请在接通扩展板电源前接上风扇再完成测试,请不要在扩展板已通电即风扇控制芯片已经通电之后再接上风扇,否则会烧掉芯片!
- 注意事项:连接前请确认风扇电压和实际上连接的风扇供电
注意 使用RTC禁止使用DSI和CSI
默认使用I2C-10
RTC (PCF85063a) 在i2c-10 上,地址是 0x51(7位地址)
FAN ( EMC2301 ) 在i2c-10 上,地址是 0x2f (7位地址)
如果需要添加到你程序中而不是内核中,可以参考C和Python例程参考 点这里
RTC
sudo nano /boot/config.txt #在最后添加 dtparam=i2c_vc=on dtoverlay=i2c-rtc,pcf85063a,i2c_csi_dsi #在dtparam=audio=on前面添加# 号 #dtparam=audio=on #保存退出,重启 sudo reboot
Hwclock简单使用
同步系统时钟 -> 硬件时钟
sudo hwclock -w
同步硬件时钟 -> 系统时钟
sudo hwclock -s #需要关闭网络,或者关闭网络对时,否则会被改回去
设置硬件时钟时间:
sudo hwclock --set --date="9/8/2021 16:45:05"
查看硬件时钟
sudo hwclock -r
显示版本信息
sudo hwclock --verbose
风扇
1:检查内核版本 是否高于或等于6.1.31
uname -a
2:config.txt 中添加
dtoverlay=i2c-fan,emc2301,i2c_csi_dsi,midtemp=45000,maxtemp=65000
3:风扇配置更多参数参考点这里
问题排查
1:添加配置之后可以使用命令i2cdetect -y 10 检查配置是否生效,生效的i2c地址应该是UU,不会在显示数字
2:RTC数值不准,或者出现无效提示,检查RTC电池是否连接和RTC电池的电压是否正常
3:所有配置添加之后需要重启才会生效
4:风扇驱动添加风扇不转,先按1排查,检查配置是否生效,如果生效检查内核版本是否高于或者等于6.1.31(uname -a),低于这个内核版本无法工作 详情点这里
CSI DSI
配置文件
CSI 和 DSI默认是关闭的,使用摄像头和DSI的时候会占用I2C-10、I2C-11、I2C-0 三个I2C设备
开机执行如下:
wget https://www.waveshare.net/w/upload/7/75/CM4_dt_blob_Source.zip unzip -o CM4_dt_blob_Source.zip -d ./CM4_dt_blob_Source sudo chmod 777 -R CM4_dt_blob_Source cd CM4_dt_blob_Source/ #执行(V1~V3版本使用) sudo dtc -I dts -O dtb -o /boot/dt-blob.bin dt-blob-disp0-double_cam.dts #执行(V4版本使用) 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
录播测试
再连接摄像头和DSI屏幕:
1: 确保断电状态下连接
2: 连接电源
3: 等待几秒后屏幕启动
4: 如果无法启动,检查/boot/dt-blob.bin 是否存在,如果存在再次重启即可。
旧版本(Buster)
摄像头需要运行raspi-config,选择Interfacing Options->Camera->Yes->Finish-Yes,reboot系统,打开enable camera,然后重启即可保存修改。
测试树莓派摄像头
查看接入的第一个摄像头画面:
sudo raspivid -t 0 -cs 0
查看接入的第二个摄像头画面:
sudo raspivid -t 0 -cs 1
新版本(Bullseye)
如果使用最新的树莓派OS(Bullseye):
#新系统使用双摄像头 #在config.txt中移除camera_auto_detect=1 #camera_auto_detect=1 #添加 dtoverlay=imx219,cam1 dtoverlay=imx219,cam0 #其中imx219是摄像头传感器型号,还有支持其他传感器 dtoverlay=ov5647,cam0 dtoverlay=imx219,cam0 dtoverlay=ov9281,cam0 dtoverlay=imx477,cam0 dtoverlay=imx519,cam0 #然后重启 reboot #打开摄像头 libcamera-hello -t 0 或者 libcamera-hello #其他部分指令: #检查摄像头是否被检测到 libcamera-hello --list-cameras #打开对应的摄像头,预览5秒 libcamera-hello --camera 1 libcamera-hello --camera 0 #拍摄照片 libcamera-jpeg -o test.jpg #拍摄视频 libcamera-vid -t 10000 -o test.h264 #可以添加 --camera 来指定摄像头 #-t <duration> 选项允许用户选择窗口显示多长时间,单位毫秒
更多指令点击我
- 注意:如果使用 DSI 接口显示将会有一个HDMI是禁用的,即使只是编译相应的文件而不连接 DSI 屏幕。
- 两个HDMI任意连接一个是可以输出图像,不限于那个HDMI,如果连接的两个HDMI屏幕那么只有HDMI0有图像输出
- 如果要启用 两个HDMI,请使用以下命令删除 dt-blob.bin 文件:
sudo rm -rf /boot/dt-blob.bin
- 然后重启即可
参考树莓派手册
资料
官方手册
原理图
3D图
程序
软件
相关链接
FAQ
b) 检查/boot/dt-blob.bin 文件是否存在,如果存在无法使用,请删除;