SD卡及STM32的SDIO接口相关原理

发布者:灵感发电站最新更新时间:2018-12-26 来源: eefocus关键字:SD卡  STM32  SDIO接口 手机看文章 扫描二维码
随时随地手机看文章

SD卡


       SD卡(Secure Digital Memory Card)即:安全数码卡,它是在MMC的基础上发展而来,是一种基于半导体快闪记忆器的新一代记忆设备,它被广泛地于便携式装置上使用,例如数码相机、个人数码助理(PDA)和多媒体播放器等。SD卡由日本松下、东芝及美国SanDisk公司于1999年8月共同开发研制。


        SD卡按容量分类,可以分为3类:SD卡、SDHC卡、SDXC卡


    容量                       命名                                                        简称

    0~2G          Standard Capacity SD Memory Card           SDSC或SD

    2G~32G     High Capacity SD Memory Card                  SDHC

    32G~2T     Extended Capacity SD Memory Card           SDXC

   SD卡一般支持SDIO和SPI俩种传输方式

   注意:很大一部分TF卡(小卡)不支持SPI访问,用SPI方式最好使用大卡

   SD卡的SDIO模式及SPI模式引脚的定义如下


 STM32的SDIO接口

  

简介:SDIO Secure Digital Input and Output,安全数字输入输出接口,在SD卡接口的基础上发展而来,兼容SD卡,并可以连接SDIO设备

  

与SD卡规范的区别:增加了低速标准,低速卡的目标应用时以最小的硬件开支支持低速IO能力

  

STM32的SDIO接口提供 APB2 外设总线与多媒体卡 (MMC)、SD 卡、SDIO 卡以及 CE-ATA 设备之间的接口。

  

特性:


 

 注意:F1的SDIO挂载在AHB总线,F4的挂载在APB2总线 原因:总线的时钟

  

SDIO适配器框图


  三个时钟信号:卡时钟SDIO_CK(传输速率0-25MHZ)、SDIO适配器时钟SDIOCLK(用于驱动适配器来产生卡时钟,与所挂载的总线时钟相同)、总线时钟PCLK2(F1为HCLK2)


   SDIO_CK计算公式:SDIO_CK=SDIOCLK/(2+CLKDIV)   CLKDIV为可配置的分频系数

   

在初始化时不可以超过400khz ,初始化完成后可全速运行

   

命令及命令格式


  

所有的命令都是由单片机发出,其中起始位、传输位、CRC7和结束位由SDIO硬件控制,我们只需要配置命令索引及参数部分,命令索引配置寄存器SDIO_CMD,命令参数配置SDIO_ARG


一般SD卡接收到命令后都会有一个应答(除ACMD0),有长(136位)短(48位)之分



  与命令类似,硬件会自动滤除起始位、传输位、CRC7以及结束位等信息  

  

段响应:命令索引存放在SDIO_RESPCMD     参数存放在SDIO_RESP1

  

长响应:仅保留CID/CSD 存放在SDIO_RESP1~SDIO_RESP4

  

有六种响应(R1、R1b、R2、R3、R6、R7)详细的看F4XX中文参考手册

  

SD卡的SDIO操作模式配置流程


这个图是一个极为重要的图要重点理解。


  从SD卡初始化流程可知,不管什么卡(这里我们将卡分为4类:SD2.0高容量卡(SDHC,最大32G),SD2.0标准容量卡(SDSC,最大2G),SD1.x卡和MMC卡),首先我们要执行的是卡上电(设置SDIO_POWER[1:0]=11),上电后发送CMD0,对卡进行软复位,之后发送CMD8命令,用于区分SD卡2.0,只有2.0及以后的卡才支持CMD8命令,MMC卡和V1.x的卡,是不支持该命令的。

  SD卡的读写都是以扇区为单位操作的



单个扇区读操作



多个扇区的读取操作


 

单个扇区写操作


     

多个扇区的写操作


    

代码就不贴了,参照原子的SD卡实验的例程即可,原子的代码写的还是很完善的,参照原理及流程图读几次代码就会熟练对SD卡的SDIO操作。


关键字:SD卡  STM32  SDIO接口 引用地址:SD卡及STM32的SDIO接口相关原理

上一篇:关于stm32f407 串口程序编写过程 总结
下一篇:STM32 SPI方式读写SD卡

推荐阅读最新更新时间:2024-03-16 16:21

