当前位置: 首页 > news >正文

eMMC规范 - 寻址/信息寄存器/总线协议/时序图/速度模式

存储器寻址

e•MMC 规范的早期实现(至 v4.1 的版本)是采用 32-bit 域实现字节寻址的。这种寻址
机制允许最大 2 GB 的 e•MMC 容量。
为了支持更大的容量,寻址机制升级到支持扇区寻址( 512B 扇区)。对所有容量大于
2 GB 的设备应使用扇区地址。
要确定所用的寻址模式,主机应读取 OCR 寄存器的 bit [30:29]
在这里插入图片描述

emmc设备的信息寄存器

在这里插入图片描述

总线协议

上电复位后,主机必须通过专有的基于消息的 e•MMC 总线协议初始化设备。每一个消
息有下列 token 之一
来代表:

  1. 命令:命令是启动一种操作的 token。命令从主机发往设备。命令在 CMD 线上串
    行传输
  2. 应答:应答是从设备发往主机作为对上一命令回答的 token。应答在 CMD 线上串
    行传输
  3. 数据:设备可以从设备传输到主机,也可以反之。数据通过数据线传输。数据传输
    所用的数据线数可以是 1( DAT0)、 4( DAT0-DAT3)或 8( DAT0-DAT7)。

对于每一条数据线,数据可以在每时钟周期 1 bit 的速率(单倍数据率)或 2 bit 的速率
(双倍数据率(DDR))下传输。

设备寻址是采用利用在初始化阶段分配的会话地址,通过连接到设备的总线控制器实现
的。**设备依靠其 CID 编号识别。**这种方法要求设备有一个唯一的 CID 编号。为了保证 CID
的唯一性, CID 寄存器包含 MMCA/JEDEC 定义的 24 bit( MID 和 OID 域)。每
一个厂商都需要申请一个唯一的 MID(和可选的 OID)编号
在这里插入图片描述

e•MMC 总线数据传输包括命令、应答和数据块结构 token。
一个操作,总线上必定有命令和应答token,有可能有数据token。

e•MMC 命令是面向块的命令:这些命令发送一个接续了 CRC 位的数据块。无论读或
写操作都允许单块或多块传输。多块传输是当在 CMD 线上后续停止命令时终止的。
类似于连续读:
在这里插入图片描述
块写操作:
在这里插入图片描述
无应答和无数据操作:
在这里插入图片描述

命令 token 编码方案如下:
总长度 48 比特
在这里插入图片描述
每一个命令 Token 都由一个起始位( ’0’)前导,以一个停止位( ’1’)终止。总长度是
48 比特。每一个 Token 都用 CRC 保护,因此可以检测到传输错误,可重复操作。

应答 Token 有 5 种编码方案,取决于其内容。 Token 长度是 48 或 136 比特

**由于在连续数据传输中没有预定的结束点,因此在此情况下没有 CRC 保护。**对于数据块的 CRC 保护算法是 16 比特 CCITT 多项式。
R1, R3, R4 和 R5:
在这里插入图片描述
R2:
在这里插入图片描述

几种传输时序图:

SDR

1 Bit 总线(只有DAT0使用):
在这里插入图片描述
4 bit 总线(DAT3 - DAT0使用):
在这里插入图片描述
8 bit 总线 (DAT7 - DAT0 使用):
在这里插入图片描述

DDR

4 bit
在这里插入图片描述
8 bit
在这里插入图片描述
注意:数据字节是不穿插的,但 CRC 是穿插的。起始和停止位仅在上升沿是有效的( x 为未定义)。

总线速度模式

在这里插入图片描述

HS200总线速度模式:

HS200 提供了如下特性:
ƒ SDR 数据采样方式 //不支持DDR?好像确实不会生效
ƒ CLK 频率最高达到 200MHz,数据率最高达 200MB/s
ƒ 支持 4 或 8-bits 总线宽度
ƒ 4 个可选驱动强度的单端信令
ƒ 1.8V 和 1.2V 信令电平
ƒ 读操作的调谐概念

