简述SD卡的工作原理(四)

2023-11-01

简述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。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

简述SD卡的工作原理(四) 的相关文章

随机推荐

  • Visual Studio 2005 官方使用教程

    http msdn microsoft com zh cn library ms165079 VS 80 aspx Visual Studio 入门
  • 【第6篇】Inception-v4

    文章目录 摘要 1 简介 2 相关工作 3 体系架构的选择 3 1 纯Inception块 3 2 剩余起始块 3 3 残差的缩放 4 训练方法 5 实验结果 6 结论 摘要 论文链接 Inception v4 近年来 非常深度的卷积网络一
  • sharding+druid 读写分离

    ShardingSphere是一套开源的分布式数据库中间件解决方案组成的生态圈 它由Sharding JDBC Sharding Proxy和Sharding Sidecar 计划中 这3款相互独立的产品组成 他们均提供标准化的数据分片 分
  • 通过cmd窗口导入.sql文件来更新Mysql数据库中的数据

    一 使用命令行的原因 有小伙伴说 干嘛要命令行导入sql文件 直接用navicat导入sql它不香吗 那确实是 直到小编导入一个很大的sql文件时 总会出现数据丢失 俺也不知道为啥 要是有小伙伴知道可以科普一下 二 命令行使用流程 1 启动
  • 第三章——隐藏通信隧道技术

    目录 1 网络层隧道 1 pingtunnel 1 在web边界服务器上下载并运行ptunnel 2 在vps上运行ptunnel 3 在win7电脑上远程连接vps的1080端口 2 icmpsh 3 防御ICMP隧道攻击的方法 2 传输
  • SpringBoot事务详解

    文章目录 一 简介 1 介绍 2 事务特点 3 事务实现方式 3 1 MySql事务实现方式 3 2 SpringBoot实现机制 二 Transactional详解 1 Transactional常用配置 2 事务传播行为 3 事务5种隔
  • IP可以正常访问网站、域名无法正常访问

    问题 域名解析都是都是正常的 可以ping通所指向的IP 端口也可以telnet通 但是就是无法正常访问平台 错误提示403 解决方案 将tomcat里面的server配置文件中的defaultHost这个配置属性修改成网站访问的公网IP地
  • 安装ffmpeg并写入jupyter matplotlib

    Jupyter生成动画需要首先安装一个名叫ffmpeg的软件 这是一个支持网页生成视频的软件 进入ffmpeg主页 Builds CODEX FFMPEG gyan dev 点击下载最新版的ffmpeg git full 7z essent
  • Ogre学习记录

    Ogre学习记录 Posted on 2008 07 09 15 36 RichardHe 阅读 839 评论 2 编辑 收藏 引用 所属分类 OGRE 1 设计初衷 它设计初衷是完全跨平台的 抽象的接口隐藏了平台相关的细节 它设计初衷是大
  • 华为云盘古气象(Pangu-Weather)大模型调试运行之小白教程

    0 前言 最近盘古气象大模型研究成果在 Nature 正刊发表 这个消息引起了大家的广泛关注 作为地理模型爱好者 在之前的学习中接触过一些气象预测模型 对此怀有兴趣 而且顺带蹭蹭热度嘛 不丢人 在此分享一下自己的学习过程 笔者水平有限 如有
  • JPM Coin三部曲 (上) :深入理解摩根幣的運作

    全美最大的銀行摩根大通推出首個由美國銀行支持的加密貨幣 有人說這是主流金融機構開始接納加密貨幣的標誌 有人調侃摩根 CEO 傑米 戴蒙一邊炮轟比特幣 一邊忍不住自己發幣 還有密碼朋克旗幟鮮明地抨擊該 全美最大的銀行摩根大通推出首個由美國銀行
  • centos7配置syslog客户端上传日志

    由于客户要求 需要把主机上的syslog传递到指定系统上 之前没有做过相关设置 本次配置是第一次配置 先上网插了下syslog分为很多种 如图 这只是一部分 可以直接到 etc rsyslog conf配置文件中自行查看 根据需求可以选择全
  • 解决VScode中:C/C++编译器错误导致头文件报错问题

    一 软件安装 VScode安装网址 https code visualstudio com 进入网址 直接download即可 VScode软件很好安装 下载完安装包之后 双击安装包 选同意 选下一步 接下来将框中全部打 之后一路 下一步
  • Unity 新手向,如何快速利用插件设置高亮状态

    前言 相信很多小伙伴在开发游戏的过程中 会需要用到物体高亮的效果 效果如图所示 在初学阶段 我们不需要自己去写复杂的shader 而是快速利用插件来解决这一功能的需求 以下是我们本文将会使用到的一款免费的高亮插件 Quick Outline
  • 【廖雪峰python进阶笔记】面向对象编程

    1 定义类并创建实例 在Python中 类通过 class 关键字定义 以 Person 为例 定义一个Person类如下 class Person object pass 按照 Python 的编程习惯 类名以大写字母开头 紧接着是 ob
  • 关于vue导入csv文件格式错误,js-xlsx导入CSV文件中文乱码处理参考

    最近在vue导入csv文件踩的一个坑 废话就不多说了 直接上源码和处理过程 过程 我最近使用js xlsx导入CSV文件时会出现中文乱码 其实这种问题基本上都是因为文件的编码不对造成的 因为使用这个插件用的比较多之前是可以直接使用UTF 8
  • Gitlab 报错:Error 500 with /api/v4/projects: NoMethodError: undefined method `string_access_level‘

    新安装的gitlab1 14 1版本在调用查询所project的api时 会报如下错误 NoMethodError undefined method string access level for nil NilClass api enti
  • VC文件目录选择对话框(任意目录)

    程序运行界面显示如下 使用目录选择对话框时 如何让其弹出后自动打开指定目录 是的当用目录选择对话框时 用如下的结构打开 以下是代码片段 typedef struct browseinfo HWND hwndOwner LPCITEMIDLI
  • 区块链技术在医疗数据共享中的应用

    随着医疗信息化技术的日益发展 医疗数据的存储和管理变得更加重要 传统的数据存储方法面临着信息泄露 数据篡改等安全隐患 为了解决这些问题 人们开始探索将区块链技术应用于医疗数据共享 以提高数据安全性和可靠性 本文将探讨区块链技术在医疗数据共享
  • 简述SD卡的工作原理(四)

    简述SD卡的工作原理 功能 SD卡是存储卡 它的功能就是存储 分类 SD卡按容量分类 可以分为3类 SD卡 SDHC卡 SDXC卡 如下 容量 命名 简称 0 2G Standard Capacity SD Memory Card SDSC