27---eMMC电路设计

news2024/7/6 17:53:38

视频链接

eMMC电路设计01_哔哩哔哩_bilibili

eMMC电路设计

1、eMMC简介

eMMC叫嵌入式多媒体卡,英文全称为Embedded Multi Media Card。是一种闪存卡(Flash Memory Card)标准,它定义了MMC的架构以及访问Flash Memory的接口和协议。

嵌入式多媒体存储卡eMMC是一种管理型Nand Flash。

eMMC芯片实际上是一个封装继承了Nand Flash和控制Flash的控制器,控制器把坏块管理、ECC校验以及损耗均衡等一些Flash具备的管理功能集成到芯片里,然后对外的接口采用的是标准的MMC(多媒体存储卡)接口,用户只需要根据接口的协议,开发控制器就能操作芯片。

其接口电压可以是1.8V或者是3.3V。它的特点就是容量大,数据传输快,尺寸小,开销很小。

eMMC5.0的协议与eMMC低版本例如4.5,4.4等的区别就在于读写速度有区别。低版本的不支持HS200和HS400的速度,四点几的现在基本上停产,选用eMMC5.0的协议。

2、eMMC系统总体架构(三部分)

eMMC规范主要定义了Device Controller和接口的相关规范,如图中蓝色部分标识

eMMC内部主要可以分为Flash Memory、Flash Controller以及Host Interface三大部分。

2.1Flash Memory

Flash Memory是一种非易失性的存储器,通常在嵌入式系统中用于存放系统、应用和数据等,类似与PC系统中的硬盘。

eMMC在内部对Flash Memory划分了4个主要区域,如下图所示:

eMMC 内部分区

1、BOOT Area Partition 1&2:此分区主要是为了支持从eMMC启动系统而设计的。

2、RPMB Partition:RPMB是Replay Protected Memory Block的简称。

3、General Purpose Partition 1~4:此区域则主要用于存储系统或者用户数据。

4、User Data Area:此区域则主要用于存储系统和用户数据。

2.2Flash Controller

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

NAND Flash 与 eMMC

2.3Host Interface

eMMC与Host之间的连接如下图所示:

3、eMMC性能

接口速度高达每秒52MB,EMMC具有快速、可升级的性能。同时接口电压可以是1.8V或者3.3V。eMMC的速度模式分为SDR50、HS200、HS400,共三种。

4、eMMC实例(整版以镁光-MTFC8GAKAJCN为例)

4.1、eMMC命名规范

4.2、eMMC封装(153-ball BGA)

5、eMMC框图

6eMMC工作流程

6.1、工作流程

(一)eMMC的初始化

(二)eMMC的读写

6.2、操作模式

主要有5种操作模式:

7eMMC管脚定义

管脚符号

类型

描述

VCC

(VDDF)

Supply

Vcc: NAND interface I/O and NAND Flash power Supply。(Supply voltage for Core)

VCCQ

(VDD)

Supply

VccQ: eMMC controller core and eMMC I/O power Supply。(Supply voltage for I/O)

VSSQ

Supply

VSSQ: eMMC controller core and eMMC I/F ground connection

(VSS and VSSQ are connected internally。)

VSS

Supply

Ground connections

VDDIM

Internal voltage node

Do not tie to supply voltage or ground

信号线

管脚符号

类型

描述

DAT[7:0]

I/O

Bidirectional data channels. It operates in push-pull mode

RST_n

I

Hardware reset signal pin

DS

(Data Strobe)

O

Data strobe: Generated by the device and used for data output and CRC status response output in HS400 mode。The frequency of this signal follows the frequency of CLK。For data output, each cycle of this signal directs two bits transfer(2X) on the data , one bit for the positive edge and the other bit for the negative edge。For CRC status response output,the CRC status is latched on the positive edge only, and is “Don’t Care ”on the negative edge。

CLK

I

Clock input

CMD

I/O

A bidirectional signal used for device initialization and command transfers.

Command operates in two modes, open-drain for initialization and push-pull for fast command transfer.

各个信号的用途如下所示:

CLK:用于同步的时钟信号

Data Strobe:此信号是从Device端输出的时钟信号,频率和CLK信号相同,用于同步从Device端输出的数据。该信号在eMMC 5.0中引入。

CMD:此信号用于发送Host的command和Device的response。

