使用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
相关推荐
许商3 小时前
【stm32】cmake脚本(一)
stm32·单片机·嵌入式硬件
polarislove02143 小时前
8.1 时钟树-嵌入式铁头山羊STM32笔记
笔记·stm32·嵌入式硬件
染予3 小时前
对开漏输出的理解
单片机·嵌入式硬件
风行男孩4 小时前
stm32基础学习——OLED显示屏的基本使用
stm32·嵌入式硬件·学习
养一回月亮!4 小时前
FreeRTOS任务延迟:vTaskDelay与vTaskDelayUntil的深度对比
stm32·单片机·嵌入式硬件
Zeku5 小时前
20251202 - Linux输入子系统
stm32·freertos·嵌入式软件·linux驱动开发·linux应用开发
Coder_Boy_7 小时前
基于 MQTT 的单片机与 Java 业务端双向通信全流程
java·单片机·嵌入式硬件
就是蠢啊8 小时前
51单片机——DAC数模转换实验(二)
单片机·嵌入式硬件·51单片机
ChatGPT58 小时前
一个适用于嵌入式系统的轻量级、可移植LED控制模块。
单片机