报价
HOME
报价
正文内容
bit nand1 存储芯片 emmc,Nand flash,Nor flash之间有什么区别
发布时间 : 2024-10-09
作者 : 小编
访问数量 : 23
扫码分享至微信

存储芯片 emmc、Nand flash、Nor flash之间有什么区别

随着存储领域的发展,有很多不同的存储介质,今天ICMAX就带大家来分一分emmc、Nand flash、Nor flash之间的区别。

一、定义及区别

emmc:全称为embeded MultiMedia Card,是一种嵌入式非易失性存储器系统,由Nand flash和Nand flash控制器组成,以BGA方式封装在一款chip上。

Nand flash:一种存储数据介质;若要读取其中的数据,需要外接的主控电路。

Nor flash:也是一种存储介质;它的存储空间一般比较小,但它可以不用初始化,可以在其内部运行程序,一般在其存储一些初始化内存的固件代码。

这里主要重点讲的是emmc 和Nand flash 之间的区别,主要区别如下:

(1) 在组成结构上:emmc存储芯片简化了存储器的设计,将NAND Flash芯片和控制芯片以MCP技术封装在一起,省去零组件耗用电路板的面积,同时也让手机厂商或是计算机厂商在设计新产品时的便利性大大提高。而NAND Flash仅仅只是一块存储设备,若要进行数据传输的话,只能通过主机端的控制器来进行操作,两者的结构图如下:

(2) 在功能上:eMMC则在其内部集成了 Flash Controller,包括了协议、擦写均衡、坏块管理、ECC校验、电源管理、时钟管理、数据存取等功能。相比于直接将NAND Flash接入到Host 端,eMMC屏蔽了 NAND Flash 的物理特性,可以减少 Host 端软件的复杂度,让 Host 端专注于上层业务,省去对 NAND Flash 进行特殊的处理。同时,eMMC通过使用Cache、Memory Array 等技术,在读写性能上也比 NAND Flash要好很多。而NAND Flash 是直接接入 Host 端的,Host 端通常需要有 NAND Flash Translation Layer,即 NFTL 或者 NAND Flash 文件系统来做坏块管理、ECC等的功能。另一方面,emmc的读写速度也比NAND Flash的读写速度快,emmc的读写可高达每秒50MB到100MB以上;

二、emmc的初始化和数据通信

emmc与主机之间通信的结构图:

其中包括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。

注:emmc初始化和数据通信的过程,有点类似USB协议,USB控制器去发送请求给USB设备,以IN包和OUT包的形式去建立与USB设备之间的通信,默认状态下,USB设备也是0地址的,与控制器分配设备地址。(感兴趣的可以看一下USB2.0的协议,主要是第8和9章内容)

三、eMMC工作电压和上电过程

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

High Voltage MultiMediaCard,工作电压为3.3V左右。

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时钟才会调整到更高的正常工作频率。

为何TI的GPMC并口,更常被用于连接FPGA、ADC?我给出3个理由

1. GPMC并口简介

GPMC(General Purpose Memory Controller)是TI处理器特有的通用存储器控制器接口,是AM335x、AM437x、AM5708、AM5728等处理器专用于与外部存储器设备的接口,如:

类似于异步SRAM内存和专用集成电路(ASIC)设备。异步,同步,和页面模式(仅适用于非复用模式)突发NOR闪存设备。NAND闪存。ADC器件。

图 1 GPMC概述

2.GPMC并口特点

为什么工业领域在与FPGA/ADC通信的时候,更喜欢使用GPMC接口呢?本文给出3个理由,那就是:高带宽、连接模式丰富、配置灵活 。具体如下:

PS:下文将介绍基于AM570x GPMC的ARM + FPGA通信案例、多通道AD(AD7606)采集综合案例。

(1)高带宽,速率可达100MB/s以上

以AM57x为例,通过GPMC接口与FPGA连接,采用DMA的方式读取FPGA端的数据,速度可达69MB/s,实际上通过配置GPMC接口的时序参数和不同工作模式,速率可超过100MB/s。

(2)连接模式丰富,灵活的8位和16位异步存储器接口

由于有gpmc_ad[15:0] 16个信号引脚可支持地址线与数据线复用和非复用模式,这让GPMC与外设的连接模式变得很丰富,可以和宽范围的外部设备通信,如:

