使用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
相关推荐
chao18984412 小时前
STM32 HAL库驱动AT24C02 EEPROM例程
stm32·单片机·嵌入式硬件
猫猫的小茶馆14 小时前
【Python】函数与模块化编程
linux·开发语言·arm开发·驱动开发·python·stm32
feifeigo12314 小时前
STM32矩阵键盘驱动(库函数版)实现
stm32·矩阵·计算机外设
嵌入式小站15 小时前
STM32 零基础可移植教程 05:按键消抖,为什么按一次会触发好几次
chrome·stm32·嵌入式硬件
拾知_H16 小时前
STM32/Delay延时函数编程思路
stm32·单片机·时钟·延时
2zcode17 小时前
基于STM32的智能扫地机器人设计与实现
stm32·嵌入式硬件·机器人
jllllyuz18 小时前
单相并网逆变器控制代码实现(STM32版)
stm32·单片机·嵌入式硬件
冉卓电子19 小时前
GD32C103RBT6 misc 内核驱动库极简解析
单片机·嵌入式硬件
yongui4783419 小时前
MAX6675 K型热电偶温度采集程序(Keil环境)
单片机·嵌入式硬件
豆包公子19 小时前
AUTOSAR CP XCP 移植到裸机 MCU-实践篇
单片机·嵌入式硬件