SD卡-中文学习笔记

上传人:cn****1 文档编号:432597711 上传时间:2023-04-11 格式:DOCX 页数:46 大小:490.40KB
返回 下载 相关 举报
SD卡-中文学习笔记_第1页
第1页 / 共46页
SD卡-中文学习笔记_第2页
第2页 / 共46页
SD卡-中文学习笔记_第3页
第3页 / 共46页
SD卡-中文学习笔记_第4页
第4页 / 共46页
SD卡-中文学习笔记_第5页
第5页 / 共46页
点击查看更多>>
资源描述

《SD卡-中文学习笔记》由会员分享,可在线阅读,更多相关《SD卡-中文学习笔记(46页珍藏版)》请在金锄头文库上搜索。

1、SD卡操作一、概述1、简介SD卡是基于flash的存储卡。SD卡和MMC卡的区别在于初始化过程不同。SD卡的通信协议包括SD和SPI两类。Tuble -2. SD BiivSPr Bns Cainpai isoiiCard Using SD BusSD Card Uml购 SPI BusSix-iwre communicatssn channel (clock, command, 4 data line乳Thifewire serial data bus (Clock, data In, dataOui.) + card specific OS signal (hardwired card s

2、eleclionj.Lnoi-praiecl&J dulu tranafer.Qjtionul nori prol&ctud data Iranafer mode available.Single or muliiple block oruented dala iransfer.Single muliipte block one-nted data transfer.SD卡使用卡内智能控制模块进行FLASH操作控制,包括协议、安全算法、数据存取、ECC 算法、缺陷处理和分析、电源管理、时钟管理。2、功能介绍2.1 特点1) 主机无关的FLASH内存擦除和编程读或写数据,主机只要发送一个带地址的

3、命令,然后等待命令完成,主机无需关心具体操作的完成。当采用新型的FLASH时,主机代码无需更新。2) 缺陷管理3) 错误恢复4) 电源管理Flash每个扇区有大约10万次的写寿命,读没有限制。擦除操作可以加速写操作,因为在写之前会进行擦除。3 SD 总线模式3.1 Negotiating Operation Conditions当主机定义了 SD卡不支持的电压范围时,SD卡将处于非活动状态,将忽略所有的总线传输。要退出非活动状态唯一的方法就是重新上电。3.2 SD卡获取和识别SD卡总线采用的是单主多从结构,总线上所有卡共用时钟和电源线。主机依次分别访 问每个卡,每个卡的CID寄存器中已预编程了

4、一个唯一的卡标识号,用来区分不同的卡。主机通过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

5、 内存组织Sector 1i Sector 3SD Me-rri&rv C ardW = Grau p 0数据读写的基本单元是一个字节,可以按要求组织成不同的块。W 二 Grau p iiBlock:块大小可以固定,也可以改变,允许的块大小是实际大小等信息存储在CSD寄 存器。Sector:和擦除命令相关,由几个块组成。Sector的大小对每个设备是固定的,大小信息 存储在 CSD 寄存器。WP Group:写保护单位。大小包括几个group,写保护由一位决定,对每个设备大小是 固定的,存储在CSD寄存器。1 nhle 1-3. Memoiy Array Sfrnctnies SummaryP

6、art MumbflrBlock 5iz(Byte)Data Area + PrstRclRd siie (Sllocks)Protected ft resize BlocksUser Area f Blocks)SDSDJ-10245122 D0-.22420.480L0B37448DS3J-5125121001/0410:24D940:8&4SDSDJ-2512499:45 E5,3764&4:0MSDSDJ-1205122456+C2妙246;016SDSDJ645121232321,37121:8MSDSDB3251260,1273653,776SDSDB-1651229,152352

