CM4-POE-UPS-BASE

来自Waveshare Wiki
跳转至: 导航搜索
CM4-POE-UPS-BASE
{{{name2}}}
{{{name3}}}
板载接口
DSI CSI HDMI USB 3.2
I2C I2S SPI POE
RPi Ethernet FAN

说明

风扇需要锁在外壳上使用

产品概述

我是树莓派计算模块4代的IO板,Compute Module 4 POE Board 是一款可以搭配树莓派 Compute Module 4 使用的底板,并且支持POE供电和7~36V DC直流供电,板载四路USB2.0,方便用户使用。

使用须知

1:在连接前确认风扇电压,支持5V 和 12V 默认连接12V,切换请修改FAN_VCC的跳帽
2:USB Type C接口用作USB SLAVE 接口烧录镜像,也可作为供电接口,不可以做为OTG接口。
3:BOOT开关为CM4启动模式开关,ON端CM4进入烧录模式,OFF端系统正常启动。
4:在正常使用时,需要为CM4 至少提供5V 1.5A 的供电。否则可能出现自动关机,降频等等问题。
5:USB2.0 默认是关闭的,如需打开需要在config.txt中添加 dtoverlay=dwc2,dr_mode=host
6:使用POE功能时,注意查看交换机是否支持802.3af 网络标准的 PoE。
7:需要使用POE时,将POE跳线帽连接到EN位置。
7:Change LED灯为充电指示灯,充电状态时常亮,充满电时熄灭,故障时闪烁。

特别注意事项

注意1:组装时需要先将电源开关拨到OFF一端,断开电源再组装否则带电操作容易导致短路烧坏器件。
注意2:首次接上电池需要注意WARNING LED灯是否亮,如果LED亮则表示对应的电池接反了。电池接反情况下禁止充电。
注意3:首次接上电池有可能会没有电源输出,需要按一下BOOT激活按键或者充一下电激活电池保护芯片才会有电源输出。电源开关需要拨到ON的位置。
注意4:禁止带电时拔插除USB和HDMI之外的任何设备。
注意5:长时间工作大电流工作建议不要超过4A,长时间工作在4A状态下会发热升温,注意散热。
注意6:外部供电必须大于整个系统用电,否则长时间没有足够电流给电池充电,电池电量越来越低直到关机。
注意7:当系统负载大而电池电压低时,有可能会出现电池电流不足而导致系统不断重启的情况。
注意8:电池正极绝缘垫如果弄掉坏了建议不要继续使用容易导致短路起火,拆电池时切忌用螺丝刀撬电池正极容易导致短路要撬电池负极。

锂电池使用注意事项

  • 锂聚合物和锂离子电池很不稳定。如果充电或使用不当,可能会导致火灾,人身伤害和财产损失。
  • 对电池组充电和放电时,切勿极性连接错误。请勿选用其他劣质的充电器或充电板对锂电池进行充电。
  • 请勿混用和使用旧电池和新电池,避免使用其他品牌的电池。
  • 如需另购锂电池产品,须确保电池参数与锂电池扩展板兼容,推荐选择正规的电池厂家,并需要自行老化测试确保锂电池能够稳定安全工作。
  • 锂电池具有循环寿命,请在达到使用寿命或使用两年时(以先到者为准),用新电池更换旧电池。
  • 请妥善放置电池类产品,远离易燃易爆类物品,远离儿童,避免因保管不慎,引发安全事故。

产品尺寸

Compute_Module 4 POE Board
CM4-POE-UPS-BASE-details-size.jpg
Compute_Module 4 核心板
Compute Module 4 IO Board 5.png

板载资源

CM4-POE-UPS-BASE-details-5.jpg

特殊功能管脚说明

CM4-POE-UPS-BASE-2.png

名称 说明
1 EEPROM WP 低电平防止EEPROM被改写
2 VADC COMP 复合视频输出
3 ETH IN ETH同步信号
4 PI_GLOBAL_EN CM4板载MXL7704电源使能管脚,低电平禁用
5 PI_RUN CM4 状态指示,高电平表示已开机,强制拉低强制重启CM4
6 WIFI_EN WIFI使能,低电平禁用,悬空开启
7 BT_EN 蓝牙使能,低电平禁用,悬空开启




