eMMC

2024-09-02 23:38
文章标签 emmc

本文主要是介绍eMMC,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

通俗的来说,eMMC=NAND闪存+闪存控制芯片+标准接口封装。本文大致做下边几个小结:

(1)MMC与Host之间的连接

连接由下图可见

(2)eMMC和NAND Flash与Host的连接比较

NAND Flash直接接入Host

NAND Flash 直接接入 Host 时,Host 端通常需要有 NAND Flash Translation Layer,即 NFTL 或者  NAND Flash 文件系统来做坏块管理、ECC等的功能。

由eMMC接入Host

eMMC则在其内部集成了 Flash Controller,包括了协议、擦写均衡、坏块管理、ECC校验、电源管理、时钟管理、数据存取等功能。相比于直接将NAND Flash接入到Host 端,eMMC屏蔽了 NAND Flash 的物理特性,可以减少 Host 端软件的复杂度,让 Host 端专注于上层业务,省去对 NAND Flash 进行特殊的处理。同时,eMMC通过使用Cache、Memory Array 等技术,在读写性能上也比 NAND Flash要好很多。

(3)Flash Controller与NAND Flash的连接

由上知MMC相较于NAND Flash,内部集成了 Flash Controller,其与存储介质大致连接如图。

(4)关于Flash Controller/MMC Controller

 

包括Card Interface(CMD,DATA,CLK)、Memory core interface、总线接口控制(Card Interface Controller)、电源控制、寄存器组。

图中寄存器组的功能见下表:

CID: 卡身份识别寄存器 128bit,只读, 厂家号,产品号,串号,生产日期。

RCA: 卡地址寄存器,可写的16bit寄存器,存有Device identification模式由host分配的通信地址,host会在代码里面记录这个地址,MMC则存入RCA寄存器,默认值为0x0001。保留0x0000以用来将all device设置为等待CMD7命令状态。

CSD: 卡专有数据寄存器部分可读写128bit,卡容量,最大传输速率,读写操作的最大电流、电压,读写擦出块的最大长度等。

SCR: 卡配置寄存器, 可写的 64bit 是否用Security特性(LINUX不支持),以及数据位宽(1bit或4bit)。

OCR: 卡操作电压寄存器 32位, 只读,每隔0.1V占1位, 第31位卡上电过程是否完成。

(5)Device Identification Mode和初始化

MMC通过发CMD的方式来实现卡的初始化和数据访问

Device Identification Mode包括3个阶段Idle State、Ready State、Identification State。

Idle State下,eMMC Device会进行内部初始化,Host需要持续发送CMD1命令,查询eMMC Device是否已经完成初始化,同时进行工作电压和寻址模式协商:eMMC Device 在接收到这些信息后,会将OCR的内容(MMC出厂就烧录在里面的卡的操作电压值)通过 Response 返回给 Host,其中包含了 eMMC Device 是否完成初始化的标志位、设备工作电压范围 Voltage Range 和存储访问模式 Memory Access Mode 信息。

如果 eMMC Devcie 和 Host 所支持的工作电压和寻址模式不匹配,那么 eMMC Device 会进入Inactive State。

Ready State,MMC完成初始化后,就会进入该阶段。

在该 State 下,Host 会发送 CMD2命令,获取eMMC Device 的CID。

CID,即 Device identification number,用于标识一个 eMMC Device。它包含了 eMMC Device 的制造商、OEM、设备名称、设备序列号、生产年份等信息,每一个 eMMC Device 的 CID 都是唯一的,不会与其他的 eMMC Device 完全相同。

eMMC Device 接收到CMD2后,会将 127 Bits 的CID的内容通过 Response返回给 Host。

Identification State,发送完 CID 后,eMMC Device就会进入该阶段。

Host 会发送参数包含 16 Bits RCA 的CMD3命令,为eMMC Device 分配 RCA。设定完 RCA 后,eMMC Devcie 就完成了 Devcie Identification,进入 Data Transfer Mode。

(6)eMMC工作电压和上电过程

根据工作电压的不同,MMC卡可以分为两类:

High Voltage MultiMediaCard,工作电压为2.7V~3.6V。

Dual Voltage MultiMediaCard,工作电压有两种,1.70V~1.95V和2.7V~3.6V,CPU可以根据需要切换

我所使用的eMMC实测工作电压VCC为2.80V~2.96V,VCCQ为1.70V~1.82V。

其中VCC为MMC Controller/Flash Controller的供电电压,VCCQ为Memory和Controller之间I/O的供电。

上电初始化阶段MMC时钟频率为400KHz,需要等电压调整到它要求的VCC时(host去获取OCR中记录的电压值,上面有说),MMC时钟才会调整到更高的正常工作频率。我所使用的MMC测得正常工作时钟频率为50MHz。
--------------------- 
作者:xjw1874 
来源:CSDN 
原文:https://blog.csdn.net/xjw1874/article/details/81505967 
版权声明:本文为博主原创文章,转载请附上博文链接!

