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

news2025/1/11 14:03:04

依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模式。

              

图.  选择 HS400 speed mode 流程图


 

 

参考

免责声明

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/580490.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

python中的流程控制语句

文章目录 if-else语句代码演示&#xff1a; if-elif-else语句代码演示1&#xff1a;代码演示2&#xff1a; while 循环语句循环语句练习1.求100以内所有的奇数之和2.求100以内所有7的倍数之和&#xff0c;以及个数3.求1000内的水仙花数4.获取用户输入的任意数&#xff0c;判断是…

《Reinforcement Learning: An Introduction》第2章笔记

2. Multi-armed Bandits 评估性反馈&#xff08;evaluative feedback&#xff09; 完全取决于采取的动作&#xff0c;这是强化学习采用的方式。纯粹的评估性反馈表明要执行的动作有多好&#xff0c;但是不关注它是否是可能的最好或最坏的动作。指导性反馈&#xff08;instruct…

迭代器Iterator和生成器funcion *

迭代器Iterator 迭代器 为各种不同的数据结果提供统一的访问机制&#xff0c;任何数据结构只要部署Iterator接口&#xff0c;就可以完成便利操作&#xff0c;主要提供for of 工作原理&#xff1a; 创建一个指针对象&#xff0c;指向当前数组的起始位置 第一次调用对象的next方…

JAVA之数组2

添加元素 从后往前进行迭代&#xff0c;最后在末尾插入元素 tip&#xff1a;为避免数字在覆盖过程中丢失&#xff0c;故从后往前覆盖 删除元素 从前往后迭代&#xff0c;最后将末尾赋值为0 tip: 以覆盖的数arr【i】为基准&#xff0c;构造循环 共同处Tip: 范围均为【index1&…

子串--子字符串 0528

210102 201012 A1A2…An An…A2A1 如何做&#xff0c; 翻转的是21&#xff0c;因为2>1; 翻转的是210&#xff0c;因为2>0; 翻转的是2101&#xff0c;因为2>1&#xff1b; 翻转的是21010&#xff0c;因为2>0&#xff1b; 翻转的是210102&#xff0c;因为22且1&…

JavaScript 进阶 (二)

