stm32 sd卡读写_sd卡引脚定义图

stm32 sd卡读写_sd卡引脚定义图SD卡   SD卡(SecureDigitalMemoryCard)即:安全数码卡,它是在MMC的基础上发展而来,是一种基于半导体快闪记忆器的新一代记忆设备,它被广泛地于便携式装置上使用,例如数码相机、个人数码助理(PDA)和多媒体播放器等。SD卡由日本松下、东芝及美国SanDisk公司于1999年8月共同开发研制。   SD卡按容量分类,可以分为3类:SD卡、SDHC卡、SDXC…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

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方式最好使用大卡

stm32 sd卡读写_sd卡引脚定义图stm32 sd卡读写_sd卡引脚定义图

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

stm32 sd卡读写_sd卡引脚定义图

 SD卡的5个寄存器

名称 

 宽度 

描述

 CID

128

卡标识寄存器,提供制造商ID、OEM/应用ID、产品名称、版本、序列号、制造日期等信息。

RCA

16

相对卡地址(Relative card address)寄存器,提供本地系统中卡的地址,可动态变化,在主机初始化的时候确定。
注意:仅SDIO模式下有,SPI模式下无RCA

CSD

128

卡描述数据寄存器,提供SD卡操作条件相关信息和数据

 SCR 

64

SD配置寄存器,提供SD卡一些特定的数据。

OCR 

32

操作条件寄存器,主要是SD卡的操作电压等信息。

 

 STM32的SDIO接口

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

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

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

  特性:

stm32 sd卡读写_sd卡引脚定义图

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

  SDIO适配器框图

  stm32 sd卡读写_sd卡引脚定义图

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

   SDIO_CK计算公式:SDIO_CK=SDIOCLK/(2+CLKDIV)   CLKDIV为可配置的分频系数
   在初始化时不可以超过400khz ,初始化完成后可全速运行

   命令及命令格式

   stm32 sd卡读写_sd卡引脚定义图

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

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

  stm32 sd卡读写_sd卡引脚定义图

  与命令类似,硬件会自动滤除起始位、传输位、CRC7以及结束位等信息  
  段响应:命令索引存放在SDIO_RESPCMD     参数存放在SDIO_RESP1
  长响应:仅保留CID/CSD 存放在SDIO_RESP1~SDIO_RESP4
  有六种响应(R1、R1b、R2、R3、R6、R7)详细的看F4XX中文参考手册

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

  stm32 sd卡读写_sd卡引脚定义图

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

  从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卡的读写都是以扇区为单位操作的

 stm32 sd卡读写_sd卡引脚定义图

     单个扇区读操作

     stm32 sd卡读写_sd卡引脚定义图

     多个扇区的读取操作

    stm32 sd卡读写_sd卡引脚定义图

   单个扇区写操作

    stm32 sd卡读写_sd卡引脚定义图

     多个扇区的写操作

     stm32 sd卡读写_sd卡引脚定义图

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/186525.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 实例说明optimize table在优化MySQL时很重要

    实例说明optimize table在优化MySQL时很重要

    2021年9月18日
    56
  • 学习Spring框架这一篇就够了

    学习Spring框架这一篇就够了1.spring概述1.1Spring是什么(理解)Spring是分层的JavaSE/EE应用full-stack轻量级开源框架,以IoC(InverseOfControl:反转控制)和AOP(AspectOrientedProgramming:面向切面编程)为内核。提供了展现层SpringMVC和持久层SpringJDBCTemplate以及业务层事务管理等众多的企业级应用技术,还能整合开源世界众多著名的第三方框架和类库,逐渐成为使用最多的JavaEE企业应用

    2022年6月30日
    21
  • Python:变量的命名规则

    Python:变量的命名规则变量命名规则:1.变量命名不可以以数字开头,如4four,3man;2.不推荐使用以下划线开头,下划线开头的内容在python中有特殊意义,如_age,_name;3.推荐视同固定单词及其缩写,如skt=soket4.以posix命名规则为主,posix命名规则单词全部小写,且所有单词之间以下划线连接,如my_first_love;5.驼峰命名法:所有单词自动连接,且每个单词首字母均大写…

    2022年5月21日
    70
  • java 远程debug_idea如何debug

    java 远程debug_idea如何debug使用IDEA远程Debug线上服务应用背景配置过程IDEA配置服务启动配置应用方法注意事项应用背景通常情况下我们会遇到只有线上环境才能复现的bug,此时通过在代码里面加日志重新发布,反复定位对线上的客户体验极度不好,此时我们可以使用IDEA的远程Debug功能,对线上bug调试。配置过程该过程需要本地环境和线上环境至少保证指定端口互通,该端口指的是线上debug对项目的监听端口。IDEA配置首先在IDEA上进行配置,进入项目启动面板,Edit-config中设置点击”+“号选中”Remo

    2022年9月3日
    3
  • 毕业三年「建议收藏」

    如约而至,一年一度的“毕业N年”系列,2018,毕业三年了。生活这一年生活轨迹变化很大,也清晰了很多。去年底在家里买了房,跟女朋友定了亲,接下来可能就只剩到哪里定居的问题了。学会了做饭,本以为做饭很麻烦,其实逛逛菜市场做做饭,比想象中简单自在多了,很多喜欢吃的东西都可以自己做来试试看,没想到的是,大肠吃着那么香,做起来那么臭,还用一个锅的教训,知道了不粘锅竟然不能用来炸东西。工…

    2022年3月11日
    32
  • 3.1 学习率(learning rate)的选择

    3.1 学习率(learning rate)的选择1.什么是学习率调参的第一步是知道这个参数是什么,它的变化对模型有什么影响。(1)要理解学习率是什么,首先得弄明白神经网络参数更新的机制-梯度下降+反向传播。参考资料:https://www.cnblogs.com/softzrp/p/6718909.html。总结一句话:将输出误差反向传播给网络参数,以此来拟合样本的输出。本质上是最优化的一个过程,逐步趋向于最优解。但是每一次更新参数利用…

    2022年6月11日
    30

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号