完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本帖最后由 zhang602054856 于 2013-11-26 16:19 编辑
SD协议总结 一、 协议概述1. 供电电压必须是3.3V 2. 通讯模式的切换:SD模式和SPI模式; 默认情况下的通信模式是SD模式,切换SPI模式的方法,其关键的地方就是先上电延时大于74个时钟周期后发送复位命令CMD0,复位成功(接收到0x01的响应)后,连续发送CMD55和ACMD41,直到响应 0X00为止,此时SD卡已经进入SPI模式。 3. SD模式下允许有一个主机, 多个从机(即多个卡), 主机可以给从机分别地址. 主机发命令,有些命令是发送给指定的从机,有些命令可以以广播形式发送. SD模式下可以选择总线宽度, 即选用几根DAT信号线, 可以在主机初始化后设置. 4. 内存组织 数据读写的基本单元是一个字节,可以按要求组织成不同的块。 Block:块大小可以固定,也可以改变,允许的块大小与实际大小等信息存储在CSD 寄存器。 Sector:和擦除命令相关,由几个块组成。Sector 的大小对每个设备是固定的,大小信息存储在CSD 寄存器。 WPGroup:写保护单位。大小包括几个group,写保护由一位决定,对每个设备大小是固定的,存储在CSD 寄存器。 5. 数据擦除 SD 卡数据擦除的最小单位是sector。为了加速擦除操作,多个sector 可以同时擦除。 为了方便选择,第一个指令包含起始地址,第二个指令包含结束地址,在地址范围内的所 有sector将被擦除。 SD模式
二、 命令格式与内容1. 格式 SD模式下的命令和数据流都有一个开始位和结束位. 命令: 是在CMD上传输的用于启动一个操作的比特流.由主机发往从机,可以是点对点也可以是广播的.
响应: 是在CMD上传输的用于之前命令回答的比特流. 由从机发往主机.SD卡有多种不同的响应。 数据: 是在DAT上传输的比特流, 双向传输. 当使用宽总线模式时,数据同时在4根数据线上传输。开始位、结束位和CRC在每根数据线上传送。 CRC对每根数据线单独计算。CRC状态响应和Busy信号只通过DAT0由卡发送给主机。 2. 内容
CMD8命令格式
VHS位定义
CMD8这条指令是一条协商SD卡工作电压以及判断SD卡是1.0的版本还是2.0版本的指令,有相应的话就是2.0的卡,参数0x1aa,其中0x100是表示VHS,电压范围是1.7V~3.6V。为什么checkpattern是0xaa,不得而知。 三、 应答 所有的应答都是通过CMD发送,响应以MSB 开始,不同的应答长度可能不同,响应以起始位开始(通常为“0”),接着这是传输方向的位(卡为0)。除了R3 外其他响应都有CRC。每个响应都以结束位(通常为“1”)结束。总共有4种应答类型。 R1长度为48bit,注意每个块传输完成后有一个BUSY位
R1b 与R1类似,只是将 BUSY位加入响应中 R2(CIDCSD寄存器)长度为136位,CID为CMD2和CMD10的应答,CSD为CMD9的应答
长度为48位,作为ACMD41的应答
仅适用于SD 卡,这是一个SD卡对CMD3命令的正常响应。 当发送CMD3命令到SD卡时,卡的状态位会改变
评分
|
||||||||
相关推荐
13 个讨论
|
||||||||
|
|
|
|
|
|
单片机学习技术资料集合
|
|
|
|
|
|
#在这里快速回复#很好啊!技术支持,谢谢分享,学习了!
|
|
|
|
|
|
正在学习~~~谢谢楼主!!!!!
|
|
|
|
|
|
楼主你好 ,这份SD卡的协议是2.0的吗
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-27 15:01 , Processed in 0.811581 second(s), Total 72, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (威廉希尔官方网站 图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号