CM4-ETH-RS485-BASE-B

来自Waveshare Wiki
跳转至: 导航搜索
CM4-ETH-RS485-BASE-B
{{{name2}}}
{{{name3}}}
板载接口
RS485 CSI HDMI USB 2.0
Ethernet Typc-C FAN

说明

详细参数和功能说明

产品概述

我是 CM4-ETH-RS485-BASE-B,是可以搭配树莓派 Compute Module 4 使用的拓展板,并且支持 7-36V DC 直流供电和 Typc-C 接口的 5V DC 直流供电。板载四路隔离RS485接口、100M+1000M双网口、HDMI接口 、两路CSI接口和两路USB接口等等……

使用注意事项

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

产品尺寸

CM4-ETH-RS485-BASE-B
CM4-ETH-RS485-BASE-B-details-size.jpg
Compute_Module 4 核心板
Compute Module 4 IO Board 5.png

板载资源

CM4-ETH-RS485-BASE-B-details-intro.jpg

标号 名称 说明
1 CM4 连接器 适用于 Compute Module 4 的所有版本
2 IO-VREF 选择 GPIO 的逻辑电压,可选 3.3V (默认) 或者 1.8V
3 RTC-I2C:RTC 的 I2C 总线选择 可选 SDA0 & SCL0 (默认) 或者是 GPIO2 & GPIO3
4 RTC INT:RTC 中断引脚选择 D16:RTC 产生中断时使用 GPIO16 接收中断信号 (默认)

GL-EN:RTC 产生中断时 CM4 断电
PI-RUN:RTC 产生中断时 CM4 重启

5 SYSTEM:系统功能 WP-DIS:防止 EEPROM 被改写

BT-DIS:禁用蓝牙功能,仅带天线 CM4 版本有效
WIFI-DIS:禁用 WiFi 功能,仅带天线 CM4 版本有效

6 BOOT 开关 ON:开机引导为 USB Tpye-C 接口

OFF:开机引导为 eMMC 或者 Micro SD 卡

7 PWR & USB 当 BOOT 开关为“ON”的时候,可以作为烧录口和供电接口

当 BOOT 开关为“OFF”的时候,仅作为供电接口

8 HDMI0 HDMI 显示接口,支持 4K 30fps 输出
9 USB 两路 USB2.0 接口,支持 USB 设备插入
10 ETHERNET0 CM4 原生千兆 RJ45 网口
11 ETHERNET1 USB 扩展百兆网口
12 CAM0 & CAM1 两路 MIPI CSI 摄像头接口
13 蜂鸣器 GPIO22 控制
14 FAN 四线风扇接口,仅支持 5V 风扇,PWM 调速(GPIO18 控制,没有测速)
15 RTC 电池接口 可接入 CR1220 纽扣电池
16 RS485 收发指示灯 TXn:通道 n 的发送信息指示灯

RXn:通道 n 的接收信息指示灯

17 用户 LED 灯 USER0:GPIO20 控制

USER1:GPIO26 控制

18 PWR 树莓派电源指示灯
19 ACT 树莓派工作状态指示灯
20 DC 7~36V DC 直流供电接口
21 供电端子 DC 直流供电端子,支持 7~36V 宽电压输入
22 RS485 端子 四路隔离 RS485 接口,间距 5.08mm
23 跳线帽 可选 120R 平衡电阻跳线帽
24 RS485 模式切换 Full-auto:自动模式,程序操作简单,带载能力较弱

Semi-auto:半自动模式,需要手动切换收发模式,可靠性较高,带载能力强

25 加密芯片 ATSHA204 加密芯片,可进行多重加密,保证数据安全可靠
26 Micro SD 卡槽 用于接入带系统的 Micro SD 卡,以启动 Compute Module 4 Lite

使用

简单易上手的使用说明

注意事项

禁止带电时拔插任何设备

镜像烧录

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

USB 2.0

USB2.0 默认是关闭的,如需打开需要在config.txt中添加 dtoverlay=dwc2,dr_mode=host

