CM4-Duino

来自Waveshare Wiki
跳转至: 导航搜索
CM4-Duino
{{{name2}}}
{{{name3}}}
板载接口
GPIO CSI HDMI USB 2.0
Typc-C

说明

产品概述

我是CM4 duino 基础扩展板,是可以搭配树莓派 Compute Module 4 使用的拓展板,支持Typc-C 接口的 5V DC 直流供电。板载HDMI接口 、一路CSI接口和一路USB接口、标准arduino接口等等……

使用注意事项

1:禁止带电时拔插除USB和HDMI之外的任何设备
2:Type C 接口可以用作供电也可以用作USB接口烧录镜像(需要使用拨码开关切换)
3:为了保证CM4供电正常,在使用Type C 接口烧录镜像时,请不要连接其他设备。
4:CM4在正常使用时,需要为CM4 提供5V 2A 的供电。否则可能出现自动关机,降频等等问题。
5:USB2.0 默认是关闭的,如需打开需要在config.txt中添加 dtoverlay=dwc2,dr_mode=host

产品尺寸

CM4-Duino
CM4-Duino2.png
Compute_Module 4 核心板
Compute Module 4 IO Board 5.png

板载资源

CM4-Duino-details-intro.jpg

标号 名称 说明
1 供电/烧录接口 5V/2A 供电,也可以作为 eMMC 烧录接口
2 USB 2.0 接口 USB 2.0 接口,支持各种 USB 设备插入
3 HDMI 接口 HDMI 接口,支持 4K 30fps 输出
4 BOOT 开关按钮 ON:Compute Module 4 开机引导转移到 USB Type-C 接口上
OFF:Compute Module 4 开机引导为 eMMC 或者 Micro SD 卡
5 CM4 连接器 适用于 Compute Module 4 的所有版本
6 CAM 接口 MIPI CSI 摄像头接口
7 用户LED LED一闪一闪亮晶晶
8 ADC芯片 8位ADC、I2C接口、8通道ADC芯片ADS7830
9 用户按键 按键模块
10 GPIO Arduino接口GPIO
11 功能切换 详情参考功能管脚描述
12 M.2接口 支持NVME SSD 固态或者其他 PCIE 通道的模块
13 Micro SD 卡接口 用于接入带系统的 Micro SD 卡,以启动 Compute Module 4 Lite

CM4-Duino4.png


使用

硬件连接
CM4-Duino5.png
简单易上手的使用说明

注意事项

禁止带电时拔插任何设备

镜像烧录

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

USB 2.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


ADC

基础介绍

ADS7830 是一款单电源、低功耗、8 位数据采集设备,具有串行 I2C 接口和 8 通道多路复用器。模数 (A/D) 转换器具有采样保持放大器和内部异步时钟。
ADS7830分辨率为8位,总共8路输入,最大采样率为70KSPS。
可以设为差分模式和单端输入,程序默认设置为单端输入。
I2C地址为:0x48

下载程序

打开树莓派终端,执行如下指令:

sudo apt-get install p7zip-full
https://www.waveshare.net/w/upload/5/5d/CM4-duino-code.zip
unzip -o CM4-duino-code.zip -d ./CM4-duino-code
cd CM4-duino-code

Python

运行例程,程序支持python2/3

# python2
sudo python ADS7830.py
# python3
sudo python3 ADS7830.py

如下图所示,A0-A7为7个模拟输入通道:
CM4-Duino11.png
注意:采集0-7共8路ADC,通道如果悬空,该通道的值会上下浮动,数据是无效的;

LED使用

板载了一个可编程LED:
CM4-Duino6.png
使用的是GPIO6 CM4-Duino7.png

按键使用

板载了2个按键USER1 USER2:
CM4-Duino8.png
USER1使用的是GPIO4,USER使用的是GPIO5,其中USER2可以通过电阻选择是否为CM4的复位,默认连接的GPIO5 CM4-Duino9.png
CM4-Duino10.png


功能管脚描述

CM4-Duino-10.png

标号 名称 说明
1 BT-DIS 禁用蓝牙,仅支持带无线模块的核心板
2 WIFI-DIS 禁用WIFI,仅支持带无线模块的核心板
3 IO-VREF IO 逻辑电压选择
4 RUN/GL-EN 重置或者关闭CM4
5 CFG CFG管脚功能选择3.3V 或者 A6
6 USER 用户按键 功能选择,D5 或者 RST
7 I2C ADDR ADC功能模块I2C地址选择,默认地址:0x48

CSI

注意:以下为CM4通用说明,具体设备有所不同:本模块没有DSI接口,且只有HDMI0,和CSI0

配置文件

  • 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)

配置摄像头

  1. 执行如下命令进入编辑/boot/config.txt文件
    sudo nano /boot/config.txt
  2. 屏蔽或者删除掉摄像头自动检测语句
    CM4-NANO-B-CSI-00.png
  3. 添加你使用的摄像头的驱动动,这里我以IMX219为例,并且连接上CAM0上,附上适配CM4-NANO-B-CSI-02.png

    型号 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 即可
  4. 快捷键Ctrl+o保存文件,并回车
    CM4-NANO-B-CSI-03.png
  5. 快捷键Ctrl+x退出编辑器
  6. 重启CM4
    sudo reboot
  7. 测试摄像头

    1. 输入摄像头检测指令,此时可以看到摄像头已经被检查到了
      libcamera-hello --list-cameras

      CM4-NANO-B-CSI-01.png
    2. 显示摄像头画面到桌面
      libcamera-hello -t 0
    3. 拍摄照片
      libcamera-jpeg -o test.jpg
    4. 录制一个10s的视频
      libcamera-vid -t 10000 -o test.h264

    其他命令
    检查摄像头是否被检测到

    libcamera-hello --list-cameras
    

    打开对应的摄像头

    libcamera-hello  --camera 1
    libcamera-hello  --camera 0
    

    拍摄照片

    libcamera-jpeg -o test.jpg
    #可以添加 --camera 来指定摄像头
    

    老版本系统(buster)

    配置摄像头

    1. 执行如下命令进入树莓派配置
      sudo raspi-config
    2. 选择Interfacing Options并进入
      Serial-Open-1.png
    3. 选择Camera
      Camera-Open-2.png
    4. 选择开启摄像头接口
      Camera-Open-3.png
    5. 系统提示如下
      Camera-Open-4.png
    6. 回到主界面,选择Finish
      Camera-Open-5.png
    7. 随后重启系统
      Serial-Open-6.png

    测试摄像头

    • 测试拍照:
       raspistill -o image.jpg
    • 测试录像:
       raspivid -o video.h264 -t 10000
      • 其中 -t 10000 表示录制 10 秒,用户各根据自己的需要进行调整。

    参考:CSI相机

    资料

    提供文档、程序、数据手册等全套资料

    官方手册

    原理图

    3D图

    程序

    软件

    相关链接

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


    技术支持

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

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