SDIO读写SD卡速度有多快?

article/2025/10/23 22:47:17

前两天测试了SPI方式读写SD卡的速度《SPI方式读写SD卡速度测试》,今天来测试一下SDIO方式的读写速度。

测试条件:

单片机:STM32F407VET6

编译环境:MDK 5.30+HAL库

SD卡:闪迪32GB/64GB TF卡

文件系统:FatFS R0.12c

之前测试中说过了,非DMA方式速度和资源利用率都不如DMA方式,所以今天主要就测试SDIO+DMA方式的极限速度。SDIO采用的4线模式,理论上比1线的要快4倍。

首先用STM32CubeMx配置SDIO,如下:4线模式,分频系数为0,即不分频,此时SDIO的时钟为48MHz(单片机主频配置的为168MHz)。

使能SDIO的收发DMA:

接下来需要配置FatFS文件系统,如下:

由于需要测试64GB的卡,就需要使能exFAT文件系统(超过32G的卡需要使能),同时也要使能“长文件名”功能,不然会报错。

接下来直接生成代码,生成的代码中,底层驱动、以及文件系统都已经封装好了,直接调用相关函数就行。测试程序如下:


#define  NUM  32768retSD = f_mount(&SDFatFS, (TCHAR const*)SDPath, 0);//挂载retSD = f_open(&SDFile,(const char*)"test.txt",FA_CREATE_ALWAYS|FA_WRITE);for(uint32_t i=0;i<NUM;i++){FileBuf[i] = (i%7) + 0x30;}tick = 0;//ms计数器清零for(uint8_t i=0;i<100;i++)//每次写入NUM个字节,连续写入100次{retSD = f_write(&SDFile,FileBuf,NUM,&bw);retSD = f_sync(&SDFile);}retSD = f_close(&SDFile);for(uint32_t i=0;i<NUM;i++){FileBuf[i] = 0;}retSD = f_open(&SDFile,(const char*)"test.txt",FA_OPEN_EXISTING|FA_READ);//打开文件tick = 0;for(uint8_t i=0;i<100;i++)//读取NUM个字节,连续读取100次{retSD = f_read(&SDFile,FileBuf,NUM,&bw);}retSD = f_close(&SDFile);

打开文件后,每次写入文件32KB或16KB数据,连续写入100次。统计总时间,然后计算平均写入速度。读取测试也是一样。32G和64G卡测试结果如下:

可以看到32G卡写入速度在2MB/秒左右,单次写入数据越大,速度越快。

64G卡写入速度要更快,单次写入32KB时,平均速度可达5.4MB/秒左右。

两种卡的读取速度区别不大,都比写入速度快不少,在8~9MB/秒左右。

两种卡是同一品牌的,但写入速度区别比较大,怀疑可能是文件系统的原因,32G卡文件系统为FAT32,而64G卡文件系统为exFAT。

为了验证这个问题,我们将32G的卡也格式化为exFAT文件系统,再进行测试。

测试结果如下。可以看到,格式化为exFAT文件系统后,同一张卡的读写速度都有所提升,尤其是写入速度,提升明显。可见文件系统的格式对速度也是有影响的。


http://chatgpt.dhexx.cn/article/bJcc21y8.shtml

相关文章

SDIO接口(2)——SD卡寄存器

1.SD卡寄存器 SDIO接口中定义了8个寄存器&#xff1a;OCR&#xff0c;CID&#xff0c;CSD&#xff0c;RCA&#xff0c;DSR&#xff0c;SCR&#xff0c;SSR&#xff08;仅sdio卡支持&#xff09;&#xff0c;CSR&#xff08;仅sdio卡支持&#xff09;。 这些寄存器只能通过对应…

SDIO总线(一)

SDIO接口是在SD内存卡接口的基础上发展起来的接口,SDIO接口兼容以前的SD内存卡,并且可以连接SDIO接口的设备。 SDIO1.0标准定义了两种类型的SDIO卡: 1.全速的SDIO卡,传输率可以超过100Mbps; 2.低速的SDIO卡,支援的时脉速率在0至400KHz之间。 SDIO协议是由SD卡的协议…

[SDIO].SDIO总线详解

转自&#xff1a;https://blog.csdn.net/liuhan33025/article/details/51131848 SDIO接口是在SD内存卡接口的基础上发展起来的接口&#xff0c;SDIO接口兼容以前的SD内存卡&#xff0c;并且可以连接SDIO接口的设备。 SDIO1.0标准定义了两种类型的SDIO卡&#xff1a; 全速的SDIO…

SD 和 SDIO

SD 和 SDIO SD 和 SDIO SD&#xff08;Secure Digital&#xff09;是一种关于 Flash 存储卡的标准&#xff0c;也就是一般常见的 SD 记忆卡&#xff0c;在设计上与 MMC&#xff08;Multi-Media Card&#xff09;保持了兼容。SDHC&#xff08;SD High Capacity&#xff09;是大…

STM32——SDIO简介

一、什么是SDIO接口&#xff1f; SDIO&#xff0c;全称&#xff1a;Secure Digital Input and Output&#xff0c;即安全数字输入输出接口。它是在SD卡接口的基础上发展而来&#xff0c;它可以兼容之前的SD卡&#xff0c;并且可以连接SDIO接口设备&#xff0c;比如&#xff1a…

一,sdio总线简介

sdio总线简介 一&#xff0c;简要二&#xff0c;SDIO总线物理电气特性 1&#xff0c;card电压的供电范围 2&#xff0c;信号pin脚定义 3&#xff0c;Bus Speed模式 三&#xff0c;SDIO Card类型分类四&#xff0c;SDIO Card 传输模式 一&#xff0c;简要 SDIO协议是由SD协议…

