M.2 接口
M.2(原名 NGFF,Next Generation Form Factor)是一种为超轻薄设备设计的接口标准,用于连接存储设备、无线模块等。其中,M-KEY 接口是 M.2 接口的一种类型,主要用于连接高性能存储设备(如 NVMe 固态硬盘),也可支持部分 PCIe 扩展设备。
注解
XNIUPI-R系列开发主机目前支持的M.2接口均为 M-KEY 类型!支持NVME SSD,也可以支持其他PCIe扩展卡(如AI加速卡Hailo-8),其他PCIe扩展卡可能需要额外驱动支持,具体情况请咨询技术支持或自行适配。
1. XNIUPI M.2 接口支持情况
XNIUPI-R系列开发主机支持M.2接口情况如下:
产品型号 |
第二层底板M.2-2Lane |
第三层扩展板M.2-2lane |
第三层扩展板M.2-1lane |
数量合计 |
---|---|---|---|---|
XNIUPI-R600 |
×,不支持 |
✔,2lane PCIE3.0 |
✔,1lane PCIE2.0 |
2 |
XNIUPI-R700 |
×,不支持 |
×,不支持 |
✔,1lane PCIE2.0 |
1 |
XNIUPI-R800 |
✔,2lane PCIE3.0 |
✔,2lane PCIE3.0 |
✔,1lane PCIE2.0 |
3 |
第二层底板(仅R800支持)
第三层扩展板(R600/R8002个均支持,R700只支持其中1个)
2. M.2 M-KEY 接口标准引脚定义表
以下是将你提供的 M.2 M-KEY 引脚定义图转换为 Markdown 表格的内容:
引脚号 | 引脚功能/信号描述 | 引脚号 | 引脚功能/信号描述 |
---|---|---|---|
74 | 3.3V | 75 | GND |
72 | 3.3V | 73 | GND |
70 | 3.3V | 71 | GND |
68 | SUSCLK (32kHz) (O) (I/O) (3.3V) | 69 | PEDET (NPcIe/GND-SATA) |
M-KEY 缺口 | Connector Key Connector Key Connector Key Connector Key |
M-KEY 缺口 | Connector Key Connector Key Connector Key Connector Key |
58 | N/C | 57 | GND |
56 | N/C | 55 | REFCLKP |
54 | PEWake# (IO) (3.3V) or N/C | 53 | REFCLKN |
52 | CLKREQ# (IO) (3.3V) or N/C | 51 | GND |
50 | PERST# (IO) (3.3V) or N/C | 49 | PEtP0/SATA-A+ |
48 | N/C | 47 | PEtP0/SATA-A- |
46 | N/C | 45 | GND |
44 | N/C | 43 | PEtP0/SATA-B+ |
42 | N/C | 41 | PEtP0/SATA-B- |
40 | N/C | 39 | GND |
38 | DEVSLP1 (IO) (3.3V) | 37 | PEtP1 |
36 | N/C | 35 | PEtN1 |
34 | N/C | 33 | GND |
32 | N/C | 31 | PERr1 |
30 | N/C | 29 | PERn1 |
28 | N/C | 27 | GND |
26 | N/C | 25 | PEtP2 |
24 | N/C | 23 | PEtN2 |
22 | N/C | 21 | GND |
20 | N/C | 19 | PERr2 |
18 | 3.3V | 17 | PERn2 |
16 | 3.3V | 15 | GND |
14 | 3.3V | 13 | PEtP3 |
12 | 3.3V | 11 | PEtN3 |
10 | DAS/DSS# (II) (IOD) | 9 | GND |
8 | N/C | 7 | PERr3 |
6 | N/C | 5 | PERn3 |
4 | 3.3V | 3 | GND |
2 | 3.3V | 1 | GND |
注解
M.2 M-KEY 最大支持4lane PCIE,可以兼容1/2/4lane。如果是1lane,则只占用1lane位置,其余引脚悬空;如果是2lane,则只占用2lane位置,其余引脚悬空;如果是4lane,则占用所有数据传输通道!
3. M.2 接口的使用
3.1 NVME SSD(PCIE 硬盘)
在XNIUPI-R系列开发平台的Linux系统下测试M.2 NVMe SSD,可以从检查设备识别情况和测试性能两方面入手,以下是具体操作步骤:
3.1.1 检查设备识别
确认硬件连接:确保M.2 NVMe SSD已正确安装到RK3588开发主机对应的M.2插槽上,并且安装牢固。
进入系统:启动R800开发主机,进入Linux系统。
查看设备信息:打开终端,输入以下命令查看系统是否识别到NVMe SSD:
lsblk
正常情况下,会显示类似nvme0n1
这样的设备名称,这就表示系统已经识别到了NVMe SSD。
3.1.2 性能测试
性能测试可以借助fio
工具,它是一款功能强大的I/O性能测试工具,能模拟多种I/O负载情况。
安装fio:在终端中输入以下命令安装
fio
工具:
sudo apt-get update
sudo apt-get install fio
顺序读写测试: 顺序读测试:在终端输入以下命令,测试NVMe SSD的顺序读性能。这里设置测试文件大小为1GB,块大小为1MB,测试时间为10秒。
fio --name=read_test --filename=/dev/nvme0n1 --direct=1 --rw=read --bs=1M --size=1G --runtime=10
顺序写测试:输入以下命令测试顺序写性能,同样设置测试文件大小为1GB,块大小为1MB,测试时间为10秒。
fio --name=write_test --filename=/dev/nvme0n1 --direct=1 --rw=write --bs=1M --size=1G --runtime=10
运行命令后,终端会输出测试结果,重点关注bw
(带宽,即读写速度)参数,比如顺序读测试结果中的read: bw=xxxMB/s
就代表顺序读取速度。
随机读写测试: 随机读测试:运行以下命令,设置块大小为4K,测试文件大小为1GB,测试时间为10秒。
fio --name=randread_test --filename=/dev/nvme0n1 --direct=1 --rw=randread --bs=4k --size=1G --runtime=10
随机写测试:使用以下命令测试随机写性能,参数设置与随机读类似。
fio --name=randwrite_test --filename=/dev/nvme0n1 --direct=1 --rw=randwrite --bs=4k --size=1G --runtime=10
随机读写测试结果中,同样关注bw
参数,随机读写性能对于日常系统操作中频繁的小文件读写至关重要 。
3.2 AI算力卡 Hailo-8
暂略,请用户自行移植!如需技术支持,请联系我们,我司可提供付费技术支持!
3.3 定制AI扩展卡
如果有需要,用户也可以自行定制AI扩展卡,只需要满足对应引脚线序即可!