CM4-DISP-BASE-7A-BOX
| |||||||||||||||||||||||||
| |||||||||||||||||||||||||
说明
产品概述
我是树莓派CM4套件7寸触摸屏一体机套件,CM4-DISP-BASE-7A-BOX是一款可以搭配树莓派 Compute Module 4 使用的底板,支持7~36V DC直流供电,板载四路USB2.0,7寸触摸屏等等,一体机套件方便用户使用。
使用注意事项
1:禁止带电时拔插除USB和HDMI之外的任何设备
2:如果需要更换风扇,请确认风扇电压再上电。
3:USB SLAVE 接口烧录镜像,不可以做为OTG接口。
4:在正常使用时,需要为CM4 至少提供12V 1A 的供电。否则可能出现自动关机,降频等等问题。
5:板载默认4 路 USB 2.0 接口。
6:不支持POE功能。
8:屏幕需要添加驱动才可以工作。
产品尺寸
板载资源
标号 | 名称 | 说明 |
1 | CM4 连接器 | 适用于 Compute Module 4 的所有版本 |
2 | DC供电接口 | 7~36V DC宽电压供电,建议使用24W或者更高功率的电源 |
3 | CM4 状态指示灯 | PWR:树莓派电源指示灯 ACT:树莓派工作状态指示灯 |
4 | HDMI 接口 | 支持 4K 30fps 输出 |
5 | RJ45 千兆网口 | 支持 10 / 100 / 1000M 网络接入 |
6 | USB2.0 接口 | 4 路 2.0 接口,支持各种 USB 设备插入 |
7 | Micro SD 卡接口 | 用于接入带系统的 Micro SD 卡,以启动 Compute Module 4 Lite |
8 | USB SLAVE 接口 | USB 烧录接口 |
9 | BOOT 开关按钮 | ON:Compute Module 4 开机引导转移到 USB Type-C 接口上 OFF:Compute Module 4 开机引导为 eMMC 或者 Micro SD 卡 |
10 | MIPI CSI 接口 | 已接入 500 万像素摄像头 |
11 | 隔离 I2C | 可通过 I2C 控制或读取设备 |
12 | 隔离 GPIO | 可通过 GPIO 控制或检测设备 |
13 | 隔离 RS485 | 可通过 RS485 接口通信 |
14 | 隔离 RS232 | 可通过 RS232 接口通信 |
15 | DC 供电 | 7 ~ 36V DC 供电接口 |
16 | RS485 终端电阻和 GPIO 逻辑电平选择 | RS485:120R 连接和断开 GPIO:GPIO 逻辑电平选择 |
17 | RTC 电池连接座 | 可接入 CR1220 纽扣电池 |
18 | 触摸屏接口 | 已连接电容触摸屏 |
19 | 显示器连接接口 | 已连接 7 英寸 800×480 像素屏幕 |
20 | M.2 M KEY | 支持 M.2 M KEY 的 NVME 固态硬盘,或者其他 PCIe 通道的通信模块 |
21 | 喇叭接口 | 连接喇叭,输出声音 |
22 | FAN | 方便接入散热风扇,支持调速和测速 |
23 | RTC 中断管脚切换 | GL-EN:RTC 触发中断 CM4 断电 PI-RUN:RTC 触发中断 CM4 重启 D16:RTC 触发中断 D16 管脚 (默认) |
24 | 系统功能切换 | BT_DIS:蓝牙禁用,仅提供带天线 CM4 版本使用 WIFi_DIS:WIFI 禁用,仅提供带天线 CM4 版本使用 WP_DIS:启动方式切换,不使用 EMMC 或者 SD 启动时使用 |
25 | FAN 供电选择 | 可选择 5V (默认) 或 12V 电压驱动风扇 |
26 | IO-VREF 选择 | CM4 IO 逻辑电压切换 3.3V (默认) 或者 1.8V |
27 | RS485 切换 | GPIO13/12:使用 ttyAMA1 设备 (默认) GPIO15/14:使用 ttyS0 设备 |
28 | RTC/FAN 的 I2C 总线选择 | SDA0/SCL0:I2C-10 和 CSI/DSI 共用 GPIO3/2:I2C-1 和 40PIN 共用 (默认) |
相关链接
注意事项
禁止带电时拔插任何设备
镜像烧录
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的)。
I2C接口
I2C接口默认关闭
- 在终端执行:
sudo raspi-config #选择 Interfacing Options -> I2C ->yes 启动 i2C 内核驱动
- 然后重启树莓派
sudo reboot
i2c地址以下两个被占用,请勿连接地址相同的设备
RTC (PCF85063a) 在i2c-1 上,地址是 0x51(7位地址)
FAN ( EMC2301 ) 在i2c-1 上,地址是 0x2f (7位地址)
RS485/232
默认关闭,如需打开需要在config.txt中添加内容:
sudo nano /boot/config.txt
dtoverlay=uart3 dtoverlay=uart5 reboot ls /dev/ttyAMA*
RS232占用GPIO5/GPIO4(BCM编码4/5),设备号ttyAMA1
RS485占用GPIO13/GPIO12(BCM编码13/12),设备号ttyAMA2
RS485可以切换到GPIO15/14上,设备号ttyS0
参考板载资源中27,将对应的电阻更改到对应的位置即可
测试
sudo apt-get install minicom # RS232 sudo minicom -D /dev/ttyAMA1 #RS485 sudo minicom -D /dev/ttyAMA2
GPIO
GPIO输入\输出接口只支持单一模式,不支持切换,下面是接口对应的管脚。
OUT CH1 GPIO17
OUT CH2 GPIO27
IN CH1 GPIO22
IN CH2 GPIO23
模块只支持3.3V 和 5V 不支持其他电压,可以通跳线帽切换。
屏幕和摄像头开启
Bullseye 和 Bookworm
显示
在config.txt文件中注释以下语句(config文件位于TF卡根目录,即/boot中或者/boot/firmware/中):
在[all]下方添加以下语句:
dtoverlay=vc4-kms-dsi-7inch,dsi0
保存后重启树莓派即可
sudo reboot
摄像头
libcamera-hello -t 0 或者 libcamera-hello #默认带有的摄像头型号为ov5647,如果需要修改为其他摄像头,自行查询摄像头型号 #添加 dtoverlay=ov5647,cam1 dtoverlay=ov5647,cam0 #其中ov5647是摄像头传感器型号,还有其他传感器 dtoverlay=ov5647,cam0 dtoverlay=imx219,cam0 dtoverlay=ov9281,cam0 dtoverlay=imx477,cam0 #然后重启 reboot #其他部分指令: #检查摄像头是否被检测到 libcamera-hello --list-cameras #打开的摄像头 libcamera-hello --camera 0 #拍摄照片 libcamera-jpeg -o test.jpg #可以添加 --camera 来指定摄像头
Buster
使用摄像头和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/ sudo dtc -I dts -O dtb -o /boot/dt-blob.bin dt-blob-disp0-double_cam.dts #执行完毕 关闭电源 重启CM4
注:在2021年12月2日,树莓派的Raspberry Pi OS分成了两个分支,分别是Buster分支和Bullseye分支。
其中Buster分支是老系统的延续,更为稳定。Bullseye分支则添加了一些新的功能,使用了开源的库和新的接口。
如果你使用的Buster分支的系统
摄像头需要运行raspi-config,选择Interfacing Options->Camera->Yes->Finish-Yes,reboot系统,打开enable camera,然后重启即可保存修改。
加载上面的的bin文件重启之后即可直接输出图像
查看接入的第一个摄像头画面:
sudo raspivid -t 0 -cs 0
查看接入的第二个摄像头画面:
sudo raspivid -t 0 -cs 1
音频
在config,txt中添加
dtparam=audio=on dtoverlay=audremap,pins_18_19 audio_pwm_mode=2 disable_audio_dither=1
任何重启即可
如果没有声音可以在图像界面检查是否选择,如果没有图像界面检查如下:
检查播放:aplay -l
检查是否有设备
开启之后再音频选择下是可以识别到的,可能存在默认声卡不是GPIO声卡问题。
RTC FAN
- 注意事项:请在接通扩展板电源前接上风扇再完成测试,请不要在扩展板已通电即风扇控制芯片已经通电之后再接上风扇,否则会烧掉芯片!
默认使用I2C-1
RTC (PCF85063a) 在i2c-1 上,地址是 0x51(7位地址)
FAN ( EMC2301 ) 在i2c-1 上,地址是 0x2f (7位地址)
RTC
sudo nano /boot/config.txt #在最后添加 dtparam=i2c_arm=on dtoverlay=i2c-rtc,pcf85063a #保存退出,重启 sudo reboot
Hwclock简单使用
同步系统时钟 -> 硬件时钟
sudo hwclock -w
同步硬件时钟 -> 系统时钟
sudo hwclock -s #需要关闭网络,或者关闭网络对时,负责会被改回去 #此命令仅仅是测试使用,实际使用过程中请开启,时间更加精准 #关闭网络对时 # sudo timedatectl set-ntp false #开启网络对时 # sudo timedatectl set-ntp true
设置硬件时钟时间:
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,midtemp=45000,maxtemp=65000
3:风扇配置更多参数参考点这里
资料
官方手册
原理图
3D图
程序
软件
FAQ
a) 检查 /boot/config.txt中是否屏蔽 dtparam -audio - on