打印

SD卡操作

[复制链接]
848|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
bboo|  楼主 | 2016-2-24 08:51 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
SD卡是基于flash的存储卡。
SD卡和MMC卡的区别在于初始化过程不同。
SD卡的通信协议包括SD和SPI两类。
沙发
bboo|  楼主 | 2016-2-24 08:54 | 只看该作者
两种通信方式对比

未命名.JPG (41.71 KB )

未命名.JPG

使用特权

评论回复
板凳
bboo|  楼主 | 2016-2-24 08:55 | 只看该作者
SD卡使用卡内智能控制模块进行FLASH操作控制,包括协议、安全算法、数据存取、ECC算法、缺陷处理和分析、电源管理、时钟管理。

sd.JPG (29.7 KB )

sd.JPG

使用特权

评论回复
地板
bboo|  楼主 | 2016-2-24 08:55 | 只看该作者
特点
1)        主机无关的FLASH内存擦除和编程
读或写数据,主机只要发送一个带地址的命令,然后等待命令完成,主机无需关心具体操作的完成。当采用新型的FLASH时,主机代码无需更新。
2)        缺陷管理
3)        错误恢复
4)        电源管理

Flash每个扇区有大约10万次的写寿命,读没有限制。

擦除操作可以加速写操作,因为在写之前会进行擦除。

使用特权

评论回复
5
engao| | 2016-2-24 08:56 | 只看该作者
Negotiating Operation Conditions
当主机定义了SD卡不支持的电压范围时,SD卡将处于非活动状态,将忽略所有的总线传输。要退出非活动状态唯一的方法就是重新上电。

使用特权

评论回复
6
engao| | 2016-2-24 09:09 | 只看该作者
SD卡获取和识别
SD卡总线采用的是单主多从结构,总线上所有卡共用时钟和电源线。主机依次分别访问每个卡,每个卡的CID寄存器中已预编程了一个唯一的卡标识号,用来区分不同的卡。
主机通过READ_CID命令读取CID寄存器。CID寄存器在SD卡生产过程中的测试和格式化时被编程,主机只能读取该号。
DAT3线上内置的上拉电阻用来侦测卡。在数据传输时电阻断开(使用 ACMD42)。

使用特权

评论回复
7
quangg| | 2016-2-24 09:11 | 只看该作者
卡状态
卡状态分别存放在下面两个区域:
卡状态(Card Status),存放在一个32位状态寄存器,在卡响应主机命令时作为数据传送给主机。
SD状态(SD_Status),当主机使用SD_STATUS(ACMD13)命令时,512位以一个数据块的方式发送给主机。SD_STATUS还包括了和BUS_WIDTH、安全相关位和扩展位等的扩展状态位。

使用特权

评论回复
8
quangg| | 2016-2-24 09:12 | 只看该作者
数据读写的基本单元是一个字节,可以按要求组织成不同的块。

ds.JPG (72.25 KB )

ds.JPG

使用特权

评论回复
9
engao| | 2016-2-24 09:12 | 只看该作者
Block:块大小可以固定,也可以改变,允许的块大小是实际大小等信息存储在CSD寄存器。
Sector:和擦除命令相关,由几个块组成。Sector的大小对每个设备是固定的,大小信息存储在CSD寄存器。
WP Group:写保护单位。大小包括几个group,写保护由一位决定,对每个设备大小是固定的,存储在CSD寄存器。

使用特权

评论回复
10
quangg| | 2016-2-24 09:15 | 只看该作者
Block:块大小可以固定,也可以改变,允许的块大小是实际大小等信息存储在CSD寄存器。
Sector:和擦除命令相关,由几个块组成。Sector的大小对每个设备是固定的,大小信息存储在CSD寄存器。
WP Group:写保护单位。大小包括几个group,写保护由一位决定,对每个设备大小是固定的,存储在CSD寄存器。

使用特权

评论回复
11
engao| | 2016-2-24 09:15 | 只看该作者
WP Group:写保护单位。大小包括几个group,写保护由一位决定,对每个设备大小是固定的,存储在CSD寄存器。

fds.JPG (64.96 KB )

fds.JPG

使用特权

评论回复
12
engao| | 2016-2-24 09:16 | 只看该作者
Single Block Mode:主机根据事先定义的长度读写一个数据块。由发送模块产生一个16位的CRC校验码,接受端根据校验码进行检验。读操作的块长度受设备sector大小 (512 bytes)的限制,但是可以最小为一个字节。不对齐的访问是不允许的,每个数据块必须位于单个物理sector内。写操作的大小必须为sector大小,起始地址必须与sector边界对齐。
Multiple Block Mode:主机可以读写多个数据块(相同长度),根据命令中的地址读取或写入连续的内存地址。操作通过一个停止传输命令结束。写操作必须地址对齐。

111.JPG (79.1 KB )

111.JPG

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

38

主题

364

帖子

1

粉丝