SD MMC SPI模式初始化流程与步骤.pdfVIP

  • 0
  • 0
  • 约6.56千字
  • 约 6页
  • 2026-03-12 发布于北京
  • 举报

SDmmcSPI下的初始化

2009‑03‑2712:19

SPI模式初始化过程

上电复位后,MMC/SDC进入其原生操作模式。要将其置于SPI模式,必须执行以下

程序。

电源开启()

当供电电压达到2.2伏特后,至少等待一毫秒。将DI和CS置为并在

SCLK上施加超过74个时钟脉冲,卡将准备好接受原生命令。

软件复位

将SPI时钟速率设置在100kHz到400kHz之间,然后在CS低电平时发送

CMD0以复位卡。卡在接收到CMD0时会采样CS信号。如果CS信号为低电平,

卡将进入SPI模式。由于CMD0必须作为原生命令发送,CRC字段必须具有有

效值。一旦卡进入SPI模式,CRC功能将被禁用,不再检查CRC,因此可以使

用仅对CMD0和CMD8有效的硬编码CRC值编写命令传输例程。当CMD0被接

受后,卡将进入空闲状态,并响应带有空闲状态位(0x01)的R1响应。CRC功

能也可以通过CMD59切换。

初始化

在空闲状态下,卡只接受CMD0、CMD1和CMD58。任何其令都将被。

此时,应检查OCR中指示的工作电压范围。如果系统供电电压超出工作电压范

围,卡必须被。当检测到CMD1时,卡将开始初始化。为了轮询初始化结

束,主机控制器必须发送CMD1并检查响应,直到初始化结束。当卡成功初始

化后,R1响应中的空闲状态位将被清除(R1响应从0x01变为0x00)。初始化

过程可能需要几百毫秒(大容量卡往往需要更长时间),因此这是确定超时值

的一个考虑因素。卡初始化完成后,通用读/写命令将能够被接受。

由于建议SDC使用ACMD41而不是CMD1,因此首先发送ACMD41,如果被,则重

试CMD1,以支持两种类型的卡。

SDmmcSPI下的初始化

2009-03-2712:19

InitializationProcedureforSPIMode

Afterpoweronreset,MMC/SDCentersitsnativeoperatingmode.Toput

itSPImode,follwingproceduremustbeperformed.

PowerON(Insersion)

Aftersupplyvoltagereached2.2volts,waitforamillisecondatleast.

SetDIandCShighandapplymorethan74clockpulsestoSCLKandthe

cardwillgoreadytoacceptnativecommands.

SoftwareReset

SetSPIclockrateween100kHzand400kHzandthensendaCMD0with

CSlowtoresetthecard.ThecardsampCSsignalwhenaCMD0is

received.IftheCSsignalislow,thecardentersSPImode.Sincethe

CMD0mustbesentasanativecommand,theCRCfieldmusthaveavalid

value.WhenoncethecardentersSPImode,theCRCfeatureisdisabled

andtheCRCisnotchecked,sothatcommandtransmissionroutinecanbe

writtenwiththehardcordedCRCvaluethatvalidforonlyCMD0andCMD8.

WhentheCMD0isaccepted,thecardwillenteridlestateandrespondR1

responsewithInIdleStatebit(0x01).TheCRCfeaturecanalsobe

switchedwithCMD59.

Initialization

Inidlestate,thecardacceptsonlyCMD0,CMD1an

文档评论(0)

1亿VIP精品文档

相关文档