CM5-DUAL-ETH-4G/5G-BASE 使用教程

说明


产品概述

我是树莓派计算模块5代的IO板,CM5-DUAL-ETH-4G/5G-BASE 是一款可以搭配树莓派 Compute Module 5 使用的底板,强大功能,板载2路USB3.2 Gen1,M.2 M KEY,M.2 B KEY(4G/5G 模块接口)以及双网口方便用户使用。

特征和注意事项

1:禁止带电时拔插除USB和HDMI之外的任何设备
2:Type C可用作USB SLAVE 接口烧录镜像或设备供电。
3:板载2 路 USB 3.2 Gen1 接口。
4:支持4屏幕异显,添加MIPI DSI驱动,不管是否连接屏幕,系统都将默认连接,屏幕将会分屏
显示(和系统版本有关系)
5:板载 M.2 M KEY 接口,支持 NVMe 硬盘协议(或者PCIE协议的AI模块)
6:板载 M.2 B KEY 接口,支持接入 4G/5G 通信模块
7:板载 BOOT 开关,可以上电前将 BOOT 开关拨动至 ON,通过Type C连接电脑,让设备接入烧录模式
8:使用 Type C 烧录不要连接其他设备,否则供电不足导致无法识别设备
9:USB3.0接口一共最大功率输出2A

产品尺寸

核心板尺寸


底板尺寸


外壳尺寸

敬请期待........

镜像烧录

如何烧录

接入烧录模式
1:板载BOOT开关,可以上电前将 BOOT 开关拨动至 ON,,通过Type C连接电脑,让设备接入烧录模式

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

M.2 M KEY(NVME 硬盘)

1:启用PCIE接口

PI5B默认没有启用PCIE接口,在/boot/firmware/config.txt 中添加:
dtparam=pciex1

2:PCIE默认是gen2,如果需要启用PCIE gen3, 则在/boot/firmware/config.txt 中添加:

dtparam=pciex1_gen=3

3:修改之后重启PI5,就可以识别到设备了,

如下图,识别到SM2263就是我的SSD固态,另外一个PI5的是RPI芯片

4:分区,如果在其他平台有分区和格式化,则跳过这一步(会删除SSD所有数据谨慎操作)

lsblk  可以看到磁盘(如果想看到详细信息执行 sudo fdisk -l )

分区 
sudo fdisk /dev/nvme0n1    设备号是总设备号,不要添加p1,那只是一个分区而已
分区工具fdisk如何使用
n 新建分区
q 不保存退出
p 打印分区表
m 打印选择菜单
d 删除分区
w 保存退出
t 修改ID号
添加分区执行n即可,最后w保存退出

5:格式化

sudo mkfs.  然后按tab 可以看到很多种不同的后缀名,不同的后缀名就是你需要想要格式化的格式

假设我要格式化为ext4 文件格式,那么就是执行
sudo mkfs.ext4 /dev/nvme0n1p1
等待片刻,当done都出现完毕后,意味着格式化已经进行完毕。

6:挂载

创建挂载目录
sudo mkdir toshiba
挂载设备
sudo mount /dev/nvme0n1p1 ./toshiba
检查磁盘状态
df -h

读写测试

进入挂载磁盘的目录

cd toshiba
  • 释放内存
sudo sh -c "sync && echo 3 > /proc/sys/vm/drop_caches"
  • 拷贝树莓派内存内容到硬盘 (写)
sudo dd if=/dev/zero of=./test_write count=2000 bs=1024k


  • 拷贝硬盘内容到树莓派内存 (/etc/fstab读)
 sudo dd if=./test_write of=/dev/null count=2000 bs=1024k


  • 注意:不同的卡以及环境 测试效果不同 树莓派受到的影响比较大 ,如果想要测试准确的性能使用PC 电脑测试

自动挂载

测试没有问题如果不需要作为系统盘,只扩展磁盘使用,设置自动挂载

sudo nano /etc/fstab

#结尾添加
/dev/nvme0n1p1  /home/pi/toshiba  ext4  defaults  0  0
#/dev/nvme0n1p1 设备名, /home/pi/toshiba 挂载到目录,ext4是文件系统类型 ,defaults 使用默认的挂载选项
#使更改生效(测试无问题再重启,不然会导致无法挂载导致无法开机)
sudo mount -a

#然后重启
通过lsblk检查设备

NVMe SSD引导启动

先使用SD卡启动树莓派,先挂载测试一下,确保硬件可以正常工作

以下方法二选一即可

方法1

1:执行:

sudo raspi-config


2:重启树莓派

如果修改多次发现无法修改,请连接网络之后再修改(等待网络自对时),或者设置正确时间之后再修改文件