系统框图:
主机有一个时钟发生器,向设备提供时钟。
对于写操作,时钟和数据方向相同,写数据可与时钟同步传输,不关心线路延迟。
对于读操作,时钟和数据方向相反,主机接收到的读数据是有往返延迟、输出延迟和主机与设备迟滞所造成的延迟的。
在这里插入图片描述

可调谐采样主机

主机可能采用可调节采样来确定正确的采样点。存储在设备中的预定义的调谐块可被主机用来作为找到优化数据采样点的帮助。主机可以采用 CMD12 调谐命令来读调谐块。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【YOLO格式的数据标签,目标检测】
  • Onnx 1-深度学习-概述1
  • SpringCloudAlibaba基础五 Nacos配置中心
  • LabVIEW平台从离散光子到连续光子的光子计数技术
  • Redis的配置和优化
  • 【Selenium配置】WebDriver安装浏览器驱动(ChromeEdge)
  • 大数据面试题之GreenPlum(1)
  • DP讨论——简单工厂模式
  • 【web]-信息收集-空白页面
  • 如何调整Oracle SGA的大小
  • MongoDB 全文检索
  • uniapp x — 跨平台应用开发的强大助力
  • 【eNSP模拟实验】单臂路由实现VLAN间通讯(复杂案例)
  • 【Oracle】实验三 Oracle数据库的创建和管理
  • 时序预测 | Matlab实现TCN-Transformer的时间序列预测
  • CSS 专业技巧
  • ES6简单总结(搭配简单的讲解和小案例)
  • IDEA常用插件整理
  • Java编程基础24——递归练习
  • js对象的深浅拷贝
  • JWT究竟是什么呢?
  • Laravel Mix运行时关于es2015报错解决方案
  • Laravel Telescope:优雅的应用调试工具
  • php ci框架整合银盛支付
  • PHP的Ev教程三(Periodic watcher)
  • php的插入排序,通过双层for循环
  • python 装饰器(一)
  • 前端 CSS : 5# 纯 CSS 实现24小时超市
  • 前端每日实战:70# 视频演示如何用纯 CSS 创作一只徘徊的果冻怪兽
  • 区块链技术特点之去中心化特性
  • 入职第二天:使用koa搭建node server是种怎样的体验
  • 项目实战-Api的解决方案
  • ​力扣解法汇总946-验证栈序列
  • ‌移动管家手机智能控制汽车系统
  • (1)(1.13) SiK无线电高级配置(六)
  • (3)Dubbo启动时qos-server can not bind localhost22222错误解决
  • (3)选择元素——(14)接触DOM元素(Accessing DOM elements)
  • (C#)if (this == null)?你在逗我,this 怎么可能为 null!用 IL 编译和反编译看穿一切
  • (Redis使用系列) Springboot 在redis中使用BloomFilter布隆过滤器机制 六
  • (附源码)springboot家庭装修管理系统 毕业设计 613205
  • (九十四)函数和二维数组
  • (利用IDEA+Maven)定制属于自己的jar包
  • (强烈推荐)移动端音视频从零到上手(上)
  • (算法)Travel Information Center
  • (一)SpringBoot3---尚硅谷总结
  • (一一四)第九章编程练习
  • .NET C# 操作Neo4j图数据库
  • .net core MVC 通过 Filters 过滤器拦截请求及响应内容
  • .NET 编写一个可以异步等待循环中任何一个部分的 Awaiter
  • .net 逐行读取大文本文件_如何使用 Java 灵活读取 Excel 内容 ?
  • .Net6使用WebSocket与前端进行通信
  • .net打印*三角形
  • .NET框架
  • .net企业级架构实战之7——Spring.net整合Asp.net mvc
  • :not(:first-child)和:not(:last-child)的用法