RS485

新系统

默认关闭,如需打开需要在config.txt中添加内容:
sudo nano /boot/config.txt

dtoverlay=uart3
dtoverlay=uart4
dtoverlay=uart5

COM1占用GPIO4/GPIO5(BCM编码4/5),设备号ttyAMA1
COM2占用GPIO8/GPIO9(BCM编码8/9),设备号ttyAMA2
COM3占用GPIO12/GPIO13(BCM编码12/13),设备号ttyAMA3

COM0是执行:

sudo raspi-config
找到 Interface Options -----> Serial Port -----> <No>  ----->  <Yes>
关闭串口登录,打开硬件串口
重启即可

COM0占用GPIO14/GPIO15(BCM编码14/15),设备号ttyS0

老系统

默认关闭,如需打开需要在config.txt中添加内容:
sudo nano /boot/config.txt

dtoverlay=uart0
dtoverlay=uart3
dtoverlay=uart4
dtoverlay=uart5

COM0占用GPIO14/GPIO15(BCM编码14/15),设备号ttyAMA0
COM1占用GPIO4/GPIO5(BCM编码4/5),设备号ttyAMA3
COM2占用GPIO8/GPIO9(BCM编码8/9),设备号ttyAMA4
COM3占用GPIO12/GPIO13(BCM编码12/13),设备号ttyAMA5


如果有开启其他串口,需要注释关闭,例如:

 #enable_uart=1

注意:默认为自动模式,全自动切换收发模式;如果需要程序控制收发可以修改背面的0R电阻。

  • 模式切换:每个通道由两个0R电阻共同控制
    • 半自动模式:0R电阻位于“Semi-auto”一端,此时由用户程序控制收发模式(下图中是半自动模式)
    • 自动模式:0R电阻位于“Full-auto”一端,此时根据传输方向自动切换收发模式

CM4-ETH-RS485-BASE-B-mode-switch.jpg

RTC

启用 RTC 控制器连接的I2C,需要设置dtparam=i2c_vc=on配置文件。
RTC 在i2c-10 上,地址是 0x51(7位地址)

sudo nano /boot/config.txt
#在最后添加
dtparam=i2c_vc=on
#在dtparam=audio=on前面添加# 号
#dtparam=audio=on
#保存退出,重启
sudo reboot

下载程序

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

sudo apt-get install p7zip-full
sudo wget https://www.waveshare.net/w/upload/4/42/PCF85063_code.7z
7z x PCF85063_code.7z -O./
cd PCF85063_code

C语言

执行如下指令,编译并执行测试程序

cd c
sudo make clean
sudo make -j 8
sudo ./main

实验现象如下:
RTC PCF85063 c test.png

Python

进入python程序目录

cd python/example

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

# python2
sudo python main.py
# python3
sudo python3 main.py

实验现象如下:
RTC PCF85063 python test.png

FAN测试

  • 支持PWM调速,没有测速检测功能
  • 注意事项:连接前请确认风扇电压和实际上连接的风扇供电

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

wget https://www.waveshare.net/w/upload/d/d1/CM4-ETH-RS485-BASE-B-Example.zip
unzip CM4-ETH-RS485-BASE-B-Example.zip -d ./CM4-ETH-RS485-BASE-B-Example
cd CM4-ETH-RS485-BASE-B-Example/FAN/

c程序

编译并执行测试程序

cd c
sudo make clean
sudo make
sudo ./main

现象:按提示输入占空比可以改变风扇转速

python

进入python程序目录

cd python

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

# python2
sudo python FAN.py
# python3
sudo python3 FAN.py

现象:先按提示输入频率,建议5K,然后循环输入占空比可以改变风扇转速

CSI

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

新版本(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
    




    加密

    板载加密芯片,默认没有启用
    使用请参考数据手册和官方库:https://github.com/MicrochipTech/cryptoauthlib

    资料

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

    官方手册

    CM4核心板数据手册
    加密芯片-ATSHA204数据手册

    原理图

    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

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