简述SD卡的工作原理

功能

SD卡是存储卡,它的功能就是存储。

分类

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卡外形和接口图如下图所示:

驱动SD卡工作的接口是SPI 或者 SDIO 口,引脚分布如下:

主机与SD卡的硬件连接图:

工作原理

要驱动SD卡工作,主要涉及两个步骤。

第一个步骤是SD卡的识别过程。

第二个步骤是对SD卡进行读写过程,即主机控制器和SD卡之间进行数据传输的过程。

要使SD卡能正常工作,一是要给SD卡供给稳定的电压,二是要SD卡按用户规定的方式工作。这两项工作的实现,都是主机控制器通过给SD卡发送控制命令来实现的。

主机(SDIO控制器)要驱动SD卡工作,要使用许多的命令,包括应用层命令ACMD 和 通用命令 CMD. 主机(SDIO控制器)把命令发送给SD卡,SD卡会作出回应,这里的回应叫做响应,响应命令分为6类,分别是R1、R1b、R2、R3、R6、R7。

主机(SDIO控制器)给SD卡发送命令之后,SD卡会作出响应,响应中包含主机(SDIO控制器)需要的数据,这些数据有SD的信息,容量,和存储数据等等。

上面已经提到了,SD卡工作,主要是识别和数据传输,它的识别过程有些复杂,写代码的时候,可以参考协议给的初始化流程图。数据传输包括读和写,单字节和多字节读写。下两节描述识别初始化流程图和数据读写时序图。

流程图

SD卡初始化流程图:

读写数据的时序图

SDIO与SD卡通信一般以数据块的形式进行传输,SDIO(多)数据块读操作,如下图所示:

SDIO(多)数据块写操作,如下图所示:

命令格式

SDIO所有的命令和响应都是在SDIO_CMD引脚上面传输的,命令长度固定为48位,SDIO命令格式如下表所示:

其中:除了命令索引和参数需要我们设置,其他都是由SDIO硬件自动控制。命令索引(如CMD0,CMD1之类)由SDIO_CMD寄存器设置,命令参数则由SDIO_ARG寄存器设置。

STM32 SDIO短响应(48位)格式如下表所示:

STM32 SDIO长响应(136位)格式如下表所示:

寄存器

SDIO控制器的寄存器,主要设置SDIO控制器和命令的索引与参数。

SD卡有5个寄存器CID,RCA,CSD,SCR.OCR。SD卡的信息从SD卡寄存器中获取。

总结

SD卡正常工作,就是根据SD卡初始化流程图,发送命令,收到回复,直到流程结束。传输数据,也是根据读写时序图,将要发送的数据放进命令中发送出去。

SDIO 控制器驱动SD 卡识别过程中,频率是400K , 传输数据的时候,SDIOCK 的 频率是6M.SD卡初始化的时候,频率不能超过400K。

