SD卡初始化流程图,比较详细
SD卡设计基础指南
![SD卡设计基础指南](https://img.taocdn.com/s3/m/11a70f02cf84b9d529ea7a0c.png)
SD卡设计基础指南目录1、概述 (3)2、SD卡硬件设计规范指导 (3)2.1 SD卡接口总线分类 (3)2.1.1 SD总线拓扑 (4)2.1.2 SPI总线拓扑 (4)2.2 SD卡接口定义 (5)2.3 SD卡工作原理以及总线协议 (7)2.4 SD卡典型应用电路图 (8)2.7 SD卡PCB布局与走线规范 (10)3、SD卡规格总览 (13)3.1 SD卡种类 (13)3.2总线速 (13)3.3 智能型SDIO(iSDIO,无线局域网络SD) (15)4、SD卡的测试 (16)5、参考文献 (16)1、概述SD卡全名:Secure Digital Memory Card,它是由日本松下、东芝及美国SanDisk 公司于1999年8月共同开发研制,具有高记忆容量、快速数据传输率、极大的移动灵活性以及很好的安全性。
SD存储卡是特别为符合新出现的音频和视频消费电子设备的安全性、容量、性能和环境要求而设计的一种存储卡,它有比较高的数据传送速度,而且不断更新标准。
SD卡系统是一个新的大容量存储系统,基于半导体技术的变革。
它的出现,提供了一个便宜的、结实的卡片式的存储媒介,为了消费多媒体应用。
SD卡可以设计出便宜的播放器和驱动器而没有可移动的部分。
一个低耗电和广供电电压的可以满足移动电话、电池应用比如音乐播放器、个人管理器、掌上电脑、电子书、电子百科全书、电子词典等等。
它使用非常有效的数据压缩比如MPEG,SD 卡可以提供足够的容量来应付多媒体数据。
SD卡在24mm*32mm*2.1mm的体积内结合了快闪记忆卡控制与MLC技术和东芝的NAND技术,通过9针的接口与专门的驱动器相连接,不需要额外的电源来保持其上的记忆信息。
无论是听音乐、摄影、拍照、存档、或使用智能型手机,SD规格让制造商每天用效能更高的产品,传递更美好的日常使用经验给上百万个消费者。
作为一种产业通用技术标准,SD提供移动储存产业一个多元化的市场区隔应用,包括:移动电话、数码相机、MP3播放器、个人计算机个人电脑、平板计算机平板电脑、列表机打印机、汽车导航系统、电子书、以及更多消费性电子设备。
SD卡分区教程TF卡分区教程手机分区教
![SD卡分区教程TF卡分区教程手机分区教](https://img.taocdn.com/s3/m/b3ebff41571252d380eb6294dd88d0d233d43c7c.png)
recovery2.0版本其他版本请绕道!1、Reboot system now ——重启2、USB-MS toggle ——在recovery 模式下直接连接USB而不需要退出该模式3、Backup/Restore ——备份和还原3-1、Nand backup——Nand 备份3-2、Nand + ext backup——Nand 备份(系统和ext 分区一同备份)3-3、Nand restore——还原(就是还原3-1、3-2 的最后一次备份)3-4、BART backup——BART 备份(包括系统和ext 分区)3-5、BART restore——还原最后一次的BART备份Nand 备份类似于系统的备份而BART 则像是PC 上ghost 的备份。
Nand 备份它不会备份ext 分区(就是第二分区没有分区的可以不管这个)所以你的如果app2sd 了那么装在第二分区的程序用Nand 恢复是办不到的BAR T则可以备份到ext 分区用BART 恢复则可以恢复整个系统可以使它和你备份前一模一样,不会有一点文件信息的丢失(包括联系人、短信、图片、影音等,所以如果你装的东西比较多,那么备份和恢复会比较慢)4、Flash zip fromsdcard——从sd卡根目录的.zip ROM 刷机包刷机5、Wipe ——清除5-1、Wipe data/factory reset——清除内存数据和缓存数据5-2、Wipe Dalvik-cache——清除缓存数据+ ext 分区内数据5-3、Wipe SD:ext partition——只清除ext 分区内数据5-4、Wipe battery stats——清除电池数据5-5、Wipe rotate settings——清除传感器内设置的数据6、Partition sdcard ——分区sd 卡6-1、Partition SD——自动为sd 卡分区6-2、Repair SD:ext——修复ext 分区6-3、SD:ext2 to ext3——将ext2 分区转换为ext3 分区(推荐)6-4、SD:ext3 to ext4——将ext3 分区转换为ext4 分区(C4 卡不推荐,C6 卡推荐)7、Other ——其它7-1、Fix apk uid mismatches——修复apk 程序7-2、Move apps+dalv to SD——移动程序和虚拟缓存到sd 卡(这个可不是app2sd)7-3、Move recovery.log to SD——移动刷机日志文件到sd 卡(执行此操作后,sd 卡根目录会出现一个“recovery.log” 文件即为刷机日志文件)8、Power off ——关机用到以上大红部分!PS:分区后卡上内容全部丢失! 请在分区前备份需要备份的!PS:沒分过区。
分享N96硬格全过程
![分享N96硬格全过程](https://img.taocdn.com/s3/m/df54fe275901020207409c98.png)
分享N96硬格全过程我硬格机器的时候在论坛上查硬格方法,但是往往是人云亦云的,很多说的都不是N96的过程现在我把塞班1版2版3版的硬格流程说一下把首先就是备份(我一年格一次机器资料是大整理,备份方面我就不说了每个人都有自己的备份方法)现在开始格机首先关机(硬格是在关机状态下完成的,一定要保证电池有电啊)同时按住*,3,拨号键,确认按的顺手按得牢靠了,然后再按开机键。
这里有说要取出卡的,有说不取卡的,反正我没有取,就是内存卡和电话卡都带着硬格的。
上面的步骤适合诺基亚所有的智能机,但是下面的就不一样了按完开机键以后,先是屏幕一白,显示诺基亚的标志塞班一版:QD的过程是稍稍等几秒出现“Formating……”字样然后屏幕一块一块的逐渐变白,大约2分钟左右手机重启,重启后第一项就是设置语言,我的QD硬格完后显示的是英文的,根据提示设置完成,OK一版介绍完毕(我格QD的时候格完重启前手机没电关机了,当时心都凉了,都说这时候停电手机会变砖头,但是我的QD到现在依然坚挺,但是大家不要模仿啊)塞班二班:6630.7610,N72 这几个我都格过,除了格机的时间有个几秒钟的差别以外别的都一样,其中6630最快,就拿他说事把,前面一样出现诺基亚的标志以后这个屏幕不会显示Formating……”的字样,我看很多的介绍都说硬格的时候都会显示Formating……,但是我就是在QD上见到了别的真的不出现这字样,出现诺基亚的标志后大约10几秒钟,手机重启,显示的是繁体字,先选择国家地区,设置完成后二版OK,整个格机过程不超过1分钟,就跟重启一次手机差不多(N72 7610会慢点)塞班三版:就拿N96说事了,前面一样显示诺基亚标志以后就有电不一样了,先是黑屏(大约1秒多种)然后屏幕全白(当时有点紧张,但是大约有3~5秒钟吧)开始重启的各个步骤,但是要比正常重启的速度稍微慢点(也可能是紧张的关系,反正觉得时间要长点)手机重启,这个过程中会出现一段英文的提示,因为提示稍纵即逝所以我根本就没有看清楚提示的是什么,重启手机后首先选择国家地区(我的是马来版的显示的是繁体字)我查N96格机的时候很多人说硬格以后号码2会消失,但是我的N96常按#号键依然提示更换号码,(号码2我不会用所以具体有没有效我就不知道了,但是硬格后96长按#会提示更换号码,这是绝对肯定的),还有说硬格后会变成英文的,我就是在QD上遇到过变成英文,这有可能是版本的问题吧我就不知道了,还有在百度上问硬格完N96的WIF会消失,这个我不好说我的硬格完WIF一切正常N96硬格完重启手机设置完成以后,手机的My Nokia会提示你欢迎使用您的新手机,请设定。
新款PLC的SD卡使用方法
![新款PLC的SD卡使用方法](https://img.taocdn.com/s3/m/f8c4cee3910ef12d2af9e761.png)
首先,把一张格式化好的SD卡插入PLC里面,
然后点击PLC软件上面的 PLC 功能,再点击:设定
接着会自动连接PLC
然后会要求选择:功能块,这里要全部都选择,然后点击(设定)按钮
另外在下载程序到SD卡里面之前,最后把当前是数据更新一下,以防止数据是旧的,
或者,要求客户在备份之前,把触摸屏上的画面都拍一遍,以防止数据有错误的时候,还有一份记录
PLC程序恢复就比较简单,首先把备份好的程序发给客户,
让客户把有程序的SD卡插入到机器上,(插卡之前最好把PLC断电)
然后让客户把PLC通电,这个时候就能看到PLC上的通讯灯在闪烁,等通讯等为绿色时,就可以了,这个过程大概30秒
然后在把PLC断电,把SD卡取出来,
然后再把PLC通电,这个程序就恢复完成了。
SD卡存储模块设计
![SD卡存储模块设计](https://img.taocdn.com/s3/m/78e012054a7302768e99391a.png)
N n ls adFah模块 向 S D提供 两种接 口 : 逻辑地址操 作接 口
和 物 理 地址 操 作 接 口。 逻 辑 : 作命 令 R a , ie 逻 辑 地 址 。 操 ed Wr , t 物理 : 操作 命 令 R a , i ,l kEae 物 理 地 址 ed Wre Bo rs, t c 。
M Hz 。
知 S ed S ed通 过 检 测 D T 0线 来 判 断 S DR a ,DR a AA D卡 是 否 处 于 忙 的状 态 , 样 就 可 以 实现 数据 写操 作 时 流 量 控 制 。 这
l c 。
S s ls l S i D o R。 D c Ht e。 Cr d Ia t Da【
f) 2并行性 : 可以设计 2个或 者多个 D tB f r 提高数 a ue来 a
据读写速度 。 主 控 模 式 : 有 二 种 主 控 模 块 :D C nr l 、 a dFah 二 S ot l rN n l oe s
C nrl r C2Co P o esr 。 o tol 和 e — rc so/ 2. 051 18
.
t e r d du e d i n T ou h t s i peme t lr c n r ad an i p ed f2 h ea er mo l esg hr g hi m l nat 1 a e d wre s e s o 0MB s 1 MB S B O . t . / , 2 / . y W86 3 8D ige C p.Or L8 br d hi C l —
D 产品设计与开发 』 rd c D sg n e eo me t o ut e ina dD v lp n
S 卡 存 储 模 块 设 计 D
sdio linux驱动流程图
![sdio linux驱动流程图](https://img.taocdn.com/s3/m/4e3f6028a5e9856a5612600a.png)
SD卡的工作原理想了解SD卡的工作原理,首先需要了解的就是SD卡协议了,这个在网上可以轻松的下载到。
在了解协议后,就可以看看下面的一些开发思路了。
首先看下脱离操作系统如何在S3C2410上实现SD卡的读写。
过程可以分为3个大的步骤:初始化sd卡、写sd卡、读sd卡;下面的过程是我通过realview-MDK环境测试过的。
一、初始化sd卡二、写sd卡写sd卡可以分为3种方式:POLL、中断、DMA (1)POLL写三、读sd卡读sd卡也可分为3中方式:POLL、中断、DMA (1)POLL读SD卡linux驱动工作原理,说了下脱离操作系统如何在S3C2410上实现SD卡的读写。
了解了脱离操作系统的工作原理后,现在可以思考linux是如何管理管理SD卡的了。
Linux中SD驱动可以分为3层:块设备层(mmc_block.c ,mmc_sysfs.c,mmc_queue.c)、mmc协议层(mmc.c)、sd驱动层(s3c2410_sdi.c)。
下面从以下几个方面理解驱动:1、s3c2410_sdi.c代码初始化过程;2、SD卡块设备注册过程;3、request及数据传输的实现。
下面介绍的过程参考的代码是内核版本是2.6.8,其它版本过程类似。
一、s3c2410_sdi.c代码初始化过程二、SD卡块设备注册过程三、request及数据传输的实现SD卡调试关键点:1. 上电时要延时足够长的时间给SD卡一个准备过程,在我的程序里是5秒,根据不同的卡设置不同的延时时间。
SD 卡初始化第一步在发送CMD命令之前,在片选有效的情况下首先要发送至少74个时钟,否则将有可能出现SD卡不能初始化的问题。
2. SD卡发送复位命令CMD0后,要发送版本查询命令CMD8,返回状态一般分两种,若返回0x01表示此SD卡接受CMD8,也就是说此SD卡支持版本2;若返回0x05则表示此SD卡支持版本1。
因为不同版本的SD卡操作要求有不一样的地方,所以务必查询SD卡的版本号,否则也会出现SD卡无法正常工作的问题。
SPI模式下对SD卡的操作
![SPI模式下对SD卡的操作](https://img.taocdn.com/s3/m/9d7c5637657d27284b73f242336c1eb91b373345.png)
SPI模式下对SD卡的操作STM32的SPI设备简介:STM32F107VC有3个SPI设备,SPI控制器在输出数据的同时采样输入数据,使用相同时钟线。
Master设备写操作的同时,读入寄存器同时采样填充,每次也需要清空寄存器。
Master设备的读操作,实际上是通过写数据输出时钟序列,采样MISO的信号。
SD卡简介:SD卡的技术规范经过几次升级,与最初版本已有很大不同,本文基于Ver 3.01讨论从容量上分SD卡支持SPI的Mode0和Mode3SD卡支持50MHz总线,STM32的APB2总线最高72MHz,SPI分频?为36Mhz,理论上所有SD卡都可以正常操作,实际上一些低版本的卡缺乏稳定性插入信号CD:CD线是可选的信号线,没有卡时为高电位,有卡插入时CD为低电位电位稳定延迟:CS线为高的状态下输出若干时钟,延迟利于电位稳定SD卡的准备状态,初始化操作:SD卡从上电到可读写状态需要一定序列命令的操作,这个过程包括选择SPI模式和判断卡的版本以及供电操作SD规范中的流程图CMD0SD卡上电后使用CMD0进入SPI模式,CMD0的返回值是1字节的R1,R1应该为空闲0x01CMD8版本2.0以上的SD卡支持CMD8命令,包括大部分SDHC的卡和所有SDXC卡,早期的SDHC卡有可能仍属于V1.0卡命令返回值R7,第一字节为R1,Ver1.0的卡对R1的“非法命令”位2置位,Ver2.0以上卡应返回0x01ACMD41和CMD1ACMD41是为卡供电命令,供电前卡的状态为空闲(idle),R1的返回值为0x01,供电后为动作状态(ready)一些早期的卡认为ACMD41是非法命令,只能用MMC的CMD1命令供电CMD58CMD58读取卡的状态,一个重要的标志位CCS,会影响到读写操作中地址数据的设定CCS为1时为高版本卡,数据地址为页单位,512字节为一页CCS为0时,地址为以字节为单位实际地址CCS置位与否也取决于ACMD41中对HCS:30bit的置位请求CMD9取得卡容量等信息,CSO寄存器,CSO是16个字节的结构体,加上2字节的CRC,应读取18字节的内容卡的信息也有版本区别,需要分别处理CMD24 CMD17CMD24写数据CMD17读数据SD的读写都要以页单位进行,无论是否是新版本。
三星手机如何格式化micro SD卡
![三星手机如何格式化micro SD卡](https://img.taocdn.com/s3/m/eb63aa770b1c59eef8c7b466.png)
若未找到解决方案,您还可寻求以下帮助: 24小时微信客服
智能客服小星
远程服务
服务中心地址
需要服务? 预约服务(上门) 预约服务(到店) 三星数字服务平台 在线服务 ※ 我们的服务时间是周一至周五 8:00~20:00。 周末及节假日 8:00~17:00
内容反馈
ቤተ መጻሕፍቲ ባይዱQ1. 内容是否对您有帮助 ?
是
无
Q2. 文章内容您是否满意 ?
4.点击【存储】。 5.向上滑动手机屏幕,选择【格式化SD卡】。
6.屏幕会提示“SD卡清除后数据无法恢复。是否继续?”,点击【格式化SD卡】。
* 此题以I9500为例,具体操作以您手机实际菜单为准。
更多内容
三星手机如何将联系人复制到SIM卡? 什么是快速拨号?三星手机如何设置快速拨号? 三星手机如何新建联系人? 三星手机升级后不能用三星账户同步数据,为什么? 三星手机如何对三星账户进行同步设置?
H
分享
Last Update date : 2013.07.26
注:在格式化之前请先备份SD卡存储的重要数据,例如:照片、视频文件等,因为格式化SD卡后会将其保存的所有数据删除。 格式化SD卡的操作方法如下: 1.在待机页面下,点击【应用程序】。
2.点击【设定】。
3.点击【更多】。(注:有些手机无【更多】选项,直接跳到第4步即可。)
非常满意 满意 一般 不满意 非常不满意
Q3.为 了 更 好 地 为 您 服 务 , 请 留 下 您 的 宝 贵 意 见 。
此留言框仅收集对该内容的意见,并不具备回复功能,在此留下联系信息我们无法回复您。如需交流,欢迎您通过以上的在线客服 链接,与客服直接洽谈
提交
Copyright © 1995-2015 SAMSUNG All rights reserved
SD学习报告
![SD学习报告](https://img.taocdn.com/s3/m/a69868d1360cba1aa811dae8.png)
Data in
command
Data out
response datablock crc
读块操作
Data in
command datablock
Data out
response
data resp busy
写块操作
命令结构
Bit position
47
46
【45:40】 【39:8】 】 】 6 x 32 x argument
0 1 1
endbit
SPI模式 模式
主要操作 与SD模式一样,在SPI模式下对SD卡主要操作为读取数据,写入数据,擦出 数据,保护数据等。其中数据读写最常用。 模式切换 主机上电复位后,所有卡进入SD模式。在复位命令期间,主机检测CS信号是 否一直拉低。若一直为低电平,则SD卡进入到SPI模式。 与SD模式区别 模式区别 (1)在SPI模式下,一个主机也可以与多个从机进行通信。但在一个时刻只 能与一个从机通信。选择指定的从机不必发送命令(CMD7),而是直接将 指定从机的片选信号CS拉低,将其他从机CS置高即可。 (2)该模式数据线只有一位,而SD模式下可以分别有1位,4位数据宽度。 (3)SD模式下命令,命令回复均由CMD线传输。而SPI模式命令回复由 data线传输。
2)内部寄存器 ) SD卡内部一共定义了六个寄存器:OCR、CID、CSD、RCA、DSR、 SCR。这些寄存器都可通过相应指令访问。OCR、CID、CSD、SCR寄存器 包含了卡的特征信息。RCA、DSR是配置寄存器,存储配置参数。
Name
CID RCA DSR CSD SCR OCR
Width
【7:1】 】 7 x CRC7
0 1 '1' end bit
FAT文件系统的SD卡单片机读写方法详解
![FAT文件系统的SD卡单片机读写方法详解](https://img.taocdn.com/s3/m/9e954034a517866fb84ae45c3b3567ec102ddca8.png)
FAT文件系统的SD卡单片机读写方法详解FAT(File Allocation Table)文件系统是一种用于存储和组织文件的文件系统。
SD卡是一种常见的存储设备,广泛应用于单片机系统中。
在单片机中,访问和读写SD卡上的文件需要特定的方法和步骤。
本篇文章将详细介绍FAT文件系统的SD卡在单片机中的读写方法。
1.硬件接口配置:在单片机系统中使用SD卡之前,需要进行硬件接口的配置。
SD卡使用SPI(Serial Peripheral Interface)进行数据传输,因此需要连接SD卡的CLK(时钟)、MISO(主从串行数据输入)、MOSI(主从串行数据输出)和CS(片选)引脚。
在单片机上使能SPI模块,并设置相关寄存器进行SPI传输的配置。
2.初始化SD卡:在开始使用SD卡之前,需要进行初始化操作。
初始化主要包括向SD 卡发送初始化命令和等待SD卡的响应。
初始化命令主要包括发送复位命令(CMD0)和发送初始化命令(CMD1)。
发送命令后,需要等待SD卡发回响应信号,即SD卡的操作完成,才能进行下一步的操作。
3.读取文件目录:在FAT文件系统中,文件目录存储了文件的相关信息,如文件名、文件大小、起始簇号等。
读取文件目录需要进行多次读取操作,以读取目录项的内容。
首先需要读取FAT表,获取根目录的起始簇号。
然后根据起始簇号,读取对应的目录项内容。
目录项的读取可以通过读取SD卡上的扇区数据进行,需要注意目录项的位置和格式。
4.读取文件数据:在FAT文件系统中,文件数据以簇(Cluster)为单位进行存储。
每个簇的大小一般为512字节。
首先需要根据文件目录项中的起始簇号,定位到对应的簇,并读取簇的数据内容。
读取文件数据就是按照簇的顺序进行读取,直到读取到文件结束符为止。
通过读取SD卡上的扇区数据,并根据FAT表中的簇号进行簇的链式读取。
5.写入文件数据:写入文件数据和读取文件数据类似,也是按照簇的顺序进行写入。
SD卡使用手册
![SD卡使用手册](https://img.taocdn.com/s3/m/87a247eb6294dd88d0d26b77.png)
SD卡使用手册第1章 SD软件包使用手册SD/MMC 卡是一种大容量(最大可达4GB)、性价比高、体积帏、访问接口简单的存储卡。
SD/MMC 卡大量应用于数码相机、MP3 机、手机、大容量存储设备,做为这些便携式设备的存储载体,它还具有低功耗、非易失性、保存数据无需消耗能量等特点。
SD 卡接口向下兼容MMC(MutliMediaCard 多媒体卡)卡,访问SD 卡的SPI 协议及部分命令也适用于MMC 卡。
1.1 SD/MMC卡的外部物理接口SD 和MMC 卡的外形和接口触点如图1 所示。
其中SD 卡的外形帺寸为:24mm x 32mm x 2.1mm (普通)或24mm x 32mm x 1.4mm (薄SD 存储卡),MMC 卡的外形帺寸为24mm x 32mm x 1.4mm 。
表1 为SD/MMC 卡各触点的名称及作用,其中MMC 卡只使用了1 ~ 7 触点。
表1 SD/MMC 卡的焊盘分配滨:1. S:电源;I:输入;O:推挽输出;PP:推挽I/O。
2. 扩幕的DAT 线(DAT1 ~ DAT3 )在上电后处于输入状态。
它们在执行SET_BUS_WIDTH 命令后作为DAT 线操作。
当不使用DAT1 ~ DAT3 线时,主机应使自己的DAT1~DAT3 线处于输入模式。
这样定义是为了与MMC 卡保持兼容。
3. 上电后,这条线为带50KΩ上拉电阻的输入线(可以用于检测卡是否存在或选择SPI 模式)。
用户可以在正常的数据传输中用SET_CLR_CARD_DETECT(ACMD42 )命令断开上拉电阻的连接。
MMC 卡的该引脚在SD 模式下为保留引脚,在SD 模式下无任何作用。
4. MMC 卡在SD 模式下为:I/O/PP/OD。
5. MMC 卡在SPI 模式下为:I/PP。
由表1 可见,SD 卡和MMC 卡在不同的通信模式下,各引脚的功能也不相同。
这里的通信模式是指微控制器(主机)访问卡时使用的通信协议,分为两种:SD 模式及SPI 模式。
SD3.0四个协议解读
![SD3.0四个协议解读](https://img.taocdn.com/s3/m/42dde1df85254b35eefdc8d376eeaeaad1f316b0.png)
SD3.0四个协议解读前⾯的⽂章提到过SD卡主要分为两个操作模式,⼀是初始化和识别操作模式。
还有⼀种就是这篇⽂章须要分析的传输数据模式啦。
传输数据模式:传输数据模式主要有六种状态,各⾃是Stand-by状态、Transfer状态、Sending-data状态、Receive-data状态、Programming状态、Disconnect状态。
这六种状态通过不同的Command就能够切换到某种状态,换句话说,这六种状态贯穿了整个传输数据模式。
要理解传输数据模式的流程,⽼衲觉得除了理解这六种状态,还须要对Commands有⼀定的了解。
越熟悉越好。
当然。
这并⾮叫你去背Commands。
好了。
我们来看看传输数据模式的流程框图:⽼衲我第⼀次看到这图的时候,简直看晕了,有⽊有!。
太恶⼼了吧,谁定义的协议。
敢不敢再复杂⼀点?没办法,做IT的就是苦逼,仅仅能慢慢⼀点点啃,在理解流程之前。
我们必须讲协议⾥的英⽂翻译⼀遍,然后结合流程图理解究竟是怎么⼀回事,最后结合代码来看,这才⼲真正明确传输数据的过程是怎么⼀回事,以下是对英⽂协议⾥传输数据模式的翻译:传输数据模式(翻译):在SD卡识别模式结束之前,控制器使⽤的时钟频率均为Fod。
在传输数据模式,控制器可能会使⽤Fpp频率。
控制器发送⼀条SSEND_CSD(CMD9)命令来获取SD卡CSD寄存器(Card Specific Data)⾥⾯的描写叙述值,譬如,块长度。
卡容量信息等。
⼴播命令SET_DSR(CMD4)配置全部识别卡的驱动段。
相应于应⽤总线LayOut(长度)。
卡的数量和传输数据频率,这个命令设置DSR寄存器。
时钟频率在那个点上也应该从Fod切换Fpp。
SET_DSR命令对Host和卡都是可选的。
CMD7 ⽤来选择⼀个卡并将它置于传输状态(Transfer state)。
在不论什么时间仅仅能有⼀个卡处于传输状态。
假设已有⼀个卡处于传输状态,它和主机的连接将释放,并返回到 Stand-by状态。
SDMMC卡初始化及读写流程讲述
![SDMMC卡初始化及读写流程讲述](https://img.taocdn.com/s3/m/9ab7b74e51e79b896902269d.png)
二、MMC/SD卡的模型和工作原理PIN脚、SD卡总线、SD卡结构、SD卡寄存器、上电过程SD卡寄存器:OCR:操作电压寄存器: 只读,32位第31位:表示卡上电的状态位CID: 卡身份识别寄存器只读128位生产厂商、产品ID,生产日期和串号等CSD:部分可写128位卡的容量、擦出扇区大小、读写最大数据块的大小、读操作的电流、电压等等 CSR: 卡配置寄存器64位数据位宽RCA:16位相关的卡地址寄存器,卡识别过程中主控器和卡协商出来的一个地址三、SD卡命令和响应格式命令和相应格式SD卡命令,命令类型,ACMD命令响应类型、卡类型、卡状态转换表命令的格式:48位起始位0 方向位(host to card: 1, card to host: 0)内容CRC7 结束位1·响应的格式:48位或者136位卡命令:命令的类型:bc: broadcast without Response 无响应的广播bcr: broadcast with Response 有响应的广播ac: Address(point-to-point) Command: 点对点,DATA0~DATA3数据线上无数据adtc: Adress(point-to-point) Data Transfer Commands 点对点,DATA0~DATA3数据线上有数据CMD0, CMD2, CMD3, CMD55, ACMD41 命令可能会导致卡的状态发生变化响应类型:R1,R1b, R2, R3,R6(SD2.0扩展了R7)扩展内容:SPI工作模式:要知道的特点:只支持一个卡,没有RCA,命令只是MMC/SD的基本的子集SDHC:(支持2GB~32GB):理解CMD8的作用,命令格式和响应,了解CSDV2.0寄存器做了扩展SDIO WIFI:增加CMD52,CMD53CMD8可以通过重新定义先前保留的位,来扩展一些已经存在的命令的新功能。
SD卡中文数据手册
![SD卡中文数据手册](https://img.taocdn.com/s3/m/b1cbe0ea0342a8956bec0975f46527d3240ca6ab.png)
SD卡中⽂数据⼿册SD卡中⽂数据⼿册⼀概述1.SD总线模式下CLK:时钟信号CMD:双向命令和响应信号DAT0-3:双向数据信号VDD,VSS:电源和地信号SD模式下允许有⼀个主机,多个从机(即多个卡),主机可以给从机分别地址.主机发命令有些命令是发送给指定的从机,有些命令可以以⼴播形式发送.SD模式下可以选择总线宽度,即选⽤⼏根DAT信号线,可以在主机初始化后设置.2.SD总线协议SD模式下的命令和数据流都有⼀个开始位和结束位.>命令:是在CMD上传输的⽤于启动⼀个操作的⽐特流.由主机发往从机,可以是点对点也可以是⼴播的. >响应:是在CMD上传输的⽤于之前命令回答的⽐特流.由从机发往主机.>数据:是在DAT上传输的⽐特流,双向传输.⽆响应模式⽆数据模式多块读操作模式多块写操作模式命令格式响应格式数据格式SD卡上电后会⾃动初始化,通过给卡发送CMD0也可以复位卡.⼆.SD卡命令描述.1.⼴播命令:给所有卡都发送,某些命令需要响应.2.点对点命令给指定地址的卡发送,需要响应.SD卡系统有两种⼯作模式:1.卡识别模式.主机上电复位后即处于此模式,它会在总线上等待卡.卡复位后也处于此模式,直到SEND_RCA(CMD3)命令到来.2.数据传输模式.卡收到SEND_RCA(CMD3)命令后即进⼊此模式.主机识别到卡后也进⼊此模式.卡状态和⼯作模式对照表1.卡识别模式.此模式下主机复位总线所有的卡,验证⼯作电压,询问卡的地址.这个模式下所有数据的传输都是只通过CMD线来完成.1)卡的复位.当卡上电或收到GO_IDLE_STATE(CMD0)命令后,卡即进⼊Idle State状态.此时卡将其RCA设为0,相关寄存器设为传输稳定的最优模式.2)⼯作电压验证每个卡的最⾼和最低⼯作电压存储在OCR.只有当电压⽐配时,CID和CSD的数据才能正常传输给主机.SD_SEND_OP_COND(ACMD41)命令⽤来判断卡的⼯作电压是否符合,如果不符合的话,卡应该放弃总线操作,进⼊Inactive State状态.在发送SD_SEND_OP_COND(ACMD41)命令前记得要⾸先发送APP_CMD (CMD55).卡的状态变换图.ACMD41命令响应中的BUSY位也⽤于卡表⽰其还没准备好,主机此时应重发ACMD41命令,直到卡准备好.主机在这个阶段的ACMD41中不允许改变⼯作电压,如果确实想改变的话,应该先发送CMD0,然后再发送改变后的ACMD41.GO_INACTIVE_STATE(CMD15)命令⽤于使指定地址的卡进⼊Inactive State模式.3)卡识别过程.ALL_SEND_CID(CMD2)命令⽤于获取卡的CID信息,如果卡处于Ready State,它就会在CMD线上传送它的CID信息,然后进⼊Identification State模式.紧接着发送CMD3 (SEND_RELATIVE_ADDR)命令,⽤于设置卡新的地址.卡收到新的地址后进⼊Stand-by State 模式.2.数据传输模式.数据传输模式下卡的状态转变图进⼊数据传输模式后,主机先不停的发送SEND_CSD(CMD9)命令获取卡的CSD信息. SET_DSR(CMD4)⽤于设置卡的DSR寄存器,包括数据总线宽度,总线上卡的数⽬,总线频率,当设置成功后,卡的⼯作频率也随之改变.此步操作是可选的.CMD7命令⽤于使指定地址的卡进⼊传输模式,任何指定时刻只能有⼀个卡处于传输模式.传输模式下所有的数据传输都是点对点的,并且所有有地址的命令都需要有响应..所有读命令都可以由CMD12命令停⽌,之后卡进⼊Transfer State.读命令包括单块读(CMD17),多块读(CMD18),发送写保护(CMD30),发送scr(ACMD51)和读模式⼀般命令(CMD56)..所有写命令都可以由CMD12命令停⽌.写命令包括单块读(CMD24),多块读(CMD25),写CID(CMD26),写CSD(CMD27),锁和解锁命令(CMD42)和写模式⼀般命令(CMD56)..当写命令传输完成后,卡进⼊Programming State(传输成功)或Transfer State(传输失败).如果⼀个卡写操作被停⽌,但其前⾯数据的CRC和块长度正确,数据还是会被写⼊..卡要提供写缓冲,如果写缓冲已满并且卡处于Programming State,DAT0保持低BUSY. .写CID,CSD,写保护,擦除命令没有缓冲,当这些命令没完时,不应发送其他的数据传输命令..参数设置命令在卡被编程时是不允许发送的,这些命令包括设置块长度(CMD16),擦除块起始(CMD32)和擦除块结束(CMD33). .当卡正编程时读命令是禁⽌的..⽤CMD7使另⼀个卡进⼊Transfer State不会终⽌当前卡的编程和擦除,当前卡会进⼊Disconnect State并且释放DAT线..Disconnect State模式的卡可通过CMD7重新被选中,此时卡进⼊Programming State 并且使能busy信号..CMD0或CMD15会终⽌卡的编程操作,造成数据混乱,此操作应禁⽌.1)总线宽度选择命令ACMD6命令⽤于选择总线宽度,此命令只有在Transfer State有效.应在CMD7命令后使⽤.2)块读命令块是数据传输的最⼩单位,在CSD(READ_BL_LEN)中定义,SD卡为固定的512B.每个块传输的后⾯都跟着⼀个CRC校验.CMD17(READ_SINGLE_BLOCK)⽤于传输单个块,传输完之后,卡进⼊Transfer State.CMD18(READ_MULTIPLE_BLOCK)⽤于多个块的传输,直到收到⼀个CMD12命令.3)块写命令与块读命令类似,每个块传输的后⾯都跟着⼀个CRC校验.卡写数据时会进⾏CRC校验.多块写⽐重复的单块写更能提⾼效率.如果CSD中的WRITE_BLK_MISALIGN没设置,并且发送的数据不是块对齐的,卡会设置状态寄存器中的ADDRESS_ERROR 位,并且进⼊Receive-data-State状态等待停⽌命令.此时写操作也会停⽌,并且卡会设置其的WP_VIOLATION位.如果写缓冲满的话,卡会停⽌接受WRITE_BLOCK命令.此时主机应发送SEND_STATUS (CMD13)命令,卡返回数据的READY_FOR_DATA位标志卡是否准备好接受新的数据.在多块写操作中通过事先发送ACMD23命令可提⾼写速度.ACMD23⽤于定义接下来要写数据的块的数⽬.每次多块写操作后,这个值⼜被设为默认的1.ACMD22会使卡返回写成功的块数⽬.4)擦除命令擦除命令的顺序是:ERASE_WR_BLK_START(CMD32),ERASE_WR_BLK_END(CMD33)and ERASE (CMD38).如果(CMD38或(CMD32,33)接收到出错信息,卡会设置状态寄存器中的ERASE_SEQ_ERROR 位并且重新等待新的命令时序.如果接收到时序错误命令,卡会设置其ERASE_RESET位并且重新等待新的命令时序.5)写保护管理三种机制:-.写保护物理开关-.卡内部写保护通过设置CSD中的WP_GRP_ENABLE位和WP_GRP_SIZE位,SET_WRITE_PROT和CLR_WRITE_PROT命令⽤来设置和清除保护机制.-.密码保护.三.时钟控制如果主机要发送1K的数据,但是主机缓冲区只有512B,那么主机可以在发送完前512B 后,可以先停⽌时钟,然后把后512B填充⼊缓冲区,再启动时钟,这样卡并不会检测要两次发送之间的间隔,认为其是⼀次完整的数据发送过程.四CRC校验1.CRC7CRC7⽤于所有的命令,除R3以外的响应,以及CID和CSD寄存器.2.CRC16CRC16⽤于数据块的校验五.错误类型.1.CRC错误和命令⾮法错误命令的CRC校验出错,卡设置其状态寄存器的COM_CRC_ERROR位.⾮法命令错误,卡设置其状态寄存器的ILLEGAL_COMMAND位.⾮法命令包括:不⽀持的命令,未定义的命令以及当前状态不⽀持的命令.2.读,写和擦除超时.卡应该在指定的时间内完成⼀个命令或返回移动的错误信息.如果在指定的超时时间内主机收不到响应,应认为卡停⽌⼯作,应重新复位卡.六命令1.命令类型:-bc不需要响应的⼴播命令.-bcr需要响应的⼴播命令.每个卡都会独⽴的接收命令和发送响应.-ac点对点命令,DAT线上没数据-adtc点对点命令,DAT线上有数据所有命令均遵守上图中的格式,总共48位.⾸先是1个起始位0,接着是1个⽅向位(主机发送位1),6个命令位(0-63),32位参数(有些命令需要),CRC7位校验,1个停⽌位. 2.卡命令根据不同的类型分成了不同的Class,见下表,其中Class0,2,4,5,8是每个卡都必须⽀持的命令,不同的卡所⽀持的命令保存在CSD中.3.命令详细描述1)基本命令Class02)读命令Class23)写命令Class43)擦除命令Class54)应⽤特定命令Class8下表中的所有命令使⽤前都应先跟⼀个APP_CMD(CMD55)命令七.卡状态转换表⼋.应答.所有的应答都是通过CMD发送,不同的应答长度可能不同.总共有四种类型的应答.1.R1:长度位48位.注意每个块传输完成后有⼀个BUSY位.2.R1b:与R1类似,只是将BUSY位加⼊响应中.3.R2(CID CSD寄存器):长度为136位,CID为CMD2和CMD10的应答,CSD为CMD9的应答.4.R3(OCR寄存器):长度位48位.作为ACMD41的应答.5.R6(RCA地址应答):长度为48位九.卡的状态SD卡⽀持两种状态:-卡状态:与MMC卡兼容.-SD卡状态:扩充到了512位.1.卡状态:R1应答包含⼀个32位的卡状态.见下表.其中Type中的含义为:E:错误位.S:状态位.R:根据命令在响应中设置.X:根据在命令执⾏期间设置,必须再次读此位才能获得命令执⾏后的情况.Clear Condition:A:与卡的当前状态有关B:总是与命令有关,⽆效的命令会清除此位.C:通过读此位来清除下表指明了哪些命令可能使哪些位产⽣变化这些位通过DAT线传输,并伴有CRC16校验.其是作为ACMD13的应答.⼗.卡存储器形式.-块:块是基本读写命令的单位,它可以是固定的或可变的.关于块的⼤⼩以及其是否可变性存储在CSD中.-扇区:扇区是擦除命令的单位,它是固定的值,保存在CSD中.⼗⼀.时序图时序图中字母含义:1.命令和应答1)卡识别和卡⼯作电压确认模式:CMD2,ACMD412)地址分配模式:CMD33)数据传输模式:4)命令结束->下⼀个命令:5)两个命令直接2.数据读.1)单块读:CMD172)多块读:读过程时序.停⽌命令时序3.数据写1)单块写:注意Busy信号.2)多块写:多块写命令时序停⽌命令时序卡主动停⽌时的时序4.时序值。
SD卡初始化命令介绍
![SD卡初始化命令介绍](https://img.taocdn.com/s3/m/34e2d50bcc7931b765ce15b0.png)
SD卡有很多种类型的命令,有初始化的,特殊功能开启关闭的,寄存器查看的,读和写的,官方给出的分类更清楚一些,不过在一般使用中,我们并不需要了解的多么复杂,只要掌握了最基本的初始化命令,和读写命令,SD卡的操作就能够实现了。
每一个命令的长度都是固定的6个字节,前1个字节的值=命令号+0x40;中间4个字节为参数,不同的命令参数格式都不相同,但参数最多为4个字节;最后1个字节是CRC校验码和1位固定结束位‘1’。
这里需要说明一下0x40的意思,任何命令都有一个固定的起始格式,即先0后1,这是固定的命令起始标志,前两个字节的二进制码就是:01xx xxxx需要特殊说明的是CRC的问题,这是一种检验错误的方法,具体问题度娘说的还算明白,在SPI 模式中,CRC校验默认是关闭的,也就是说这7位必须要发,但是SD卡会在读到CRC以后自动忽略它,所以全部发1就可以。
例外的是,CMD0,CMD8这两个命令发送的时候SD卡还没有进入SPI模式,也就是说CRC校验在这个时候还是启用状态,因此这两个命令的CRC效验码必须要写正确,SD卡才会执行命令,否在在返回值R1中就会有相应的错误标志位提示开发人员CRC校验码错误。
CMD0:0x40,0x00,0x00,0x00,0x00,0x954个字节的参数都为stuff bits 填充位,那就全0即可,最后一个字节CRC是固定的CMD8:0x48,0x00,0x00,0x01,0xaa,0x870x40的固定值+8=0x48;Reserved bits也是可以填充为0的位,VHS支持电压的说明可参考datasheet,需要说明的是参数的最后1byte检查位,这个字节的内容会在R7中原原本本的返回给用户,但是这个字节的不同决定了7位CRC的不同,网上的例子一般都发0xaa,那对应的CRC码+结束位就是0x87。
A CMD41属于附加命令,发送起来要麻烦一些,必须提前通知SD卡下一条要发送的命令为ACMD,这个通知就是CMD55,它的4字节参数都为0即可,CMD55 :0x77,0x00,0x00,0x00,0x00,0xff.0x77 = 0x40 + 0x37(55的16进制表示);CRC可以忽略不要都发1即可 0xff.ACMD41:0x69,0x40,0x00,0x00,0x00,0xff.第一个字节算法同理,第一个参数从DATASHEET可以看出HCS位被置1了,目的是为了告诉SD卡我的MCU支持SDHC卡,如果SD卡不回应CMD8也就是说当前SD卡为1.0版本,那么发送ACMD41时SD卡会自动忽略这个位。
s7-200存储卡使用说明
![s7-200存储卡使用说明](https://img.taocdn.com/s3/m/26d3ad03bb68a98271fefa3c.png)
S7-200 存储卡使用说明简介:CPU支持可选的存储卡,为用户提供一个便携式EEPROM 存储卡。
你可以象磁盘那样使用存储卡。
CPU在存储卡上可以存储下列元素:●用户程序●存于EEPROM的V存储器永久区的数据●CPU组态复制到存储卡:只有当CPU在停机方式下通电,之后安装存储卡,才可以从CPU中复制程序到存储卡。
一、以下是从PLC→到存储卡程序复制过程:(仅供程序设计人员使用)首先要在PLC通电停机状态下。
接通电源使PLC通电如上图状态LED指示灯中间指示灯RUN亮,此时PLC为通电运行状态。
之后打开PLC前盖拨动盖内纵向棒装开关从RUN→STOP此时,状态LED指示灯中间指示灯STOP亮,此时PLC为通电停机状态。
之后安装存储卡。
为了安装存储卡应当去掉存储卡接口的保护盖(如上图圆圈标注的地方为保护盖)。
之后正确安装存储卡,存储卡直接就可以安装在去掉保护盖的接口上,安装时存储卡上面型号字母朝上。
(如果错误安装,存储卡不会插到去掉保护盖的接口上)其次如果程序没有装入PLC,那么应下装程序。
如果程序已经才PLC 中使用菜单命令PLC>Program Memory Cartridge来向存储卡中复制程序。
最后卸下存储卡。
二、用存储卡恢复程序和存储器(户外维护人员操作使用)为了从存储卡向PLC传送程序,首先使PLC断电,之后拿下PLC 上面的保护盖(如上图圆圈标注的地方为保护盖),把存储卡字母朝上插入去掉保护盖的插口上(如果错误安装,存储卡不会插到去掉保护盖的接口上)。
PLC通电,大约15秒钟后PLC断电,拿下存储卡,再把保护盖重新盖在上面的插口上。
PLC再次通电,程序恢复完毕。
SD卡引脚及spi模式基本操作过程
![SD卡引脚及spi模式基本操作过程](https://img.taocdn.com/s3/m/0512e5f158f5f61fb636662b.png)
SD卡引脚及spi模式基本操作过程(摘自网络)对于SD卡的硬件结构,在官方的文档上有很详细的介绍,如SD卡内的存储器结构、存储单元组织方式等内容。
要实现对它的读写,最核心的是它的时序,笔者在经过了实际的测试后,使用51单片机成功实现了对SD卡的扇区读写,并对其读写速度进行了评估。
下面先来讲解SD卡的读写时序。
SD卡的引脚定义SD卡引脚功能详述:引脚编号SD模式SPI模式名称类型描述名称类型描述1 CD/DAT3 IO或PP 卡检测/数据线3#CS I 片选2 CMD PP 命令/回应DI I 数据输入3 VSS1 S 电源地VSS S 电源地4 VDD S 电源VDD S 电源5 CLK I 时钟SCLK I 时钟6 VSS2 S 电源地VSS2 S 电源地7 DAT0 IO或PP 数据线0 DO O或PP 数据输出8 DAT1 IO或PP 数据线1 RSV9 DAT2 IO或PP 数据线2 RSV注:S:电源供给 I:输入 O:采用推拉驱动的输出PP:采用推拉驱动的输入输出SD卡SPI模式下与单片机的连接图:SD卡支持两种总线方式:SD方式与SPI方式。
其中SD方式采用6线制,使用CLK、CMD、DAT0~DAT3进行数据通信。
而SPI方式采用4线制,使用CS、CLK、DataIn、DataOut 进行数据通信。
SD方式时的数据传输速度与SPI方式要快,采用单片机对SD卡进行读写时一般都采用SPI模式。
采用不同的初始化方式可以使SD卡工作于SD方式或SPI方式。
这里只对其SPI方式进行介绍。
SPI方式驱动SD卡的方法SD卡的SPI通信接口使其可以通过SPI通道进行数据读写。
从应用的角度来看,采用SPI接口的好处在于,很多单片机内部自带SPI控制器,不光给开发上带来方便,同时也见降低了开发成本。
然而,它也有不好的地方,如失去了SD卡的性能优势,要解决这一问题,就要用SD方式,因为它提供更大的总线数据带宽。
SD卡的命令格式
![SD卡的命令格式](https://img.taocdn.com/s3/m/5cc3a3fcfab069dc502201b1.png)
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 bitsclass7:卡的锁定,解锁功能命令集class8:申请特定命令集。
class10 -11 :保留其中class1, class3,class9:SPI模式不支持了解了指令的形式和具体的控制内容,下面主要解决的就是MCU与SD卡的通信问题,通信主要需要注意下面的问题:(1)供电电压:必须是3.3V(2) 通信模式的切换:SD卡有两种通信模式:SPI模式和SD模式,默认情况下的通信模式是SD模式,但是我们常用的模式是SPI模式,这就需要一个切换模式的方法,具体的实现方法在其他地方也都有介绍,其关键的地方就是先上电延时大于74个时钟周期后发送复位命令,复位成功(接收到0x01的响应)后,连续发送CMD55和ACMD41,直到响应0X00为止,此时SD卡已经进入SPI模式。