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固态盘的供电需求。
MPS2280P辅助供电:
本文档采用树莓派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
首先在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接口的卡);
选择完毕后按“NEXT”,进入下面这个界面:
1) 基于这个界面,建议点击“编辑设置”,将一些参数预设置进烧写软件,之后在系统启动时就不必再次设置,便于使用。
2) 基于前面界面,如果需要使用预设置的按“是”,不需要使用预设置的按“不”,进入下一页(如下图),点击“是”,就开始烧写及验证完整性,烧写完毕后按提示取下卡即可。
以上介绍的是烧写树莓派OS,烧写Ubuntu系统也是用类似的操作,只是在“请选择需要写入的操作系统”时,需要选择Use Custom,然后选择预先下载的Ubuntu系统镜像即可。
首先在WIndows端安装balenaEtcher,下载地址:https://etcher.balena.io/#download-etcher
安装完毕后,将TF卡插入读卡器,读卡器插入PC的USB口,然后打开软件:
从文件烧录:选择预先下载的树莓派OS或者Ubuntu系统镜像;
选择目标磁盘:选择所需烧入的TF卡(即插在PC的USB接口的卡);
然后点击“现在烧录!”,就开始烧录了,等待烧录完毕即可。
将TF卡从读卡器中取下,塞进树莓派开发版的TF卡卡槽,上电后即可进入系统。
树莓派仅支持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年出货的已经都使能固态盘启动。
其中启动顺序的说明如下:[1]
即上述的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
在图形界面下将其打开。
3.3.7 在烧写界面中,选好device、OS、storage,开始烧写,注意,此时的storage需要选择SSD,而不能选择U盘。
在烧写中会跳出两次需要输入密码的界面,请输入系统的登录密码,等待烧写完毕后,关机,拔掉TF卡和U盘,再次重启,就是从SSD启动了。
4.1.1 把树莓派开发板设置为从TF卡启动,将一块SSD硬盘插入扩展板的M.2接口,从TF卡启动树莓派OS。
4.1.2 在树莓派OS中,打开File Manager,我们可以看到SSD的分区。如下图所示:
如果需要对SSD操作,请点击分区图标,此时需要输入系统密码,然后点击“Authenticate”,授权成功后即可对SSD进行操作:
此时回到桌面,就可以看到SSD分区的快捷图标:
同时在终端中输入df
,也可以看到SSD分区,我们可以将这个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被用作存储分区。
5.1.1 把树莓派开发板设置为从TF卡启动,将一块SSD硬盘插入扩展板的SSD M.2接口,从TF卡启动Ubuntu系统。
5.1.2 在Ubuntu系统中,与树莓派OS不同的是,我们不需要输入系统密码就可以对SSD进行操作。我们进入Files,点击Other Locations,可以看到SSD的分区(500GB Volume,挂载到/dev/nvme0n1p1)。如下图所示:
注意:如果要在终端中对SSD硬盘进行操作,必须按照上面的步骤先进一次SSD文件夹。
5.1.3 同时在桌面,也可以看到SSD分区的快捷图标:
在终端中输入lsblk
,也可以看到这个SSD分区,我们可以将这个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被用作存储分区。
本章以树莓派OS为例,介绍对安装在MPS2242/2280的SSD进行分区、挂载等操作。
6.2.1 下载GParted软件。打开树莓派OS终端,输入以下命令,安装GParted软件。
sudo apt install gparted
6.2.2 打开GParted软件,选择相应SSD。
打开GParted软件的命令是sudo gparted
,打开后为图形化界面,我们在右上角的下拉菜单中选择SSD。
6.2.3 在对SSD进行分区前,首先要对该分区进行取消原来的挂载,在该分区上点右键,选择“Unmount”,取消挂载后,再次在此分区上点右键,选择“Delete”,删除分区。本SSD上有两个分区,对另一个分区也是如此操作。
6.2.4 删除分区完毕后,我们在菜单中选择“Edit - Apply All Operations”,接受上述所有的操作。GParted类似于DiskGenius,在没有Apply之前,是不会对分区进行真实的操作的。
6.2.5 然后在空白的SSD上点击右键,选择“New”,建立新分区,在这里我们建立了两个分区,格式为exfat,操作如下所示。
这样我们就完成了对SSD的分区。
6.3.1 此时SSD已经分为了两个区,这两个区可以在Windows下进行操作,但Linux和Windows不一样,需要对新建的分区进行挂载,挂载完毕后才能操作。我们首先用命令lsblk
查看分区信息,可见新建的两个分区,名字分别为nvme0n1p1和nvme0n1p2。
然后我们依次输入以下命令,建立挂载点:
sudo mkdir /ssd1
sudo mkdir /ssd2
6.3.2 查看分区UUID,我们在树莓派终端中输入命令sudo blkid
,如图所示,两个SSD分区的UUID分别是769F-F2E1和77F0-F2E1,将这两个值记录下来。
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
保存后退出,然后重启系统,在树莓派终端中输入lsblk
,可以看见nvme0n1p1和nvme0n1p2分别被挂载到ssd1和ssd2下。
此时我们也可以在文件目录的根目录下看到ssd1和ssd2两个目录,分别代表SSD上的两个分区,我们可以对这两个文件夹进行操作,这样就完成了分区的挂载。
树莓派5支持系统运行在 PCIe Gen2和 PCIe Gen3两种模式下,本章以树莓派OS为例,分别测试在PCIe Gen2和 PCIe Gen3两种模式下,SSD硬盘的运行速度。
7.2.1 树莓派OS的默认配置是运行在PCIe Gen2下的,因此这里不需要改变系统配置。
7.2.2 安装硬盘测速软件hdparm。在树莓派终端下运行:
sudo apt install hdparm
7.3.3 在树莓派终端下运行df
,查看SSD分区名为nvme0n1p1:
运行命令,可多次运行,测试多次硬盘速度:
sudo hdparm -t /dev/nvme0n1p1
可见此测试硬盘在PCIe Gen2下的运行速度为450MB/s左右。
7.3.1 在树莓派终端中输入sudo nano /boot/firmware/config.txt
,在最后一行加入下列代码:
dtparam=pciex1_gen=3
保存后退出并重启系统,这样就切换到了PCIe Gen3。
7.3.2 使用上节介绍的方法,运行命令,可多次运行,测试多次硬盘速度:
sudo hdparm -t /dev/nvme0n1p1
可见此测试硬盘在PCIe Gen3下的运行速度为880MB/s左右。
PCIe Gen2的理论带宽是5Gbps,PCIe Gen3的理论带宽是8Gbps。对比PCIe Gen3下和PCIe Gen2下的测试结果,可见在PCIe Gen3下,因为带宽的影响,SSD硬盘的运行速度有所提高。
注意:硬盘运行速度受硬盘质量、硬盘上的文件存储情况等多种因素影响,以上测试结果仅供参考,不作为实际产品的最终参数。
在各种实际应用的场合中,人们对于摄像头图像检测识别的需求逐渐增加,市面上也有许多利用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等。)
注意:此操作演示需要确保能稳定连通外网(需自备方法),否则许多文件无法下载或下载不全,最后可能会造成代码运行失败。
8.2.1 启动树莓派OS,在终端中执行:
sudo apt update
sudo apt full-upgrade
8.2.2 执行sudo rpi-eeprom-update
,查看树莓派固件,确保树莓派的固件日期在2023年12月6日之后:
如上图所示,固件时间是2024年6月5日。
8.2.3 执行sudo raspi-config
,根据下图依次选择对应选项:
选择完之后退出,系统会自动重启,如果没有自动重启,请手动执行 sudo reboot
,重启系统。
执行sudo apt install hailo-all
,安装AI模块所需要的依赖安装:
完成后执行 sudo reboot
,重启系统,使这些设置生效。
执行hailortcli fw-control identify
,如果出现以下输出则成功安装了HAILO 8L的依赖:
最后再执行rpicam-hello -t 10s
,打开摄像头并出现预览窗口,确定摄像头正常。
执行:
git clone --depth 1 https://github.com/raspberrypi/rpicam-apps.git ~/rpicam-apps
克隆rpicam-apps库:
克隆完成后,就可以开始进行图像的识别检测:
rpicam-hello -t 0 --post-process-file ~/rpicam-apps/assets/hailo_yolov6_inference.json --lores-width 640 --lores-height 640
鉴于本开发板的测试需要在外网下载大量数据,为了方便用户进行测试,用户在购买本开发板后,可以联系我司获取已经配置完毕的树莓派OS镜像。
MPS2280 HAT有3个固定孔,此固定孔可以适配我们的一些CM4尺寸的功能模块,比如CM4 4G mini、CM4 CAT1 4G、CM4 GPS、CM4温湿度模块、CM4 4G语音模块,还有5V5A电源和5V5A PD电源等,而且可以多个叠加组装使用。
MPS2242也有可以利用2个固定孔来组装CM4 4G mini模块。
周一-周五(9:30-6:30)周六(9:30-5:30)
手机:13434470212
邮箱:services04@spotpear.cn
QQ:202004841