CM4-IO-BASE-B

来自Waveshare Wiki
Eng20讨论 | 贡献2023年1月28日 (六) 17:10的版本 →‎版本介绍
跳转至: 导航搜索
CM4-IO-BASE-B
{{{name2}}}
{{{name3}}}
板载接口
DSI CSI HDMI USB 2.0
I2C I2S SPI RPi
Ethernet FAN

说明

产品概述

我是树莓派计算模块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-V4.jpg


版本: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跳线帽改为拨码开关

CM4-IO-BASE-B-V2.jpg


版本:CM4-IO-BASE-B V1.0
CM4-IO-BASE-B-V1.png

使用注意事项

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
所有版本中产品尺寸无任何修改,只更换元器件和移动元器件位置
CM4-IO-BASE-B-details-size.jpg
Compute_Module 4 核心板
Compute Module 4 IO Board 5.png

板载资源

CM4-IO-BASE-B-details-intro.jpg

标号 名称 说明
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 纽扣电池



注意事项

禁止带电时拔插任何设备

镜像烧录

EMMC版本点击这里
LITE版本点击这里

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的)。
CM4 Burn EMMC 12.png


M.2

M.2 接口类型为M KEY, 只支持PCIE通道的设备(包括NVME固态等等),不支持SATA硬盘。
CM4-IO-BASE-B-1-1.png
支持部分转接卡,走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秒,然后停止2秒,再转,这是正常现象
风扇目前没有官方的配置方法,有一个第三方配置方法:https://github.com/neg2led/cm4io-fan
此方法为第三方发布,出现任何问题,概不负责!

sudo apt-get install dkms 
mkdir -p ~/src
cd ~/src
git clone https://github.com/neg2led/cm4io-fan.git
cd cm4io-fan
sudo chmod 777 install.sh
sudo  ./install.sh

#如果出现错误提示:Your kernel headers for kernel 5.XX.XX-v7l+ cannot be found at
#重启设备之后在执行即可

#下面是对于config.txt的描述介绍
#############################
Name:   cm4io-fan
Info:   Raspberry Pi Compute Module 4 IO Board fan controller
Load:   dtoverlay=cm4io-fan,<param>[=<val>]
Params: minrpm             RPM target for the fan when the SoC is below 
                            mintemp (default 3500)
        maxrpm              RPM target for the fan when the SoC is above
                            maxtemp (default 5500)
        midtemp             Temperature (in millicelcius) at which the fan
                            begins to speed up (default 50000)
        midtemp_hyst        Temperature delta (in millicelcius) below mintemp
                            at which the fan will drop to minrpm (default 2000)
        maxtemp             Temperature (in millicelcius) at which the fan 
                            will be held at maxrpm (default 70000)
        maxtemp_hyst        Temperature delta (in millicelcius) below maxtemp
                            at which the fan begins to slow down (default 2000)
#############################
或者 直接参考如下:
dtoverlay=cm4io-fan,minrpm=500,maxrpm=5000,midtemp=45000,midtemp_hyst=2000,maxtemp=50000,maxtemp_hyst=2000
温度高于45摄氏度开始加速,高于50摄氏度最高速

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
  • 然后重启即可

参考树莓派手册



资料


官方手册

CM4核心板数据手册

原理图

3D图

程序

软件

相关链接

树莓派入门教程(新)
树莓派入门教程
树莓派OpenCV教程
树莓派littleGL系列教程
树莓派QT教程
树莓派OpenWrt教程

FAQ

a) 检查 /boot/config.txt中是否屏蔽 dtparam -audio - on
b) 检查/boot/dt-blob.bin 文件是否存在,如果存在无法使用,请删除;


售后


联系人:彭工
EMAIL:2851966006@qq.com
电话:0755-83040712
QQ:2851966006
微信:扫下方二维码添加
Pqy.png

说明:进行售后服务前,请准备好客户信息(定货单位、定货人等),以供验证