0005 MPS2242 2280 2280P(单SSD扩展板)

来自Mcuzone Wiki
Mcuadm留言 | 贡献2024年9月19日 (四) 13:51的版本 →‎九、应用选配
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)

Change the language to English

关键词

树莓派5、Raspberry Pi 5、2230、2242、2280、Pi OS、Ubuntu、NVMe SSD、PCIe、固态硬盘 X1、Gen2、Gen3、AI、HAILO 8L、摄像头、OV5647、图像检测、图像识别、可选辅助供电

一、简介

MPS2242、MPS2280及MPS2280P是针对树莓派5设计的支持NVMe协议的SSD扩展板,它们的区别是分别支持2242和2280尺寸的SSD。可从SSD启动系统,也可以从TF卡启动系统SSD仅做存储用途。MPS2280P是在MSP2280基础上增加对硬盘的辅助供电接口,可达3A供电 。

二、硬件资源

2.1 分2242和2280两个版本的HAT,均支持NVMe协议 SSD固态硬盘;注意:不支持NGFF和SATA协议的盘;

MPS2242支持2230/2242尺寸的固态硬盘(默认焊接2242固定柱);

MPS2280/MPS2280P版本支持2230/2242/2280尺寸的固态硬盘(默认焊接2280固定柱),

2.2 采用0.5mm间距16Pin PCIe2.0 x1接口连接;

2.3 (MPS2242/MPS2280)采用1.5A高效DC-DC电路,可支持绝大部分固态盘(受限于x1接口,固态盘的实际峰值功耗仅为额定功耗的1/3);

2.4 一盏5V电源指示灯,一盏硬盘工作状态指示灯;

2.5 采用内凹开槽设计,40Pin上方无遮挡不影响杜邦线连接;

2.6 预留CSI/DSI出线槽;

2.7 扩展板沉金工艺,无铅生产,PCB板通过UL和ROHS认证,防火等级94V-0 。

2.8 (MPS2280P)采用3A高效DC-DC电路,硬盘可从PCIe接口取电,也可以通过2.54mm 2Pin和USB-C辅助供电接口获得3A供电,辅助供电可热插拔,支持绝大部分NVMe固态盘的供电需求。

0005_MPS2242_2280_63.jpg

0005_MPS2242_2280_73.jpg

0005_MPS2242_2280_66.jpg

0005_MPS2242_2280_76.jpg

0005_MPS2242_2280_75.jpg

MPS2280P辅助供电:

0005_MPS2242_2280_74.jpg

0005_MPS2242_2280_68.jpg

三、系统烧写及设置

3.1 概述

本文档采用树莓派OS及Ubuntu系统进行测试,

其中树莓派OS的版本为2024-07-04-raspios-bookworm-arm64.img.xz,

Ubuntu系统的版本为ubuntu-24.04-preinstalled-desktop-arm64+raspi.img.xz。

树莓派OS下载地址:

https://www.raspberrypi.com/software/operating-systems/#raspberry-pi-os-64-bit

Ubuntu系统下载地址:

https://ubuntu.com/download/raspberry-pi

3.2 从TF卡启动

3.2.1 使用树莓派镜像烧录器烧写

首先在Windows端安装树莓派镜像烧录器,下载地址:https://www.raspberrypi.com/software/

安装完毕后将TF卡插入读卡器,读卡器插入PC的USB口,然后打开软件:

Raspberry Pi Device:选择Raspberry Pi 5;

请选择需要写入的操作系统:选择Raspberry Pi OS(64-bit),为从树莓派官网下载系统镜像烧写(需联网);选择Use Custom,则需要自行选择硬盘上已经下载的系统镜像(无需联网);

储存卡:选择所需烧入的TF卡(即插在PC的USB接口的卡);

0005_MPS2242_2280_01.jpg

选择完毕后按“NEXT”,进入下面这个界面:

0005_MPS2242_2280_02.jpg

1) 基于这个界面,建议点击“编辑设置”,将一些参数预设置进烧写软件,之后在系统启动时就不必再次设置,便于使用。

0005_MPS2242_2280_03.jpg