这篇关于eMMC的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1131402

相关文章

emmc协议

一、简介 1.1 简介 嵌入式多媒体卡(Embedded Multimedia Card, eMMC)是由 JEDEC 协会所订立,将 MMC controller 和 NAND Flash 封装到一个芯片中,简化存储器的使用和电路板的设计。 1.2 信号 singledescriptionclkclockdata strobe选通信号,olny for hs400cmdcmd 和re

001 了解UFS eMMC SSD

UFS eMMC和SSD速度上的比较 UFS 2.1>UFS 2.0>eMMC 5.1 关系 UFS与eMMC没有明显的差异,它们既不是一种接口(跟PC的SATA/M.2接口不是一个概念),也不是一种单纯的储存芯片(跟NAND闪存也不是一个概念),可以说UFS/eMMC是一种内嵌式存储器的标准规格(基于闪存介质的基础上集成主控芯片,而且拥有标准接口) eMMC全称是embedded Mu

emmc,sd,tf,flash等各种存储卡的特点和区别

文章目录 SD和TF卡MMC卡emmc和ufsflash 现在手机常用的,应该是emmc,即内部存储介质是nand flash。 ufs比emmc,读写速度要快一倍;两者关系犹如固定硬盘相比机械硬盘。 SD和TF卡 SD是基于mmc协议,增加了安全特性;SD卡是Secure Digital Card的英文缩写,直译就是“安全数字卡”。TF卡即是T-Flash卡,又叫micro

RAM、ROM、flash、eMMC(通俗易懂)

RAM:Random-Access Memory的缩写,意思为“随机存取存储器” ROM:Read-Only Memory的缩写,意思为“只读存储器” RAM: 临时性:RAM存储的数据在断电时会丢失,因此称为易失性存储器。 可读写:RAM可以被快速读取和写入,它的存储单元可以根据需要来读取和修改数据。 容量和速度:RAM的容量可以从几兆字节(MB)到数百GB不等,速度非常快,可以通过高

flash和emmc的差异

Flash和eMMC(Embedded MultiMediaCard)作为两种常见的非易失性存储器(NVM),在多个方面存在显著的差异。以下是对它们差异的详细分析: 存储方式和性能: Flash存储器:具有较快的读写速度,特别适用于需要高速读写和更灵活的存储解决方案的应用场合,如存储卡、USB闪存驱动器、SSD等。eMMC:虽然读写速度较Flash稍慢,但其性能仍高于SD卡和TF卡等传统存储卡,

飞思卡尔的I.MX6开发板 从eMMC启动设置

1、 从SD卡启动, SW6设置: 0100 0010(from 1 --> 8bit ) 2、清理存储在MMC/ SD为默认值的环境变量, 打开Xshell进入U-Boot       U-Boot > setenv default -f -a      U-Boot > save      U-Boot > reset 3、在飞

EMMC/SD学习小记

eMMC之分区管理、总线协议和工作模式 JDEDC EMMC 协议中文 SD卡协议中文2.0 3.0 EMMC4.4 非Boot模式读流程 等待74个时钟CMD0 复位emmc至idle状态 命令索引类型参数应答缩写命令说明CMD0bc00000000-GO_IDLE_STATE复位设备至idle状态CMD0bcf0f0f0f0-GO_PRE_IDLE_STATE复位设备至pre-idle状

stm32mp157为什么要把相同的tf-A trust烧录emmc的boot1和boot2?

在使用该处理器时,为什么要将相同的Trusted Firmware-A (TF-A)烧录到eMMC的Boot1和Boot2区域呢? 这么做的主要原因包括: 冗余性和可靠性: 将相同的TF-A烧录到两个不同的引导区域(Boot1和Boot2)可以增加系统的冗余性。如果其中一个引导区域发生故障,系统可以从另一个引导区域启动,提高了系统的可靠性和稳定性。 安全性: TF-A是用于启动和配置系统的

SD卡,TF卡,MMC卡,eMMc卡

介绍 SD卡(Secure Digital Card): SD卡是由SD卡协会(SD Card Association)制定的一种存储卡标准。它于1999年首次推出,因其小巧的尺寸、较大的存储容量和相对较低的成本而受到消费者的青睐。SD卡被广泛应用于数码相机、摄像机、智能手机、平板电脑、游戏控制器以及许多其他便携式设备。SD卡的存储容量可以从几兆字节(MB)到几太字节(TB)不等,满足不同用户

2-EMMC启动及各分区文件生成过程

EMMC的使用比nand flash还是复杂一些,有其特有的分区和电器性能 1、启动过程介绍 跟普通nand或spi flash不同,uboot前面还有好几级 在vendor某些厂商的设计中,ATF并不是BOOTROM加载后的第一个启动镜像,可能是这样的: BOOTROM—>PL—>ATF—>optee—>uboot…, 在PL阶段就已经将ATF/optee/uboot镜像的load