一篇文章让你彻底弄懂Emmc协议

解读一下EMMC文档协议,下面的内容是我们在coding写代码的时候,必须要弄明白的东西,Emmc规格书的内容很多,下面是我自己总结的核心内容,希望对大家的学习工作都有所帮助。

创作不易,给点赞收藏加关注,感谢,哈哈哈。

目录

总体概括:

eMMC架构图

eMMC引脚定义

Memory Addressing 

eMMC Device Overview

Register Introduction

Bus protocol

Bus Speed Mode

详解 HS400 System Block Diagram

Memory Addressing

Bus

Host Controller

相关寄存器

OCR Register

CID Register

CSD寄存器

 eMMC总流程状态图

两种boot模式:

eMMC工作模式转换

Command 命令

Command classes(命令分类)

Command types(命令类型)

Command format(命令格式)

Detailed command description(命令详细说明)

Device state transition table (设备状态转换表)

Responses

R1类型

R2类型

R3类型

R4 R5类型


总体概括:

1-5章主要将讲解的是eMMC协议整体框架 协议类型,

协议总线特性(CLK CMD DS DATAD等总线),第六章主要讲述的是eMMC的状态机,分区管理等,7 章主要 详解设备寄存器(OCR register CID CSD externed CSD Rsegister RCA DSR QSR。不同寄存器操作原理都是类似的。具体看手册。等),第八章(错误保护), eMMC机构标准 分区管理,其实呢内容最多最重要的还是第六章。

eMMC架构图

eMMC(Embedded Multi Media Card)好处就是emmc提供统一的访问接口,把不同nandflash的访问差异交给模块中eMMC,处理器只需要用统一的标准eMMC接口即可访问 Nandflash

eMMC引脚定义

和SPI通信方式相似,都是一主多从模式 SPI通信方式:主设备发送命令字通知从设备的鉴别访问 的类别,而后发送访问地址和数据 。

简单介绍一下SPI:

SPI:是全双工且SPI没有定义速度限制,一般的实现通常能达到甚至超过10 Mbps

CS/SS从设备片选信号,由主设备控制。它的功能是用来作为“片选引脚”,也就是选择指定的从设备,让主设备可以单独地与特定从设备通讯,避免数据线上的冲突。

SCLK串行时钟信号,由主设备产生。

具体更多的details网上查阅相关资料。

eMMC所有的命令和响应都是Command总线上发送的,CMD分很多类具体可以查看一下手册。

Memory Addressing 

4.1规范之前使用32位地址,最高容量达到2G4.1之后采用512Byte扇区访问模式(eMMC中1Block=512Byte NANDFLASH 1Block=1024BYTE),可支持大于2G的存 储空间。

host读取OCR寄存器位[39:29]确定寻址模式。 How to set具体看手册第七章寄存器详解

OCROperation Conditions Register,操作条件寄存器): 作用:OCR用于识别Host设备支持的电压类型。

应用场景:在设备初始化时,主机通过发送特殊命令读取OCR,以确认设备的工作电压。

eMMC Device Overview

eMMC接口与Host(主机)进行通信,实现eMMC的协议逻辑: CLK:时钟信号,用于主机与eMMC卡间的同步

Data Strobe:数据锁存信号,eMMC卡端的输出信号 用于HS400模式

CMD:用于传输从主机端发出的命令commandeMMC卡端发出的回应respons DATA0 ~ DATA7:用于在主机和eMMC卡间传输数据

Reset:复位信号线,主要用于主机对eMMC卡进行复位操作

VCCQ对GPIO引脚供电   

GPIO的几种配置模式:

PP: PUSH PULL推挽输出  通常用于输出模式,表示信号线可以驱动高电平或低电平,

OD open-Drain开漏输出   这是一种输出配置,其中晶体管的漏极连接到负载,源极接地,用于实现高阻抗输出(默认情况下为高电平)。

Register Introduction

CID 16BYTE 128bit  其中bit127:120]为MID bit[113:112]为CBX(indicates device type)。。。。如何设置具体也可看手册。        

Bus protocol

Nand-FLASH的每个Block大小为1024Byte,eMMC则为512Byte。

分为读 写总线协议 每一个命令都是由CMD总线传输,Host发送

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值