2) 基于前面界面,如果需要使用预设置的按“是”,不需要使用预设置的按“不”,进入下一页(如下图),点击“是”,就开始烧写及验证完整性,烧写完毕后按提示取下卡即可。

0005_MPS2242_2280_04.jpg

以上介绍的是烧写树莓派OS,烧写Ubuntu系统也是用类似的操作,只是在“请选择需要写入的操作系统”时,需要选择Use Custom,然后选择预先下载的Ubuntu系统镜像即可。

3.2.2 使用balenaEtcher烧写

首先在WIndows端安装balenaEtcher,下载地址:https://etcher.balena.io/#download-etcher

安装完毕后,将TF卡插入读卡器,读卡器插入PC的USB口,然后打开软件:

从文件烧录:选择预先下载的树莓派OS或者Ubuntu系统镜像;

选择目标磁盘:选择所需烧入的TF卡(即插在PC的USB接口的卡);

然后点击“现在烧录!”,就开始烧录了,等待烧录完毕即可。

0005_MPS2242_2280_05.jpg

3.2.3 启动系统

将TF卡从读卡器中取下,塞进树莓派开发版的TF卡卡槽,上电后即可进入系统。

3.3 从SSD硬盘启动

树莓派仅支持PCIe NVMe协议接口的SSD。

3.3.1 在TF卡上烧写树莓派OS镜像,然后从TF卡启动树莓派OS。

3.3.2 设置启动顺序并使能SSD。打开树莓派OS的终端,输入sudo rpi-eeprom-config --edit,修改 BOOT_ORDER为:

BOOT_ORDER=0xf416

修改或添加PCIE_PROBE为:

PCIE_PROBE=1

然后按Ctrl+X,保存退出并重启。

注意1:这个文件编辑后保存在树莓派开发板的E2PRom中,因此如果不更换树莓派开发板,只是更换系统的话,是不需要再次编辑的。

注意2:不同时期出货的树莓派5出厂设置并不相同,2024年出货的已经都使能固态盘启动。

0005_MPS2242_2280_06.jpg

0005_MPS2242_2280_07.jpg

其中启动顺序的说明如下:[1]

MPS2280iPoE_24.png

即上述的BOOT_ORDER=0xf416表示启动顺序为NVMe(SSD)、SD(TF)卡、U盘,大家可以按照自己的需求设置启动顺序。

3.3.3 将SSD插入一个M.2(PCIe NVMe协议)转USB读卡器,将其接到PC上,使用与在TF卡上烧写镜像同样的方法烧写系统镜像到SSD,然后将SSD取下,插回扩展板,并上电启动系统(可以取下原本用来启动系统的TF卡)即可。

3.3.4 另一种烧写方法是直接在树莓派OS下烧写,需要准备一个U盘,将树莓派OS的镜像拷入U盘,将启动顺序设置成SD(TF)卡为第一位,NVMe(SSD)为第二位。然后将装好系统的TF卡、放有树莓派OS安装镜像的U盘,以及需要烧写的SSD都插上板子。

启动系统,此时系统从TF卡启动。最新的树莓派OS中包含有Imager,如果树莓派OS中没有Imager软件,可用下面的命令进行安装:

sudo apt install rpi-imager

在图形界面下将其打开。

MPS2280iPoE_25.png

MPS2280iPoE_26.png

3.3.7 在烧写界面中,选好device、OS、storage,开始烧写,注意,此时的storage需要选择SSD,而不能选择U盘。

MPS2280iPoE_27.png

在烧写中会跳出两次需要输入密码的界面,请输入系统的登录密码,等待烧写完毕后,关机,拔掉TF卡和U盘,再次重启,就是从SSD启动了。

MPS2280iPoE_28.png

MPS2280iPoE_29.png

MPS2280iPoE_30.png

四、树莓派系统下使用演示

4.1 SSD用作存储扩展

4.1.1 把树莓派开发板设置为从TF卡启动,将一块SSD硬盘插入扩展板的M.2接口,从TF卡启动树莓派OS。

4.1.2 在树莓派OS中,打开File Manager,我们可以看到SSD的分区。如下图所示:

0005_MPS2242_2280_08.jpg

