使用STM32对SD卡进行性能测试

背景

最近有将大量日志存到SD卡中的需求,市面上的存数板基本只支持最大1M或者1.5Mbps的输入

我的需求起码是5-10M,甚至40Mbps,市面上的明显不满足需求,所以准备自己开发

设备

  • STM32F407开发板 CPU@168MHz
  • STM32H750开发板 CPU@480MHz
  • 64G 朗科SD卡(标称支持写入30MB,读取100MB)

标准时钟下的速率

STM32F407的SDIO时钟最大24MHz ,STM32H750的SDIO时钟最大60MHz

采用DMA读写,测试方法为连续读写32MB,单次32KB

型号 写速率 读速率
STM32H750 19.28 MB/s 22.91 MB/s
STM32F407 7.87 MB/s 8.99 MB/s

超频时钟下的速率

经实测,STM32F407的SDIO时钟可以超频到42MHz ,STM32H750的SDIO时钟可以超频到80MHz

采用DMA读写,测试方法为连续读写32MB,单次32KB

型号 写速率 读速率
STM32H750 23.91 MB/s 28.82 MB/s
STM32F407 12.69 MB/s 14.84 MB/s

带FatFs文件系统的速率

文件系统为exFat

采用超频后的时钟,并使用DMA读写,测试方法为连续读写32MB,单次32KB

型号 写速率 读速率
STM32H750 18.65 MB/s 29.39 MB/s
STM32F407 10.74 MB/s 14.87 MB/s

单次写入大小对速率的影响

使用STM32H750+80MHz SDIO + DMA,测试方法为连续读写32MB

单次写入大小 写入速率 读取速率
1KB 1.47 MB/s 6.17 MB/s
2KB 2.79 MB/s 10.55 MB/s
4KB 4.97 MB/s 15.85 MB/s
8kB 8.37 MB/s 20.46 MB/s
16KB 12.78 MB/s 24.84 MB/s
32KB 18.51 MB/s 29.41 MB/s
64KB 18.72 MB/s 29.49 MB/s
相关推荐
点灯小铭21 小时前
双积分AD转换电路
单片机·毕业设计·课程设计·期末大作业
Zeku21 小时前
20260110 - Linux驱动学习笔记:环形缓冲区与按键防丢失
stm32·freertos·linux驱动开发·linux应用开发
youcans_21 小时前
【动手学STM32G4】(8)STM32G431之 DAC进阶
stm32·单片机·嵌入式硬件·dma·定时器
hqwest21 小时前
码上通QT实战14--监控页面06-串口设备数据初始化-
单片机·rs232·serialport·波特率·串口设备·虚拟串口设备软件·qt项目配置文件
Zeku21 小时前
20260111 - Linux驱动学习笔记:异步通知
笔记·stm32·freertos·linux驱动开发·linux应用开发
qq_3975623121 小时前
BMI088 , 传感器的使用经验 . ( SPI 模式 )
单片机
点灯小铭1 天前
基于单片机的智能收银机模拟系统设计
单片机·嵌入式硬件·mongodb·毕业设计·课程设计·期末大作业
TEC_INO1 天前
STM32_9:I2C_DHT11_OLED项目
stm32·单片机·嵌入式硬件
__万波__1 天前
STM32基于HAL 库开发包创建新的工程-编译-烧录
stm32·单片机·嵌入式硬件
曾浩轩1 天前
跟着江协科技学STM32之4-5OLED模块教程OLED显示原理
科技·stm32·单片机·嵌入式硬件·学习