镜像烧录

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

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

新版本(Bookworm)

DSI屏幕默认是800x480分辨率的屏幕,其他分辨率的屏幕请参考对应的WIKI

使用官方地板 Compute Module 4 IO Board 注意需要连接J6跳线帽


DSI

#在config.txt中添加内容
sudo nano /boot/firmware/config.txt
#DSI0 
dtoverlay=vc4-kms-dsi-7inch,dsi0
#DSI1 
dtoverlay=vc4-kms-dsi-7inch,dsi1

CSI

  • 在config.txt中添加内容
  • sudo nano /boot/firmware/config.txt
    型号 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
    IMX296 dtoverlay=imx296,cam0 dtoverlay=imx296,cam1
    IMX708 dtoverlay=imx708,cam0 dtoverlay=imx708,cam1
  • 快捷键Ctrl+o保存文件,并回车
    CM4-NANO-B-CSI-03.png
  • 快捷键Ctrl+x退出编辑器
  • 重启设备
    sudo reboot
  • 注意:

    1:单口摄像头只能再CAM0上工作,即单独使用CAM1口不行。但单独使用CAM0口可以,连接双摄像头是都可以
    2:如果出现识别到设备,启动提示“ Camera frontend has timed out!” ,请更新“sudo rpi-update”
    
    测试摄像头
    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 来指定摄像头
    


    #新系统使用双摄像头
    #在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,请移除config.txt的配置:
    • 然后重启即可

    参考树莓派手册

    老系统版本(Buster和bullseye)

    配置文件

    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
    
     在config.txt中修改内容
     sudo nano /boot/config.txt
     将dtoverlay=vc4-kms-v3d 改为
     dtoverlay=vc4-fkms-v3d
    
     #在使用任意DSI时,HDMI1没有图像输出,哪怕你没有连接DSI屏幕只要编译的对应的文件,那HDMI1就没有输出了
     #如果需要恢复,删除对应的dt-blob.bin 即可: sudo rm -rf /boot/dt-blob.bin 
     #执行完毕 关闭电源 重启

    录播测试

    再连接摄像头和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
    




    INA219 电池电量检测

    I2C设备地址:0x43
    输入如下命令运行程序

    sudo apt-get install p7zip
    wget https://www.waveshare.net/w/upload/5/59/CM4_UPS_Code.7z
    7zr x CM4_UPS_Code.7z -r -o./
    cd CM4_UPS_Code
    python3 INA219.py
    

    程序运行后会输出电池电压,电流,功率以及电池剩余电量百分比等数值。
    CM4-POE-UPS-BASE-3.png
    注意:电流为正数则表示电池输出电流(可认为树莓派负载电流),如果电流为负数则表示电池充电电流。
    当系统负载大而电池电压低时,有可能会出现电池电流不足而导致系统不断重启的情况。这个是不希望看到的。实际应用中可以通过判断电池电压过低自动关机避免。
    示例程序中已经添加电池电压判断,电池电压过低而没有外接电源充电时,程序会60s内关闭系统。
    程序显示如下语句表示电池电压过低,需要及时充电,否则程序会自动关机。

    Voltage Low,please charge in time,otherwise it will shut down in 58 s
    

    如果需要使用摄像头或者DSI屏幕,建议将INA219 的I2C管脚切换到GPIO2/3 切换之后程序中修改:

    #ina219 = INA219(i2c_bus=10,addr=0x43)
    ina219 = INA219(i2c_bus=1,addr=0x43)
    

    资料


    官方手册

    CM4核心板数据手册

    3D 图纸

    原理图

    程序

    软件

    相关链接

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


    FAQ


    a) 检查 /boot/config.txt中是否屏蔽 dtparam -audio - on

    b) 检查/boot/dt-blob.bin 文件是否存在,如果存在无法使用,请删除;



    售后


    联系人:黄工 (黄康信)
    EMAIL:3005423122@qq.com
    电话:0755-83040712
    QQ:3005763927
    微信:扫下方二维码添加
    Hkx-wx.jpg

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