没有合适的资源?快使用搜索试试~ 我知道了~
SD卡是基于flash的存储卡。 SD卡和MMC卡的区别在于初始化过程不同。 SD卡的通信协议包括SD和SPI两类。 特点 1)主机无关的FLASH内存擦除和编程 读或写数据,主机只要发送一个带地址的命令,然后等待命令完成,主机无需关心具体操作的完成。当采用新型的FLASH时,主机代码无需更新。 2)缺陷管理 3)错误恢复 4)电源管理 Flash每个扇区有大约10万次的写寿命,读没有限制。 擦除操作可以加速写操作,因为在写之前会进行擦除。
资源推荐
资源详情
资源评论
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卡中的数据是原始数据还是拷贝数据。拷贝位一旦设置,
将无法清除,在测试和格式化时使用。
剩余46页未读,继续阅读
资源评论
时光の尘
- 粉丝: 3606
- 资源: 203
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功