SD2.0 Specification之SD卡寄存器(Card Register)

文章目录

  • CID(Card IDentification)
  • RCA(Relative Card Address)
  • DSR(Driver Stage Register)
  • CSD(Card-Specific Data)
  • SCR(SD CARD Configuration Register)
  • OCR(Operation Conditions Register)
  • SSR(SD Status Register)
  • CSR(Card Status Register)

本文章主要讲解SD2.0的各个卡寄存器(Card Register),基础概念和其它内容请参考以下文章。
SD2.0 Specification简述

每一张SD卡都有一系列SD卡寄存器,这些寄存器包含了SD卡的各种信息,每个寄存器描述的内容信息大体如下图所示
SD卡寄存器

CID(Card IDentification)

CID大小为128 bits,主要包含的是上电识别过程中会用到的一些身份信息,这个过程是通过CMD2命令来获取CID的(详情参考文章:SD2.0 Specification之上电初始化),每一张可写可读卡都有自己唯一的身份信息,下图是CID各个域的大小及含义。
CID Fields

  • MID
    制造商的ID编码,只有8 bits大小,这个编码号由SD-3C, LLC组织控制和分配,确保唯一性。
  • OID
    2个字符大小的OEM/Application ID,也是由SD-3C, LLC组织控制和分配,确保唯一性。
  • PNM
    生产名,5字节大小的字符串。
  • PRV
    生产版本号,8 bits大小。如0110 0011表示版本6.2
  • PSN
    序列号,32 bits。
  • MDT
    生产日期,12 bits。[19:12] 表示年,0表示2000年; [11:8]表示月,1表示1月。如00000001 0100表示2001年4月。
  • CRC
    对前面120 bits进行CRC7计算所得的校验值。

RCA(Relative Card Address)

RCA是SD卡在上电识别过程告诉主机的寻址地址,主机在拿到该地址后可以通过该地址单独访问该卡。这个地址值默认是0,主机可以通过发CMD3命令让SD卡修改RCA。

DSR(Driver Stage Register)

这个寄存器跟输出驱动力有关,是可选的,SD卡不一定有实现相关功能,CSD里有定义是否支持DSR。默认值是0x0404,可通过CMD4修改该寄存器。
DSR内容

CSD(Card-Specific Data)

CSD数据结构有2个版本,分别是1.0和2.0,1.0对应的是SD1.x标准的卡或者SD2.0的标准容量卡,2.0对应SD2.0标准的大容量卡。

CSD V1.0

CSD Version 1.0

  • CSD_STRUCTURE
    表示CSD的版本,具体数值含义如下图所示
    在这里插入图片描述
  • TAAC
    读访问时间计算所需的一个数值。
    TAAC access time definition

最大访问时间Nac(max)= 100* ((TAAC * fpp) + (100 * NSAC)) , fpp是接口时钟频率,该公式是针对标准容量卡的。大容量卡的读访问时间固定不能超过100ms。

  • NSAC
    读访问时间计算所需的一个数值。
  • TRAN_SPEED
    表示每一根DATA线上的最大传输速率。
    Maximum Data Transfer Rate Definition
    这个值通常是32h或5Ah,0_0110_010b (32h) 刚好表示最大操作频率是25MHz。0_1011_010b (5Ah) 刚好表示最大操作频率是50MHz,在使用CMD6切换或者CMD0复位后,该值会被切换到32h。
  • CCC
    表明SD卡支持哪些类别的命令,对应的位置1表示支持相应类别的命令。
     Supported Card Command Classes
  • READ_BL_LEN
    最大块读长度。
    Data Block Length
  • READ_BL_PARTIAL (always = 1 in SD Memory Card)
    总是支持块部分读,最小块读是1字节。
  • WRITE_BLK_MISALIGN
    定义一个命令要写入的数据块是否可以分布在设备的多个物理块上。0表示不允许,1表示允许。
  • READ_BLK_MISALIGN
    定义一个命令要读出的数据块是否可以分布在设备的多个物理块上。0表示不允许,1表示允许。
  • DSR_IMP
    定义是否存在DSR需要执行。0表示没有,1表示有。
  • C_SIZE
卡容量 = BLOCKNR * BLOCK_LEN 
BLOCKNR = (C_SIZE+1) * MULT 
MULT = 2 ^ C_SIZE_MULT+2 ,(C_SIZE_MULT < 8) 
BLOCK_LEN = 2 ^ READ_BL_LEN, (READ_BL_LEN < 12)
  • VDD_R_CURR_MIN, VDD_W_CURR_MIN
    在这里插入图片描述
  • VDD_R_CURR_MAX, VDD_W_CURR_MAX
    在这里插入图片描述
  • C_SIZE_MULT
    与前面计算容量相关。
    在这里插入图片描述
  • ERASE_BLK_EN
    这1 bit决定擦除操作的单位粒度。一种是以512 byte为单位,擦除的时候擦除一个或多个512 byte大小的块,一种是以扇区(SECTOR_SIZE)为单位,扇区(SECTOR_SIZE)记录的是块数量,在这种情况下,擦除操作擦除的是一个或多个扇区(SECTOR_SIZE)的块。

ERASE_BLK_EN = 0,擦除其实地址是5,结束地址是40,SECTOR_SIZE = 31 ,那实际的擦除效果就是地址0~63的数据都将被擦除。即擦除地址所涉及的扇区都会被擦除。
在这里插入图片描述

ERASE_BLK_EN = 1,擦除其实地址是5,结束地址是40,那实际只有地址5~40的数据块被擦除。
在这里插入图片描述

  • SECTOR_SIZE
    记录每个擦除扇区的块数量。该值为0表示1个扇区包含一个块,该值为127时表示1个扇区有128个块。
  • WP_GRP_SIZE
    记录一个写保护组的扇区数量。该值为0表示1个写保护组包含一个扇区,该值为127时表示1个写保护组有128个扇区。
  • WP_GRP_ENABLE
    0表示没有写保护组。
  • R2W_FACTOR
    定义典型块写时间为块读时间的倍数关系,具体如下。
    在这里插入图片描述
  • WRITE_BL_LEN
    最大块写长度,WRITE_BL_LEN和READ_BL_LEN总是相等的,具体含义如下图所示
    在这里插入图片描述
  • WRITE_BL_PARTIAL
    是否支持块部分写。
    WRITE_BL_PARTIAL=0表示只支持块写,块大小由WRITE_BL_LEN决定
    WRITE_BL_PARTIAL=1表示支持小块写,最小可以只有1 byte。
  • FILE_FORMAT_GRP
    表示所选文件格式组,与下面的FILE_FORMAT共同组成完整信息
  • COPY
    表明内容时原始数据(COPY=0)还是拷贝数据(COPY=1),这1 bit只能写1次。
  • PERM_WRITE_PROTECT
    表示卡内容是不是永久写保护,0表示不保护。
  • FILE_FORMAT
    表示文件格式,与前面的FILE_FORMAT_GRP组成完整含义。
    在这里插入图片描述
    更详细的信息在SD Memory Card File System specification里面。
  • CRC
    对前面120 bits进行CRC7计算所得的校验值。
CSD V2.0

CSD Version 2.0

  • TAAC
    固定为0Eh,表示1ms。主机不使用 TAAC、NSAC、R2W_FACTOR计算超时时间,而是使用固定值,读为100ms,写为250ms。
  • NSAC
    固定为00h。
  • TRAN_SPEED
    跟CSD V1.0的含义一样。
  • CCC
    跟CSD V1.0的含义一样。
  • READ_BL_LEN
    固定为9h,表示块读大小为512 byte
  • READ_BL_PARTIAL
    固定为0,表示只支持块完整读,不支持块部分读。
  • WRITE_BLK_MISALIGN
    固定为0,表示禁止跨块不对齐写。
  • READ_BLK_MISALIGN
    固定为0,表示禁止跨块不对齐读。
  • DSR_IMP
    跟CSD V1.0的含义一样。
  • C_SIZE
    扩展到22 bits,最大可以支持2TByte
    memory capacity = (C_SIZE+1) * 512K byte
  • ERASE_BLK_EN
    固定为1,表示擦除单位为512 bytes
  • SECTOR_SIZE
    固定为7Fh,表示扇区大小为64 KBytes
  • WP_GRP_SIZE
    固定为00h,大容量卡不支持该功能。
  • WP_GRP_ENABLE
    固定为00h,大容量卡不支持该功能。
  • R2W_FACTOR
    固定为2h,表示4倍。(读访问时间 * R2W_FACTOR)就是写超时时间,但主机应该使用250ms作为超时时间。
  • WRITE_BL_LEN
    固定为9h,表示块写大小为512 byte。
  • WRITE_BL_PARTIAL
    固定为0,表示只支持块完整写,不支持块部分写。
  • FILE_FORMAT_GRP
    固定为0,不使用。
  • COPY
    跟CSD V1.0的含义一样。
  • PERM_WRITE_PROTECT
    跟CSD V1.0的含义一样。
  • TMP_WRITE_PROTECT
    跟CSD V1.0的含义一样。
  • FILE_FORMAT
    跟CSD V1.0的含义一样。
  • CRC
    跟CSD V1.0的含义一样。

SCR(SD CARD Configuration Register)

OCR(Operation Conditions Register)

该寄存器记录SD支持的电压范围以及容量类别,同时在上电识别过程会标记SD卡是否已准备好(详情参考文章:SD2.0 Specification之上电初始化)
OCR Register Definition

SSR(SD Status Register)

待续

CSR(Card Status Register)

待续

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1559981.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

望繁信科技成功签约国显科技 流程挖掘助力制造业智造未来

近日&#xff0c;上海望繁信科技有限公司&#xff08;简称“望繁信科技”&#xff09;成功与深圳市国显科技有限公司&#xff08;简称“国显科技”&#xff09;达成合作。国显科技作为全球领先的TFT-LCD液晶显示及Mini/Micro LED显示产品供应商&#xff0c;致力于为笔记本、手机…

Linux云计算 |【第四阶段】RDBMS2-DAY4

主要内容&#xff1a; MHA概述、部署MHA集群 一、MHA概述 1、MHA简介 MHA&#xff08;Master High Availability&#xff09;是一款开源的MySQL的高可用程序&#xff0c;由日本DeNA公司youshimaton开发&#xff0c;是一套优秀的作为MySQL高可用性环境下故障切换和主从提升的…

Jenkins pipeline语法笔记

Jenkins pipeline 简介Jenkins Pipeline 优势DSL 是什么 pipeline支持两种语法&#xff1a;声明式pipeline语法&#xff1a;Pipelineagent Pipeline 声明式语法DeclarativeenvironmentoptionsparameterstriggerstoolsinputwhenParallel Pipeline Scripted语法流程控制Declarati…

罗永浩力荐格行随身WiFi,背后原因竟是...你绝对想不到!

一、罗永浩的“严选”哲学 虽然罗永浩做的是直播带货&#xff0c;但是他的形象与其他头部主播之间有着明显的不同。那些头部主播&#xff0c;都可以统称为“电商主播”&#xff0c;他们与那些淘宝店、京东店里直播的商家本质是一样的&#xff0c;只有流量和名气大小不同罢了。…

SpringBoot开发部署(热部署+常规部署+Docker部署)

开发热部署 SpringBoot模板引擎的页面默认是开启缓存的&#xff0c;如果修改了页面&#xff0c;则刷新页面是得不到修改后的页面的 在application.properties中关闭模板引擎缓存 Thymeleaf spring.thymeleaf.cachefalseFreeMarker spring.freemarker.cachefalseGroovy spring…

拓扑排序与入度为0的结点算法解析及实现

拓扑排序与入度为0的结点算法解析及实现 算法思想时间复杂度分析伪代码C语言实现环路检测结论拓扑排序是一种用于有向无环图(DAG, Directed Acyclic Graph)的重要操作,它可以对图中的结点进行排序,使得对于每一条有向边 (u, v),顶点 u 在排序中都出现在顶点 v 之前。本文介…

PVC刻字膜高精度模切应用

PVC刻字膜是一种由聚氯乙烯&#xff08;PVC&#xff09;为主要成分制成的薄膜材料&#xff0c;具有耐磨、耐刮、耐水、耐油以及良好的化学稳定性等特点。这种薄膜在多个行业中得到广泛应用&#xff0c;特别是在服装、鞋业、箱包、汽车内饰等领域&#xff0c;用于制作各种标识、…

C语言 | 第十四章 | 指针运算 指针数组 多重指针

P 131 断点调试应用案例&#xff08;2&#xff09;2023/2/3 一、应用案例 案例一&#xff1a;用调试查看数组越界异常。 #include<stdio.h> void main(){int arr[] {1,2,3,4,5};int i 0;int len sizeof(arr) / sizeof(int);for(i 0; i < len; i) { // 这里不…

代码随想录训练营Day29 | 93.复原IP地址 | 78.子集 | 90.子集II

学习文档&#xff1a;代码随想录 (programmercarl.com) 学习视频&#xff1a;代码随想录算法公开课 | 最强算法公开课 | 代码随想录 (programmercarl.com) Leetcode 93. 复原 IP 地址 题目描述 有效 IP 地址 正好由四个整数&#xff08;每个整数位于 0 到 255 之间组成&…

6. PH47 代码框架硬件开发环境搭建

概述 PH47代码框架的硬件开发环境搭建同样简单&#xff0c; 建立基本的 PH47 框架学习或二次开发的硬件开发环境所需设备如下&#xff1a; BBP 飞控板及相关软硬件: BBP飞控板&#xff0c;或者至少一块Stm32F411核心板&#xff08;WeAct Studio&#xff09;Stm32程序烧录工具…

【Vue3 + TS + Vite】从0到1搭建项目框架

前言 没搭建过Vue3的项目&#xff0c;从0开始搭建一下&#xff0c;记录一下自己的步骤。 技术栈&#xff1a; vue3 ts scss pinia vite 我尽量写的详细一些&#xff0c;后续也会记录我在项目过程中&#xff0c;遇到的一些问题。 文章目录 前言环境搭建一、创建项目1. 使用…

Java->排序

目录 一、排序 1.概念 2.常见的排序算法 二、常见排序算法的实现 1.插入排序 1.1直接插入排序 1.2希尔排序(缩小增量法) 1.3直接插入排序和希尔排序的耗时比较 2.选择排序 2.1直接选择排序 2.2堆排序 2.3直接选择排序与堆排序的耗时比较 3.交换排序 3.1冒泡排序…

【WEB应用安全测试指南–蓝队安全测试2】--超详细-可直接进行实战!!!亲测-可进行安全及渗透测试

安全基础理论入门知识参考上一篇《WEB应用安全测试指南蓝队安全测试1》 WEB应用安全测试指南2 一、文件 I/O 类1.1、任意文件上传1.2、任意文件下载1.3、文件包含 二、接口安全类2.1、短信炸弹2.2、邮件炸弹2.3、短信内容可控2.4、邮件内容可控 三、逻辑流程类3.1、越权3.2、未…

变阻器的未来发展趋势和前景如何?是否有替代品出现?

变阻器是一种用于调节电路中电阻值的电子元件&#xff0c;广泛应用于各种电子设备和系统中。随着科技的不断进步和应用领域的扩展&#xff0c;变阻器的未来发展趋势和前景备受关注。 未来变阻器将趋向于智能化和多功能化&#xff0c;随着物联网、人工智能等技术的快速发展&…

其他:python语言绘制案例

文章目录 介绍导入python包图1图2 介绍 python语言的科研绘图合集&#xff0c;数据来源Hydrogen-diffusion-and-water-rock-reaction 导入python包 import pandas as pd import glob import proplot as pplt import seaborn as sns import numpy as np import matplotlib.py…

java时间复杂度与空间复杂度的排序

怎么理解时间复杂度和空间复杂度 时间复杂度和空间复杂度一般是针对算法而言&#xff0c;是衡量一个算法是否高效的重要标准。先纠正一个误区&#xff0c;时间复杂度并不是算法执行的时间&#xff0c;再纠正一个误区&#xff0c;算法不单单指冒泡排序之类的&#xff0c;一个循…

小程序智能视频制作SDK解决方案,云端智能视频制作

无论是个人分享生活的点滴&#xff0c;还是企业展示品牌故事&#xff0c;一段精心制作的视频总能迅速抓住观众的眼球&#xff0c;传递无限价值。专业视频制作往往门槛较高&#xff0c;不仅需要专业的技能和设备&#xff0c;还耗费大量时间和精力。面对这一挑战&#xff0c;美摄…

决策树(descision tree)

一&#xff1a;决策树的基础介绍 决策树(descision tree)是一种基本的分类与回归的方法。决策树是一种对实例进行预测的树型结构。 下面是一个完整的二叉决策树&#xff0c;根据西瓜的几个特征判断西瓜的好坏。 纹理<1.5代表第一个判断条件&#xff0c;根据纹理<1.5是…

PPT技巧:保护PPT文件的方法有哪些?

PPT文件制作好之后保证文件不出错应该是很重要的&#xff0c;毕竟是要拿出去展示的&#xff0c;今天分享PPT加密方法给大家。希望能够帮助大家保护好自己的PPT文件。 打开密码 如果想要其他人需要输入正确的密码才能够打开文件查看并编辑&#xff0c;我们可以给PPT文件设置打…

Android -- [SelfView] 自定义多色渐变背景板

Android – 自定义多色渐变背景板 前言&#xff1a; Android 自带的 xml 文件内 gradient 设置渐变最多只有三种颜色&#xff0c;使用方便但范围受限&#xff0c;不能很好满足各种需求&#xff1b; 本款多色渐变背景板应运而生&#xff1a;* 1. 支持圆角模式&#xff0c;矩形模…