[元带你学: eMMC协议详解 12] Speed Mode 选择

依JEDEC eMMC 5.1及经验辛苦整理,付费内容,禁止转载

所在专栏 《元带你学: eMMC协议详解》

内容摘要

全文 2000字, 介绍了各种Speed Mode 选择的方法, 需要按照一定的步骤, 重点需要掌握HS400,  High Speed 和 HS200 可帮助你由浅入深理解Speed Mode,主要内容有:

目录

1 Hogh Speed Mode Selection

2 “高速”模式选择

3 “HS200”定时模式选择

4 “HS400” timing mode selection

参考



1 Hogh Speed Mode Selection

如果主机想要操作时钟高于26MHz的设备,则需要将定时模式切换到支持更高速度的定时模式:“High speed”: 频率在26MHz和52MHz之间。

HS200”或“HS400”: 用于频率高于52MHz至200MHz的频率(“高速” 运行从0到52MHz的操作,“HS200”或“HS400”允许和0到200MHz的操作)。

2 “高速”模式选择

主机必须在设备中启用高速模式定时,然后将时钟频率更改为26MHz到52MHz之间的频率。为了使主机切换到更高的时钟频率,必须使能高速接口定时。主机使用SWITCH命令将Ox01写入EXT_CSD寄存器的Modes段中的HS_TIMING字节。

3 “HS200”定时模式选择

HS200仅在VCCQ=1.8V或1.2V时有效。总线宽度在HS200模式下可设置为4sdr或8sdr。主机初始化设备后,必须通过读取Extended CSD寄存器中的DEVICE_TYPE字段来验证设备是否支持HS200模式。然后可以在设备中使能HS200定时模式,然后将时钟频率更改为高于52MHz的频率。如果需要,设备应选择HS200定时模式,并在需要时执行调谐(Tuning)过程。

主机切换到HS200需要执行以下步骤:

1)选择设备(通过发送CMD7)并确保解锁(通过CMD42)

2)读取扩展CSD寄存器的DEVICE_TYPE[196]字段,以验证设备是否在适合主机和设备的IO电压下支持HS200

3)读取扩展CSD寄存器的DRIVER_STRENGTH[197]字段,以找到支持的设备驱动程序强度。说明如果不需要更改驱动程序的强度,可以跳过此步骤。

4)通过下发CMD6,在EXT-CSD寄存器的HS_TIMING[185]字段中设置HS200位驱动强度值。在设备响应R1后,它可能拉Busy信号。一旦忙信号被解除,主机可以使用HS200定时发送SEND_STATUS命令(CMD13),在它接收到跨状态指示和无错误之后,这意味着设备被设置为HS200定时,并且驱动程序强度被设置为所选设置。

5)此时主机可将频率设置为<200MHz

6)主机可以通过向设备发送CMD21来调用HS200调谐(Tuning)序列。在开始调谐操作之前,主机应该切换到所需的总线宽度,以允许使用适当的总线操作条件来完成调谐顺序。

4 “HS400” timing mode selection

HS400的有效IO电压为1.8V, VCCQ为1.2V。在HS400模式下,总线宽度被设置为仅8 bit DDR。HS400支持与DDR52相同的命令。主机初始化设备后,通过读取EXT-CSD寄存器中的DEVICE_TYPE字段来检查设备是否支持HS400模式。然后在设备中启用HS400模式,然后将时钟频率更改为高于52MHz的频率。设备上电或软件复位(CMDO)后,接口定时设置为默认的“向后兼容定时”。

为了切换到HS400模式,主机需要执行以下步骤:

1)用“向后兼容时序”初始化设备

2)选择带有CMD7的设备。

3)读取扩展CSD寄存器的DEVICE_TYPE[196]字段,验证设备是否支持HS400

4)读取扩展CSD寄存器的DRIVER_STRENGTH[197]字段,以找到支持的设备驱动程序强度。说明如果不需要更改驱动程序的强度,可以跳过此步骤。

5)将Extended CSD寄存器的HS_TIMING[185]字段中的“Selected Driver Strength”参数设置为适合HS400运行的驱动强度,并将“Timing Interface”参数设置为0x2,切换到HS200模式。

6)在HS400目标工作频率下执行调谐过程(注意:HS200模式下的调谐过程需要将CMD行上的命令响应同步到CLK以使HS400运行)。

7)将Extended CSD寄存器的HS_TIMING[185]字段中的“Timing Interface”参数设置为0x1,切换到High Speed模式,然后将时钟频率设置为不大于52 MHz的值

8)设置BUS_WIDTH[183]为0x06,选择双数据速率x8总线模式

9)设置扩展CSD寄存器的HS_TIMING[185]字段中的“Timing Interface”参数为0x3,切换到HS400模式。

              [元带你学: eMMC协议详解 12] Speed Mode 选择_第1张图片

[元带你学: eMMC协议详解 12] Speed Mode 选择_第2张图片

图.  选择 HS400 speed mode 流程图


 

 

参考

免责声明

本文根据公开信息整理,旨在介绍更多的存储知识,所载文章仅为作者观点,不构成投资或商用建议。本文仅用于学习交流, 不允许商用。若有疑问或有侵权行为请联系作者处理。

你可能感兴趣的:(单片机,嵌入式硬件,驱动开发,eMMC)