CM4-DUAL-ETH-BASE
| |||||||||||||||||||||||||
| |||||||||||||||||||||||||
说明
产品概述
我是树莓派计算模块4代的IO板,CM4-DUAL-ETH-BASE是一款可以搭配树莓派 Compute Module 4 使用的底板,并且支持7~36V DC供电,板载三路USB3.2,双千兆网口,适用于软路由等需要多网口场景。
使用注意事项
1:禁止带电时拔插除USB和HDMI之外的任何设备
2:在连接前确认风扇电压,支持5V 和 12V 默认连接12V,切换请修改FAN_VCC的电阻
3:Type C 接口仅仅是用作USB SLAVE 接口烧录镜像,不可以用做供电。
4:为了保证CM4供电正常,在使用Type C 接口烧录镜像时,请不要连接其他设备。
5:CM4在正常使用时,需要为其提供至少18W的供电。否则可能出现自动关机,降频等等问题。
6:关于Opwenwrt见使用说明。
7:此扩展板不支持POE功能。
版本
版本:CM4-DUAL-ETH-BASE V3 (20220527)
- 1:加共模电感,改善EMI。(已通过CE认证)
版本:CM4-DUAL-ETH-BASE V2 (20220518)
- 1:DSI 接口由DSI0 改为DSI1
- 2:改正RTC SYSTEM 等部分丝印和网络不匹配
版本:CM4-DUAL-ETH-BASE V1
- 初始版本
产品尺寸
CM4-DUAL-ETH-BASE
Compute_Module 4 核心板
板载资源
标号 | 名称 | 说明 | |
1 | CM4 连接器 | 适用于 Compute Module 4 的所有版本 | |
2 | 40PIN GPIO 接口 | 方便连接各种 HAT 模块 | |
3 | RJ45 千兆网口 | 双路 RJ45 千兆网口,支持 10/100/1000M 网络接入 ETHERNET 0: CM4 原生网口 ETHERNET 1: USB 扩展网口 | |
4 | USB 3.2 接口 | 3 路 USB 3.2 Gen1 接口,支持各种 USB 设备插入 | |
5 | HDMI 接口 | 双路 HDMI 接口,支持双 4K 30fps 输出 | |
6 | CAM 接口 | 双路 MIPI CSI 摄像头接口 | |
7 | DC 供电接口 | 7~36V DC 宽电压供电 | |
8 | 双 LED 灯座 | 红灯:树莓派电源指示灯 绿灯:树莓派工作状态指示灯 | |
9 | Micro SD 卡接口 | 用于接入带系统的 Micro SD 卡,以启动 Compute Module 4 Lite | |
10 | FAN 接口 | 方便接入散热风扇,支持调速和测速 | |
11 | DISP 接口 | MIPI DSI 显示接口,DISP1 接口 (旧版本为DISP0) | |
12 | USB SLAVE 接口 | Compute Module 4 eMMC 版本可通过此接口烧录系统镜像 | |
13 | RTC 电池连接座 | 可接入 CR1220 纽扣电池 | |
14 | RTC 中断管脚切换 | PI-RUN: RTC 触发中断 CM4 重启 GN-EN: RTC 触发中断 CM4 断电 D4: RTC 触发中断 D4 管脚 | |
15 | IO-VREF 选择 | CM4 IO 逻辑电压切换 3.3V 或者 1.8V | |
16 | FAN 供电选择 | 可选择 5V 或 12V 电压驱动风扇 | |
17 | 系统功能切换 | BT_DIS: 蓝牙禁用,仅供带天线的 CM4 版本使用 WiFi_DIS: WiFi 禁用,仅供带天线的 CM4 版本使用 WP_DIS: 启动方式切换,仅供不使用 EMMC 启动或 SD 启动的情况下使用 | |
18 | RTC/FAN I2C 总线选择 | SDA0/SCL0: I2C-10 和 CSI/DSI 共用 GPIO3/2: I2C-1 和 40PIN 共用 | |
19 | RTL8153 | USB 千兆网卡芯片 | |
20 | EMC2301 | 风扇控制器,控制风扇转速,测量风扇转速 | |
21 | VL805 | USB 3.0 HUB |
注意事项
禁止带电时拔插任何设备
镜像烧录
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
配置文件
- 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)
配置摄像头
- 执行如下命令进入编辑/boot/config.txt文件
sudo nano /boot/config.txt
- 屏蔽或者删除掉摄像头自动检测语句
- 添加你使用的摄像头的驱动动,这里我以IMX219为例,并且连接上CAM0上,附上适配
型号 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 即可
- 快捷键Ctrl+o保存文件,并回车
- 快捷键Ctrl+x退出编辑器
- 重启CM4
sudo reboot
- 输入摄像头检测指令,此时可以看到摄像头已经被检查到了
libcamera-hello --list-cameras
- 显示摄像头画面到桌面
libcamera-hello -t 0
- 拍摄照片
libcamera-jpeg -o test.jpg
- 录制一个10s的视频
libcamera-vid -t 10000 -o test.h264
- 执行如下命令进入树莓派配置
sudo raspi-config
- 选择Interfacing Options并进入
- 选择Camera
- 选择开启摄像头接口
- 系统提示如下
- 回到主界面,选择Finish
- 随后重启系统
- 测试拍照:
raspistill -o image.jpg
- 测试录像:
raspivid -o video.h264 -t 10000
- 其中 -t 10000 表示录制 10 秒,用户各根据自己的需要进行调整。
测试摄像头
其他命令
检查摄像头是否被检测到
libcamera-hello --list-cameras
打开对应的摄像头
libcamera-hello --camera 1 libcamera-hello --camera 0
拍摄照片
libcamera-jpeg -o test.jpg #可以添加 --camera 来指定摄像头
老版本系统(buster)
配置摄像头
测试摄像头
参考:CSI相机
Openwrt
Openwrt具有高自定义以可扩展性能,Openwrt目前越来越受欢迎,相对于常用的无线路由器,openwrt可改固件完全可以让我们根据自己的需求自定义路由器功能,例如可以做单臂路由、自定义路由策略、qos等、内网穿透等。
注意:Openwrt系统在使用过程中出现任何问题,一律不提供任何技术支持,只提供下面的教程和镜像,不在额外提供其他除硬件之外的任何技术支持
镜像
如果使用的地板没有USB3.0,只有USB 2.0 ,并且使用板子USB2.0 无法工作
尝试在config.txt中结尾添加"otg_mode=1 " 即可
编译好没有配置
链接:https://pan.baidu.com/s/1uLJl1SScC_D2xEEQhKK0vw 提取码:yoap
配置好的
链接:https://pan.baidu.com/s/1-yOPeeRxw16kKE_8NFkkcw 提取码:zt70
配置
上面配置的openwrt镜像支持CM4板载wifi,以及RTL8153的驱动。可以把CM4打造成智能路由器,
下面就交大家如何安装Openwrt到树莓派上,实现无线路由器功能,使得局域网内的设备通过无线路由器上网,实现局域网的智能管理。整体的网络拓扑如下所示。
正确开机之后,登陆系统:
电脑接入ETH0接口,然后直接ssh远程登录或者网页登录
配置好的系统默认IP 是:192.168.14.1
没有配置的系统默认IP 是:192.168.1.1
账号:root 没有密码
CM4_Openwrt 教程
树莓派4B_Openwrt 教程
如果觉得网口不够觉得烧录可以购买USB 3.2 Gen1 TO Gigabit ETH RTL8153 扩展网口,如果有ETH/USB HUB HAT RTL8152 也是可以扩展百兆网口也是支持的.
资料
相关链接
官方手册
原理图
3D图
程序
软件
FAQ
b). 检查/boot/dt-blob.bin 文件是否存在,如果存在无法使用,请删除;