DAT0-7:用于传输数据的8bit总线。

Host与eMMC之间的通信都是Host以一个Command开始发起的。针对不同的Command,Device会做出不同的响应。

DAT[7:0]                                                         8

CLK                                                              1

RST_n                                                            1

DS                                                               1

CMD                                                              1

NC                                                             109

RFU                                                             11

VCC                                                             4

VCCQ                                                            5

VDDIM                                                           1

VSS                                                             6

VSSQ                                                            5

合计:12+120+21=153

8、EMMC硬件电路设计要点(★)

9、硬件实战设计 (★)

9.1   ZYNQ7020硬件实战

9.2   XC7Z030 eMMC硬件实战

9.3、全志H3 eMMC硬件实战

9.4、RK3399  eMMC硬件实战

10、拓展 

详细内容参考视频讲解

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

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

相关文章

Linux 搭建jenkins docker

jekin docker gitee docker 安装 jenkins docker run -d --restartalways \ --name jenkins -uroot -p 10340:8080 \ -p 10341:50000 \ -v /home/docker/jenkins:/var/jenkins_home \ -v /var/run/docker.sock:/var/run/docker.sock \ -v /usr/bin/docker:/usr/bin/docker je…

【双指针】Leetcode 盛最多水的容器

题目解析 11. 盛水最多的容器 木桶效应&#xff0c;寻找一个区间使得这个区间的体积最大 算法讲解 1. 暴力枚举 遍历这个容器&#xff0c;将每一个区间的体积求出来&#xff0c;然后找出最大的 class Solution { public:int maxArea(vector<int>& height){int n…

SQLite数据库文件损坏的可能几种情况(一)

返回&#xff1a;SQLite—系列文章目录 上一篇&#xff1a;SQLiteC/C接口详细介绍sqlite3_stmt类&#xff08;十三&#xff09; 下一篇&#xff1a;SQLite使用的临时文件&#xff08;二&#xff09; 概述 SQLite数据库具有很强的抗损坏能力。如果应用程序崩溃&#xff0c…

如何在内网访问其他电脑?

网络的发展使得人与人之间的通信变得更加便捷&#xff0c;而在公司或者家庭中&#xff0c;也经常遇到需要内网访问其他电脑的需求。内网访问其他电脑可以实现在局域网内部进行数据共享、文件传输、远程控制等操作&#xff0c;提高工作效率和便利性。本文将介绍内网访问其他电脑…

labelImg | windows anaconda安装labelImg

labelImg 是图片标注软件&#xff0c;用于数据集的制作、标注等等。 下面介绍 labelImg 的安装过程。 用的是 anaconda&#xff0c;所以以 anaconda prompt 作为终端&#xff1a; 在 Anaconda Prompt 中依次运行以下命令&#xff08;注意大小写&#xff09;&#xff1a; pi…

评测 r5 8640HS和i5 12500H选哪个 锐龙r58640HS和酷睿i512500H对比

r7 8840HS采用 Zen 4架构 4 nm制作工艺8核 16线程主频 3.3GHz睿频5.1GHz 三 级缓存16MB TDP 功耗 28w 搭载AMD Radeon 780M核显 选r7 8840HS还是i5 12500H这些点很重要 http://www.adiannao.cn/dy i5 12500H为4大核8小核&#xff0c;12核心16线程设计&#xff0c;CPU主频 2.5…

面试知识汇总——垃圾回收器(分代收集算法)

分代收集算法 根据对象的存活周期&#xff0c;把内存分成多个区域&#xff0c;不同区域使用不同的回收算法回收对象。 对象在创建的时候&#xff0c;会先存放到伊甸园。当伊甸园满了之后&#xff0c;就会触发垃圾回收。 这个回收的过程是&#xff1a;把伊甸园中的对象拷贝到F…

Python私有属性和私有方法

私有属性和私有方法 在实际开发中&#xff0c;对象的某些属性或者方法只希望在对象内部被使用&#xff0c;而不希望在外界被访问。 私有属性&#xff1a;对象不希望公开的属性 私有方法&#xff1a;对象不希望公开的方法 定义方式&#xff1a;在属性名或者方法名前添加两个下划…

计算机网络常见题(持续更新中~)

