1.SD卡内部架构

2.SD/MMC相关寄存器的介绍

2.1. Card Identification Register(CID)

2.2.Card Specific Data Register(CSD)

2.3.SD card Configuration Register (SCR)

2.4.Operating Conditions Register (OCR)

2.5.RCA寄存器

3. 参考文献

熟悉SD/MMC的相关寄存器对协议的理解有一定的辅助作用,所以这篇文章来介绍一下SD/MMC相关的寄存器有哪些呢?

1.SD卡内部架构

在熟悉SD/MMC相关寄存器之前,我们先来看看SD卡的内部架构是怎么样的,如下图所示:

2.SD/MMC相关寄存器的介绍


      从上图中总结出:SD卡内部有7个寄存器.

一、OCR,CID,CSD和SCR寄存器保存卡的配置信息;

二、RCA寄存器保存着通信过程中卡当前暂时分配的地址(只适合SD模式);

三、CSR寄存器卡状态(Card Status)和SSR寄存器SD状态(SD Status)寄存器保存着卡的状态(例如,是否写成功,通信的CRC校验是否正确等),这两个寄存器的内容与通信模式(SD模式或SPI模式)相关.

四、MMC卡没有SCR和SSR寄存器.

下面分别对7个寄存器中比较重要的寄存器详细解释一下,分别是CID、CSD、SCR、OCR、RCA这5个寄存器。

2.1. Card Identification Register(CID)
       这个 CID 寄存器有 16 字节长,如下表所示,它包含了本卡的特别识别码(ID 号)。 这些信息是在卡的生产期间被编程(烧录),主控制器不 能修改它们的内容。 注意:SD卡的 CID 寄存器和 MMC 卡的 CID 寄存器在记录结构上是不同的。

2.2.Card Specific Data Register(CSD)

这个描述数据寄存器(CSD)有 128 字节长,如下表所示,此卡的包含了访问该卡数据时的必要配置信息。“cell type”栏内定义了CSD的区域是只读(R)、一次编程(R/W)或可擦除的(R/W/E)[“R/W”是指可以多次擦写,“R/W(1)”是指只能一次写入,不可擦除]。该张表中所显示的值都对应真实的CSD结构中的各自区域和编码。CSD区域的样式是依照栏标记(和一个复选标记√)的样式。注意SD卡内的 CSD寄存器和MultiMedia卡的CSD寄存器有着不同的结构。

在SD3.0协议中,CSD分为版本1.0和版本2.0,版本1.0对应标准容量的SD卡,版本2.0对应高容量和超高容量的SD卡。

CSD Version 2.0的如下:

2.3.SD card Configuration Register (SCR)
       除了 CSD 寄存器外,还有一个配置寄存器的名字是:SD 卡配置寄存器(SCR)。SCR 提供了SD 卡的一些特殊特性在这张卡内。它的大小是64 位。这个寄存器内容由制造商在生产厂内设置,MMC卡没有SCR。

SCR_STRUCTURE 关于SD卡内的物理级说明中SCR结构的版本号。

SD_SPEC描述这张SD卡在物理级上所支持的说明版本。

DATA_STAT_AFTER_ERASE 定义了数据在擦除后的状态。是“0”或“1”中的任何一个(这要依赖卡的供应商)。

SD_SECURITY 描述了该卡所支持的安全算法。0:无 1:安全协议1.0 安全说明版本 0.96 2:安全协议2.0 安全说明版本 1.0 - 1.01。其他保留

SD_BUS_WIDTHS描述该卡所支持的所有数据总线宽度。从SD 卡支持最少1 位或4 位宽度这两种总线模式开始,任何SD 卡都将最少要设置0 和2 这两个位(即SD_BUS_WIDTH = 0101 ),1.4位保留。

2.4.Operating Conditions Register (OCR)
       这个 32 位的工作条件寄存器储存了卡的 VDD 电压轮廓图。任何标准的 SD 卡主控制器可以使用 2V 至 3.6V 的工作电压来让 SD 卡能执行这个电压识别操作(CMD1)。而访问存储器的阵列操作无论如何都需要 2.7V 至 3.6V 的工作电压。OCR 寄存器显示了在访问卡的数据时所需要的电压范围。OCR 寄存器的结构描述:

2.5.RCA寄存器
      该16位卡地址寄存器保存了在卡识别过程中卡发布的器件地址。该地址用于在卡识别后主机利用该地址与卡进行通信。该寄存器只有在SD总线模式下才有效。

3. 参考文献 
深入理解SD卡:协议 - 简书

eMMC SD/eMMC寄存器介绍相关推荐

  1. SD/eMMC初始化流程、读写流程(dwc mshc)

    目录 1.芯片简介 1.1 模块与接口 1.2 SD/eMMC初始化流程 1.3 SD/eMMC数据传输流程 1.3.1 传输模式 2.调试问题 2.1 uboot 2.1.1 连续读4个以上bloc ...

  2. 痞子衡嵌入式:恩智浦i.MX RTxxx系列MCU启动那些事(7)- 从SD/eMMC启动

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是恩智浦i.MXRTxxx系列MCU的SD/eMMC卡启动. 关于 i.MXRT 启动设备,痞子衡之前写过很多篇文章,都是关于串并行 NO ...

  3. SD/eMMC调试和性能优化

    Contents eMMC架构分析 SD与eMMC eMMC内部寄存器 eMMC数据通信 eMMC命令编码 eMMC总线测试 eMMC命令 eMMC调试 eMMC驱动 eMMC性能优化与功耗管理 eM ...

  4. Linux下eMMC,SD卡格式化和分区管理

    Linux下eMMC,SD卡格式化和分区管理 一.Linux下查看eMMC设备是否正确识别 在命令行终端,输入ls /dev/mmc* -l,查看eMMC是否成功识别 dev目录下成功识别到了eMMC ...

  5. 高通平台USB如何枚举 mass_storage,以及将nandflash/sd/emmc存储分区通过usb mass_storage function映射到PC 上面

    USB lun简单说明: lun是logical unit number,也就是逻辑单元号.我们知道scsi总线上可挂接的设备数量是有限的,一般为6个或者15个, 而实际上需要用来描述的对象,是远远超 ...

  6. SDIO wifi Marvell8801/Marvell88w8801 介绍(三) ---- Marvell8801/Marvell88w8801寄存器介绍

    代码工程的GITHUB连接:点进进入GITHUB仓库 https://github.com/sj15712795029/stm32f1_marvell88w8801_marvell8801_wifi ...

  7. FSMC驱动TFTLCD原理,时序和寄存器介绍

    一,FSMC简介 FSMC:灵活的静态存储控制器 能够与同步或异步存储器和16位PC存储器卡连接 STM32的FSMC接口支持包括SRAM.NAND FLASH.NOR FLASH和PSRAM等存储器 ...

  8. SD卡简单介绍-数据传输、模式流程

    有关SD卡接口及其内部寄存器请看这里!SD卡简单介绍 CSDN真的 ctrl+z 慎用!不知道那些工程师是怎么想的!垃圾 ~ SD总线传输 SD 总线通信是基于命令和数据传输的.通讯由一个起始位 (& ...

  9. [笔记分享] [eMMC] 内核eMMC分区及对应名字读取

    Chipset: msm8926  OS: Android4.4  Kernel: 3.4.0 在N久之前的会议上留下了两个问题:  1. 内核在加载emmc驱动时是如何知道当前有几个分区的?  2. ...

最新文章

  1. php service locator,Yii源码解读-服务定位器(ServiceLocator)
  2. 【数字智能三篇】之三: 一页纸说清楚“什么是深度学习?”
  3. ACL20 | 让笨重的BERT问答匹配模型变快!
  4. Nginx配置IP地址的动态黑名单
  5. Java动态代理一览笔录
  6. busybox devmem 直接获取、修改内存信息
  7. 吴恩达新研究:AI看心电图,诊断心律失常准确率超过人类医生丨Nature
  8. SecureCRT登录本地cygwin。
  9. Stoer-Wagner无向图全局最小割(hduoj 3691 Nubulsa Expo)
  10. 海康摄像头不记得登陆密码了怎么办?2020年联系人工客服最新版解答方案
  11. vmware的xp虚拟机更改虚拟硬盘序列号
  12. html css js php常用网页代码汇总合集(一)网页设计入门代码知识汇总1
  13. 百度网盘限速破解——Proxyee-down的下载与安装教程
  14. 51la V6蜘蛛统计功能上新
  15. leetcode LCP 03. 机器人大冒险 -java
  16. 解决Win10插入耳机没声音
  17. vue项目storage本地存储
  18. 2023前端大厂面试题之JavaScript篇(4)
  19. 10KV空压机继电保护定值设定
  20. 常用API,基本类型包装类,日期类,异常,集合进阶,IO流,多线程

热门文章

  1. C++ string substr()
  2. LCS 最大公共序列算法
  3. unity怎么导入系统的树_Unity5.0_树_软件教程_资源库
  4. 【PIL案例精讲】252行Python代码制作透明背景的电子印章
  5. 龙芯软件开发(6)--CPU龙芯2E
  6. Unity3d--基于对象池优化思想的音频管理系统
  7. mac下用户用户组命令行操作
  8. Windows下C++通过Hooks记录键盘敲击记录的代码
  9. Java+spring+springmvc 基于ssm的家乡特产销售系统#毕业设计
  10. zbb20180930 Postman 使用方法详解