初识“位带操作”
初识“位带操作” 什么是“位带操作”? CPU不能直接对位带区中的单个数据位位寻址,只能通过对位带别名区的访问(或读/写)实现对位带区单个数据位的访问(或读/写),这种操作被称为位带操作。 STM32的“位带操作”为何会出现? 51单片机相信各位都用过,假设P1.1的IO口上挂了一个LED,那么你单独对LED的操作就是P1.1 = 0或P1.1 = 1,注意,是你可以单独的对P1端的第一个IO口进行操作,然而STM32是不允许这样做的,那么为了像51单片机一样能够单独的对某个端的某一个IO单独操作,就引入了位带操作这样的概念,简而言之,言而总之,就是为了去单独操作32里面PA端的第1个IO口,所以才有了位带这样的操作机制。
[单片机]
初识“位带操作”
STM32看门狗总结
STM32看门狗总结 调原子哥的 开发板 一年多,基本上能用,但是对于STM32某些基本外设的工作机理还不甚明了。借此暑假的机会对各个外设的功能做一个简短的总结,在提高自己基础知识的同时,也给其他同学提供一些参考。 先来看门狗部分的内容。 看门狗部分内容当中较难理解的是窗口看门狗,其中窗口值设置以及如何引发复位更是很难搞懂,因此从根本上分析一下窗口看门狗的工作原理,而与其有关的中断则略过。 stm32有两个看门狗,独立看门狗和窗口看门狗,其实两者的功能是类似的,只是喂狗的限制时间不同。独立看门狗有自己独立的40Khz时钟,不存在使能问题;而窗口看门狗使用的是PCLK1时钟,需要先使能时钟。以下是关于看门狗的具体说明: ①、独立
[单片机]
<font color='red'>STM32</font>看门狗总结
STM32经验心得(一)
相关经验及心得如下:  摘要:1.在配置USART的TX完成中断后,在没有发数的情况下自动进入TX完成中断函数。2 .在TX配置完成后,相应的TC标志位会自动置1,随后就进入了TX完成中断。3.相关配置程序编写无误,并已经开启时钟,依旧无法配置相关GPIO及外设;4.ADC通道:分为规则组和注入组;5.修改定时器的预装值后,定时器不能立刻修改。 一、 USART TX中断配置 1. 问题描述: 在配置USART的TX完成中断后,在没有发数的情况下自动进入TX完成中断函数。 2. 问题分析: 在TX配置完成后,相应的TC标志位会自动置1,随后就进入了TX完成中断。 (TC标志位:发送完成标志位 ) 当包含有数据的一帧发送
[单片机]
<font color='red'>STM32</font>经验心得(一)
关于STM32的基本知识
STM32简介 STM32是“意法半导体”生产的基于“ARM公司Cortex-M3内核”的32位高性能MCU。 ST——芯片制造商意法半导体,SOC厂商 ARM——IP厂商,负责芯片内核设计的公司 M——Microelectronics的缩写,指微控制器 32——指它是一个32位的微控制器 注意:51单片机是5V工作电压,而STM32是3.3V工作电压。STM32芯片结构,如下图所示。 STM32和ARM7的关系 ARM7和STM32的内核都是由ARM公司设计的。ARM7内核采用的是冯诺依曼结构(也就是计算机CPU采用的结构)而STM32采用的是哈佛结构。STM32是ARM公司设计出来取代ARM7的,所以它的性能优于ARM7。
[单片机]
关于<font color='red'>STM32</font>的基本知识
STM32使用FSMC驱动8080时序CH395的一些问题
CH395L是带并口的版本,支持串口、SPI、并口三种模式,网卡类似于内置TCP协议的W5500,用户只需读取一些参数设置socket就可以完成网络通信。CH395具有并口模式,这是个特色,在对速度要求高的场合,并口比SPI等串行方式快很多,在使用stm32f103以fsmc硬件并口驱动ch395时参考秉火和战舰的驱动LCD的例程,因为都是8080时序的设备,方法相似。 在配置过程中,发现在以杜邦线连接ch395模块的情况下, readWriteTiming.FSMC_AddressSetupTime = 0x03; readWriteTiming.FSMC_DataSetupTime = 0x08; 这两
[单片机]
<font color='red'>STM32</font>使用FSMC驱动8080时序CH395的一些问题
一文知道STM32 GUI的应用
整体上讲,很多STM32芯片内置了功能强大的用于加速图形处理的硬件加速器,借助它们一方面可以大大减轻CPU负荷,以节省CPU处理带宽去应对其它任务,另一方面,在节省内存同时还能保障动画或视频播放更为流畅。这些硬件图形加速器分别是STM32 Chrom-ART 加速器,或称DMA2D,是个专门用于二维图形操作处理的DMA;硬件JPEG 编解码器,用于对JPEG图像的编解码;STM32 Chrom-GRC,它是个内存管理单元,用于优化非方形图形显示的存储开销。 到目前为止,由于支持图形显示的STM32系列或料号很多,有时想基于STM32 的GUI应用做选型,可能要费一番功夫。这里有个表格,汇总了目前直接支持各类显示接口的STM32
[单片机]
一文知道<font color='red'>STM32</font> GUI的应用
stm32 printf函数重定向
#include stm32f10x.h #include stdio.h void RCC_Configuration(void);//首先设置系统时钟为8MHZ void GPIO_Configuration(void); void USART_Configuration(void); /* Function Name : fputc Description : 重定向这个C库中的(stdio) printf函数,文件流到串口流USART1 Input : ch,*f Output : None Return : None */ int fputc(int ch,F
[单片机]
<font color='red'>stm32</font> printf函数重定向
大联大友尚集团推出ST STM32 F4系列中的最小微控制器
2016年3月15日,致力于亚太地区市场的领先半导体元器件分销商---大联大控股宣布,其旗下友尚推出ST STM32 F4系列中最小的微控制器---STM32F410,并同时搭配其最新开发板---NUCLEO-F410RB,以帮助客户实现尺寸更小,功耗更低且更高性能的产品。 大联大友尚代理的STM32F410搭载ARM Cortex -M4F处理器内核,在100MHz时指令周期可达125 DMIPS,并在EEMBC CoreMark 测试中取得339分的优异成绩。具有功耗意识(Power-conscious)的STM32 Dynamic Efficiency 特性,例如意法半导体的ART Accelerator 和电压调整,可
[单片机]
大联大友尚集团推出ST <font color='red'>STM32</font> F4系列中的最小微控制器
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved