SD卡和SDHC卡操作
1.SD卡的命令格式:
SD卡的指令由6字节(Byte)组成,如下:
Byte1:0 1 x x x x x x(命令号,由指令标志定义,如CMD39为100111即16进制0x27,那么完整的CMD39第一字节为01100111,即0x27+0x40)
Byte2-5:Command Arguments,命令参数,有些命令没有参数
Byte6:前7位为CRC(Cyclic Redundacy Check,循环冗余校验)校验位,最后一位为停止位0
2.SD卡的命令:
SD卡命令共分为12类,分别为class0到class11,
不同的SDd卡,主控根据其功能,支持不同的命令集 如下:
Class0 :(卡的识别、初始化等基本命令集)
CMD0:复位SD 卡.
CMD1:读OCR寄存器.
CMD9:读CSD寄存器.
CMD10:读CID寄存器.
CMD12:停止读多块时的数据传输
CMD13:读 Card_Status 寄存器
Class2 (读卡命令集):
CMD16:设置块的长度
CMD17:读单块.
CMD18:读多块,直至主机发送CMD12为止 .
Class4(写卡命令集) :
CMD24:写单块.
CMD25:写多块.
CMD27:写CSD寄存器 .
Class5 (擦除卡命令集):
CMD32:设置擦除块的起始地址.
CMD33:设置擦除块的终止地址.
CMD38: 擦除所选择的块.
Class6(写保护命令集):
CMD28:设置写保护块的地址.
CMD29:擦除写保护块的地址.
CMD30: Ask the card for the status of the write protection bits
class7:卡的锁定,解锁功能命令集
class8:申请特定命令集 。
class10 -11 :保留
其中 class1, class3,class9:SPI模式不支持
了解了指令的形式和具体的控制内容,下面主要解决的就是MCU与SD卡的通信问题,通信主要需要注意下面的问题:
(1)供电电压:必须是3.3V,但是我在实际使用中用STC单
(2) 通信模式的切换:SD卡有两种通信模式:SPI模式和SD模式,默认情况下的通信模式是SD模式,但是我们常用的模式是SPI模式,这就需要一个切换模式的方法,具体的实现方法在其他地方也都有介绍,其关键的地方就是先上电延时大于74个时钟周期后发送复位命令,复位成功(接收到0x01的响应)后,连续发送CMD55和ACMD41,直到响应0X00为止,此时SD卡已经进入SPI模式。
(3)上面所说的发送复位命令(CMD0)以及CMD55和ACMD41要有具体的实现方法,需要解决的就是时序问题,
下图就为复位的时序图,只要能够按照下图的时序进行操作,肯定能够复位成功.
本复位分为(1)上电,(2)延时74个周期以上,(3)发送命令CMD0,(4)发送命令参数0X0000,(5)发送CRC校验0X95,(6)等待响应(7)响应0X01此时得到正确响应复位成功,否则重复以上操作直到成功为止。
介绍复位的同时其他的命令也和复位命令类似,只是根据命令的作用不同有着不同的响应类型和不同的后续操作,下面给出集中常用命令的时序图。
(1)读CID寄存器时序图
说明:当发送命令并得到响应0X00后就开始准备接收CID寄存器中的内容,此时只要接收到起始标志0XFE后,之后的16个字节的内容即为CID寄存器的内容。
(2)读CSD寄存器内容时序和读CID的类似,只是此时发送的命令为CMD9
SD卡数据的读写是以块为单位:默认情况下一块的大小为512字节
(3) 读SD卡一个块(512字节)时序
(4) 写一个块(512字节)时序图
SD卡和SDHC卡操作相关推荐
- ICMAX八大方法教你快速分清什么是SD卡与TF卡
很多人搞不清几种内存卡的区别,因为内存卡有好几种,这里说一下sd卡和TF卡的区别,sd卡一般是相机使用的大的内存卡,TF就是手机使用的小的内存卡, 不管是SD卡还是TF卡如果坏了都可以试着用内存卡修复 ...
- pcie16x能插1x的卡嘛?_这7个修复工具分享给你:不仅能修复U盘,SD卡、TF卡也能修复!...
今天小编就一口气把7个修复工具分享给大家,这些修复工具不仅能修复U盘,而且还能修复SD卡和TF卡哦~下面就来看看是哪几个神器吧!(文末提供下载) 在正式操作之前有几点需要提醒一下: 1.修复的过程中不 ...
- pcie16x能插1x的卡嘛?_小白把这7个修复工具分享给你:不仅能修复U盘,SD卡、TF卡也能修复!...
此前分享给大家的U盘量产工具帮助了许多朋友修复了本来不能使用的U盘,但是仍然有不少朋友反映"主控型号无法检测""没有对应的量产工具可以下载""量产后仍 ...
- SD卡和TF卡的区别
源于百度经验 最近看到有些网友经常询问SD卡和TF卡的区别,所以作家俺根据亲身经验给大家说说这个. SD卡和TF卡的区别 1外观区分: SD卡体积为24mm×32mm×2.1mm: TF卡体积为15m ...
- 八讲:TF/MicroSD 卡的 SDHC 标准与Class 速度等级详解
什么是 SDHC 标准? SDHC 是"High Capacity SD Memory Card "的缩写,即"高容量SD存储卡" .2006 年 5 月 SD ...
- 关于TF卡、SDHC标准和 class 速度等级分析
目前机友们使用高速闪存TF卡的越来越多了,4GB.8GB.已经很平常了,甚至16GB和32GB也有测试上机的,牛人多啊.但大部分机友还是对什么是SD卡,TF卡,SDHC标准,和Class传输速度等级不 ...
- 硬盘、移动硬盘、内存卡(SD卡、TF卡)、U盘修复,格式化
文章目录: 1 问题描述 2 硬盘.移动硬盘.内存卡(SD卡.TF卡).U盘修复工具 3 扇区的介绍 1 问题描述 我的是SD卡(就是TF卡)出现了问题,然后在windows系统PC上可以读出来,但是 ...
- HPUX11.31环境下,更换HBA卡后的配置操作(HP-UX)
更换HBA卡后的配置操作(HP-UX) 本节主要介绍当更换HP-UX主机的HBA卡后,如何在存储系统侧和主机侧进行相关的配置,使得更换后的HBA卡能正常使用. 配置前准备(HP-UX) 配置操作(HP ...
- SD卡、TF卡、SIM卡的区别
SD卡(Secure Digital Memory Card)是一种基于半导体快闪记忆器的新一代记忆设备.SD卡由日本松下.东芝及美国SanDisk公司于1999年8月共同开发研制.大小犹如一张邮票的 ...
- SD卡与MMC卡的区别
本文译至:http://home.impress.co.jp/magazine/dosvpr/q-a/0108/qa0108_2.htm 文件 02 2001年 8月号 SD卡和MMC(多媒体卡)似乎 ...
最新文章
- 相机自动对焦AF原理
- openstack对比其他有什么优点
- 使用雪花id或uuid作为Mysql主键,被老板怼了一顿!
- Windows Server 2012正式版RDS系列②
- 【搜索/推荐排序】NCF,DeepCross,Deep Crossing
- 隐藏虚拟键盘,解决键盘挡住UITextField问题
- Bootstrap 排版正文
- linux网络编程之socket:使用fork并发处理多个client的请求
- c语言标准函数库怎么建立教程,C语言入门教程-创建一个函数库
- Java怎么按照字母对单词排序_将一段字符串文本中的每个单词提取出来后按照字母顺序排序...
- matlab在图像处理中的应用实验,MATLAB实验Matlab在数字图像处理中的应用
- windows 安装 mongodb
- 资源---2020考研---英语网站---资料3(考研英语,英语学习。宣言:自从用了这个英语网站,七大姑八大姨开始担心他家孩子比不过我了~~~~~~~~~FT中文网)
- 苏宁服务器修复,苏宁服务器崩了?故障尚未完全修复,网友猜测或因顾客抢购...
- Carryon 数数字——小米 OJ 编程比赛 02 月常规赛(思维)
- CTF_ctfshow_meng新_web1-web24
- dpi和ppi换算_十分钟快速理解DPI和PPI,不再傻傻分不清!
- 一代大商孟洛川的经商之道
- 获取上个月的第一天和最后一天和当前月最后一天
- python 列表求最大值_Python找出列表中的最大数和最小数
热门文章
- python 修改文件内容3种方法,Python实现修改文件内容的方法分析
- Android 图片查看器选择器 PictureSelector
- 关于Oppen Live Writer中插入可折叠着色代码的插件
- 【Vmware的vmdk文件转img文件】
- go语言命令入门之env(操作环境信息)
- 重置Ubuntu root 密码
- 在路由器 RT-AC68U 使用自定义 DDNS 用 3322.org 动态域名的方法
- java round指令_java中Math.round()的用法
- 计算机老师教师节祝福语,2020教师节祝福语精选
- 无限火力无法连接到服务器,“无限火力”回来啦!连拳头都要世界聚焦于你 全新7777装备即将上线!...