如果需要对SSD操作,请点击分区图标,此时需要输入系统密码,然后点击“Authenticate”,授权成功后即可对SSD进行操作:

0005_MPS2242_2280_09.jpg

此时回到桌面,就可以看到SSD分区的快捷图标:

0005_MPS2242_2280_10.jpg

同时在终端中输入df,也可以看到SSD分区,我们可以将这个SSD作为存储设备。

0005_MPS2242_2280_11.jpg

4.2 SSD用于系统启动

4.2.1 将树莓派OS烧写进SSD硬盘,然后拔掉TF卡,或者在启动顺序设置中,把从NVMe(SSD)启动设置成第一位。

4.2.2 将烧写好系统的进SSD硬盘插入扩展板的M.2接口,启动树莓派OS。

4.2.3 打开File Manager,我们可以看到在右下角显示剩余空间为106.3G(这块SSD硬盘的总容量为120G),同时在终端中输入df,也可以看到SSD被分成了两个分区,nvme0n1p1被用作系统分区,nvme0n1p2被用作存储分区。

0005_MPS2242_2280_12.jpg

0005_MPS2242_2280_13.jpg

五、Ubuntu系统下使用演示

5.1 SSD用作存储扩展

5.1.1 把树莓派开发板设置为从TF卡启动,将一块SSD硬盘插入扩展板的SSD M.2接口,从TF卡启动Ubuntu系统。

5.1.2 在Ubuntu系统中,与树莓派OS不同的是,我们不需要输入系统密码就可以对SSD进行操作。我们进入Files,点击Other Locations,可以看到SSD的分区(500GB Volume,挂载到/dev/nvme0n1p1)。如下图所示:

0005_MPS2242_2280_14.jpg

注意:如果要在终端中对SSD硬盘进行操作,必须按照上面的步骤先进一次SSD文件夹。

5.1.3 同时在桌面,也可以看到SSD分区的快捷图标:

0005_MPS2242_2280_15.jpg

在终端中输入lsblk,也可以看到这个SSD分区,我们可以将这个SSD作为存储设备。

0005_MPS2242_2280_16.jpg

5.2 SSD用于系统启动

5.2.1 将Ubuntu系统烧写进SSD硬盘,然后拔掉TF卡,或者在启动顺序设置中,把从NVMe(SSD)启动设置成第一位。

5.2.2 将烧写好系统的进SSD硬盘插入扩展板的SSD M.2接口,启动Ubuntu系统。

5.2.3 我们进入Files,点击Other Locations,可以看到SSD的分区。在终端中输入df,可以看到SSD被分成了两个分区,nvme0n1p1被用作系统分区,nvme0n1p2被用作存储分区。

0005_MPS2242_2280_17.jpg

0005_MPS2242_2280_18.jpg

六、对SSD进行分区等操作

6.1 概述

本章以树莓派OS为例,介绍对安装在MPS2242/2280的SSD进行分区、挂载等操作。

6.2 使用GParted软件对SSD进行分区

6.2.1 下载GParted软件。打开树莓派OS终端,输入以下命令,安装GParted软件。

sudo apt install gparted

MPS2280D_77.jpg

6.2.2 打开GParted软件,选择相应SSD。

打开GParted软件的命令是sudo gparted,打开后为图形化界面,我们在右上角的下拉菜单中选择SSD。

MPS2280D_23.jpg

MPS2280D_24.jpg

6.2.3 在对SSD进行分区前,首先要对该分区进行取消原来的挂载,在该分区上点右键,选择“Unmount”,取消挂载后,再次在此分区上点右键,选择“Delete”,删除分区。本SSD上有两个分区,对另一个分区也是如此操作。

MPS2280D_25.jpg

MPS2280D_26.jpg

6.2.4 删除分区完毕后,我们在菜单中选择“Edit - Apply All Operations”,接受上述所有的操作。GParted类似于DiskGenius,在没有Apply之前,是不会对分区进行真实的操作的。

MPS2280D_27.jpg

MPS2280D_28.jpg

MPS2280D_29.jpg

6.2.5 然后在空白的SSD上点击右键,选择“New”,建立新分区,在这里我们建立了两个分区,格式为exfat,操作如下所示。

