CM4-DISP-BASE-2.8A
| ||||||||||||||||||||||||
| ||||||||||||||||||||||||
说明
产品概述
我是专门为树莓派计算模块4代的设计2.8 寸 CM4 触摸屏扩展板,CM4-DISP-BASE-2.8A是一款可以搭配树莓派 Compute Module 4 使用的底板,使用 5V/ 2.5A USB Type C接口供电,可直接接入 CM4 核心板,搭载了 2.8 英寸 IPS 显示屏,可满足 CM4 各版本的运行,且支持摄像头和视频输出。
使用注意事项
1:显示不是HDMI接口,而是DPI接口,
2:模块工作对于电源要求比较高,建议使用5V/4A 或者更加高功率的电源
产品尺寸
CM4-DISP-BASE-2.8A
Compute_Module 4 核心板
板载资源
标号 | 名称 | 说明 | |
1 | CM4 连接器 | 适用于 Compute Module 4 的所有版本 | |
2 | CAM 接口 | 22PIN MIPI CSI 摄像头接口 | |
3 | 供电/烧录接口 | 5V/2.5A 供电,也可以作为 eMMC 烧录接口 | |
4 | USB 2.0 接口 | USB 2.0 接口,支持各种 USB 设备插入 | |
5 | HDMI1 接口 | Micro HDMI 接口,支持 4K 30fps 输出 | |
6 | BOOT | ON:CM4 USB Type C 开机引导 OFF: eMMC或者SD 卡开机引导 | |
7 | 接口扩展 | 包含千兆网口、PCIE、USB等接口 |
标号 | 名称 | 说明 |
1 | USB 2.0 接口 | 3路USB 2.0 接口,支持各种 USB 设备插入 |
2 | M.2 M KEY接口 | 适用于NVIE固态硬盘,或者支持 PCIE M.2 接口的通信模块 |
3 | 千兆网口 | RJ45 千兆网口,支持 10 / 100 / 1000M 网络接入 |
4 | M.2 LED | M.2 指示接口工作状态 |
5 | 接口接入 | 扩展接口接入 |
相关链接
注意事项
禁止带电时拔插任何设备
镜像烧录
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的)。
显示
用于Raspberry Pi OS Bookworm和Bullseye分支
- 1. config.txt文件,在config.txt末端加入以下代码并保存:
dtoverlay=vc4-kms-v3d dtoverlay=waveshare-28dpi-3b-4b dtoverlay=waveshare-28dpi-3b dtoverlay=waveshare-28dpi-4b dtoverlay=waveshare-touch-28dpi dtoverlay=vc4-kms-dpi-2inch8
- 2. 下载2.8inch DPI LCD DTBO文件并解压复制到overlays目录(/boot/overlays/)
- 3. 保存并安全弹出TF卡,将TF卡插入树莓派。
- 4. 给树莓派上电,正常等待约三十秒后可正常显示。
用于Raspberry Pi OS Buster分支和Ubuntu系统
- 1. 打开TF卡根目录的config.txt文件,在config.txt最后加入以下代码,保存并安全弹出TF卡。
gpio=0-9=a2 gpio=12-17=a2 gpio=20-25=a2 dtoverlay=dpi24 enable_dpi_lcd=1 display_default_lcd=1 extra_transpose_buffer=2 dpi_group=2 dpi_mode=87 dpi_output_format=0x7F216 hdmi_timings=480 0 26 16 10 640 0 25 10 15 0 0 0 60 0 32000000 1 dtoverlay=waveshare-28dpi-3b-4b dtoverlay=waveshare-28dpi-3b dtoverlay=waveshare-28dpi-4b
注:用此方法驱动时,需要把文件中的dtoverlay=vc4-kms-v3d/dtoverlay=vc4-fkms-v3d语句注释掉。
- 2. 下载2.8inch DPI LCD DTBO文件并解压复制到overlays目录(/boot/overlays/)
- 3. 保存并安全弹出TF卡,将TF卡插入树莓派。
- 4. 给树莓派上电,正常等待约三十秒后可正常显示。
显示旋转
Bookworm显示旋转
GUI 界面旋转
- 1.打开"Screen Configuration"应用程序;
- 2.进入"Screen"->"DPI-1"->"Touchscreen" ,勾选"13-005d Goodix Capacitive TouchScreen"
- 3.进入"Screen"->"DPI-1"->"Orientation" ,勾选您需要旋转的方向,最后点击“Apply”,即可完成显示屏和触摸的同步旋转。
-->
注意:仅Bookworm系统支持以上同步旋转方法。对于Bullseye和Butser系统,显示旋转后,需手动单独设置触摸旋转。
lite版本显示旋转
sudo nano /boot/firmware/cmdline.txt #在cmdline.txt文件开头添加对应显示旋转角度的指令,保存重启后生效 #显示旋转90度 video=DPI-1:480x640M@60,rotate=90 #显示旋转180度 video=DPI-1:480x640M@60,rotate=180 #显示旋转270度 video=DPI-1:480x640M@60,rotate=270
注意:无法使用 cmdline.txt 将 DPI 显示器与 HDMI 显示器分开旋转。当您同时使用 DPI 和 HDMI 时,它们共享相同的旋转值。
Bullseye/Buster显示旋转
GUI 界面旋转
- 1.打开"Screen Configuration"应用程序;
- 2.进入"Screen"->"DPI-1"->"Orientation" ,勾选您需要旋转的方向,最后点击"Apply",即可完成显示旋转。
- 1.需要修改/boot/cmdline.txt文件:
sudo nano /boot/cmdline.txt
- 2.在cmdline.txt文件开头,添加对应显示旋转角度的指令:(请注意,该命令需要放在同一行上,每个命令用空格分隔。)
video=DPI-1:480x640M@60,rotate=90
通过将rotate值更改为 90、180 或 270 来更改显示旋转的角度。
- 3.保存并重新启动
sudo reboot
Stretch/Jessie显示旋转
对于一些比较古老的系统,它们不使用vc4-kms-v3d 或 vc4-fkms-v3d 驱动模式,显示旋转方法如下
- 1. 在config.txt文件中加入语句(config文件位于TF卡根目录,即/boot中):
display_rotate=1 #1:90;2: 180; 3: 270
- 2. 保存后重启树莓派即可
sudo reboot
触摸旋转
Bookworm 触摸旋转
如果使用图形界面进行旋转,可以在屏幕布局编辑器窗口中勾选“Touchscreen”来同步触摸旋转。屏幕旋转方法请参考前面的介绍。命令行旋转方法请参考以下文字:
1. 创建一个名为的新文件99-waveshare-touch.rules
sudo nano /etc/udev/rules.d/99-waveshare-touch.rules
2. 根据需要添加以下行:
#90°: ENV{ID_INPUT_TOUCHSCREEN}=="1", ENV{LIBINPUT_CALIBRATION_MATRIX}="0 -1 1 1 0 0" #180°: #ENV{ID_INPUT_TOUCHSCREEN}=="1", ENV{LIBINPUT_CALIBRATION_MATRIX}="-1 0 1 0 -1 1" #270°: #ENV{ID_INPUT_TOUCHSCREEN}=="1", ENV{LIBINPUT_CALIBRATION_MATRIX}="0 1 0 -1 0 1"
3. 保存并重启
sudo reboot
Bullseye/Buster 触摸旋转
部分系统显示旋转后,触摸方向不一致,需要按下文操作进行触摸旋转:
1. 安装libinput
sudo apt-get install xserver-xorg-input-libinput
- 如果你安装的是Ubuntu系统,或者是Jetson Nano。安装指令为
sudo apt install xserver-xorg-input-synaptics
2. 在/etc/X11/下创建xorg.conf.d目录 (如果该目录已存在,这直接进行第3步)
sudo mkdir /etc/X11/xorg.conf.d
3. 复制40-libinput-conf 文件到刚刚创建的目录下
sudo cp /usr/share/X11/xorg.conf.d/40-libinput.conf /etc/X11/xorg.conf.d/
4. 编辑该文件
sudo nano /etc/X11/xorg.conf.d/40-libinput.conf
#找到 touchscreen的部分,在里面添加对应的旋转角度指令,然后保存即可 #90°Right触摸旋转: Option "CalibrationMatrix" "0 1 0 -1 0 1 0 0 1" #180° Inverted触摸旋转: #Option "CalibrationMatrix" "-1 0 1 0 -1 1 0 0 1" #270° Left旋转: #Option "CalibrationMatrix" "0 -1 1 1 0 0 0 0 1" 类似下图位置:
sudo reboot
完成以上步骤后触摸将会进行旋转。
M.2
M.2 接口类型为M KEY, 只支持PCIE通道的设备(包括NVME固态等等),不支持SATA硬盘。
支持部分转接卡,走PCIE通道, 部分设备树莓派官方镜像无法驱动,需要重新编译内核。
开启摄像头
执行如下:
wget https://www.waveshare.net/w/upload/a/a2/Dts-2.8A.zip unzip -o Dts-2.8A.zip -d ./Dts-2.8A sudo chmod 777 -R Dts-2.8A cd Dts-2.8A/ sudo dtc -I dts -O dtb -o /boot/dt-blob.bin dt-blob-cm4-singlecam-dpi28.dts
旧版本(Buster)
注:在2021年12月2日,树莓派的Raspberry Pi OS分成了两个分支,分别是Buster分支和Bullseye分支。
其中Buster分支是老系统的延续,更为稳定。Bullseye分支则添加了一些新的功能,使用了开源的库和新的接口。
摄像头需要运行raspi-config,选择Interfacing Options->Camera->Yes->Finish-Yes,reboot系统,打开enable camera,然后重启即可保存修改。
如果你使用的Buster分支的系统,镜像无需任何改何修改即可正常使用。 摄像头画面:
sudo raspivid -t 0 -cs 0
新版本(Bullseye)
#检查摄像头是否被检测到 libcamera-hello --list-cameras #打开的摄像头 libcamera-hello --camera 0 #拍摄照片 libcamera-jpeg -o test.jpg
资料
官方手册
原理图
3D图
程序
软件
FAQ
a) 检查 /boot/config.txt中是否屏蔽 dtparam -audio - on
你可以注释掉config.txt文件的以下语句
dtoverlay=waveshare-touch-28dpi