1 描述一下HTTP和HTTPS的区别 2 Cookie和Session有什么区别 3 如果没有Cookie,Session还能进行身份验证吗&#xff1f; 4 BOI,NIO,AIO分别是什么 5 Netty的线程模型是怎么样的 6 Netty是什么&#xff1f;和Tomcat有什么区别&#xff0c;特点是什么&#xff1f; 7 TCP的三次…

基于SpringBoot+MyBatis网上点餐系统

采用技术 基于SpringBootMyBatis网上点餐系统的设计与实现~ 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;SpringBootMyBatis 工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 页面展示效果 功能列表 前台首页功能 用户注册 用户登录 用户功能 …

【python】flask各种版本的项目,终端命令运行方式的实现

✨✨ 欢迎大家来到景天科技苑✨✨ &#x1f388;&#x1f388; 养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; &#x1f3c6; 作者简介&#xff1a;景天科技苑 &#x1f3c6;《头衔》&#xff1a;大厂架构师&#xff0c;华为云开发者社区专家博主&#xff0c;…

2-Flume之Sink与Channel

Flume Sink HDFS Sink 将数据写到HDFS上。数据以文件形式落地到HDFS上&#xff0c;文件名默认是以FlumeData开头&#xff0c;可以通过hdfs.filePrefix来修改 HDFS Sink默认每隔30s会滚动一次生成一个文件&#xff0c;因此会导致在HDFS上生成大量的小文件&#xff0c;实际过程…

人工智能 框架 paddlepaddle 飞桨 使用指南 使用例子 线性回归模型demo 1

安装过程&使用指南&线性回归模型 使用例子 本来预想 是安装 到 conda 版本的 11.7的 但是电脑没有gpu 所以 安装过程稍有变动,下面简单讲下 conda create -n paddle_env117 python=3.9 由于想安装11.7版本 py 是3.9 所以虚拟环境名称也是 paddle_env117 activa…

各种排序介绍

1.排序的概念 排序 &#xff1a;所谓排序&#xff0c;就是使一串记录&#xff0c;按照其中的某个或某些关键字的大小&#xff0c;递增或递减的排列起来的操作。 稳定性 &#xff1a;假定在待排序的记录序列中&#xff0c;存在多个具有相同的关键字的记录&#xff0c;若经过排…

【沐风老师】3DMAX样条线皮肤SplineSkin插件使用方法详解

3DMAX样条线皮肤SplineSkin插件使用方法 3DMAX样条线皮肤插件SplineSkin&#xff0c;将3D物体一键转化为样条线包裹形状的插件&#xff0c;适用于科研绘图和艺术设计等相关领域。 【适用版本】 3dMax2015及更高版本&#xff08;教程编写于2024&#xff0c;但适用不仅限于此范围…

LeetCode 面试经典150题 392.判断子序列

题目&#xff1a; 给定字符串 s 和 t &#xff0c;判断 s 是否为 t 的子序列。 字符串的一个子序列是原始字符串删除一些&#xff08;也可以不删除&#xff09;字符而不改变剩余字符相对位置形成的新字符串。&#xff08;例如&#xff0c;"ace"是"abcde"…

SQL复习专题

请结合B站-技术蛋老师 视频学习 核心语法 一、增&#xff1a;数据库/表格 create create database 数据库名&#xff1b;#创建表&#xff08;列名类型&#xff09; mysql> create table eggs_record(-> id int,-> egg_name varchar(10),-> sold date-> ); 这…

【前端】代码案例

1.猜数字 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>猜数字</title> </head> <…

Flutter 旋转动画 线性变化的旋转动画

直接上代码 图片自己添加一张就好了 import dart:math;import package:flutter/material.dart;import package:flutter/animation.dart;void main() > runApp(MyApp()); //旋转动画 class MyApp extends StatelessWidget {overrideWidget build(BuildContext context) {re…

Luminar Neo:重塑图像编辑新纪元,Mac与Win双平台畅享创意之旅

在数字时代的浪潮中&#xff0c;图像编辑软件已成为摄影师和设计师们不可或缺的创作工具。Luminar Neo&#xff0c;作为一款专为Mac与Windows双平台打造的图像编辑软件&#xff0c;正以其卓越的性能和创新的编辑功能&#xff0c;引领着图像编辑的新潮流。 Luminar Neo不仅继承…