MPS2280D_30.jpg

MPS2280D_31.jpg

MPS2280D_32.jpg

MPS2280D_33.jpg

MPS2280D_34.jpg

MPS2280D_35.jpg

MPS2280D_36.jpg

这样我们就完成了对SSD的分区。

6.3 挂载分区

6.3.1 此时SSD已经分为了两个区,这两个区可以在Windows下进行操作,但Linux和Windows不一样,需要对新建的分区进行挂载,挂载完毕后才能操作。我们首先用命令lsblk查看分区信息,可见新建的两个分区,名字分别为nvme0n1p1和nvme0n1p2。

MPS2280D_37.jpg

然后我们依次输入以下命令,建立挂载点:

sudo mkdir /ssd1

sudo mkdir /ssd2

6.3.2 查看分区UUID,我们在树莓派终端中输入命令sudo blkid,如图所示,两个SSD分区的UUID分别是769F-F2E1和77F0-F2E1,将这两个值记录下来。

MPS2280D_38.jpg

6.3.3 在树莓派终端中输入命令sudo nano /etc/fstab,在文件的末尾加入两行代码:

UUID=769F-F2E1 /ssd1 exfat defaults,umask=000,gid=1000 0 2

UUID=77F0-F2E1 /ssd2 exfat defaults,umask=000,gid=1000 0 2

MPS2280D_39.jpg

MPS2280D_40.jpg

保存后退出,然后重启系统,在树莓派终端中输入lsblk,可以看见nvme0n1p1和nvme0n1p2分别被挂载到ssd1和ssd2下。

MPS2280D_42.jpg

此时我们也可以在文件目录的根目录下看到ssd1和ssd2两个目录,分别代表SSD上的两个分区,我们可以对这两个文件夹进行操作,这样就完成了分区的挂载。

MPS2280D_41.jpg

七、使用hdparm对SSD硬盘进行测速

7.1 概述

树莓派5支持系统运行在 PCIe Gen2和 PCIe Gen3两种模式下,本章以树莓派OS为例,分别测试在PCIe Gen2和 PCIe Gen3两种模式下,SSD硬盘的运行速度。

7.2 在PCIe Gen2下测试硬盘速度

7.2.1 树莓派OS的默认配置是运行在PCIe Gen2下的,因此这里不需要改变系统配置。

7.2.2 安装硬盘测速软件hdparm。在树莓派终端下运行:

sudo apt install hdparm

0004_MPS2280Bi_05.jpg

7.3.3 在树莓派终端下运行df,查看SSD分区名为nvme0n1p1:

0005_MPS2242_2280_19.jpg

运行命令,可多次运行,测试多次硬盘速度:

sudo hdparm -t /dev/nvme0n1p1

0005_MPS2242_2280_20.jpg

可见此测试硬盘在PCIe Gen2下的运行速度为450MB/s左右。

7.3 在PCIe Gen3下测试硬盘速度

7.3.1 在树莓派终端中输入sudo nano /boot/firmware/config.txt,在最后一行加入下列代码:

dtparam=pciex1_gen=3

0004_MPS2280Bi_02.jpg

0004_MPS2280Bi_03.jpg

保存后退出并重启系统,这样就切换到了PCIe Gen3。

7.3.2 使用上节介绍的方法,运行命令,可多次运行,测试多次硬盘速度:

sudo hdparm -t /dev/nvme0n1p1

0005_MPS2242_2280_21.jpg

可见此测试硬盘在PCIe Gen3下的运行速度为880MB/s左右。

7.4 结论

PCIe Gen2的理论带宽是5Gbps,PCIe Gen3的理论带宽是8Gbps。对比PCIe Gen3下和PCIe Gen2下的测试结果,可见在PCIe Gen3下,因为带宽的影响,SSD硬盘的运行速度有所提高。

注意:硬盘运行速度受硬盘质量、硬盘上的文件存储情况等多种因素影响,以上测试结果仅供参考,不作为实际产品的最终参数。

八、AI模块(HAILO 8L)在MPS2242上的使用演示

8.1 概述

在各种实际应用的场合中,人们对于摄像头图像检测识别的需求逐渐增加,市面上也有许多利用AI的解决方案,本文所演示的方案是树莓派5搭配OV5647摄像头、MPS2242和HAILO 8L AI模块在树莓派5上的使用演示

此操作演示同时也适用于我们司所有树莓派5的SSD相关的PCIE转接板,包括MPS2242-POE、MPS2280、MPS2280P、MPS2280Bi、MPS2280-POE、MPS2280D、MPS2.5G、MPSAI、MPSD2.5GD等。

(另外我司树莓派CM4扩展板上其它带CSI接口+M.2 SSD接口的板子均可使用,如CM4_SSD扩展板、CM4_3PCIE扩展板、CM4_Ultra扩展板、CM4_SSD+WiFi扩展板、CM4_SSD+双以太网、CM4_NAS等。)

0005_MPS2242_2280_44.jpg

注意:此操作演示需要确保能稳定连通外网(需自备方法),否则许多文件无法下载或下载不全,最后可能会造成代码运行失败。

8.2 更新系统

8.2.1 启动树莓派OS,在终端中执行:

sudo apt update

sudo apt full-upgrade

0005_MPS2242_2280_28.jpg

0005_MPS2242_2280_29.jpg

8.2.2 执行sudo rpi-eeprom-update,查看树莓派固件,确保树莓派的固件日期在2023年12月6日之后:

0005_MPS2242_2280_30.jpg

如上图所示,固件时间是2024年6月5日。

8.2.3 执行sudo raspi-config,根据下图依次选择对应选项:

0005_MPS2242_2280_31.jpg

0005_MPS2242_2280_32.jpg

0005_MPS2242_2280_33.jpg

0005_MPS2242_2280_34.jpg

0005_MPS2242_2280_35.jpg

0005_MPS2242_2280_36.jpg

选择完之后退出,系统会自动重启,如果没有自动重启,请手动执行 sudo reboot ,重启系统。

8.3 AI模块所需要的依赖安装

执行sudo apt install hailo-all,安装AI模块所需要的依赖安装:

0005_MPS2242_2280_37.jpg

0005_MPS2242_2280_38.jpg

完成后执行 sudo reboot ,重启系统,使这些设置生效。

执行hailortcli fw-control identify,如果出现以下输出则成功安装了HAILO 8L的依赖:

0005_MPS2242_2280_39.jpg

最后再执行rpicam-hello -t 10s,打开摄像头并出现预览窗口,确定摄像头正常。

0005_MPS2242_2280_40.jpg

8.4 图像识别检测

执行:

git clone --depth 1 https://github.com/raspberrypi/rpicam-apps.git ~/rpicam-apps

克隆rpicam-apps库:

0005_MPS2242_2280_41.jpg

克隆完成后,就可以开始进行图像的识别检测:

rpicam-hello -t 0 --post-process-file ~/rpicam-apps/assets/hailo_yolov6_inference.json --lores-width 640 --lores-height 640

0005_MPS2242_2280_42.jpg

0005_MPS2242_2280_43.jpg

鉴于本开发板的测试需要在外网下载大量数据,为了方便用户进行测试,用户在购买本开发板后,可以联系我司获取已经配置完毕的树莓派OS镜像。

九、选配应用

MPS2280 HAT有3个固定孔,此固定孔可以适配我们的一些CM4尺寸的功能模块,比如CM4 4G mini、CM4 CAT1 4G、CM4 GPS、CM4温湿度模块、CM4 4G语音模块,还有5V5A电源和5V5A PD电源等,而且可以多个叠加组装使用。

MPS2242也有可以利用2个固定孔来组装CM4 4G mini模块。

0005_MPS2242_2280_70.jpg

联系我们

4f7e81daf8791971.jpg 79c020da7ad0af9b.jpg 2851e01a0549e6f7.gif 0003_bb.jpg 0005_qq.jpg QQ:8204136

邮件:mcuzone@vip.qq.com

电话:13957118045

如本页面有任何疏漏、错误或者侵权,请通过上述途径联系我们,谢谢!

Copyright 2004-2024 野芯科技

  1. 1