收藏 分享(赏)

8.sd卡学习笔记.doc

上传人:精品资料 文档编号:11007277 上传时间:2020-01-31 格式:DOC 页数:48 大小:990.50KB
下载 相关 举报
8.sd卡学习笔记.doc_第1页
第1页 / 共48页
8.sd卡学习笔记.doc_第2页
第2页 / 共48页
8.sd卡学习笔记.doc_第3页
第3页 / 共48页
8.sd卡学习笔记.doc_第4页
第4页 / 共48页
8.sd卡学习笔记.doc_第5页
第5页 / 共48页
点击查看更多>>
资源描述

1、SD 卡操作一、 概述1、简介SD 卡是基于 flash 的存储卡。SD 卡和 MMC 卡的区别在于初始化过程不同。SD 卡的通信协议包括 SD 和 SPI 两类。SD 卡使用卡内智能控制模块进行 FLASH 操作控制,包括协议、安全算法、数据存取、ECC 算法、缺陷处理和分析、电源管理、时钟管理。2、功能介绍2.1 特点1) 主机无关的 FLASH 内存擦除和编程读或写数据,主机只要发送一个带地址的命令,然后等待命令完成,主机无需关心具体操作的完成。当采用新型的 FLASH 时,主机代码无需更新。2) 缺陷管理3) 错误恢复4) 电源管理Flash 每个扇区有大约 10 万次的写寿命,读没有

2、限制。擦除操作可以加速写操作,因为在写之前会进行擦除。3 SD 总线模式3.1 Negotiating Operation Conditions当主机定义了 SD 卡不支持的电压范围时,SD 卡将处于非活动状态,将忽略所有的总线传输。要退出非活动状态唯一的方法就是重新上电。3.2 SD 卡获取和识别SD 卡总线采用的是单主多从结构,总线上所有卡共用时钟和电源线。主机依次分别访问每个卡,每个卡的 CID 寄存器中已预编程了一个唯一的卡标识号,用来区分不同的卡。主机通过 READ_CID 命令读取 CID 寄存器。CID 寄存器在 SD 卡生产过程中的测试和格式化时被编程,主机只能读取该号。DAT

3、3 线上内置的上拉电阻用来侦测卡。在数据传输时电阻断开(使用 ACMD42)。3.3 卡状态卡状态分别存放在下面两个区域:卡状态(Card Status) ,存放在一个 32 位状态寄存器,在卡响应主机命令时作为数据传送给主机。SD 状态(SD_Status ) ,当主机使用 SD_STATUS(ACMD13)命令时,512 位以一个数据块的方式发送给主机。SD_STATUS 还包括了和 BUS_WIDTH、安全相关位和扩展位等的扩展状态位。3.4 内存组织数据读写的基本单元是一个字节,可以按要求组织成不同的块。Block:块大小可以固定,也可以改变,允许的块大小是实际大小等信息存储在 CSD

4、 寄存器。Sector:和擦除命令相关,由几个块组成。Sector 的大小对每个设备是固定的,大小信息存储在 CSD 寄存器。WP Group:写保护单位。大小包括几个 group,写保护由一位决定,对每个设备大小是固定的,存储在 CSD 寄存器。3.5 读写操作Single Block Mode:主机根据事先定义的长度读写一个数据块。由发送模块产生一个 16位的 CRC 校验码,接受端根据校验码进行检验。读操作的块长度受设备 sector 大小 (512 bytes)的限制,但是可以最小为一个字节。不对齐的访问是不允许的,每个数据块必须位于单个物理 sector 内。写操作的大小必须为 se

5、ctor 大小,起始地址必须与 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 时检

6、验 ECC。如果发现错误,在传输前进行纠正。3.8 数据擦除SD 卡数据擦除的最小单位是 sector。为了加速擦除操作,多个 sector 可以同时擦除。为了方便选择,第一个指令包含起始地址,第二个指令包含结束地址,在地址范围内的所有 sector 将被擦除。3.9 写保护两种写保护方式可供选择,永久保护和临时保护,两种方式都可以通过PROGRAM_CSD指令进行设置。永久保护位一旦设置将无法清除。3.10 拷贝位通过CSD 寄存器中的拷贝位(copy bit)设置SD卡中的数据是原始数据还是拷贝数据。拷贝位一旦设置,将无法清除,在测试和格式化时使用。3.11 CSD 寄存器所有SD卡的配置

7、信息存储在CSD 寄存器。通过SEND_CSD读取,PROGRAM_CSD修改。4 SPI 模式二、 SD 卡接口描述1 引脚和寄存器主机通过 9 个引脚和 SD 卡相连1.1 SD 模式引脚扩展数据线(DAT1-DAT3)上电后为输入, SET_BUS_WIDTH 命令执行后作为数据线。即使只有 DAT0 使用,所有数据线都和外部上拉电阻连接,否则 DAT1 address 0 deselects all. When the RCA equals 0, the host may do one of the following:use other RCA number to perform c

8、ard deselectionOrre-send CMD3 to change its RCA number to other then 0 and then use CMD7 with RCA=0 for card de-selection.CMD8 保留CMD9 ac31:16 RCA15:0无用R2 SEND_CSD寻址卡并让其发送卡定义数据 CSDCMD10 ac31:16 RCA15:0无用R2 SEND_CID寻址卡并让其发送卡识别号 CIDCMD11 adtc31:0数据地址R1READ_DAT_UNTIL_STOP从卡读取数据流,从给定地址开始,知道停止传输命令结束CMD12 ac 31:0无用 R1b STOP中止多个块的读/写操作CMD13 ac31:16 RCA15:0无用R1 SEND_STATUS寻址卡并发送卡状态寄存器CMD14 保留CMD15 ac31:16 RCA15:0无用_ GO_INACTIVE_STATE设置卡到 inactive 状态

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报