- 1、本文档共46页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SD卡
概述
1、简介
SD卡是基于flash存储卡。
SD卡和MMC卡的区别在于初始化过程不同。
SD卡的通信协议包括SD和SPI两类。
SD卡使用卡内智能控制模块进行FLASH操作控制,包括协议、安全算法、数据存取、ECC算法、缺陷处理和分析、电源管理、时钟管理。
2、功能介绍
2.1 特点
主机无关的FLASH内存擦除和编程
读或写数据,主机只要发送一个带地址的命令,然后等待命令完成,主机无需关心具体操作的完成。当采用新型的FLASH时,主机代码无需更新。
缺陷管理
错误恢复
电源管理
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模式
SD卡接口描述
1 引脚和寄存器
主机通过9个引脚和SD卡相连
1.1 SD模式引脚
扩展数据线(DAT1-DAT3)上电后为输入,SET_BUS_WIDTH命令执行后作为数据线。即使只有DAT0使用,所有数据线都和外部上拉电阻连接,否则DAT1 DAT2(如果未被使用)的振荡输入将引起非期望的高电流损耗。
上电后,数据线输入50K(+/-20K)欧姆的上拉(用来进行卡侦测和SPI模式选择)。用户可以在常规数据传输时,通过SET_CLR_CARD_
文档评论(0)