SD卡-中文学习笔记
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线上内置的上拉电阻用来侦测卡。
在数据传输时电阻断开(使用ACMD42)。
3.3 卡状态卡状态分别存放在下面两个区域:卡状态(Card Status),存放在一个32位状态寄存器,在卡响应主机命令时作为数据传送给主机。
SD状态(SD_Status),当主机使用SD_STATUS(ACMD13)命令时,512位以一个数据块的方式发送给主机。
SD_STATUS还包括了和BUS_WIDTH、安全相关位和扩展位等的扩展状态位。
3.4 内存组织数据读写的基本单元是一个字节,可以按要求组织成不同的块。
Block:块大小可以固定,也可以改变,允许的块大小是实际大小等信息存储在CSD寄存器。
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卡学习笔记之欧阳德创编
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 卡相同。
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 线上内置的上拉电阻用来侦测卡。
STM32笔记(六)SD卡的读写和FatFS文件系统
STM32笔记(六)SD卡的读写和FatFS文件系统因为要用,学习了一下SPI操作SD卡,同时移植了一个免费开源的FAT文件系统:FatFS。
感觉挺好,在单片机上实现了读写文件的操作,接下来就可以解释我的G代码咯!我的SD卡底层操作参考了网上几种常见的代码,但又对其结构做了一定的优化,至少看起来用起来比较方便。
既可以作为文件系统的diskio使用,也可以直接使用底层函数,把SD卡作为一块flash读写。
FatFs文件系统体积蛮小,6-7K足矣,对于128Kflash的STM32来说很合适,代价不大。
同时可移植性很高,最少只需要4个函数修改既可以实现文件系统的移植。
相关文件系统的介绍请看这里。
这里给一套比较完整的参考资料,包括fatfs文件系统的原版资料、几个重要的手册和网上下载的代码。
/bbs/bbs_content.jsp?bbs_sn=3210864&bbs_page_no=1&bbs_id=3020 下面是我的代码:其中底层的SPI总线对SD卡的操作在SPI_SD_driver.c/h中,而FATFS的移植文件diskio.c中对磁盘的操作函数中将调用底层的操作函数。
下面是一些底层操作函数:u8 SPI_ReadWriteByte(u8 TxData); //SPI总线读写一个字节u8 SD_WaitReady(void); //等待SD卡就绪u8 SD_SendCommand(u8 cmd, u32 arg, u8 crc); //SD卡发送一个命令u8 SD_SendCommand_NoDeassert(u8 cmd, u32 arg, u8 crc); //SD卡发送一个命令,不断线u8 SD_Init(void); //SD卡初始化u8 SD_ReceiveData(u8 *data, u16 len, u8 release); //SD卡读数据u8 SD_GetCID(u8 *cid_data); //读SD卡CIDu8 SD_GetCSD(u8 *csd_data); //读SD卡CSDu32 SD_GetCapacity(void); //取SD卡容量u8 SD_ReadSingleBlock(u32 sector, u8 *buffer); //读一个sectoru8 SD_WriteSingleBlock(u32 sector, const u8 *buffer); //写一个sectoru8 SD_ReadMultiBlock(u32 sector, u8 *buffer, u8 count); //读多个sectoru8 SD_WriteMultiBlock(u32 sector, const u8 *data, u8 count); //写多个sector这是diskio.c中的一段代码,在disk初始化中,我们调用了SPI_SD_driver.c中的SD卡初始化函数。
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卡的有关知识一.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卡深入解读
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卡知识点
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卡中文资料
7S P I模式本文是小弟自己翻译的(处女作哦~~~~~),难免有不妥之处,望交流指教!联系方式 QQ:286225453 Email:ioro55555@7.1介绍SPI模式SPI模式由二次传递协议组成,这个协议由Flash(基于SD卡)提供。
本模式是SD卡协议的子协议,目的是用SPI信道通讯。
SPI模式在SD卡上电后第一个复位指令(CMD0)执行后被选择,并且在接通电源时不能改变。
SPI标准定义只不过是物理链接,而不是完全的数据传送协议。
SD卡的SPI设备使用SD卡协议的子协议和部分指令。
SPI模式的优势在于可以使用标准主机,从而把外设减少到最低。
SPI模式相对于SD模式的缺点是损失了性能。
7.2 SPI总线SD卡信道由指令和数据位(起始位和结束位)组成,SPI信道由字节定向。
每一个指令或数据块由8位的字节和CS标志构成。
类似SD卡协议, SPI通讯由指令、响应和数据组成。
全部的主机与SD卡之间的通信由主机控制。
主机执行每一跟CS标志为低的总线。
SPI模式与SD模式的响应特性有以下三方面不同∶1、被选择的卡始终对指令作出反应。
2、一个附加的(8BIT)响应产生。
3、在SD卡遇到数据检索问题时,它会作出错误反应,而不是像在SD模式中一样执行一次空操作。
除命令响应之外,每一个数据块在写操作期间会作出专门的信息响应标志反应发送给SD卡。
数据块可以大到一个扇区小到一个字节。
读/写操作由CSD(指令信号译码器)寄存器操作。
7.2.1模式选择SD卡在上电后自动SD模式。
如果CS标志在接受复位指令(CMD0)期间为低,它将进入SPI模式并且处于空闲状态。
如果SD卡识别到需要保持SD模式,它不会对指令作出任何反应并且保持在SD模式中。
如果需要SPI模式,SD卡将转到SPI模式并且进行SPI模式R1响应。
回到SD模式的必须重新上电。
在SPI 模式下,SD卡遵守部分协议系统。
支持SPI模式的SD卡指令始终有效。
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卡读写规范
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
电脑内存卡知识
电脑内存卡知识电脑内存卡知识本地连接旁有个1394连接,1394连接是干什么用的?IEEE1394接口也称Firewire火线接口,是苹果公司开发的串行标准。
同USB一样,IEEE1394也支持外设热插拔,可为外设提供电源,省去了外设自带的电源,能连接多个不同设备,支持同步数据传输。
IEEE1394分为两种传输方式:Backplane模式和Cable模式。
Backplane模式最小的速率也比USB1.1最高速率高,分别为12.5Mbps/s 、25Mbps/s 、50Mbps/s,可以用于多数的高带宽应用。
Cable模式是速度非常快的模式,分为100Mbps/s 、200Mbps/s 和400Mbps/s几种,在200Mbps/s下可以传输不经压缩的高质量数据电影。
主要用作dv的数据传输。
1394连接是你电脑里装的视频采集卡的,简称1394卡。
主要用来采集视频,比如摄像机和数码相机。
现在新的摄像机和数码相机都采用USB接口了,但是如果要获取非常清晰的图像还是要用1394卡的。
下面是详细解答1394连接端口:IEEE1394接口是由APPLE和TI 公司开始的高速串行接口标准,Apple称之为FireWire(火线),Sony 称之为i.Link,TexasInstruments称之为Lynx,中文译名为火线接口(firewire)。
尽管各自厂商注册的商标名称不同,但实质都是一项技术,那就是IEEE1394。
同USB一样,IEEE1394也支持外设热插拔,可为外设提供电源,省去了外设自带的电源,能连接多个不同设备,支持同步数据传输。
IEEE1394分为两种传输方式:Backplane模式和Cable模式。
Backplane模式最小的速率也比USB1.1最高速率高,分别为12.5 Mbps/s 、25 Mbps/s 、50 Mbps/s,可以用于多数的高带宽应用。
Cable模式是速度非常快的模式,分为100 Mbps/s 、200 Mbps/s .400 Mbps/s和800Mbps几种,在200Mbps/s下即可传输不经压缩的高质量数据电影。
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”,保存,关闭。
- 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卡可以通过单数据线(DA T0)或四根数据线(DA T0-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模式二、SD卡接口描述1 引脚和寄存器主机通过9个引脚和SD卡相连1.1 SD模式引脚扩展数据线(DA T1-DA T3)上电后为输入,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%。
三、SD卡协议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状态的卡。