外部异步或同步8-bit位宽内存或设备(非突发设备)外部异步或同步16-bit位宽内存或设备外部16-bit非复用NOR Flash设备外部16-bit地址和数据复用NOR Flash设备外部8-bit和16-bit NAND Flash设备外部16-bit伪SRAM(pSRAM)设备

下面介绍几种连接模式。

1)16-bit Address/Data Multiplexed(地址线与数据线复用模式)

图 2

2)16-bit Nonmultiplexed(地址线与数据线非复用模式)

图 3

3)8-bit Nonmultiplexed(地址线与数据线非复用模式)

图 4

4)8-bit NAND(仅使用数据线模式)

此模式适用于无需地址线的场合,例如GPMC与NAND FLASH连接。NAND FLASH无需地址线,通过数据线D[x:0]发送读写命令,进行数据读取/写入。

图 5

(3)配置灵活,具有多达8个片选

GPMC基本编程模型提供了最大的灵活性,以支持八个可配置片选中不同的时序参数和位宽配置。可根据外部设备的特点,使用最佳的片选设置。

可选择不同的协议,以支持通用异步或同步随机访问设备(NOR闪存,SRAM)或支持特定的NAND器件。地址和数据总线可在同一个外部总线上复用。读和写访问可独立定义为异步或同步。系统请求(字节,16位字,突发)是通过单次或多次访问进行。外部设备访问配置文件(单或多个优化的突发长度,本地包或仿真包)是基于外部设备特性(支持协议,总线宽度,数据缓冲区大小,本地包支持)。系统突发读或写请求是同步突发(多个读,或多个写)。在没有突发或页面模式时是由外部存储器或ASIC设备支持,系统突发读或写请求转换为连续单一的同步或异步访问(单一读,或单一写)。仅在单一同步或 单一异步读或写模式下支持8位宽的设备。

为了模拟一个可编程的内部等待状态,一个外部等待引脚可被监控,以在开始(初始访问时间)和突发访问期间动态的控制外部访问。

图 6 GPMC框图

3.GPMC并口应用案例

创龙科技基于AM5708、AM5728设计的工业评估板——TL570x-EVM、TL5728-EasyEVM,由核心板和评估底板组成。核心板经过专业的PCB Layout和高低温测试验证,稳定可靠,可满足运动控制、工业PC、机器视觉、智能电力、视频监测等工业应用环境。

* AM5708

图7 SOM-TL570x核心板

图8 TL570x-EVM开发板

* AM5728

图9 SOM-TL5728核心板

图10 TL5728-EasyEVM开发板

图 11

本文讲解基于AM570x GPMC的ARM + FPGA通信案例、多通道AD采集综合案例。

基于GPMC的ARM + FPGA通信案例

案例功能

DSP端使用EDMA将数据搬运到指定的内存空间物理地址(GPMC片选基地址),再将数据读取回来并保存到DSP端L2SRAM,并校验数据读写的正确性、计算数据读写速率。ARM端通过MessageQ发送读写地址与读写大小到DSP端,DSP端读写对应内存空间,并返回传输时间及传输速率到ARM端。GPMC的初始化由ARM端驱动程序实现。

程序工作流程框图如下所示。

图 12

案例测试

将TL-HSAD-LX采集卡通过TL-HSAD-LX-PinBoard转接板和软排线,插到TL570x-EVM评估板的GPMC拓展接口J5上,并使用5V2A电源给TL-HSAD-LX采集卡供电,硬件连接图如下。

图 13

图 14 测试结果

EDMA单次传输数据大小为2KByte(0x800),总共循环100次。如需再次测试读写速度,请重新运行DSP端程序。

从上图可看到本次测试的误码率为0%(errcnt: 0);平均写入时间约为101us,写入速率约为38.53MB/s;平均读取时间约为118us,读取速率约为32.98MB/s。

备注:本次测试板卡通过软排线的形式连接,软排线的长度会影响误码率和读写带宽,目前测得最高速率为38.53MB/s(写入速率)。如将FPGA设计于底板,最高速率可到69MB/s(写入时间为28us)

基于GPMC的多通道AD采集综合案例

案例功能

AM570x DSP端使用EDMA通过GPMC接口采集AD7606或ADS8568模块8通道的AD信号,同时由DSP端对其中6通道的AD信号进行FFT处理,最后将8通道时域数据和经FFT处理的6通道频域数据保存到DSP端L2SRAM中,可通过仿真器与CCS软件查看对应通道的时域波形和频域波形。

程序保存通道0的时域数据和经FFT处理的频域数据至CMEM(共享内存)空间,通过IPC组件通知ARM端读取该通道的时域数据和频域数据,使用Qt在LCD显示屏上进行波形绘制,最后将数据保存到文件中。

本案例默认配置AD7606模块采样周期为6us,即采样率约为167KHz;配置ADS8568模块采样周期分别为5us,即采样率为200KHz。程序工作流程框图如下所示:

图 15

案例测试

将Tronlong的TL7606I(AD7606)模块或TL8568I(ADS8568)模块插入评估板GPMC扩展接口,并对模块进行独立供电。TL7606I模块使用5V电源供电,J1跳线帽连接到0,使用±5V量程。TL8568I模块使用12V电源供电,软件已配置为±12V量程。

将模块的待测输通道正确连接信号发生器,信号发生器输出频率为4KHz、峰峰值为2Vpp(即幅值为1V)的正弦波信号。待测信号电压请勿超过模块量程,否则可能会导致模块损坏。评估板接入LCD显示屏,并通过仿真器连接到PC机。硬件连接示意图如下:

图 16 TL7606I模块硬件连接示意图

图 17 TL7606I模块硬件连接示意图

图 18 TL8568I模块硬件连接示意图

程序运行后,即可在LCD显示屏上看到通道0的时域波形和频域波形。

图 19 时域波形

图 20 频域波形

以上案例详细说明、案例源码 欢迎在评论区留言,或点赞收藏。

相关问答

【little和 bit 的用法需要准确的答案】作业帮

[最佳回答]abit和alittle都作"一点儿"讲,但用法不同.1)abit和alittle在肯定句中修饰动词、形容词、副词和比较级时可以互换,表示"一点儿"的意...

【谚语littlebylittleandbitbybit是什么意思><】作业帮

[回答]水滴石穿

bit 和heat区别_沪江网校知识库

如:Myheartbeatsfast.我的心跳得很快。Whoisbeatingthedrum?谁在击鼓?hit表示有意或无意地打或撞等,往往含有重重一击或用力敲打等之意...

能不能说a bit of a party ,为什么?_沪江网校知识库

这个需要看具体的语境哦!abitofa+名词意思是有点....例如IlovecookingandentertainingandIguessI'mabito...

问几个关于英语问题关于 bit 、little等一系列词的用法(例如al...

[最佳回答]1)abit只修饰处于补足语位置上的形容词,不能修饰名词短语前的形容词,这时的用法与alittle一样.如:Theboxisabit/alittleheavy.Theweathe...

帮翻译下:Littlebylittle, and bitbybit._作业帮

[最佳回答]littlebylittle逐渐地Herhealthisimprovinglittlebylittle.她的健康状况正在逐渐好转bitbybit渐渐地let'sfinis...

急求马达加斯加1和2英文观后感我才上高1,用高一的单词来写....

[回答]Madagascar1Ienjoyedthemovie“Madagascar“verymuch.Ittellsaboutseveralanimalswhoescapeth...

英语高手请进严格的来说, and 的首字母应该大写还是?例如TheSu...

[最佳回答]我大学学的是英语专业,老师是这样讲解的:题目的大小写规则:第一个单词的第一个字母一定要大写.实词(名词、动词、代词、形容词、副词等)首字母大写,...

【Haha.Iknowalotaboutalittlebitandalittle.Graceandpeaceb...

[回答]哈哈,有关alittlebit及alittle,我知道很多.愿恩惠与平安伴随你直到无限和更远,哈哈

1,She is a bit shy and ---stand up and answer the teachers qu

1:b是作为情态动词出现的,而这里是作为实意动词2:这是一个定语从句,用which代替前面的ways3:no=nota/an4:这个应该用was,我查过字典的!1:b是作...

 谢灵教授  神木在线 
王经理: 180-0000-0000(微信同号)
10086@qq.com
北京海淀区西三旗街道国际大厦08A座
©2024  上海羊羽卓进出口贸易有限公司  版权所有.All Rights Reserved.  |  程序由Z-BlogPHP强力驱动
网站首页
电话咨询
微信号

QQ

在线咨询真诚为您提供专业解答服务

热线

188-0000-0000
专属服务热线

微信

二维码扫一扫微信交流
顶部