SD卡-中文学习笔记
SD6.0规范(简化版)学习笔记
SD6.0规范(简化版)学习笔记⽬录1.概述 (1)2.系统特点SYSTEM FEATURE (1)3.SD存储卡系统概要 (2)3.1按照读写特性,可分为读写卡以及只读卡。
(2)3.2按供电电压可分为两类 (2)3.3卡容量 (2)3.4速率等级 (2)3.5总线拓扑 (2)3.6总线协议 (2)3.6.1SD总线协议 (2)3.6.2SPI总线协议 (4)3.6.3UHS-2总线协议 (4)3.7SD存储卡的管脚和寄存器 (5)3.7.1SD 总线管脚安排 (5)3.7.2UHS-2总线管脚安排 (5)3.8ROM卡(即前⾯提到的只读卡) (5)3.9UHS-1卡 (5)3.9.1⽀持的速率 (5)3.9.2UHS-1卡的类别 (5)3.9.3UHS-1主设备类别 (5)3.9.4UHS-1总线速率模式选择流程 (5)3.9.5UHS-1系统框图 (6)3.9.6UHS-1卡总线速率模式总结 (6)3.10UHS-2卡 (6)3.10.1UHS-2卡⼯作模式 (6)3.10.2UHS-2卡类别 (6)3.10.3UHS-2主设备和卡配合 (7)3.10.4UHS-2接⼝选择时序 (7)3.10.5UHS-2卡总线速率模式总结 (8)3.11应⽤性能等级 APPLICATION PERFORMANCE CLASS (8) 3.12C ACHE (9)3.13SELF MAINTENANCE (9)3.14COMMAND QUEUE (9)3.15LV接⼝ (9)3.16UHS-2更⾼的总线速率(UHS-3) (9)4.SD存储卡的功能描述 (9)4.1概要 (9)4.2卡识别模式 (10)4.3数据传输模式 (10)4.4时钟控制 (10)4.5CRC (10)4.6E RROR CONDITION 出现错误的情况 (10)4.7命令 (10)4.8卡状态转换表 (10)4.9响应 (10)4.10SD存储卡的三种状态信息 (10)4.11M EMORY ARRAY PARTITIONING (10)4.12时序 (10)4.13速率等级划分 (10)4.13.1SDSC和SDHC的速率等级 (11)4.13.2SDXC卡的速率等级 (13)4.13.3UHS-1和UHS-2的速率等级 (13)4.13.4Video速率等级 (14)4.14E RASE TIMEOUT CALCULATION (15)4.15S ET B LOCK C OUNT命令 (15)4.16应⽤性能说明A PPLICATION P ERFORMANCE S PECIFICATION (15) 4.16.1应⽤性能等级 (15)4.16.2应⽤等级测试条件 (15)4.16.3应⽤等级性能参数 (15)4.17C ACHE (16)4.18S ELF MAINTENANCE ⾃维护 (16)4.19C ONMAND QUEUE模式 (16)5.卡寄存器 (16)6.SD存储卡硬件接⼝ (16)6.1热插拔 (16)6.2卡检测 (16)6.3电源保护(热插拔) (16)6.4电源 (16)6.4.1SD总线接⼝的上电时序 (16)6.4.2UHS-2接⼝的上电时序 (18)6.5P ROGRAMMABLE CARD OUTPUT DRIVER(可选) (19)6.6B US OPERATING CONDITIONS FOR 3.3V SIGNALING (19)6.6.1Threshold level for high voltage range (19)6.6.2Peak voltage and leakage current (19)6.6.3Power consumption (19)6.6.4Bus signal line load (19)6.6.5Bus signal levels (19)6.6.6总线时序(默认速率模式) (19)6.6.7总线速率(⾼速模式) (20)6.7D RIVE STRENGTH AND BUS TIMING FOR 1.8V SIGNALING (21)6.8ESD要求 (21)7.SPI模式 (21)1. 概述除了SD存储卡之外还有SDIO卡,SDIO卡基于SD存储卡,也兼容SD存储卡接⼝。
(完整版)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)an d 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: 通过读此位来清除下表指明了哪些命令可能使哪些位产生变化2.SD卡状态:这些位通过DAT线传输, 并伴有CRC16校验. 其是作为ACMD13的应答.十. 卡存储器形式.-块:块是基本读写命令的单位,它可以是固定的或可变的. 关于块的大小以及其是否可变性存储在CSD中.-扇区:扇区是擦除命令的单位, 它是固定的值,保存在CSD中.十一. 时序图时序图中字母含义:1.命令和应答1)卡识别和卡工作电压确认模式:CMD2,ACMD412)地址分配模式:CMD33)数据传输模式:4)命令结束->下一个命令:5)两个命令直接1)单块读:CMD172)多块读:读过程时序.停止命令时序3.数据写1)单块写:注意Busy信号.2)多块写:多块写命令时序停止命令时序卡主动停止时的时序。
SD卡深入解读
SD卡深入解读.txt点的是烟抽的却是寂寞……不是你不笑,一笑粉就掉!人又不聪明,还学别人秃顶。
绑不住我的心就不要说我花心!再牛b的肖邦,也弹不出老子的悲伤!活着的时候开心点,因为我们要死很久。
请你以后不要在我面前说英文了,OK?本文由raymond_at_li贡献doc文档可能在WAP端浏览体验不佳。
建议您优先选择TXT,或下载源文件到本机查看。
SD 卡深入解读 SD 卡操作一、概述 1、简介、SD 卡是基于 flash 的存储卡。
SD 卡和 MMC 卡的区别在于初始化过程不同。
SD 卡的通信协议包括 SD 和 SPI 两类。
SD 卡使用卡内智能控制模块进行 FLASH 操作控制,包括协议、安全算法、数据存取、 ECC 算法、缺陷处理和分析、电源管理、时钟管理。
2、功能介绍、2.1 特点1) 主机无关的 FLASH 内存擦除和编程读或写数据,主机只要发送一个带地址的命令,然后等待命令完成,主机无需关心具体操作的完成。
当采用新型的 FLASH 时,主机代码无需更新。
2) 缺陷管理 3) 错误恢复 4) 电源管理Flash 每个扇区有大约 10 万次的写寿命,读没有限制。
擦除操作可以加速写操作,因为在写之前会进行擦除。
3 SD 总线模式3.1 Negotiating Operation Conditions当主机定义了 SD 卡不支持的电压范围时,SD 卡将处于非活动状态,将忽略所有的总线传输。
要退出非活动状态唯一的方法就是重新上电。
3.2 SD 卡获取和识别SD 卡总线采用的是单主多从结构,总线上所有卡共用时钟和电源线。
主机依次分别访问每个卡,每个卡的 CID 寄存器中已预编程了一个唯一的卡标识号,用来区分不同的卡。
主机通过 READ_CID 命令读取 CID 寄存器。
CID 寄存器在 SD 卡生产过程中的测试和格式化时被编程,主机只能读取该号。
DAT3 线上内置的上拉电阻用来侦测卡。
sd卡、emmc卡、sdhc、sdio接口、nand等简略说明
简要总结2017-5-17xdk1.Sim卡和sd/sdio/sdhc什么的不一样,只有复位、电源、时钟、一根数据线。
看手机版设计,vcc电压是lte模组出来供电,且会1.8V 3.3V切换。
VPP悬空处理即可,不需要编程。
2.Nand接口和sdio/sdhc什么的也不是一种口。
Nand属于localbus总线,一般和nor共用(虽然和sdhc口一样有8位双向信号线)。
Nand主要就是we/oe/ce/ale/cle/8位命令地址数据线。
3.Sd(Secure Digital Card)卡最大支持2GB容量(据说由MMC演变未来),4bit数据线。
还有clk/cmd信号,cmd用来区分命令还是数据。
文件系统fat12/16.4.sdhc("Secure Digital High Capacity高容量sd存储卡),支持2GB~32GB容量范围;和sd相比,8bit数据位。
Sdhc可以向下兼容sd卡(sd2.0以后的版本,老的不兼容)。
文件系统fat32。
5.sdxc(SD eXtended Capacity),容量更大目前可达64GB,理论上2TB,传输速度更快(300MB/s),exFAT文件系统.支持UHS104(新的超高速sd接口规格)6.sdio就是支持sd卡的接口,同时还外延了,支持其他支持sdio接口的设备,如蓝牙、网卡、电视卡等(见下文网络copy,具体工作模式没看透,支持spi、data1作为中断?暂时不影响我画图)。
7.sdhc接口,可以接sdhc卡,emmc卡。
8.eMMC(Embedded Multi Media Card)是由MMC协会(MultiMediaCard Association,2008年已并入JEDEC)提出的内置存储标准,主要针对手机和平板等移动设备设立。
在最新的eMMC5.1标准中存取带宽已经提升到600MB/s9.UFS(Universal Flash Storage)的出现比eMMC要晚一些。
sd卡协议(中文)
数据包的封装与命令协议相关1 sd 卡指令数据包sd 卡的指令被封装成48位的数据包,每次传送这48位的数据包。
数据包的内容包括起始位、结束位、传输位、命令索引、传输参数和7位CRC 校验码。
其具体格式分布如下图 Bit 位置 47 46 [45:40] [39:08] [07:01] 00 Bit 宽度 1 1 6 32 7 1 值 “0” “1” x x x “1”说明Start bit Transmission bit CommandindexArgument CRC7 End bit其中的命令索引位是[45:40],里面可以封装各种命令,具体的命令表将在下面给出。
不同的命令会对应不同的回应(respond),回应有三种(R1,R2,R3)格式,在命令表中的选项会给出。
2 sd 卡命令索引表 CMD 简略语 指令说明 SPI 模式自变量 回应0 GO_IDLE_STATE 这是使card 初始化到Idle 状态的指令.CS 信号设在Low 的状态时,接到本指令后,card 将转换到SPI 模式.None R11 SEND_OP_COND 接到本指令后,card 将做R3回应(含有OCR 数据).根据OCR 值,可以得知card 能工作电压范围.OCR 数据最高值位的1bit 是用来确认card 内部处理是否结束(Ready/Busy 轮询).None R12 ALL_SEND_CID 接到本指令后, 处于Ready 状态的card 将传送CID 数据.在MMC 模式下,数据被送到CMD 信号,在CID数据的每1bit传送后,CMD信号状态将与该card内部状态相比较,如果不一致,將中止数据传送,card返回到Ready状态.如果相一致,该card 将认为已被选中,然后转换到Identification 状态.3 SET_RELATIVE_ADDR 本指令会为已转换到Identification状态的card分配一个相对card地址(RCA).当RCA分配后,card将转换到Stand-by 状态,对以后的CMD2和CMD3不回应.4 NOP 这是用来设定DSR(DriveState寄存器)的指令,但是本car不支持DSR.7 SELECT/DESELECT_CARD本指令是用来选择一张card,让它在Stand-by状态和Transfer状态之间转换的指令.如果给card设定已分配到的RCA地址,card将从Stand-by状态转换到Transfer状态,并将回应以后的读取指令及其他指令.如果给card设定RCA以外的地址,card将转换到Stand-by状态。
sd
SD卡身材小巧,一般消费者在购买之前不会有太多了解,因此从外观上辨别有些困难,下面为大家介绍一下市场上常见的SanDisk牌SD卡真假的辨别方法: 首先是看存储卡本身,sandisk正品储存卡都在正面贴有激光变彩标签,不同角度都会产生激光色彩变化。其次是国内代理的行货正品卡,均采用了与上面相类似的塑料封装的包装形式,但是右下的“5年保证”的字样和日文均改为了图形表明的5年质保。 另外,还可以从 SD 卡底部是否有缺口来进行最简单识别,由于正品 SanDisk 牌 SD 卡背面产地上方的编号是唯一的,并可通过 800 电话查询真伪,但据说这一查询系统目前尚未做好。
编辑本段SD卡和MMC卡
SD卡的技术是基于MultiMedia卡(MMC)格式上发展而来,大小和MMC卡差不多,尺寸为32mm x 24mm x 2.1mm。长宽和MMC卡一样,只是比MMC卡厚了0.7mm,以容纳更大容量的存贮单元。SD卡与MMC卡保持着向上兼容,也就是说,MMC卡可以被新的SD设备存取,兼容性则取决于应用软件,但SD卡却不可以被MMC设备存取。(SD卡外型采用了与MMC卡厚度一样的导轨式设计, SD卡结构
简介
SD卡在24mm×32mm×2.1mm的体积内结合了SanDisk快闪记忆卡控制与MLC(Multilevel Cell)技术和Toshiba(东芝)0.16u及0.13u的NAND技术,通过9针的接口界面与专门的驱动器相连接,不需要额外的电源来保持其上记忆的信息。而且它是一体化固体介质,没有任何移动部分,所以不用担心机械运动的损ory Card)中文翻译为安全数码卡,是一种基于半导体快闪记忆器的新一代记忆设备,它被广泛地于便携式装置上使用,例如数码相机、个人数码助理(PDA)和多媒体播放器等。SD卡由日本松下、东芝及美国SanDisk公司于1999年8月共同开发研制。大小犹如一张邮票的SD记忆卡,重量只有2克,但却拥有高记忆容量、快速数据传输率、极大的移动灵活性以及很好的安全性。
SD卡的有关知识
SD卡的有关知识一.SD卡就是Secure Digital Card——安全数码卡,是由日本松下公司,东芝公司和美国SANDISK公司共同开发研制的,具有大容量,高性能,尤其是安全等多种特点的多功能存储卡。
它比MMC卡多了一个进行数据著作权保护的暗号认证功能(SDMI规格)。
现多用于MP3,数码摄像机,电子图书,微型电脑,AV器材等。
大小尺寸比MMC卡略厚一点32mm×24mm×2.1mm,容量则要大许多,今年将生产出256M的卡。
据报道将来最大可达到1G的容量。
另外此卡的读写速度比MMC卡要快4倍,达2MB/秒。
同时于MMC卡兼容,SD卡的插口大多支持MMC卡。
全称:Secure Digital Memory Card 安全数码存储卡,由日本松下、东芝和美国SANDISK公司共同研发的。
特点:大容量、高性能、安全性高(添加了著作权保护的暗号认证功能 CSDMI规格)。
用途:可用在MP3、移动电话、PDA、数码相机、数码摄像机、电子图书、微型电脑、AV器材等领域。
尺寸规格:32 x 24 x 2.1 mm此卡的读写速度比MMC卡要快四倍,2MB/秒同时与MMC卡兼容,SD卡的插口大多支持MMC卡。
电压3.3V±10%;5.0V±10%读电流:*********;*********写电流:*********;*********数据传输速度:2M/s产品规格:宽:24mm 高:32mm 厚:2.1mm环境要求:抗冲击:50Gs@11ms抗震动:15Gs peak- to-peak使用温度:0℃—55℃保存温度:-20℃—65℃各大电子商城都有卖的,具体价格请到网上去查!我认为:SD卡很不错,价格比SONY的记忆棒便宜,体积又比CF卡小,现在我所知道的最大容量已经到达了2GB,足够用了!SD卡很具有性价比!二.SD卡的使用SD卡应用于以下的手提数码装置:●数码相机储存相片及短片●数码摄录机储存相片及短片●个人数码助理(PDA)储存各类资料●手提电话储存相片、铃声、音乐、短片等资料●多媒体播放器SD卡多用于MP3随身听、数码摄像机、数码相机等,也有用于笔记本电脑上。
SD卡基础介绍
安全数码卡
Lenovo Confidential
1 © 2005 Lenovo
目录
SD卡简介 卡简介
SD卡技术 卡技术 SD卡的结构 卡的结构 SD卡的速度 卡的速度 SD卡品牌简介 卡品牌简介
He Hua Phoenix Process Management Review
2005 Lenovo Confidential
He Hua Phoenix Process Management Review
2005 Lenovo Confidential
3 © 2005 Lenovo
SD卡的技术 卡的技术
SD卡在24mm×32mm×2.1mm的体积内结合了SanDisk快闪记忆卡控制与 MLC(Multilevel Cell)技术和Toshiba(东芝)0.16u及0.13u的NAND技术, 通过9针的接口界面与专门的驱动器相连接,不需要额外的电源来保持其上记 忆的信息。而且它是一体化固体介质,没有任何移动部分,所以不用担心机械 运动的损坏 SD卡的技术建是基于 卡的技术建是基于MultiMedia卡(MMC)格式上发展而来,大小和MMC 卡 )格式上发展而来,大小和 卡的技术建是基于 差不多,尺寸为32mm x 24mm x 2.1mm。长宽和 一样, 差不多,尺寸为 。长宽和MMC一样,只是比 一样 只是比MMC厚 厚 0.7mm,以容纳更大容量的存贮单元。SD卡与 卡与MMC卡保持着向上兼容 卡保持着向上兼容, 了0.7mm,以容纳更大容量的存贮单元。SD卡与MMC卡保持着向上兼容, 也就是说, 可以被新的SD设备存取 也就是说,MMC可以被新的 设备存取,兼容性则取决于应用软件,但SD 可以被新的 设备存取,兼容性则取决于应用软件, 卡却不可以被MMC设备存取。( 卡外型采用了与 设备存取。( 卡外型采用了与MMC厚度一样的导轨式 卡却不可以被 设备存取。(SD卡外型采用了与 厚度一样的导轨式 设计,以使SD设备可以适合 设备可以适合MMC)。 设计,以使 设备可以适合 。 SD接口除了保留 接口除了保留MMC的7针外,还在两边加多了 针,作为数据线。采 针外, 接口除了保留 的 针外 还在两边加多了2针 作为数据线。 用了NAND型Flash Memory,基本上和 的一样, 用了 型 ,基本上和SmartMedia的一样,平均数据传输 的一样 率能达到2MB/s。 率能达到 。
FAT文件系统学习笔记(基于SD卡)
FAT⽂件系统学习笔记(基于SD卡)磁道:当磁盘在旋转时,磁头若保持在⼀个位置上,则每个磁头都会在磁盘表⾯划出⼀个圆形轨迹,这些圆形轨迹就叫做磁道。
每张盘⽚上的磁道由外向内依次从“0”开始进⾏编号。
虽然磁道的编号是“由外向内依次从“0”开始进⾏编号”,但这并不意味着“0”磁道是位于磁盘⽚的最外沿的。
固件区的物理位置有的位于⽐“0”磁道更靠近磁盘⽚的外缘的磁道上。
有的位于磁盘⽚的中部。
扇区:磁盘上的每个磁道被等分为若⼲个弧段,这些弧段便是磁盘的扇区。
每个扇区⼤⼩为512字节。
扇区从“1”开始编号。
柱⾯:磁盘通常由重叠的⼀组盘⽚构成。
前⾯提到,每个盘⾯都被划分为树⽊相等的磁道,并从外圈的“0”开始编号,具有相同编号的磁道形成⼀个圆柱,这个圆柱我们称之为磁盘的柱⾯。
磁盘上数据的存取是沿柱⾯进⾏的,也就是在⼀个柱⾯内依次从低号盘⽚向⾼号盘⽚写⼊,写满⼀个柱⾯后再转到下⼀个柱⾯。
磁盘的柱⾯数与⼀个盘⾯上的磁道数相等。
由于每⼀个盘⾯都有⾃⼰的磁头,因此,盘⾯数等于总的磁头数。
所谓硬盘的CHS,既是Cylinder(柱⾯)、Head(磁头)、Sector(扇区)。
数据的存储格式:Big-endian:也被称作“⼤头位序”或“⼤端模式”。
字节由最⾼位向最低位⼀次存放,⾼位在前,低位在后。
Little-endian:也被称作“⼩头位序”或“⼩端模式”。
字节由最低位向最⾼位⼀次存放,低位在前,⾼位在后。
例如:有⼀个⼗六进制数“00 23 0f 4a”:Big-endian:00 23 0f 4aLittle-endian:4a 0f 23 00DOC分区概述:说明:虽然我们的存储介质没有分区(你的u盘,sd卡等⼩容量存储介质肯定没有分区的吧)。
但是在⽂件系统初始化的开始我们必须通过MBR(Master Boot recorder)获取分区表项的数据,以获得CHS、LBA参数以及分区⼤⼩扇区数,否则就⽆法知道你⽂件系统的起始物理扇区号!LBA(Logical Block Addressing)逻辑块寻址。
SD卡读写规范
SD操作学习笔记操作学习笔记标签: 笔记学习SD卡驱动2009-11-11 21:51SD卡操作 一、概述1、简介SD卡是基于flash的存储卡。
SD卡和MMC卡的区别在于初始化过程不同。
SD卡的通信协议包括SD和SPI两类。
SD卡使用卡内智能控制模块进行FLASH操作控制,包括协议、安全算法、数据存取、ECC算法、缺陷处理和分析、电源管理、时钟管理。
2、功能介绍2.1 特点1)主机无关的FLASH内存擦除和编程读或写数据,主机只要发送一个带地址的命令,然后等待命令完成,主机无需关心具体操作的完成。
当采用新型的FLASH时,主机代码无需更新。
2)缺陷管理3)错误恢复4)电源管理Flash每个扇区有大约10万次的写寿命,读没有限制。
擦除操作可以加速写操作,因为在写之前会进行擦除。
3 SD总线模式3.1 Negotiating Operation Conditions当主机定义了SD卡不支持的电压范围时,SD卡将处于非活动状态,将忽略所有的总线传输。
要退出非活动状态唯一的方法就是重新上电。
3.2 SD卡获取和识别SD卡总线采用的是单主多从结构,总线上所有卡共用时钟和电源线。
主机依次分别访问每个卡,每个卡的CID寄存器中已预编程了一个唯一的卡标识号,用来区分不同的卡。
主机通过READ_CID命令读取CID寄存器。
CID寄存器在SD卡生产过程中的测试和格式化时被编程,主机只能读取该号。
DAT3线上内置的上拉电阻用来侦测卡。
在数据传输时电阻断开(使用ACMD42)。
3.3 卡状态卡状态分别存放在下面两个区域:卡状态(Card Status),存放在一个32位状态寄存器,在卡响应主机命令时作为数据传送给主机。
SD状态(SD_Status),当主机使用SD_STATUS(ACMD13)命令时,512位以一个数据块的方式发送给主机。
SD_STATUS还包括了和BUS_WIDTH、安全相关位和扩展位等的扩展状态位。
SD卡读写规范
DAT3 线上内置的上拉电阻用来侦测卡。在数据传输时电阻断开(使用 ACMD42)。
3.3 卡状态
卡状态分别存放在下面两个区域: 卡状态(Card Status),存放在一个 32 位状态寄存器,在卡响应主机命令 时作为数据传送给主机。 SD 状态(SD_Status),当主机使用 SD_STATUS(ACMD13)命令时,512 位以一个数据块的方式发送给主机。SD_STATUS 还包括了和 BUS_WIDTH、安 全相关位和扩展位等的扩展状态位。
3.5 读写操作
Single Block Mode:主机根据事先定义的长度读写一个数据块。由发送模块产 生一个 16 位的 CRC 校验码,接受端根据校验码进行检验。读操作的块长度受设 备 sector 大小 (512 bytes)的限制,但是可以最小为一个字节。不对齐的访问是不 允许的,每个数据块必须位于单个物理 sector 内。写操作的大小必须为 sector 大 小,起始地址必须与 sector 边界对齐。
2
2001=0x0
CRC7 校验和 (CRC)
Binar 7 [7:1] y
CRC Calculation: G(x)=x7+3+1 M(x)=(MID-MSB)*x119+...+(CIN-LS B)*x0 CRC[6...0]=Remainder[(M(x)*x7)/G(x) ]
14 CRC7
未用
CID 值
厂商 ID
Binar 8 [127:12 SD 卡协会管理和分配
0x03
y
SD卡知识点
SD卡1. SD卡class2、class4、class6 ,class10怎么区分?答:Class 2:能满足观看普通MPEG4 MPEG2 的电影、SDTV、数码摄像机拍摄;Class 4:可以流畅播放高清电视(HDTV),数码相机连拍等需求;Class 6:满足单反相机连拍和专业设备的使用要求;Class10: 满足专业摄影设备2. SD卡的结构(几种)?答:1.单独SD卡:pcba板+flash芯片+主控芯片+外壳+贴纸+包装(小白盒、吸塑)2.TF卡加转接卡:TF卡+转接卡+贴纸+包装(小白盒、吸塑)Inand:闪迪推出的一种嵌入式闪存芯片3.(速度)SD卡的基本指标?答:Class 2 :2MB/sClass 4:4-5MB/sClass 6:6MB/sClass10: 写速10MB/S以上,读速25MB/SGPS读速一般不低于10MB/S, 高清数码相机写速8MB/S以上4.金手指的厚度?答:渡金:3μm,5μm,7μm,9μm;渡镍:160μm5. 目前市面上的SD卡品牌有多少种?答:Sandisk(闪迪)kingston(金士顿)panasonic(松下)kingmax(胜创)Sony(索尼)Transcend(创见)Adata(威刚)apacer(宇瞻)Toshiba (东芝)6. SD卡常见质量问题?答:卡片过热、金手指脱落、外壳破裂、识别不到卡。
7.SD卡flash有多少种品牌?答:三星(SANSUNG)、现代(HY)、英特尔(Intel)、镁光、东芝(Toshiba)ST. Sandisk8. 生产SD卡目前流行的方案?答:SMI、安国、兴邦、建荣,威雅9. 电流可分哪种电流?答:静态、写入、读取10. 怎么样匹配SD卡,才是最优化组合?答:在能达到客户要求的基础上,把利益最大化。
11. SD卡都用在什么设备上?答:数码相机、摄影机, 手机、录音电话, DV、GPS、MP3、MP4、数据录音机、安防产品(网络摄象机、视频采集器), 车载影音,电子玩具等。
SD卡协议学习点滴(完整版本)
SD卡协议学习点滴(一)首先SD卡有所谓操作模式(operation mode)的概念,每种操作模式又具体对应一种或多种状态,主机通过发送命令可以使SD卡在不同的状态间转换,SD卡则接受命令,并根据自己现在所处状态做出不同的响应。
系统上电时刻或者搜寻SD卡时,SD卡控制器应该处于SD卡识别模式;SD卡在刚接入系统时刻也处于这种模式,并且处于此模式下的Idle状态。
SD卡识别模式:在这种模式下,控制器会检验SD卡的工作电压范围,识别SD卡类型,并要求它们发送各自的相对地址(Relative Card Address);这些操作在SD卡各自的CMD线上进行。
所有的操作均使用默认的 SD卡识别时钟频率(identification clock rate)SD卡复位:发送GO_IDLE_STATE(CMD0)到SD卡后,除处于非活动状态(Inactive state)之外的SD卡都会进入空闲状态(Idle state);在Idle状态,SD卡的CMD线处于输入模式,默认相对地址为0x0000,默认驱动寄存器设定为最低速度,最大驱动电流能力。
:工作条件检测在控制器和SD卡进行任何通信之前,控制器不清楚SD卡支持的工作电压范围,故而控制器首先使用默认的电压发送一条reset指令(CMD0),紧跟着的CMD8指令,用于取得SD卡支持工作电压范围数据。
SD卡通过检测CMD8的参数部分来检查控制器使用的工作电压,控制器通过分析回传的CMD8参数部分来校验SD卡是否可以在所给电压下工作。
如果SD卡可以在指定电压下工作,则它回送CMD8的命令响应字,其中包含check voltage, check pattern。
如果SD卡不支持所给电压,则SD卡不会给出任何响应信息,并继续处于Idle状态。
在PLV2.0(physical layer version2.0)下,在首次执行ACMD41之前,必须执行CMD8指令,用以初始化SDHC卡,SDHC卡根据是否接收到CMD8指令来鉴别控制器是否支持PLV2.0协议。
SD卡模块应用手册概况讲解学习
SD卡模块应用手册一. WTM-SD型特点◆语音为MP3格式,音质优美,通用性好,占据容量小,容易制作◆SD卡作为存储语音的载体,存储容量大,性能高,安全性高◆语音更新十分方便,只需SD卡与电脑连接即可.◆存储内容按文件夹的形式编排,按名称分段存储,易存,易改.◆控制方式多样,四种工作模式; 标准模式,按键模式,并口模式,串口模式◆可以播放背景音乐,广告语,◆可以进行任意段语音的播放◆体积小巧,尺寸: 41mm X 39mm◆适合工业级应用.二.管脚功能说明:管脚名称功能描述1 DC5V—9V 输入直流电源5V---9V(GBUF* 与GND 的区别,后面有说明).SD卡的格式为:FATI/O口电压为3.3V三.工作模式功能介绍:1、上电后,按一下播放键,开始播放,放完第一首,会接着放第二首;放完最后一首,会循环放第一首。
按下停止键,则停止播放。
2、并口、串口功能与标准的一样,没有更改。
1.标准模式P01 播放/暂停P02 上一首P03 下一首P04 音量减P05 音量加P06 停止该工作模式,和一般的MP3使用十分类似. P01-----P06平时为高,负脉冲触发 .注意:模块上电后,要先给P03(下一首) 负脉冲信号,模块开始播放,然后其它I/O口才起作用。
同时,文件夹里面MP3文件名称必须是连续的。
如有不连续的,在第一个断点之后的歌曲将不能识别。
2.按键模式.每个按键对应一首语音.脉冲触发,只能放6段语音.且名称为001.mp3至006.mp3 P01 对应 001.mp3P02 对应 002.mp3P03 对应 003.mp3P04 对应 004.mp3P05 对应 005.mp3P06 对应 006.mp36个I/0口平时为高,低电平触发.一个I/0对应触发一段语音.3.并口模式P01 触发SBTP02 地址S0P03 地址S1P04 地址S2P05 地址S4P06 地址S5从00H-----1FH 共32个地址对应32语音.P01---P06先置成地址,再将P01从高拉为低就可以触发语音.4.串口模式.以标准的RS232串口通信时序为基础,波特率9600,自行定制了以下通信协议.该通信协议数据包括了起始码,数据长度,数据位,结束码.数据格式:起始码:7e数据长度:是指除了起始码,结束码以外的其余所有的字节数,包括数据长度本身这个字节的字节总数.操作码:操作码共9个.A0,A4,B0后面要带数据位.其余的不用.文件夹十位,文件夹个位:因为SD卡内只能存储名称为数字的文件夹,它的名称为00,01,02------99,共100个文件夹.所以文件夹十位是指该文件夹名称的十位数.且要将数字翻译成ASCII码值.文件夹个位也如此.如文件夹advert01.文件夹十位是指”0”,对应ASCII码值为”30H”文件夹个位是指”1”对应ASCII码值为”31H”曲目百位,曲目十位,曲目个位:指文件夹advert01下面的曲目名称.如682.mp3曲目百位是”6”,对应ASCII码值为”36H”曲目十位是”8”对应ASCII码值为”38H”曲目个位是”2”对应ASCII码值为”32H”结束码:7e.现举例如下:播放 advert01文件夹下的002.mp3,按广告语播放.则发送下列9字节数据:其通信格式如下:播放advert02文件夹下的032.mp3,按背景音乐播放,则发送数据如下:7e 07 b0 30 32 30 33 327e起始码数据长度文件夹advert02的ASCII码值结束码背景音乐播放操作码032.mp3对应的ASCII码值当背景音乐正在播放的时候,要插进文件夹advert01下面的009.mp3作为广告语,数据如下:广告语结束后,背景音乐从断点处继续播放.7e 07 a0 30 31 30 30 39 7e起始码数据长度文件夹advert01的ASCII码值结束码广告语播放操作码009.mp3对应的ASCII码值暂停正在播放的广告语,则发送数据如下:7e 07 a1 30 31 30 30 39 7e起始码数据长度文件夹advert01的ASCII码值结束码广告语暂停操作码009.mp3对应的ASCII码值从暂停的断点处继续播放,可发送数据如下:7e 07 a3 30 31 30 30 39 7e起始码数据长度文件夹advert01的ASCII码值结束码广告语继续播放操作码009.mp3对应的ASCII码值音量调节.从00H----08H 8级可调.00H为最低音量.08H为最高音量.数据如下:7e 03 a4 087e起始码数据长度最高音量结束码(红色字体部分)音量调节码7e 03 a4 027e起始码数据长度音量比较低结束码(红色字体部分)音量调节码五. SD卡内容存储结构的规定本模块只能够识别SD卡内名称为advert00-----advert99的文件夹,其余名称一律不能识别.所有的语音文件都应该放在advert00---advert99的其中一个文件夹里面.标准模式,按键模式,并口模式都只能读写advert01文件夹里面的内容.其余文件夹的内容是读不了的.串口模式可以对advert00---advert99共100个文件夹的内容进行操作.与上述的三种模式有区别.advertXX文件夹下的内容,只能是000.mp3---999.mp3共1000个文件,都是以数字000----999作命名,后缀为”.mp3”★在advert01文件夹下有一个文件名称为”cof.mp3”的,这个文件的开头记录的是该模块的工作模式..可以是数字1,数字2,数字3.意思代表如下:数字”1”表示该模块工作在标准模式数字”2”表示该模块工作在按键模式数字”3”表示该模块工作在并口模式”cof.mp3”的文件可以用”记事本”打开.通过人工手动更改这个数字,就可以更改工作模式.这个功能适用于使用电脑测试该模块是否正常工作时用.新建“cof.mp3”文件的办法如下:新建一个记事本文档,在里面写上一个数字“2”,保存,关闭。
sd卡学习笔记之欧阳语创编
1、简介:SD卡(Secure Digital Memory Card)是一种为满足安全性、容量、性能和使用环境等各方面的需求而设计的一种新型存储器件,SD卡允许在两种模式下工作,即SD模式和SPI模式,本系统采用SPI模式。
本小节仅简要介绍在SPI模式下,STM32处理器如何读写SD卡,如果读者如希望详细了解SD卡,可以参考相关资料。
SD 卡内部结构及引脚如下图所示:SD卡内部图.JPG2、SD卡管脚图:SD卡图.JPG3、SPI模式下SD各管脚名称为:sd 卡:SPI模式下SD各管脚名称为.JPG注:一般SD有两种模式:SD模式和SPI模式,管脚定义如下:(A)、SD MODE 1、CD/DATA3 2、CMD 3、VSS1 4、VDD 5、CLK 6、VSS2 7、DATA0 8、DATA1 9、DATA2(B)、SPI MODE 1、CS 2、DI 3、VSS 4、VDD 5、SCLK 6、VSS2 7、DO 8、RSV 9、RSVSD 卡主要引脚和功能为:CLK:时钟信号,每个时钟周期传输一个命令或数据位,频率可在0~25MHz之间变化,SD卡的总线管理器可以不受任何限制的自由产生0~25MHz 的频率;CMD:双向命令和回复线,命令是一次主机到从卡操作的开始,命令可以是从主机到单卡寻址,也可以是到所有卡;回复是对之前命令的回答,回复可以来自单卡或所有卡;DAT0~3:数据线,数据可以从卡传向主机也可以从主机传向卡。
SD卡以命令形式来控制SD卡的读写等操作。
可根据命令对多块或单块进行读写操作。
在SPI模式下其命令由6个字节构成,其中高位在前。
SD卡命令的格式如表1所示,其中相关参数可以查阅SD卡规范。
4、MicroSD卡管脚图:MicroSD卡管脚图.JPG5、MicroSD卡管脚名称:MicroSD卡管脚名称.JPGSD 卡与MicroSD卡仅仅是封装上的不同,MicroSD卡更小,大小上和一个SIM卡差不多,但是协议与SD卡相同。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SD卡操作一、概述1、简介SD卡是基于flash的存储卡。
SD卡和MMC卡的区别在于初始化过程不同。
SD卡的通信协议包括SD和SPI两类。
SD卡使用卡内智能控制模块进行FLASH操作控制,包括协议、安全算法、数据存取、ECC算法、缺陷处理和分析、电源管理、时钟管理。
2、功能介绍2.1 特点1)主机无关的FLASH内存擦除和编程读或写数据,主机只要发送一个带地址的命令,然后等待命令完成,主机无需关心具体操作的完成。
当采用新型的FLASH时,主机代码无需更新。
2)缺陷管理3)错误恢复4)电源管理Flash每个扇区有大约10万次的写寿命,读没有限制。
擦除操作可以加速写操作,因为在写之前会进行擦除。
3 SD总线模式3.1 Negotiating Operation Conditions当主机定义了SD卡不支持的电压范围时,SD卡将处于非活动状态,将忽略所有的总线传输。
要退出非活动状态唯一的方法就是重新上电。
3.2 SD卡获取和识别SD卡总线采用的是单主多从结构,总线上所有卡共用时钟和电源线。
主机依次分别访问每个卡,每个卡的CID寄存器中已预编程了一个唯一的卡标识号,用来区分不同的卡。
主机通过READ_CID命令读取CID寄存器。
CID寄存器在SD卡生产过程中的测试和格式化时被编程,主机只能读取该号。
DAT3线上内置的上拉电阻用来侦测卡。
在数据传输时电阻断开(使用ACMD42)。
3.3 卡状态卡状态分别存放在下面两个区域:卡状态(Card Status),存放在一个32位状态寄存器,在卡响应主机命令时作为数据传送给主机。
SD状态(SD_Status),当主机使用SD_STATUS(ACMD13)命令时,512位以一个数据块的方式发送给主机。
SD_STATUS还包括了和BUS_WIDTH、安全相关位和扩展位等的扩展状态位。
3.4 内存组织数据读写的基本单元是一个字节,可以按要求组织成不同的块。
Block:块大小可以固定,也可以改变,允许的块大小是实际大小等信息存储在CSD寄存器。
Sector:和擦除命令相关,由几个块组成。
Sector的大小对每个设备是固定的,大小信息存储在CSD寄存器。
WP Group:写保护单位。
大小包括几个group,写保护由一位决定,对每个设备大小是固定的,存储在CSD寄存器。
3.5 读写操作Single Block Mode:主机根据事先定义的长度读写一个数据块。
由发送模块产生一个16位的CRC校验码,接受端根据校验码进行检验。
读操作的块长度受设备sector大小(512 bytes)的限制,但是可以最小为一个字节。
不对齐的访问是不允许的,每个数据块必须位于单个物理sector内。
写操作的大小必须为sector大小,起始地址必须与sector边界对齐。
Multiple Block Mode:主机可以读写多个数据块(相同长度),根据命令中的地址读取或写入连续的内存地址。
操作通过一个停止传输命令结束。
写操作必须地址对齐。
3.6 数据传输速率SD卡可以通过单数据线(DAT0)或四根数据线(DAT0-DAT3)进行数据传输。
单根数据线传输最大传输速率为25 Mbit/s,四根数据线最大传输速率为100 Mbit/s。
3.7 数据保护每个sector的数据通过Error Correction Code (ECC)进行保护。
在写sector时生成ECC,在读sector时检验ECC。
如果发现错误,在传输前进行纠正。
3.8数据擦除SD卡数据擦除的最小单位是sector。
为了加速擦除操作,多个sector可以同时擦除。
为了方便选择,第一个指令包含起始地址,第二个指令包含结束地址,在地址范围内的所有sector将被擦除。
3.9 写保护两种写保护方式可供选择,永久保护和临时保护,两种方式都可以通过PROGRAM_CSD指令进行设置。
永久保护位一旦设置将无法清除。
3.10 拷贝位通过CSD寄存器中的拷贝位(copy bit)设置SD卡中的数据是原始数据还是拷贝数据。
拷贝位一旦设置,将无法清除,在测试和格式化时使用。
3.11 CSD寄存器所有SD卡的配置信息存储在CSD寄存器。
通过SEND_CSD读取,PROGRAM_CSD修改。
4 SPI模式二、S D卡接口描述1 引脚和寄存器主机通过9个引脚和SD卡相连1.1 SD模式引脚扩展数据线(DAT1-DAT3)上电后为输入,SET_BUS_WIDTH命令执行后作为数据线。
即使只有DAT0使用,所有数据线都和外部上拉电阻连接,否则DAT1 & DAT2(如果未被使用)的振荡输入将引起非期望的高电流损耗。
上电后,数据线输入50K(+/-20K)欧姆的上拉(用来进行卡侦测和SPI模式选择)。
用户可以在常规数据传输时,通过SET_CLR_CARD_DETECT (ACMD42)命令分离上拉。
1.2 SPI模式引脚1.3 寄存器主机通过重新上电来重置(reset)卡。
卡有它自身检测上电的电路,当上电后卡状态切换到idle状态。
也可以通过GO_IDLE (CMD0)指令来重置。
2SD卡总线拓扑SD总线有6根通信线和三根电源供应线:✧CMD——命令线是双向信号线。
主机和卡通过push pull 模式工作。
✧DAT0-3——数据线是双向信号线。
主机和卡通过push pull 模式工作。
✧CLK——时钟是从主机到卡的信号。
CLK通过push pull 模式操作。
✧VDD—VDD是所有卡的电源供应线。
✧VSS[1:2]—VSS是2根地线。
在初始化的时候,向每个卡分别发送命令,允许应用检测卡并给物理槽(physical slot)分配逻辑地址。
数据通常分别传输给每个卡。
然后,为了方便处理卡堆栈,初始化后所有命令同时发送给所有卡,在命令数据包中包含了操作地址。
SD总线允许动态配置数据线数目。
上电后默认SD卡只用DAT0作为数据传输线。
初始化后,主机可以改变总线宽度。
这个特性使得在硬件开销和系统性能间取得平衡。
3SPI总线拓扑4电气接口4.1 上电上电后,包括热插入,卡进入idle状态。
在该状态SD卡忽略所有总线操作直到接收到ACMD41命令。
ACMD41命令是一个特殊的同步命令,用来协商操作电压范围,并轮询所有的卡。
除了操作电压信息,ACMD41的响应还包括一个忙标志,表明卡还在power-up过程工作,还没有准备好识别操作,即告诉主机卡还没有就绪。
主机等待(继续轮询)直到忙标志清除。
单个卡的最大上电时间不能操作1秒。
上电后,主机开始时钟并在CMD线上发送初始化序列,初始化序列由连续的逻辑“1”组成。
序列长度为最大1毫秒,74个时钟或supply-ramp-up时间。
额外的10个时钟(64个时钟后卡已准备就绪)用来实现同步。
每个总线控制器必须能执行ACMD41和CMD1。
CMD1要求MMC卡发送操作条件。
在任何情况下,ACMD41或CMD1必须通过各自的CMD线分别发送给每个卡。
5寄存器5.1 OCR(Operating Conditions Register)32位的操作条件寄存器存储了V DD电压范围。
SD卡操作电压范围为2~3.6V。
然而从内存中访问数据的电压是2.7~3.6V。
OCR显示了卡数据访问电压范围,结构如下表所示。
表3-8 OCR寄存器定义OCR结构如下图所示。
如果第32位(busy bit)置位,表明卡上电过程已结束。
5.2 CID(Card Identification)CID寄存器长度为16个字节的卡唯一标识号,该号在卡生产厂家编程后无法修改。
SD 和MMC卡的CID寄存器结构不一样。
1、格式为“n.m”,如“6.2”表示为0110 00105.3 CSD(Card Specific Data)CSD寄存器包含访问卡数据所需的配置信息。
SD卡和MMC卡的CSD不同。
6数据交互格式和卡容量通常,SD卡分为2个区:✧用户区—用户通过读写命令存储安全和非安全数据。
✧安全保护区(Security Protected Area)—版权保护应用程序用来保存安全相关数据,通过SD安全规范中定义的条件验证后,由主机使用安全的读写指令完成操作。
安全保护区的大小大概是总大小的1%。
三、S D卡协议1 SD总线协议SD总线通信是基于命令和数据位流方式的,由一个起始位开始,以一个停止位结束:命令——命令是开始开始操作的标记。
命令从主机发送一个卡(寻址命令)或所有连接的卡(广播命令)。
命令在CMD线上串行传送。
响应——响应是从寻址卡或所有连接的卡(同步)发送给主机用来响应接受到的命令的标记。
命令在CMD线上串行传送。
数据——数据可以通过数据线在卡和主机间双向传送。
卡寻址通过会话地址方式实现,地址在初始化的时候分配给卡。
SD总线上的基本操作是command/response。
数据传送采用块方式,数据块后接CRC校验位,操作包括单数据块和多数据块。
多数据块更适合快速写操作,多数据块传输当在CMD线出现停止命令时结束。
数据传输可以在主机端设置采用单数据线或多数据线方式。
块写操作在DAT0数据线写操作期间使用忙信号,无论用来传输的信号线数目是多少。
命令格式如下所示:响应标记(token)根据内容不同具有四种格式,标记长度。
长度为48位或136位。
数据块的CRC算法采用16位的CCITT多项式。
在命令行中,MSB位首先传送,LSB位最后传送。
当使用宽总线模式时,数据同时在4根数据线上传输。
开始位、结束位和CRC在每根数据线上传送。
CRC对每根数据线单独计算。
CRC状态响应和Busy信号只通过DAT0由卡发送给主机。
2 协议功能描述所有主机和SD卡间的通信由主机控制。
主机发送下述两类命令:●广播命令——广播命令发送给所有SD卡,有些命令需要响应。
●寻址(点对点)命令——寻址命令只发送给具有相应地址的卡,并需要从卡返回一个响应。
对卡而言也有两类操作:●卡识别模式——在重置(reset)后当主机查找总线上的新卡时,处于卡识别模式。
重置后SD卡将始终处于该模式,直到收到SEND_RCA命令(CMD3)。
●数据传输模式——一旦卡的REC发布后,将进入数据传输模式。
主机一旦识别了所有总线上的卡后,将进入数据传输模式。
操作模式与卡状态关系:3 卡识别模式在卡识别模式,主机重置所有处于卡识别模式的SD卡,检验操作电压范围,识别卡并请求卡发送相对卡地址RCA。
操作对每个卡在各自的CMD线上单独进行,所有的数据传送只使用CMD线。
3.1 重置GO_IDLE_STATE(CMD0)是软件重置命令,设置每个SD卡进入Idle状态。
处于Inactive 状态的卡不受此命令影响。
主机上电后,所有SD卡进入Idle状态,包括处于Inactive状态的卡。