需求说明:因视频处理模块需要根据查找表的数值确定位置信息,所以需要存储设备将UART接收的数据进行存储以备下次上电直接读取使用。查阅相关资料整理如下。
第一部分以MCU应用角度分析EEPROM和FLASH的区别,可以从感性上认识两者的用途和区别
第二部分从工艺,构架等角度对EEPROM和FLASH进行分析
第三部分是我自己针对查阅资料的一个小结
第一部分
来自:http://zhidao.baidu.com/link?url=ae9wpiNfxhAyz20S24xSf50eML0uSwzvf9Ellrb70N3RXd_V0DZDPYWF2Z3dreq5WHOhr31rNdtUVRDrxvkVLa
问:单片机里EEPROM与flash有什么区别?在程序中的用处有什么大的区别吗? 解答一:flash是用来存储代码的,在运行过程中不能改;EEPROM是用来保存用户数据, 运行过程中可以改变,比如一个时钟的闹铃时间初始化设定为12:00,后来在 运行中改为6:00,这是保存在EEPROM里,不怕掉电,就算重新上电也不需要 重新调整到6:00. 解答二:两者都是非易失性存储器FLASH的全称是FLASH EEPROM,但跟常规EEPROM的操作 方法不同FLASH和EEPROM的最大区别是FLASH按扇区操作,EEPROM则按字节操作, 二者寻址方法不同,存储单元的结构也不同,FLASH的电路结构较简单,同样容 量占芯片面积较小,成本自然比EEPROM低,因而适合用作程序存储器,EEPROM 则更多的用作非易失的数据存储器。当然用FLASH做数据存储器也行,但操作比 EEPROM麻烦的多,所以更“人性化”的MCU设计会集成FLASH和EEPROM两种非易失 性存储器,而廉价型设计往往只有FLASH,早期可电擦写型MCU则都是EEPRM结构, 现在已基本上停产了。一般来说eeprom中存放开机是用到的参数,不可丢失的变 量等,而FLASH中会存放程序,记录文件等。 解答三:一般来说flash是用来放程序的,可以称之为程序存储器使用的时候,我们是把 所编写的程序烧录到flash中去。而EEPROM 是用来存放掉电后不希望丢失的数据 的,可以理解为数据存储器。当然flash也可以存放数据,我们可以把不发生改变 的数据,以代码的形式存放到flash中。而偶尔会修改,掉电还不希望其丢失的数 据存放到EEPROM中。 解答四:eeprom可位操作目前容量最大的好像256K,串行并行都有。flash都是块操作,容 量很大很大,我现在用的是64M的,串行并行都有。它俩都掉电保存。 解答五:都能掉电储存,制作工艺不一样,在体积相等情况下FLASH的容量大。一般EEPROM能擦 写10万次以上,而FLASH一般为1万次以下,各有优缺点。所以档次稍微高的单片机两 样都有,EEPROM用于存储经常修改的一些参数,如用户的一些设定值,而FLASH用于 存储程序。
第二部分
来自:http://blog..net/yuanlulu/article/details/6163106 标题: EEPROM和flash的区别 之前对各种存储器一直不太清楚,今天总结一下。 存储器分为两大类:ram和rom。 ram就不讲了,今天主要讨论rom。 rom最初不能编程,出厂什么内容就永远什么内容,不灵活。后来出现了prom,可以自己写入一次, 要是写错了,只能换一片,自认倒霉。人类文明不断进步,终于出现了可多次擦除写入的EPROM, 每次擦除要把芯片拿到紫外线上照一下,想一下你往单片机上下了一个程序之后发现有个地方需要 加一句话,为此你要把单片机放紫外灯下照半小时,然后才能再下一次,这么折腾一天也改不了几 次。历史的车轮不断前进,伟大的EEPROM出现了,拯救了一大批程序员,终于可以随意的修改rom 中的内容了。 EEPROM的全称是“电可擦除可编程只读存储器”,即Electrically Erasable Programmable Read-Only Memory。 是相对于紫外擦除的rom来讲的。但是今天已经存在多种EEPROM的变种,变成了一类存储器的统称。 狭义的EEPROM: 这种rom的特点是可以随机访问和修改任何一个字节,可以往每个bit中写入0或者1。这是最传统的一种EEPROM,掉 电后数据不丢失,可以保存100年,可以擦写100w次。具有较高的可靠性,但是电路复杂/成本也高。因此目前的EEPROM 都是几十千字节到几百千字节的,绝少有超过512K的。 flash: flash属于广义的EEPROM,因为它也是电擦除的rom。但是为了区别于一般的按字节为单位的擦写的EEPROM,我们都叫 它flash。flash做的改进就是擦除时不再以字节为单位,而是以块为单位,一次简化了电路,数据密度更高,降低了 成本。上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可以标记坏块,从而使软件跳过坏块。nor flash 一旦损坏便无法再用。 因为nor flash可以进行字节寻址,所以程序可以在nor flash中运行。嵌入式系统多用一个小容量的nor flash存储引导代码,用一个大容量的nand flash存放文件系统和内核。
第三部分 应用方向:EEPROM -> 数据存储器 FLASH -> 程序存储器 存储容量:EEPROM -> ST可以提供业内最大的存储容量,2 Mbits NOR FLASH(数据线和地址线分开) -> 容量一般为1~16M用于单片机代码存储 NAND FLASH(数据线和地址线不分开) -> 最小的是8M最大的现在听说有90G还可 能更大,一般用在大容量存储方面 读写速度:EEPROM -> 一般为IIC总线方式(400kbps) FLASH -> 一般为SPI总线方式(我使用过45Mbps) 总结 :通过分析,最终需用存储芯片应该是NOR FLASH.