简述SD卡的工作原理(四)相关推荐

  1. 服务器阵列工作原理,阵列卡的工作原理

    阵列卡的工作原理 导读:磁盘阵列是一种把若干硬磁盘驱动器按照一定要求组成一个整体,整个磁盘阵列由阵列控制器管理的系统.阵列卡的全称叫磁盘阵列卡 是用来做 RAID(廉价冗余磁盘阵列) . 冗余磁盘阵列 ...

  2. 计算机点火工作原理,简述汽车发动机ECU工作原理

    <简述汽车发动机ECU工作原理>由会员分享,可在线阅读,更多相关<简述汽车发动机ECU工作原理(4页珍藏版)>请在人人文库网上搜索. 1.简述汽车发动机ECU工作原理汽车电脑工 ...

  3. 计算机测试工作原理,计算机(测试卡)诊断卡的工作原理

    计算机(测试卡)诊断卡的工作原理 (11页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 15.9 积分 简介 诊断卡的工作原理是      利用主板中BI ...

  4. 简述sd卡2.0协议_【正点原子FPGA连载】第十二章SD卡读写TXT文本实验-领航者 ZYNQ 之嵌入式开发指南...

    1)实验平台:正点原子领航者ZYNQ开发板 2)平台购买地址:https://item.taobao.com/item.htm?&id=606160108761 3)全套实验源码+手册+视频下 ...

  5. 简述旋转编码器的工作原理_什么是编码器,编码器工作原理介绍

    点击上方蓝色字体 机械菌 关注我们,涨知识涨见识就在这里. 正文开始 编码器(encoder)是将信号(如比特流)或数据进行编制.转换为可用以通讯.传输和存储的信号形式的设备.编码器把角位移或直线位移 ...

  6. 简述html的基本工作原理,变压器的基本工作原理和结构(一)

    一.变压器简述 变压器(Transformer)是利用电磁感应的原理来改变交流电压的装置,主要构件是初级线圈.次级线圈和铁芯(磁芯).主要功能有:电压变换.电流变换.阻抗变换.隔离.稳压(磁饱和变压器 ...

  7. 简述keepalived和其工作原理,keepalived搭建mysql高可用,vip飘逸,避免单点故障@xinxin

    keepalived 简介 组成部分 工作原理 环境准备 centos6两台[防火墙关闭] master上执行安装 修改配置文件 保存退出,重启,查看vip backup上执行 保存退出,重启,停掉m ...

  8. 【STM32】STM32 SDIO SD卡读写测试(四)-- SD_Test之Transfer Mode阶段

    相关文章 <[SDIO]SDIO.SD卡.FatFs文件系统相关文章索引> 1.前言 本篇文章主要是介绍SD卡的读写测试,包括:SD卡擦除测试.SD卡单一块读写测试.SD卡多个块读写测试. ...

  9. 简述计算机数控系统的工作原理,数控原理与系统复习

    数控原理与系统总复习(考试必备) 一.基本名词 NC 数字控制 CNC 计算机数字控制 DNC 分布式数字控制 MDI 手工数据输入 MC 加工中心 FMC 柔性制造单元 FMS 柔性制造系统 CIM ...

  10. 简述Z-Stack的基本工作原理与流程(OSAL操作系统)

    首先上图,跟着图中的函数顺序来感受Z-Stack的工作流程: Z-Stack协议栈总的来说做了两件事,系统的初始化和启动OSAL操作系统. 系统初始化:从main函数看,首先是调用了osal_init ...

最新文章

  1. oracl 、mysql在线查看文档
  2. C语言:关键字volatile详解!
  3. Geoserver中切割离线瓦片TileLayer预览时放大之后缺失
  4. DB_NAME、DB_UNIQUE_NAME、SERVICE_NAME和INSTANCE_NAME等的区别
  5. php mysql 常用语句_PHP mysql基本语句指令
  6. Web中的鼠标自动移动
  7. 纪念品分组java_纪念品分组 ——易懂、简介、技巧(Java代码)
  8. mvc:default-servlet-handler/作用
  9. 关闭windows垃圾服务
  10. 第一天:wp7多功能播放器 设计一界面设计
  11. 游戏可以html+上运行吗,运行多个,如果在HTML游戏
  12. sea.js常用接口
  13. 【宽度优先搜索笔记】BFS输出最短路径
  14. 平衡二叉树删除_自平衡二叉树实现及时间复杂度分析
  15. 个人工作总结05(第二阶段)
  16. 矩阵论7,8,9作业
  17. 【commons-beanutils专题】003- PropertyUtils 专题
  18. 小乔皮肤分析-缤纷独角兽/青蛇皮肤
  19. 2023成都电源工业展览会
  20. 兼容QQ浏览器,UC浏览器滚动到底部

热门文章

  1. 2022爱分析·虚拟化活动实践报告
  2. duilib 控件位置
  3. 凤凰os 停在android,电脑的安卓系统,凤凰OS:有亮点但还很粗糙的系统
  4. 全减器及其相关概念的理解
  5. 如何查找求职简历模板及pdf编辑器去水印
  6. adb官方最新下载链接和常用操作
  7. 谷歌浏览器实现按下按键的脚本_谷歌浏览器辅助工具v1.4.5
  8. Android之Handler机制使用实例
  9. STL 格式解析--文本以及二进制格式
  10. 网络分析工具-Mtr