概要:本文首先讲解了SDMemoryCard(SecureDigitalMemoryCard)的基本结构和原理,侧重对SD卡的命令字和操作者流程展开讲解。接着研究了三星32位嵌入式处理器S3C2410与SD卡硬件模块电路及其对SD卡的基本读写操作方式。
1章节 SD卡(SecureDigitalMemoryCard)是一种基于Flash的新一代存储器,它侧重数据存储的安全性、容量和性能,是许多便携式电子产品如数码相机、手提电话,PDA等理想的外部存储介质。 2 SD的基本概念 2.1 SD的通信协议 SD卡系统可以在两种通信协议下工作:SD协议和SPI协议。用户可以在硬件初始化时自由选择SD卡系统的通信协议。对于特定的硬件电路,用户只需用于一种通信协议才可。
本文根据笔者的硬件,仅有辩论最常用的SD协议。 2.2 SD数据传输方式 SD反对两种数据传输方式:1-bit方式(标准总线)和4-bit方式(长总线)。
在1-bit方式下,数据意味着在数据线0(DAT[0])上传输。在4-bit方式下,数据在4根数据线(DAT[3:0])上同时传输。在4-bit数据传输方式下,最低的数据传输速率平均100Mb/sec。
表格1所列了在两种方式下SD模块信号的定义。 上电后,缺省状态下系统工作于1-bit方式。在SD卡正处于传输状态时,用户可以权利地更加改回1-bit或4-bit方式。
2.3 SD通信原理 SD总线是一个星型的总线结构,系统中容许有一个主控器,最少平均十个从设备(SD卡)。在系统初始化时,主控器分别为每一个设备分配一个设备地址,此后主控器就可以根据此设备地址独立国家操作者该设备。
SD总线通信是基于命令和数据位东流的,每一个数据流都还包括一个接续位和一个结束位。 每一个SD命令密切相关一个卡操作者的开始。SD命令由命令线(CMD)展开传输。
SD卡在接管到命令后,不会向主控器发送到一个接收者信号,密切相关早已接管了一个命令。接收者信号传输在CMD线上。有小部分的命令是没接收者信号的,这各不相同命令的类型。 SD数据传输是双向。
所有的数据传输都在数据线上展开。 2.4 SD系统中的数据组织格式 SD系统中的命令传输、接收者信号传输和数据传输都有各自专门的的组织形式,如图1。
所有的命令字、接收者和数据的第一位都为接续位0,最后一位为结束位1。 命令字和接收者中的第二位为发送者标志位,1回应主控器命令,0回应SD卡接收者信号。 SD卡根据所接管命令字的有所不同,有R1,R2,R3和R6四种有所不同的接收者,明确可参照SD涉及文档。
在展开数据传输时,如果用于长总线传输方式,刚好有四位数据在传输,分别用于四根数据线。每根数据线上的CRC校验码是独立国家计算出来的。
3 SD卡操作者流程 SD系统所有的通信都由主控器掌控。主控器必需负责管理系统的初始化,设置通信中必须的各种参数,然后再行发动数据加载或载入操作者。
在这一系列过程中,SD卡有可能正处于如表格2右图的各种状态中的一种。 3.1 系统初始化 此阶段系统的操作者模式归属于卡辨别模式。
主控制器首先发送到命令字CMD0重置所有系统中正处于辨别模式中的卡。接管到命令CMD0后,SD卡将被初始化,并取得一个缺省的地址0(比较卡地址寄存器RCA=0x0)。 接着主控器以自己拒绝的工作电压范围为参数发送到命令ACMD41查找SD卡的OCR(工作环境寄存器)。
工作电压不出此拒绝范围内的卡将被回避在更进一步的总线操作者之外并转入非活动状态。合乎电压范围拒绝的卡将转入准备就绪状态。 凸接下来主控器发送到命令CMD2以取得SD卡的标识号CID。
SD卡发送到了CID号后转入辨识状态。 最后,主控器以比较地址为参数发送到命令CMD3,SD卡接管到命令后用该参数改版自己的RCA。此后主控器就可以用于此地址传输速率该卡。
初始化已完成后,SD卡就正处于了数据传输模式的等候状态,这是数据传输模式的初始状态。此时通过卡自由选择命令CMD7就转入传输状态,可以展开数据的载入与朗读了。 3.2 SD写出操作者 SD卡的读取是以数据块为基本单位的。
本文来源:热彩娱乐-www.yaboyule202.icu