3:将系统烧录到NVME中,然后将NVME连接到扩展板,移除SD卡重新上电即可

方法2

1:修改树莓派的引导加载程序配置中的BOOT_ORDER:

sudo rpi-eeprom-config --edit 
BOOT_ORDER=0xf41  改为  BOOT_ORDER=0xf416

更多内容可以参考BOOT_ORDER 

2:重启树莓派

如果修改多次发现无法修改,请连接网络之后再修改(等待网络自对时),或者设置正确时间之后再修改文件

3:将系统烧录到NVME中,然后将NVME连接到扩展板,移除SD卡重新上电即可


风扇控制

PI5风扇默认是温度控制50度才开始转,如果想要控制其他温度就可以转,/boot/firmware/config.txt 中添加指定内容即可,例如:

dtparam=fan_temp0=36000,fan_temp0_hyst=2000,fan_temp0_speed=90
dtparam=fan_temp1=40000,fan_temp1_hyst=3000,fan_temp1_speed=150
dtparam=fan_temp2=52000,fan_temp2_hyst=4000,fan_temp2_speed=200
dtparam=fan_temp3=58000,fan_temp3_hyst=5000,fan_temp3_speed=255

其中:

fan_temp0/1/2/3       表示温度(36000表示36℃)
fan_temp0/1/2/3_speed 表示对应的转速(值最大255)
fan_temp0/1/2/3_hyst 表示迟滞温度

更多内容参考这里

注意:仅仅是0123一共4个温度,不可能再设置其他温度,迟滞温度不得超过两个温度的跨步范围

MIPI

支持双MIPI,客户可以自由选择CSI或者DSI连接

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

DSI

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

CSI

更新系统:

sudo rpi-update 
  • 在config.txt中添加内容
  • sudo nano /boot/firmware/config.txt
    注意:注意:单个摄像头只能连接MIPI0

    型号CAM0设置语句CAM1设置语句
    OV9281dtoverlay=ov9281,cam0dtoverlay=ov9281,cam1
    IMX290/IMX327dtoverlay=imx290,clock-frequency=37125000,cam0dtoverlay=imx290,clock-frequency=37125000,cam1
    IMX378dtoverlay=imx378,cam0dtoverlay=imx378,cam1
    IMX219dtoverlay=imx219,cam0dtoverlay=imx219,cam1
    IMX477dtoverlay=imx477,cam0dtoverlay=imx477,cam1
    IMX296dtoverlay=imx296,cam0dtoverlay=imx296,cam1
    IMX708dtoverlay=imx708,cam0dtoverlay=imx708,cam1



    容许一个连接DSI一个连接CSI,例如使用IMX219连接MIPI0
    例如:使用DSI显示器连接MIPI1,在config.txt 中添加

    dtoverlay=imx219,cam0
    dtoverlay=vc4-kms-dsi-7inch,dsi1
    
  • 快捷键Ctrl+o保存文件,并回车

  • 快捷键Ctrl+x退出编辑器
  • 重启设备
    sudo reboot


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

    2. 显示摄像头画面到桌面
      rpicam-hello -t 0
    3. 拍摄照片
      rpicam-jpeg -o test.jpg
    4. 录制一个10s的视频
      rpicam-vid -t 10s -o test.h264

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

    rpicam-hello --list-cameras
    

    打开对应的摄像头

    rpicam-hello --camera 1 -t 0
    rpicam-hello --camera 0 -t 0
    


    拍摄照片

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

    实时时钟 (RTC)

    默认不带电池需要额外连接RTC电池

    可使用 CR / ML1220 给 RTC 供电

    软件调试

    默认设备是/dev/rtc0

    关于时间,在命令行输入date可以看到当前时间,连接网络树莓派系统会自动网络对时,如果默认RTC设备有连接并且工作正常,那么RTC时间会在自动网络对时后更新时间

    sudo hwclock -r 读取RTC时间,如果存在多个RTC设备,可以使用-f来选择对应的设备(例如:sudo hwclock -f /dev/rtc1 -r)

    Hwclock简单使用

    系统时钟 -> 硬件时钟(RTC)

    sudo hwclock -w

    同步硬件时钟(RTC) -> 系统时钟

    sudo hwclock  -s
     #需要关闭网络,或者关闭网络对时,否则会被改回去

    设置硬件时钟时间(RTC):

    sudo hwclock --set --date="9/8/2023 16:45:05"

    查看硬件时钟(RTC)

    sudo hwclock -r

    显示版本信息

    sudo hwclock --verbose

    自动唤醒

    要支持唤醒警报的低功耗模式,添加配置:

    sudo -E rpi-eeprom-config --edit
    #添加以下两行。
    POWER_OFF_ON_HALT=1
    WAKE_ON_GPIO=0
    #添加之后重启设备(如果连接串口日志可以看到有更新相关日志)
    sudo reboot
    #您可以使用以下方法测试功能:
    echo +600 | sudo tee /sys/class/rtc/rtc0/wakealarm
    sudo halt  或者  sudo poweroff
    #10分钟后将唤醒并重新启动

    RTC电池充电

    注意:在添加这个之前先确认你的RTC电池是否容许充电,以及最大容许电压是多少

    sudo nano /boot/firmware/config.txt
    #添加
    dtparam=rtc_bbat_vchg=3000000
    #其中 3000000 表示最大电压,充电充到3V就会关闭充电,电压低于3V会启动涓流充电

    USB

    板载 2 个 USB3.2 Gen2接口,限制电流2A

    2500M 网口(ETH1)

    RJ45 2500M 网口,支持 10M / 100M / 1000M / 2500M 网络接入

    使用RTL8156方案

    树莓派OS支持免驱,如果是第三方系统可能无法使用,或者无法实现2500M速率

    4G/5G

    板子本身不支持4G/5G,需要通过M.2 B KEY接口来接入模组,M.2 B KEY 只有USB3.0 通道,不支持PCIE设备
    接入4G/5G 模组 和 SIM卡

    如果需要关闭4G/5G 模组,可以使用GPIO6 (BCM编码 6)控制,GPIO6输出高电平关闭模组,GPIO6输出低电平开启模组
    关闭或者开启模需要一定时间(大约30秒)

    M.2 4G/5G 网卡

    M.2 状态灯状态描述:

    STANET状态
    长亮熄灭关机 或者 正在开机
    长亮长亮正在查找网络
    长亮闪烁已联网,工作正常
    熄灭闪烁/长亮正在关机

    在配置前,请确认模块已经开机
    5G 参考 [5G配置]

    4G配置

    sudo apt-get install minicom
    sudo minicom -D /dev/ttyUSB2
    #输入以下指令:
    AT+CUSBPIDSWITCH=9011,1,1
    #返回OK 即可
    #然后等待网卡重启
    #此指令只需要设置一次,下次上电会默认在这个模式下
    #如果无法获取USB0网卡执行:
    sudo dhclient -v usb0
    

    RNDIS拨号上网请参考: RNDIS拨号上网

    正常执行上面之后会识别到USB0网卡(如果你没有连接其他USB网卡)

    如果你使用物联网卡,比如移动物联网卡,成功注册网络;但是拨号上网失败,无法ping通,可以尝试用以下AT指令的其中一条选择最优频段:

    AT+CNBP=0x0002000000400183,0x000001E000000000,0x0000000000000021
    AT+CNBP=0x0002000000400180,0x480000000000000000000000000000000000000000000042000001E200000095,0x0000000000000021
    

    AT指令

    如果无法连接网络,可以通过指令AT检查状态

    sudo apt-get install minicom
    sudo minicom -D /dev/ttyUSB2
    

    常用AT指令

    下面AT指令4G/5G模组指令通用

    命令说明返回值
    ATAT测试指令OK
    ATEATE1设置回显
    ATE0关闭回显
    OK
    AT+CGMI查询模组制造商OK
    AT+CGMM查询模组型号OK
    AT+CGSN查询产品序列号OK
    AT+CSUB查询模块版本以及芯片OK
    AT+CGMR查询固件版本序列号OK
    AT+IPREX设置模块硬件串口波特率+IPREX:
    OK
    AT+CRESET复位模块OK
    AT+CSQ网络信号质量查询,返回信号值+CSQ: 17,99
    OK
    AT+CPIN?查询SIM卡状态,返回READY,表示SIM卡能正常识别+CPIN: READY
    AT+COPS?查询当前运营商,正常联网后会返回运营商信息+COPS:
    OK
    AT+CREG?查询网络注册状态+CREG:
    OK
    AT+CPSI?查询UE系统信息
    AT+CNMP网络模式选择命令:
    2:Automatic
    13:GSM only
    38:LTE only
    48 : Any modes but LTE
    ... ....
    OK

    更多AT指令参考: AT_Command_V2.00
    更多文档参考:SIMCom

    FAQ


    CM5 需要最新版本的 Raspberry Pi OS Bookworm(2024-11-19的系统或者以后的系统)。

    技术支持

    周一-周五(9:30-6:30)周六(9:30-5:30)

    手机:13434470212

    邮箱:services04@spotpear.cn

    QQ:202004841