SDIO接口(3)——SDIO总线接口

SDIO总线接口 SDIO是在SD标准上定义了一种外设接口&#xff0c;故名思义&#xff0c;就是SD的I/O接口的意思。SD本来是记忆卡的标准&#xff0c;但是现在把SD连接一些外围I/O使用&#xff0c;这样边形成了SDIO接口。SDIO本身只是一种接口技术&#xff0c;类似于SPI接口&#x…

STM32——SD卡实验(SDIO方式)

一、SD卡简介 1、什么是SD卡&#xff1f; SD卡&#xff08;Secure Digital Memory Card&#xff09;即&#xff1a;安全数码卡。它是在MMC的基础上发展而来&#xff0c;是一种基于半导体快闪记忆器的新一代记忆设备&#xff0c;它被广泛的用于便携装置上使用&#xff0c;例如…

SDIO接口(4)——SDIO通信

SDIO通信 SD总线上的通信基于命令和数据位流&#xff0c;这些命令和数据位流由起始位启动&#xff0c;并由停止位终止。 SDIO总线上的设置和控制都是通过命令来实现&#xff0c;SDIO总线上都是HOST端发起请求&#xff0c;然后DEVICE端回应请求&#xff0c;其中请求和应答中会包…

STM32 SDIO详解

目录 01、SDIO简介 02、SDIO特点 03、SDIO时钟 04、SDIO的命令与响应 05、SDIO块数据传输 06、代码 1、SDIO简介 SDIO&#xff0c;全称&#xff1a;Secure Digital Input and Output&#xff0c;即安全数字输入输出接口。它是在SD卡接口的基础上发展而来&#xff0c;它可…

SDIO简介

SDIO&#xff0c;全称&#xff1a; Secure Digital Input and Output &#xff0c;即安全数字输入输出接口。它是在SD卡接口的基础上发展而来&#xff0c;它可以兼容之前的SD卡&#xff0c;并可以连接SDIO接口设备&#xff0c;比如&#xff1a;蓝牙、WIFI、照相机等。 S…

SDIO接口

一、SDIO简介 SDIO接口是在SD内存卡接口的基础上发展起来的接口&#xff0c;SDIO接口兼容以前的SD内存卡&#xff0c;并且可以连接SDIO接口的设备。 SDIO1.0标准定义了两种类型的SDIO卡&#xff1a; 1.全速的SDIO卡&#xff0c;传输率可以超过100Mbps&#xff1b; 2.低速的…

SDIO接口(1)——SDIO简介

博客系列 SDIO接口&#xff08;1&#xff09;——SDIO简介 SDIO接口&#xff08;2&#xff09;——SD卡寄存器 SDIO接口&#xff08;3&#xff09;——SDIO总线接口 SDIO接口&#xff08;4&#xff09;——SDIO通信 1.SDIO简介 SDIO(Secure Digital Input and Output)&#…

STM32——SDIO的学习(驱动SD卡)(理论篇)

目录 一、SD卡简介 1.1历史 1.2 tf卡和SD卡的区别 1.3 mmc&#xff0c;emmc&#xff0c;nand&#xff0c;flash的关系 1.4 SD卡的规格等级 1.4.1按容量分 1.4.2 class等级 1.4.3 UHS总线模式 1.4.4 UHS速度等级 1.4.5 VSC视频速度等级 二、SD卡的内部结构 三、SDIO…

SDIO(安全数字输入输出)/协议

目录 一、SDIO&#xff1a;安全数字输入输出 目录 定义 功能 二、SDIO协议 介绍 信号 协议 一般协议 写协议 读协议 命令 命令格式 命令应答 数据 三、一文搞懂SDIO 四、SDIO简介 五、SD卡引脚定义和图连接 六、SDIO协议简介 七、MMC、SD、TF、SDIO、SDMMC简…

SDIO协议

SDIO协议 1 概述 SDIO&#xff0c;全称&#xff1a;Secure Digital Input and Output &#xff0c;即安全数字输入输出接口。2 特点 ①与多媒体卡系统规格书版本4.2全兼容。支持三种不同的数据总线模式&#xff1a;1位(默认)、4位和8位。②与较早的多媒体卡系统规格版本全兼容…

硬件接口之SDIO

SDIO接口是在SD内存卡接口的基础上发展起来的接口&#xff0c;SDIO接口兼容以前的SD内存卡&#xff0c;并且可以连接SDIO接口的设备。 参考 SDIO1.0标准定义了两种类型的SDIO卡&#xff1a; 全速的SDIO卡&#xff0c;传输率可以超过100Mbps&#xff1b;   低速的SDIO卡&#…

一文搞懂SDIO

SDIO总线简介 SDIO(Secure Digital Input and Output)&#xff0c;即安全数字输入输出接口。它是在SD卡接口的基础上发展而来&#xff0c;它可以兼容之前的SD卡&#xff0c;并可以连接SDIO接口设备&#xff0c;比如&#xff1a;蓝牙、WIFI、GPS等。 什么是SDIO卡 SDIO卡&…

visual svn for visual studio 2019

https://marketplace.visualstudio.com/items?itemNameVisualSVNLimited.VisualSVN-VS2019 参考 https://www.cnblogs.com/Music/p/visualsvn-for-visual-studio-2019.html

visualSVN server的安装和使用

一、安装visualSVN server 服务器端 下载地址&#xff1a;https://www.visualsvn.com/server/download/ 1.在官网中下载visualSVN server服务器端 2.安装下载的visualSVN server&#xff0c;选择默认选项即可 二、安装号visualSVN server后&#xff0c;创建一个代码创库&am…