区别:FLASH ROM与EEPROM
- 格式:doc
- 大小:33.00 KB
- 文档页数:2
单片机内的 Flash 与 EEPROM 作用及区别单片机运行时的数据都存在于 RAM (随机存储器中, 在掉电后 RAM 中的数据是无法保留的,那么怎样使数据在掉电后不丢失呢?这就需要使用 EEPROM 或FLASHROM 等存储器来实现。
在传统的单片机系统中, 一般是在片外扩展存储器, 单片机与存储器之间通过 IIC 或 SPI 等接口来进行数据通信。
这样不光会增加开发成本,同时在程序开发上也要花更多的心思。
在 STC 单片机中内置了 EEPROM (其实是采用 IAP 技术读写内部 FLASH 来实现 EEPROM ,这样就节省了片外资源,使用起来也更加方便。
下面就详细介绍 STC 单片机内置 EEPROM 及其使用方法。
flash 是用来放程序的,可以称之为程序存储器,可以擦出写入但是基本都是整个扇区进行的 .一般来说单片机里的 flash 都用于存放运行代码,在运行过程中不能改; EEPROM 是用来保存用户数据,运行过程中可以改变,比如一个时钟的闹铃时间初始化设定为 12:00,后来在运行中改为 6:00,这是保存在 EEPROM 里, 不怕掉电,就算重新上电也不需要重新调整到 6:00下面是网上详细的说法,感觉不错:FLASH 和 EEPROM 的最大区别是 FLASH 按扇区操作, EEPROM 则按字节操作, 二者寻址方法不同,存储单元的结构也不同, FLASH 的电路结构较简单,同样容量占芯片面积较小,成本自然比 EEPROM 低,因而适合用作程序存储器, EEPROM 则更多的用作非易失的数据存储器。
当然用 FLASH 做数据存储器也行, 但操作比EEPROM 麻烦的多,所以更“人性化”的 MCU 设计会集成 FLASH 和 EEPROM 两种非易失性存储器,而廉价型设计往往只有 FLASH ,早期可电擦写型 MCU 则都是EEPRM 结构,现在已基本上停产了。
在芯片的内电路中, FLASH 和 EEPROM 不仅电路不同,地址空间也不同,操作方法和指令自然也不同, 不论冯诺伊曼结构还是哈佛结构都是这样。
有关各种存储器速度性能的资料大收集,RAM、SRAM、SDRAM、ROM、EPROM、FRAM最后面重点搜集了NOR FLASH 存储器的资料。
====================================================常见存储器概念辨析:RAM、SRAM、SDRAM、ROM、EPROM、常见存储器概念辨析:RAM、SRAM、SDRAM、ROM、EPROM、EEPROM、Flash存储器可以分为很多种类,其中根据掉电数据是否丢失可以分为RAM(随机存取存储器)和ROM(只读存储器),其中RAM的访问速度比较快,但掉电后数据会丢失,而ROM掉电后数据不会丢失。
ROM和RAM指的都是半导体存储器,ROM是Read Only Memory的缩写,RAM是Random Access Memory的缩写。
ROM在系统停止供电的时候仍然可以保持数据,而RAM通常都是在掉电之后就丢失数据,典型的RAM就是计算机的内存。
RAM 又可分为SRAM(Static RAM/静态存储器)和DRAM(Dynamic RAM/动态存储器)。
SRAM 是利用双稳态触发器来保存信息的,只要不掉电,信息是不会丢失的。
DRAM是利用MOS(金属氧化物半导体)电容存储电荷来储存信息,因此必须通过不停的给电容充电来维持信息,所以DRAM 的成本、集成度、功耗等明显优于SRAM。
SRAM速度非常快,是目前读写最快的存储设备了,但是它也非常昂贵,所以只在要求很苛刻的地方使用,譬如CPU的一级缓冲,二级缓冲。
DRAM保留数据的时间很短,速度也比SRAM慢,不过它还是比任何的ROM都要快,但从价格上来说DRAM相比SRAM要便宜很多,计算机内存就是DRAM的。
而通常人们所说的SDRAM 是DRAM 的一种,它是同步动态存储器,利用一个单一的系统时钟同步所有的地址数据和控制信号。
使用SDRAM不但能提高系统表现,还能简化设计、提供高速的数据传输。
单片机运行时的数据都存在于RAM(随机存储器)中,在掉电后RA M 中的数据是无法保留的,那么怎样使数据在掉电后不丢失呢?这就需要使用EEPR OM或F LASHR OM 等存储器来实现。
在传统的单片机系统中,一般是在片外扩展存储器,单片机与存储器之间通过IIC或SPI等接口来进行数据通信。
这样不光会增加开发成本,同时在程序开发上也要花更多的心思。
在ST C 单片机中内置了E EPROM(其实是采用IAP技术读写内部FLAS H 来实现EEPR OM),这样就节省了片外资源,使用起来也更加方便。
下面就详细介绍STC单片机内置EEP ROM 及其使用方法。
f lash是用来放程序的,可以称之为程序存储器,可以擦出写入但是基本都是整个扇区进行的.一般来说单片机里的f lash都用于存放运行代码,在运行过程中不能改;EEPR OM是用来保存用户数据,运行过程中可以改变,比如一个时钟的闹铃时间初始化设定为12:00,后来在运行中改为6:00,这是保存在EE PROM里,不怕掉电,就算重新上电也不需要重新调整到6:00下面是网上详细的说法,感觉不错:F LASH和EEPR OM的最大区别是FL ASH按扇区操作,E EPROM则按字节操作,二者寻址方法不同,存储单元的结构也不同,FLA SH的电路结构较简单,同样容量占芯片面积较小,成本自然比EE PROM低,因而适合用作程序存储器,EE PROM则更多的用作非易失的数据存储器。
当然用FL ASH做数据存储器也行,但操作比EEPR OM麻烦的多,所以更“人性化”的MCU设计会集成F LASH和EEPRO M两种非易失性存储器,而廉价型设计往往只有 FLA SH,早期可电擦写型MCU则都是EEPR M结构,现在已基本上停产了。
Eeprom和Flash的区别 存储器分为两⼤类:ram(内存:随机存储器)和rom(外存:程序存储器),分别存数据和程序。
ram就不讲了,今天主要讨论rom。
(1)rom最初不能编程,出⼚什么内容就永远什么内容,不灵活。
(2)后来出现了prom,可以⾃⼰写⼊⼀次,要是写错了,只能换⼀⽚,⾃认倒霉。
(3)⼈类⽂明不断进步,终于出现了可多次擦除写⼊的EPROM,每次擦除要把芯⽚拿到紫外线上照⼀下,想⼀下你往单⽚机上下了⼀个程序之后发现有个地⽅需要加⼀句话,为此你要把单⽚机放紫外灯下照半⼩时,然后才能再下⼀次,这么折腾⼀天也改不了⼏次。
(4)历史的车轮不断前进,伟⼤的EEPROM出现了,拯救了⼀⼤批程序员,终于可以随意的修改rom中的内容了。
(ROM--PROM--EPROM--EEPROM的进化!) EEPROM的全称是“电可擦除可编程只读存储器(不要觉得多⾼⼤上,其实经常都会⽤到),即Electrically Erasable Programmable Read-Only Memory。
是相对于紫外擦除的rom来讲的。
但是今天已经存在多种EEPROM的变种,变成了⼀类存储器的统称。
flash属于⼴义的EEPROM,因为它也是电擦除的rom。
但是为了区别于⼀般的按字节为单位的擦写的EEPROM,我们都叫它flash。
狭义的EEPROM:这种rom的特点是可以随机访问和修改任何⼀个字节,可以往每个bit中写⼊0或者1。
这是最传统的⼀种EEPROM,掉电后数据不丢失,可以保存100年,可以擦写100w次。
具有较⾼的可靠性,但是电路复杂/成本也⾼。
因此⽬前的EEPROM都是⼏⼗千字节到⼏百千字节的,绝少有超过512K的。
flash做的改进就是擦除时不再以字节为单位,⽽是以块为单位,⼀次简化了电路,数据密度更⾼,降低了成本。
上M的rom⼀般都是flash。
flash分为nor flash和nand flash。
自己总结:EEPROM 按字节操作可以随机访问和修改任何一个字节,按字节擦除(主要是存一些运行中的数据,掉电后且不丢失,如气泵机的地址,镜柜的灯带的亮度级别)NORFLASH按字节操作可以读取任何一个字节,按块擦除NANDFLASH 按块操作不能随机访问和修改任何一个字节,按块操作,按块擦除狭义的EEPROM:这种rom的特点是可以随机访问和修改任何一个字节,可以往每个bit中写入0或者1。
这是最传统的一种EEPROM(掉电后数据不丢失,可以保存100年,可以擦写100w次。
具有较高的可靠性,但是电路复杂/成本也高。
因此目前的EEPROM都是几十千字节到几百千字节的,绝少有超过512K的。
)flash:flash属于广义的EEPROM,因为它也是电擦除的rom。
但是为了区别于一般的按字节为单位的擦写的EEPROM,我们都叫它flash。
flash做的改进就是擦除时不再以字节为单位,而是以块为单位,一次简化了电路,数据密度更高,降低了成本(所以EEPROM比较贵)。
上M的rom一般都是flash。
flash分为nor flash和nand flash。
nor flash数据线和地址线分开,可以实现ram一样的随机寻址功能,可以读取任何一个字节。
但是擦除仍要按块来擦。
nand flash同样是按块擦除,但是数据线和地址线复用,不能利用地址线随机寻址。
读取只能按页来读取。
(nandflash按块来擦除,按页来读,norflash没有页)由于nandflash引脚上复用,因此读取速度比nor flash慢一点,但是擦除和写入速度比nor flash快很多。
nand flash内部电路更简单,因此数据密度大,体积小,成本也低。
因此大容量的flash都是nand型的。
小容量的2~12M的flash多是nor型的。
使用寿命上,nand flash的擦除次数是nor的数倍。
而且nand flash可以标记坏块,从而使软件跳过坏块。
ROM、PROM、EPROM、EEPROM、Flash ROM分别指什么?ROM指的是“只读存储器”,即Read-Only Memory。
这是一种线路最简单半导体电路,通过掩模工艺,一次性制造,其中的代码与数据将永久保存(除非坏掉),不能进行修改。
这玩意一般在大批量生产时才会被用的,优点是成本低、非常低,但是其风险比较大,在产品设计时,如果调试不彻底,很容易造成几千片的费片,行内话叫“掩砸了”!PROM指的是“可编程只读存储器”既Programmable Red-Only Memory。
这样的产品只允许写入一次,所以也被称为“一次可编程只读存储器”(One Time Progarmming ROM,OTP-ROM)。
PROM在出厂时,存储的内容全为1,用户可以根据需要将其中的某些单元写入数据0(部分的PROM在出厂时数据全为0,则用户可以将其中的部分单元写入1),以实现对其“编程”的目的。
PROM的典型产品是“双极性熔丝结构”,如果我们想改写某些单元,则可以给这些单元通以足够大的电流,并维持一定的时间,原先的熔丝即可熔断,这样就达到了改写某些位的效果。
另外一类经典的PROM为使用“肖特基二极管”的PROM,出厂时,其中的二极管处于反向截止状态,还是用大电流的方法将反相电压加在“肖特基二极管”,造成其永久性击穿即可。
EPROM指的是“可擦写可编程只读存储器”,即Erasable Programmable Read-Only Memory。
它的特点是具有可擦除功能,擦除后即可进行再编程,但是缺点是擦除需要使用紫外线照射一定的时间。
这一类芯片特别容易识别,其封装中包含有“石英玻璃窗”,一个编程后的EPROM芯片的“石英玻璃窗”一般使用黑色不干胶纸盖住,以防止遭到阳光直射。
EEPROM指的是“电可擦除可编程只读存储器”,即Electrically Erasable Programmable Read-Only Memory。
Flash和EEPROM的区别这是一篇真正为「终结懵逼」而生的回答。
看完如果还不懂,那就多看几遍…以前做项目,有时用Flash,有时用EEP(ROM),搞得我有点懵逼。
然后在网上搜了一些(资料),看完以后还是不能理解透彻,直到项目做多了,才彻底搞懂。
Flash和EEPROM都是非易失性存储器,就是你设备掉电重启后,数据还会保留,如果是(RAM)的话掉电数据直接就丢了。
下面从几个方面去介绍下Flash和EEPROM的区别:1.读取方式Flash和EEPROM都采用随机读取,可以通过地址直接访问存储器中的数据。
2.写入方式Flash和EEPROM的写入方式不一样,EEPROM可以按字节进行写入,而Flash通常需要按块进行写入。
还有就是,在Flash中,要写入一个数据,需要先擦除一整个块,然后再将新数据写入该块。
3.擦除方式Flash和EEPROM的擦除方式不一样,EEPROM可以按字节进行擦除,而Flash一般需要按块进行擦除。
也就是说,在Flash中,要擦除一个数据,通常需要先擦除一整个块,然后再将该块中需要保留的数据重新写入,比EEPROM操作麻烦一些。
4.擦写速度EEPROM的擦写速度比Flash慢得多,擦写速度会受到许多因素的影响,包括使用的存储器型号、使用的(接口)类型、写入和擦除的数据量、(芯片)温度等等。
5.存储密度Flash比EEPROM的存储密度更高,可以存储更多的数据。
6.寿命Flash和EEPROM的寿命长短取决使用方式、应用场景等等。
一般来说,EEPROM的寿命可能会更长一些,因为它可以进行单独的字节单位的写入和擦除,而Flash需要进行整个页面或扇区的擦除。
这意味着EEPROM可以更灵活地管理存储器,并减少对存储单元的擦写次数。
但是,这并不意味着所有情况下EEPROM的寿命都会更长。
7.价格Flash比EEPROM更便宜。
8.通讯接口不同Flash很多是用SPI协议接口、EEPROM很多是I(IC)协议接口。
FLASH和EEPROM的最大区别专业篇FLASH和EEPROM的最大区别是FLASH按扇区操作,EEPROM则按字节操作,二者寻址方法不同,存储单元的结构也不同,FLASH的电路结构较简单,同样容量占芯片面积较小,成本自然比EEPROM低,因而适合用作程序存储器,EEPROM 则更多的用作非易失的数据存储器。
当然用FLASH做数据存储器也行,但操作比EEPROM麻烦的多,所以更“人性化”的MCU设计会集成FLASH和EEPROM两种非易失性存储器,而廉价型设计往往只有FLASH,早期可电擦写型MCU则都是EEPRM结构,现在已基本上停产了。
至于那个“总工”说的话如果不是张一刀记错了的话,那是连基本概念都不对,只能说那个“总工”不但根本不懂芯片设计,就连MCU系统的基本结构都没掌握。
在芯片的内电路中,FLASH和EEPROM不仅电路不同,地址空间也不同,操作方法和指令自然也不同,不论冯诺伊曼结构还是哈佛结构都是这样。
技术上,程序存储器和非易失数据存储器都可以只用FALSH结构或EEPROM结构,甚至可以用“变通”的技术手段在程序存储区模拟“数据存储区”,但就算如此,概念上二者依然不同,这是基本常识问题。
没有严谨的工作精神,根本无法成为真正的技术高手。
现在的单片机,RAM主要是做运行时数据存储器,FLASH主要是程序存储器,EEPROM 主要是用以在程序运行保存一些需要掉电不丢失的数据. 楼上说的很好另外,一些变量,都是放到RAM里的,一些初始化数据比如液晶要显示的内容界面,都是放到FLASH区里的(也就是以前说的ROM区),EEPROM可用可不用,主要是存一些运行中的数据,掉电后且不丢失ROM和RAM指的都是半导体存储器,ROM是Read Only Memory的缩写,RAM是Random Access Memory的缩写。
ROM在系统停止供电的时候仍然可以保持数据,而RAM通常都是在掉电之后就丢失数据,典型的RAM就是计算机的内存。
一、什么是ROM,RAM,EPROM,EEPROM,DRAM,Flash,MRAM,RDRAM,各有什么作用什么是ROM,有什么作用简称:ROM 标准:Read Only Memory 中文:只读存储器只读存储器,这种内存 (Memory ) 的内容任何情况下都不会改变,计算机与使用者只能读取保存在这里的指令,和使用储存在ROM的数据,但不能变更或存入资料。
ROM被储存在一个非挥发性芯片上,也就是说,即使.Yco688 { display:none; } 简称:ROM标准:Read Only Memory中文:只读存储器只读存储器,这种内存 (Memory ) 的内容任何情况下都不会改变,计算机与使用者只能读取保存在这里的指令,和使用储存在ROM的数据,但不能变更或存入资料。
ROM被储存在一个非挥发性芯片上,也就是说,即使在关机之后记忆的内容仍可以被保存,所以这种内存多用来储存特定功能的程序或系统程序。
ROM储存用来激活计算机的指令,开机的时候ROM提供一连串的指令给中央处理单元进行测试,在最初的测试中,检查RAM位置(location)以确认其储存数据的能力。
此外其它电子组件包括键盘 (Keyboard ) 、计时回路(timer circuit)以及CPU本身也被纳入CPU的测试中。
什么是RAM,有什么作用简称:RAM标准:Random Access Memory中文:随机存储器随机存取内存,是内存(Memory)的一种,由计算机CPU控制,是计算机主要的储存区域,指令和资料暂时存在这里。
RAM是可读可写的内存,它帮助中央处理器 (CPU ) 工作,从键盘 (Keyboard ) 或鼠标之类的来源读取指令,帮助CPU 把资料 (Data) 写到一样可读可写的辅助内存 (Auxiliary Memory) ,以便日后仍可取用,也能主动把资料送到输出装置,例如打印机、显示器。
RAM的大小会影响计算的速度,RAM越大,所能容纳的资料越多,CPU读取的速度越快。
FLASH和EEPRO M的最大区别FLASH和EEPRO M的最大区别是FLA SH按扇区操作,EEPROM则按字节操作,二者寻址方法不同,存储单元的结构也不同,FLASH的电路结构较简单,同样容量占芯片面积较小,成本自然比E EPROM低,因而适合用作程序存储器,EEPROM则更多的用作非易失的数据存储器。
当然用FLA SH做数据存储器也行,但操作比EE PROM麻烦的多,所以更“人性化”的MCU设计会集成FL ASH和E EPROM两种非易失性存储器,而廉价型设计往往只有F LASH,早期可电擦写型MCU则都是EEP RM结构,现在已基本上停产了。
至于那个“总工”说的话如果不是张一刀记错了的话,那是连基本概念都不对,只能说那个“总工”不但根本不懂芯片设计,就连MCU系统的基本结构都没掌握。
在芯片的内电路中,FLASH和EEPRO M不仅电路不同,地址空间也不同,操作方法和指令自然也不同,不论冯诺伊曼结构还是哈佛结构都是这样。
技术上,程序存储器和非易失数据存储器都可以只用FA LSH结构或EEPR OM结构,甚至可以用“变通”的技术手段在程序存储区模拟“数据存储区”,但就算如此,概念上二者依然不同,这是基本常识问题。
没有严谨的工作精神,根本无法成为真正的技术高手。
现在的单片机,RAM主要是做运行时数据存储器,FLASH主要是程序存储器,EEPROM主要是用以在程序运行保存一些需要掉电不丢失的数据.楼上说的很好另外,一些变量,都是放到RA M里的,一些初始化数据比如液晶要显示的内容界面,都是放到FL ASH区里的(也就是以前说的ROM区),EEPROM可用可不用,主要是存一些运行中的数据,掉电后且不丢失ROM和RA M指的都是半导体存储器,ROM是Re ad Only Memory的缩写,RAM是Ra ndomAccess Memory的缩写。
FLASH ROM与EEPROM 区别
EEPROM,虽然也叫“非易失性数据存储器”,但它不能直接参与ALU运算,只是用于掉电不丢失的数据存储。
EEPROM和片内RAM 类似,也属于数据存储器,它的特点是数据掉电可保持,而程序存储器一般指RO M,用于存储用户程序代码。
EEPROM和FLASH基本都是非易失性存储器。
EEPROM应属于数据存储器,但是它制造工艺和FLASH 更近似。
FLASH是用于存储程序代码的,有些场合也可能用它来保存数据,当然前提是该单片机的FLASH工艺是可以自写的(运行中可擦写),但要注意FLASH的擦写次数通常小于一万次,而且通常FLASH只能按块擦除。
EEPROM不能用来存程序,通常单片机的指令寻址不能到这个区域。
EEPROM的擦写次数应有百万次,而且可以按字节擦写。
EEPROM在一个PAGE内是可以任意写的,
FLSAH则必须先擦除成BLANK,然后再写入,而一般没有单字节擦除的功能,至少一个扇区擦除。
FLASH存储器又称闪存,它结合了ROM和RAM的长处,不仅具备电子可擦除可编程(EEPRO M)的性能,还不会断电丢失数据同时可以快速读取数据(NVRAM的优势),U盘和MP3里用的就是这种存储器。
在过去的20年里,嵌入式系统一直使用ROM(EPROM)作为它们的存储设备,然而近年来F lash全面代替了ROM(EPROM)在嵌入式系统中的地位,用作存储Bootloader以及操作系统或者程序代码或者直接当硬盘使用(U盘)。
目前Flash主要有两种NOR Flash和NADN Flash。
NOR Flash的读取和我们常见的SDRAM的读取是一样,用户可以直接运行装载在NOR FLASH里面的代码,这样可以减少SRAM的容量从而节约了成本。
NAND Flash没有采取内存的随机读取技术,它的读取是以一次读取一块的形式来进行的,通常是一次读取512个字节,采用这种技术的Flash比较廉价。
用户不能直接运行NAND Flash上的代码,因此好多使用NAND Flash的开发板除了使用NAND Flah以外,还作上了一块小的NOR Flash来运行启动代码。
一般小容量的用NOR Flash,因为其读取速度快,多用来存储操作系统等重要信息,而大容量的用NAND FLASH,最常见的NAND FLASH应用是嵌入式系统采用的DOC(Disk On Chip)和我们通常用的"闪盘",可以在线擦除。
目前市面上的FLASH 主要来自Intel,AMD,Fujitsu和Mxic,而生产NAN D Flash的主要厂家有Samsung和Toshiba及Hynix。
FLASH ROM就是ROM,只读存储器,和RAM,可读写的存储器相对应。
全称是read-only memory
最初的ROM熔丝类型的,只能烧写一次,之后就不能修改了。
后来出现了可以用紫外线擦除,然后再次烧写的ROM,严格来讲已经不是只读的了。
这种ROM叫做EP ROM (erasable programmable read-only memory),表示可擦除的ROM
但是紫外线擦除很麻烦,后来又发明了不用紫外线,只用电就能擦除的ROM。
这种ROM就叫做EEPROM ,全称就是electrically erasable programmable read-only memory,电可擦除并重新编程的只读存储器。
EEPROM也写作E2PROM,简称E方
实际使用中,不同种类的ROM因为性能,价格等的不同,分别用于不同的场合。
比如经常说的U盘,用的一般是NAND FLASH,而单片机存放程序的ROM一般是NOR FLASH,因为后者具有可以不经RAM直接运行程序的特点。
所有这些ROM都属于非易失存储器,即在掉电之后,数据也不会消失。
(类似硬盘)
在运行期间,程序ROM的内容一般不能被程序修改,所以单片机经常会配置EEPROM以便运行的数据可以得到存储,修改,并且掉电后仍然能够保持。
本质上讲,存储程序的ROM其实很多也是EEPROM(有些是EPROM,还有用熔丝ROM的),但是因为一般都不具备在运行时自我修改的能力,所以对应用来说,认为是只读的。
而在运行时可修改的那些则特意叫做EEPROM。
现在随着技术发展,一次性的ROM越来越少,逐渐向EEPROM转变,但是习惯上,仍然把他们叫做RO M而不特意说明是EEPROM。
Atmel公司已经开发可以动态修改属性的ROM,本身是EEPROM,但是可以通过设置将其中一部分设置为真正只读的ROM。
这种设置并不能带来性能上的提高,反而还会增加器件的复杂度,但是这样可以有效地防止本不应该被修改的内容改变,还是有很重要的作用的。