7、23,800NOTE: All:ueauremenrB are m uni苗 per card3.5 读写操作MemoryMemoryMultiple BlockSingle Bock ModeMisalicnment ErrcrMemory SectorshlemorySectorsMemory SectorsMemory SectorsMemory SectorsMei Satlory torsMen Sec:orsAddress (Rad)Address (Writ 时Address (Read/Wriu)Single Block Mode :主机根据事先定义的长度读写一个数据块。由发送

8、模块产生一个16 位的CRC校验码,接受端根据校验码进行检验。读操作的块长度受设备sector大小(512 bytes)的限制,但是可以最小为一个字节。不对齐的访问是不允许的,每个数据块必须位于 单个物理sector内。写操作的大小必须为sector大小,起始地址必须与sector边界对齐。Multiple Block Mode:主机可以读写多个数据块(相同长度),根据命令中的地址读取或 写入连续的内存地址。操作通过一个停止传输命令结束。写操作必须地址对齐。3.6 数据传输速率SD卡可以通过单数据线(DAT0)或四根数据线(DAT0-DAT3)进行数据传输。单根 数据线传输最大传输速率为25

9、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指令进行设置。 永久保护位一旦设置

10、将无法清除。3.10 拷贝位通过CSD寄存器中的拷贝位(copy bit)设置SD卡中的数据是原始数据还是拷贝数据。拷贝位一旦设置, 将无法清除,在测试和格式化时使用。3.11 CSD寄存器所有SD卡的配置信息存储在CSD寄存器。通过SEND_CSD读取,PROGRAM_CSD修改。4 SPI模式二、SD卡接口描述1 引脚和寄存器主机通过9个引脚和SD卡相连1.1 SD 模式引脚Tble 3-1. SD Bns Iock Pad DefinitionPinflNameType1SD Description1GD/DM32I/O3Card Detect/Data Line Bit 32Ck-ID

11、I/OCo mm a nd,Res ponse3讥匸sSupply voltage ground+Vd:sSupply voltage5CLK1Clock6VsasSupply voltage ground7DATCI/OData Line Bi巴&DAT1I/OData Line Bit 19DAT2I/OData Line Bit 2扩展数据线(DAT1-DAT3)上电后为输入,SET_BUS_WIDTH命令执行后作为数据线。即使只 有DAT0使用,所有数据线都和外部上拉电阻连接,否则DAT1 & DAT2(如果未被使用) 的振荡输入将引起非期望的高电流损耗。上电后,数据线输入50K(+/

12、-20K)欧姆的上拉(用来进行卡侦测和SPI模式选择)。用 户可以在常规数据传输时,通过SET_CLR_CARD_DETECT (ACMD42)命令分离上拉。1.2 SPI模式引脚Table 3-2. SFI Bus Mode DefinitionPin#NameType1SPI Description1CS1Chip Select (Active low)2Dataln1Host to Card ConnmandEand Dala3VSS1SSupply Volta-ge Ground斗VDD8Supply Volta5CLK1Clock6VSS2SSupply Volta-ge Groun

13、d1DataOut0Card to Host Data and Status8RSV(2)1Reter/ed9RSV(2)1Re&er/ed1.3 寄存器名称宽度描述CID128卡标识号RCA16相对卡地址(Relative card address ):本地系统中卡的地址,动 态变化,在主机初始化的时候确定*SPI模式中没有CSD128卡描述数据:卡操作条件相关的信息数据SCR64SD配置寄存器:SD卡特定信息数据OCR32操作条件寄存器主机通过重新上电来重置(reset)卡。卡有它自身检测上电的电路,当上电后卡状态切换到idle状态。 也可以通过 GO_IDLE (CMD0) 指令来重置。

14、2 SD 卡总线拓扑SD总线有6根通信线和三根电源供应线: CMD命令线是双向信号线。主机和卡通过push pull模式工作。 DAT0-3数据线是双向信号线。主机和卡通过push pull模式工作。 CLK时钟是从主机到卡的信号。CLK通过push pull模式操作。 VDD VDD是所有卡的电源供应线。 VSS1:2VSS 是 2 根地线。在初始化的时候,向每个卡分别发送命令,允许应用检测卡并给物理槽(physical slot) 分配逻辑地址。数据通常分别传输给每个卡。然后,为了方便处理卡堆栈,初始化后所有 命令同时发送给所有卡,在命令数据包中包含了操作地址。SD总线允许动态配置数据线数目。上电后默认SD卡只用DAT0作为数据传输线。初始 化后,主机可以改变总线宽度。这个特性使得在硬件开销和系统性能间取得平衡。3 SPI 总线拓扑4 电气接口4.1 上电Supply voltageLogic working levelInitialization sequence -CMD2I Initialization delay: t The maxirriurn of1 msec, 74 clock cycles and su

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 建筑资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号