PCIe TO M.2 HAT+ 教程

资料

数据手册


说明


产品介绍

专为 Raspberry Pi 5 设计的PCIe 转 M.2 转接板,兼容 2230 / 2242 尺寸的 M.2 硬盘,支持 Gen2 和 Gen3 模式,支持从 SSD 启动 PI5

特点

  • 支持 NVMe 协议 M.2 接口硬盘协议,高速读写,工作效率高
  • PCI-E×1 Gen2 或 Gen3 模式
  • 仅支持PI5B
  • 兼容 2230 / 2242 尺寸的 M.2 硬盘
  • 板载工作指示灯,通电时PWR 长亮,读写ACT闪烁,工作状态一目了然
  • HAT+设计,板载EEPROM芯片
  • 板载电源监控芯片,可实时监控硬盘工作状态
  • 预留风扇通风孔,为PI5风扇预留风道,增加空气流动,降低固态温度

使用说明

硬件连接

注意排线方向,连接如图所示:


挂载

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


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


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

NVMe SSD引导启动

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

2:使用SD卡启动树莓派修改引导,更改树莓派的引导加载程序配置中的BOOT_ORDER:

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

更多内容可以参考BOOT_ORDER 

3:重启树莓派,开机过程中看串口日志可以看到:


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

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

NVME电源监控

板载INA219芯片可以检测电压电流,方便监控设备状态,监控的是输入的5V电压状态(不是3.3V)

默认I2C地址 0x40,可通过背面电阻修改地址以支持不同扩展板的叠加

例程

wget https://www.waveshare.net/w/upload/6/68/PCIe_TO_M.2_HAT%2B.zip
unzip -o PCIe_TO_M.2_HAT+.zip -d ./PCIe_TO_M.2_HAT+
cd PCIe_TO_M.2_HAT
sudo python INA219.py

关于HAT+

参考[HAT+标准]