目录 深入对象 创建对象三种方式 构造函数 实例成员&静态成员 内置构造函数 Object Array String Number 深入对象 创建对象三种方式 1. 利用对象字面量创建对象 const obj { name : abc} 2. 利用 new Object 创建对象 const obj new Object({ uname: 123 }…

如何评估一个好的物业系统开发方案?

在当前不断变化的物业管理市场中&#xff0c;物业系统已成为物业管理公司提高管理效率和降低成本的必然选择。因此&#xff0c;如何评估一个好的物业系统开发方案成为了每个物业管理决策者必须面对的重要问题。在本文中&#xff0c;我们将介绍如何从以下几个方面来评估一个好的…

文心一言 VS 讯飞星火 VS chatgpt (24)-- 算法导论4.2 6题

六、用Strassen 算法作为子进程来进行一个 knn 矩阵和一个nkn 矩阵相乘&#xff0c;最快需要花费多长时间?对两个输入矩阵规模互换的情况&#xff0c;回答相同的问题。 文心一言&#xff1a; Strassen 算法是一种用于矩阵乘法的分治算法&#xff0c;它将原始的矩阵分解为较小…

腾讯云产品首单特惠是什么意思?包括新用户老用户的解答

腾讯云最近推出的活动限制条件为产品首单特惠&#xff0c;但是有的用户购买不了&#xff0c;右上角提示“产品首单特惠”&#xff0c;那么什么是产品首单特惠&#xff1f;什么是新用户&#xff1f;什么是老用户&#xff1f;新手站长给大家&#xff1a; 腾讯云产品首单特惠是什…

【Linux】Pinctrl子系统简介

前言&#xff1a; 我们工作开发中非常常用的就是GPIO&#xff0c;在Linux开发中&#xff0c;是有必要去熟悉并理解的。在Linux内核中也有提供相应的子系统pinctrl子系统&#xff0c;本文从大的面上去了解它。 参考学习&#xff1a;Linux笔记老师课程&#xff08;Pinctrl子系统&…

CentOS 7.6 (Linux)环境上离线安装 MySQL 8

1 下载安装包 访问https://dev.mysql.com将网页划到最下面&#xff0c;点击下载MySQL社区安装包 按照如下图片框选的进行下载 2 解压上传 下载完了之后使用WinRAR软件在Windows电脑上解压&#xff0c;选择如下包使用ftp工具上传至Linux机器最大目录下。 3 安装前检查 …

DCGAN-MNIST——使用TensorFlow 2 / Keras实现深度卷积DCGAN来生成时尚MNIST的灰度图像

DCGAN-MNIST——使用TensorFlow 2 / Keras实现深度卷积DCGAN来生成时尚MNIST的灰度图像 1. 效果图2. 原理2.1 结构指南2.2 模型结构及训练过程 3. 源码参考 这篇博客将介绍如何使用TensorFlow 2 / Keras中实现深度卷积GAN&#xff08;DCGAN&#xff09;来生成类似时尚MNIST的灰…

魔法反射--java反射进阶(实战篇)

&#x1f473;我亲爱的各位大佬们好&#x1f618;&#x1f618;&#x1f618; ♨️本篇文章记录的为 魔法反射–java反射进阶(实战篇) 相关内容&#xff0c;适合在学Java的小白,帮助新手快速上手,也适合复习中&#xff0c;面试中的大佬&#x1f649;&#x1f649;&#x1f649;…

openpose原理及安装教程(姿态识别)

OpenPose是一个基于深度学习的人体姿态估计框架,可以实时地估计人体的关键点,包括身体和手部姿势。它是由卡内基梅隆大学的研究团队开发的,已经成为了人体姿态估计领域的一个重要项目。 OpenPose的原理是基于卷积神经网络(CNN),通过对图像进行深度学习处理,可以检测出…

如何在华为OD机试中获得满分?Java实现【寻找峰值】一文详解!

✅创作者&#xff1a;陈书予 &#x1f389;个人主页&#xff1a;陈书予的个人主页 &#x1f341;陈书予的个人社区&#xff0c;欢迎你的加入: 陈书予的社区 &#x1f31f;专栏地址: Java华为OD机试真题&#xff08;2022&2023) 文章目录 1. 题目描述2. 输入描述3. 输出描述…

Aerial Vision-and-Dialog Navigation阅读报告

Aerial Vision-and-Dialog Navigation 本次报告&#xff0c;包含以下部分&#xff1a;1摘要&#xff0c;2数据集/模拟器&#xff0c;3AVDN任务&#xff0c;4模型&#xff0c;5实验结果。重点介绍第2/3部分相关主页&#xff1a;Aerial Vision-and-Dialog Navigation (google.com…

【章节2】husky + 自动检测是否有未解决的冲突 + 预检查debugger + 自动检查是否符合commit规范

在章节1中我们学习到了commit的规范、husky的安装和使用、lint-staged怎么安装以及怎么用来格式化代码。那么这篇文章我们来看看commit预处理中我们还能做哪些处理呢&#xff1f; 自然&#xff0c;我们还是要用到husky这个东西的&#xff0c;大致过程其实和章节1异曲同工&#…

不要再来问我小学、初中毕业想出去学习编程找到工作的问题了,你要做就去做,结果自己扛着就行了!

&#x1f680; 个人主页 极客小俊 ✍&#x1f3fb; 作者简介&#xff1a;web开发者、设计师、技术分享博主 &#x1f40b; 希望大家多多支持一下, 我们一起进步&#xff01;&#x1f604; &#x1f3c5; 如果文章对你有帮助的话&#xff0c;欢迎评论 &#x1f4ac;点赞&#x1…

探索Java面向对象编程的奇妙世界(五)

⭐ Object 类⭐ toString 方法⭐ 和 equals 方法⭐ super 关键字⭐ 继承树追溯⭐ 封装(encapsulation) ⭐ Object 类 Object 类基本特性 &#x1f41f; Object 类是所有类的父类&#xff0c;所有的 Java 对象都拥有 Object 类的属性和方法。 &#x1f41f; 如果在类的声明中未…

docker-compose方式安装运行Jenkins

docker-compose方式安装运行Jenkins 服务器系统&#xff1a;centos 7.6 以docker-compose 编排容器方式安装&#xff0c;当然需提前安装docker-compose环境&#xff08;见百度->docker-compose环境安装&#xff09; docker-compose.yml version: 3.1 services:jenkins:i…