D~DIDI~DIDIDI!!!!

0%

EMMC-基础

EMMC 简单来说是一种软硬件结合的协议,物理载体为nand,外面封装了一层EMMC协议,负责管理nand的ECC、均衡算法、指令管理、低功耗、坏块等方面的管理;

EMMC 使用BGA封装了NAND FLASH和flash控制器,向外提供标准MMC接口

EMMC模块内部框图

vcc

EMMC设计原理图

eMMC

CLK
用于从 Host 端输出时钟信号,进行数据传输的同步和设备运作的驱动。
在一个时钟周期内,CMD 和 DAT0-7 信号上都可以支持传输 1 个比特,
即 SDR (Single Data Rate) 模式。此外,DAT0-7 信号还支持配置为
DDR (Double Data Rate) 模式,在一个时钟周期内,可以传输 2 个比特。
Host 可以在通讯过程中动态调整时钟信号的频率(注,频率范围需要满足 Spec 的定义)。
通过调整时钟频率,可以实现省电或者数据流控(避免 Over-run 或者 Under-run)功能。
在一些场景中,Host 端还可以关闭时钟,例如 eMMC 处于 Busy 状态时,或者接收完数据,
进入 Programming State 时。

CMD
CMD 信号主要用于 Host 向 eMMC 发送 Command 和 eMMC 向 Host 发送对于的 Response。

DAT0-7
DAT0-7 信号主要用于 Host 和 eMMC 之间的数据传输。在 eMMC 上电或者软复位后,
只有 DAT0 可以进行数据传输,完成初始化后,可配置 DAT0-3 或者 DAT0-7 进行数据传输,
即数据总线可以配置为 4 bits 或者 8 bits 模式。

Data Strobe
Data Strobe 时钟信号由 eMMC 发送给 Host,频率与 CLK 信号相同,
用于 Host 端进行数据接收的同步。Data Strobe 信号只能在 HS400 模式下配置启用,
启用后可以提高数据传输的稳定性,省去总线 tuning 过程。

img

emmc 5.1