2007 CM4 LoRa 4G(LoRa及4G接口)
关键词
树莓派、Raspberry Pi、LoRa、CM4核心板、系统烧写、4G、SSD、RPiOS、RS232、RS485
一、简介
CM4_LoRa扩展板基于CM4核心板设计,扩展两路Mini PCIe接口用于连接LoRa模块(同时兼容4G模块)。一路PCIe M-KEY接口。一路RTC。其它为CM4标准资源,包括CSI1、DSI1、原生千兆、标准HDMI、启动用TF卡槽、40Pin扩展接口、3.3V和5V风扇插头,以及2路USB2.0-A和1路1.25mm 4pin接口。USB用于内部4G设备连接。可通过USB-C接口用于eMMC烧写。扩展板采用DC5.5接口,支持7-24V电压输入。
二、硬件资源
1. 一路原生千兆网口;
2. 一路PCIe M-KEY接口;
3. 一路支持4K分辨率的标准HDMI口;
4. 两路USB2.0主机口;
5. 一路内置1.25mm 4Pin USB2.0接口;
6. 一路USB-C烧写口;
7、一路CSI(22PIN,0.5mm,翻盖下接);
8. 一路DSI(22PIN,0.5mm,翻盖下接);
9. 两路RS232接口;
10. 两路RS485接口;
11. 两路Nano SIM卡接口;
12. TF卡座;
40pin引脚定义从左到右依次为:
5V | 5V | GND | G14 | G15 | G18 | GND | G23 | G24 | GND | G25 | G08 | G07 | IDSC | GND | G12 | GND | G16 | G20 | G21 |
3V3 | G02 | G03 | G04 | GND | G17 | G27 | G22 | 3V3 | G10 | G09 | G11 | GND | IDSD | G05 | G06 | G13 | G19 | G26 | GND |
三、系统烧写及设置
3.1 概述
本文档采用树莓派OS进行测试。
树莓派OS的版本为2024-10-22-raspios-bookworm-arm64.img.xz,树莓派OS下载地址:
https://www.raspberrypi.com/software/operating-systems/#raspberry-pi-os-64-bit
3.2 从TF卡启动
如果核心板没有eMMC,则系统将从TF卡启动。
3.2.1 使用树莓派镜像烧录器烧写
首先在Windows端安装树莓派镜像烧录器,下载地址:https://www.raspberrypi.com/software/
安装完毕后将TF卡插入读卡器,读卡器插入PC的USB口,然后打开软件:
Raspberry Pi Device:选择Raspberry Pi 4;
请选择需要写入的操作系统:选择Raspberry Pi OS(64-bit),为从树莓派官网下载系统镜像烧写(需联网);选择Use Custom,则需要自行选择硬盘上已经下载的系统镜像(无需联网);
储存卡:选择所需烧入的TF卡(即插在PC的USB接口的卡);
选择完毕后按“NEXT”,建议点击“编辑设置”,将一些参数预设置进烧写软件,之后在系统启动时就不必再次设置,便于使用。
需要使用预设置的按“是”,不需要使用预设置的按“不”,进入下一页,点击“是”,就开始烧写及验证完整性,烧写完毕后按提示取下卡即可。
以上介绍的是烧写树莓派OS,烧写Ubuntu系统或者OpenWrt系统也是用类似的操作,只是在“请选择需要写入的操作系统”时,需要选择Use Custom,然后选择预先下载的镜像即可。
3.2.2 使用balenaEtcher烧写
首先在Windows端安装balenaEtcher,下载地址:https://etcher.balena.io/#download-etcher
将TF卡插入读卡器,读卡器插入PC的USB口,然后打开软件:
从文件烧录:选择预先下载的树莓派OS或者Ubuntu系统镜像;
选择目标磁盘:选择所需烧入的TF卡(即插在PC的USB接口的卡);
然后点击“现在烧录!”,就开始烧录了,等待烧录完毕即可。
3.2.3 启动系统
将TF卡从读卡器中取下,塞进树莓派开发版的TF卡卡槽,上电后即可进入系统。
3.3. 从eMMC启动
如果核心板具有板载eMMC,则系统将会忽略TF卡,而从eMMC启动。
要烧写系统到eMMC,首先需要在PC上安装驱动包,下载地址:
http://www.mcuzone.com/down/Software.asp?ID=10000623
安装后使用跳线帽短接扩展板BOOT脚(在CM4核心板下面)。
使用USB Type A-C数据线将扩展板上的USB OTG接口(即扩展板的两个USB-A口之间的USB Type-C口)连接至电脑。
连接上电脑之后,打开计算机的设备管理器,查看是否有新的USB设备出现。在下图中的是名称为“BCM2711 Boot”的USB设备:
PC的开始菜单的所有程序下,Raspberry Pi下面有个rpiboot:
打开这个软件,计算机会将eMMC或者TF卡格式化并分区:
稍等片刻,在资源管理器中会出现一个分区(本例中的分区名为bootfs,具体名称视实际情况而不同):
接下来我们就可以使用balenaEtcher软件对这个分区进行烧写了。
打开balenaEtcher软件,第一项点击“从文件烧录”,选择你要烧录到eMMC的文件,第二项选择上面的那个bootfs分区,然后点击“现在烧录”,就开始烧录文件了:
等烧写完成后,将之前插上的跳线帽拔下来,然后重新给系统上电,待系统启动即可。
四、树莓派OS下的硬件测试
4.1 原生千兆网口测试
我们将网线插入原生千兆网口,系统会自动获取IP,打开终端,运行ifconfig -a
,查看ip地址:
可见获取的ip地址为192.168.8.101。
为了操作方便,建议使用PC端的SSH软件连接系统并进行终端操作,我们使用与树莓派的无线网卡的IP地址在同一网段内的PC,通过MobaXterm进行连接:
连接后,大部分操作都可以通过PC端的MobaXterm进行,使得整套硬件系统可以脱离显示器运作。以下测试操作将通过MobaXterm在PC端进行演示。
安装测速软件iperf3:
sudo apt install iperf3
然后我们使用iperf3进行测试:
原生千兆以太网测速结果,client模式为943Mbps左右
server模式为949Mbps左右:
注意:原生千兆网络测速受网络环境和测试方法影响,速度请以实际为准,本测试仅供参考。
4.2 PCIe M-KEY测试(SSD测试)
关闭扩展板电源,将SSD安装好后重新上电(接口在扩展板背后)。
在树莓派OS中对SSD分区进行授权:
在终端中输入ls /dev,即可看到硬盘加载:
安装硬盘测速软件hdparm:
sudo apt install hdparm
运行命令,可多次运行,测试多次硬盘速度:
sudo hdparm -t /dev/nvme0n1p1
可见SSD硬盘的接口速度约为350MB/s左右。
注意:测试速度受网络状况、硬盘质量、硬盘上的文件存储情况等多种因素影响,以上测试结果仅供参考,不作为实际产品的最终参数。
4.3 DSI测试
首先使用22Pin 0.5mm间距转15Pin 1mm间距的转接板和相应的FPC排线,将树莓派官方的7寸触摸屏与扩展板上的DSI接口相连接,然后用一根Micro-USB线给触摸屏供电,注意,树莓派触摸屏不用Micro线独立供电的话是无法使用的,切勿忘记。
连接好后,给扩展板上电。等待系统运行后打开终端,运行下列命令:
sudo nano /boot/firmware/config.txt
在文件末尾加入下列语句:
dtoverlay=vc4-kms-dsi-7inch
保存后重启系统,即可使用树莓派官方7寸触摸屏。
4.4 CSI测试
首先将摄像头连接到扩展板的CSI1接口(本文档使用OV5647摄像头),连接好后,给板子上电。等待系统运行后打开终端,运行下列命令:
sudo nano /boot/firmware/config.txt
在文件末尾加入下列语句:
dtoverlay=ov5647,cam1
在实际使用中根据自己的型号进行添加,保存后重启系统,即可使用OV5647摄像头。
重启后在终端中输入:
ls /dev
即可看到video0设备(插一个摄像头显示video0,如果有两路CSI,并插两个摄像头显示video0、video1,和插在哪一路CSI无关)。
在终端中输入libcamera-hello --camera 0
即可打开对应的摄像头浏览(camera 0对应dev中的video0)。
如果需要拍照,则输入:
libcamera-jpeg -o test.jpg
照片保存在/home/mcuzone
目录下(即用户主目录),照片效果如下:
4.5 USB2.0测试
扩展板上电启动后我们将U盘插入USB2.0接口,输入lsusb
查看USB2.0hub是否正常识别,随后输入lsusb -t
查看USB2.0工作模式是否正常:
两处红框表示USB2.0hub已正常识别,并且U盘工作在480M下,因此USB2.0工作模式也正常。
4.6 RTC(DS1307)配置
本扩展板使用DS1307作为RTC芯片。配置RTC之前,我们需要先将I2C打开:
左上角树莓派标志—Preferences—Raspberry Pi Configuration—Interfaces
将I2C打开,如图所示:
然后编辑config.txt:
sudo nano /boot/firmware/config.txt
在文件末尾加入下列语句:
dtoverlay=i2c-rtc,ds1307
保存后退出,重启系统,在树莓派终端中输入ls /dev
,即可看到RTC设备:
将系统时间写入DS1307的命令是sudo hwclock -w
;
将系统时间从DS1307读出的命令是sudo hwclock -r
。
如下图所示: