嵌入式系统中各类存储方式的区别及接口协议详解
背景:
在kernel优化时,也可以考虑硬件层面用的协议是否已经是最优解。
在嵌入式系统中,存储设备的选择直接影响系统性能、成本和设计复杂度。以下是常见存储类型的对比,包括其接口协议(是否使用 SPI)及适用场景:
1. 非易失性存储器(断电数据不丢失)
类型 | 接口协议 | 特点 | 典型应用 | 示例型号 |
---|---|---|---|---|
SPI NOR Flash | SPI/QSPI | 低引脚(4-6线)、低成本、支持XIP(直接执行代码) | 存储固件、Bootloader | Winbond W25Q128JV (128Mb) |
并行 NOR Flash | 并行总线(16/32位) | 高速读取(>100MB/s)、引脚多(>40 pins)、PCB复杂 | 高速代码执行(军事、工业设备) | Micron MT28EW (1Gb) |
SPI NAND Flash | SPI/QSPI | 大容量(1Gb+)、需ECC纠错、成本低于NOR Flash | 大容量数据存储(日志、媒体文件) | Macronix MX66U2G (2Gb) |
EEPROM | I2C/SPI | 小容量(KB级)、高擦写次数(1M次)、字节级擦写 | 存储配置参数(如校准数据) | Microchip 24LC256 (256KB) |
FRAM/MRAM | SPI/I2C | 无限擦写次数、高速写入、抗辐射、成本高 | 高频数据记录(医疗、航天) | Cypress FM25V05 (512KB) |
SD卡/eMMC | SD/eMMC协议 | 标准化接口、支持热插拔、协议复杂 | 大容量文件系统(Linux根文件系统) | SanDisk Ultra SDXC (128GB) |
2. 易失性存储器(断电数据丢失)
类型 | 接口协议 | 特点 | 典型应用 | 示例型号 |
---|---|---|---|---|
SRAM | 并行总线/SPI | 高速访问(ns级)、无需刷新、功耗高 | 高速缓存、实时数据处理 | Cypress CY62167G (4Mb) |
DRAM | 并行总线(DDR/LPDDR) | 高密度(GB级)、需定期刷新、成本低 | 主内存(运行程序和数据) | Micron LPDDR4 (8GB) |
PSRAM | 并行/SPI | 结合SRAM接口与DRAM技术、容量适中(64Mb~1Gb) | 低功耗移动设备内存 | AP Memory APS6404L (64Mb) |
3. 存储接口协议对比
接口类型 | 协议特点 | 适用存储器 | 优势 | 劣势 |
---|---|---|---|---|
SPI/QSPI | 串行通信(1/2/4/6线)、主从模式、时钟频率高(133MHz+) | SPI NOR/NAND Flash、FRAM、PSRAM | 引脚少、成本低、灵活性高 | 吞吐量受限(需多线模式提升速度) |
I2C | 双线(SDA/SCL)、多设备共享总线、速率较低(<1MHz) | EEPROM、传感器 | 简化布线、支持多设备 | 速度慢、协议开销大 |
并行总线 | 多数据线(8/16/32位)+地址线+控制线、高速(>100MB/s) | NOR Flash、SRAM、DRAM | 高带宽、低延迟 | 引脚多、PCB复杂 |
SD/eMMC | 专用协议(4/8数据线)、支持块操作、DMA传输 | SD卡、eMMC芯片 | 标准化、热插拔、大容量 | 协议复杂、功耗较高 |
DDR/LPDDR | 双倍数据速率、差分时钟、需控制器支持 | DRAM、LPDDR | 超高带宽(GB/s级)、低功耗 | 设计复杂、信号完整性要求高 |
4. 存储设备是否都通过SPI传输数据?
-
SPI是主流接口之一,但并非唯一:
- 使用SPI的存储器:SPI NOR/NAND Flash、部分EEPROM、FRAM、PSRAM。
- 使用其他接口的存储器:
- I2C:EEPROM、传感器。
- 并行总线:NOR Flash、SRAM、DRAM。
- SD/eMMC协议:SD卡、eMMC。
- 专用接口:DDR/LPDDR内存。
-
SPI的优势场景:
- 资源受限设备:需要减少引脚数(如穿戴设备仅有20-30个GPIO)。
- 成本敏感项目:SPI Flash比并行NOR Flash便宜30%以上。
- 灵活扩展:通过QSPI/Octal SPI提升速度(如STMicro的Octo-SPI达200MB/s)