您好,欢迎访问索福特科技有限公司官网!www.dgsoftware.cn

135-2854-0969
公司动态
您的位置: 首页 > 新闻动态 > 公司动态
.

新闻动态

联系我们

索福特科技有限公司

地址:广东省东莞市松山湖园区大学路9号瑞鹰国际科技创新园8栋206室

咨询热线135-2854-0969

单片机解密中Flash和EEPROM是什么意思?

发布时间:2021-04-13 04:06:45人气:

 一、闪存和EEPROM的含义

 单片机运行时的数据存在于RAM(随机存储器)中,掉电后RAM中的数据无法保存,那么如何保证掉电后数据不丢失呢?这需要通过EEPROM或者FLASHROM来实现。

 

 插一段:ROM一开始是不会编程的,出了厂不管什么东西,永远是原来的样子,不灵活。后来PROM出现了,可以自己写一遍。写错了只能改。随着不断的改进,可以多次擦除和写入的EPROM终于出现了。每次擦除都要把芯片拿到紫外线下。想想吧。你在单片机上上下一个程序后,发现有一个地方可以加一句话。为此,你应该把单片机放在紫外光下半个小时,然后你就可以再做一次。一天换几次都不行。历史的车轮不断前进,伟大的EEPROM出现,节省了大量程序员,最终可以随意修改ROM的内容。

 

 

 

 EEPROM的全称是电可擦可编程只读存储器。是相对于紫外线擦除的rom。但是今天,EEPROM的种类很多,已经成为一种存储器的总称。

 

 u=1114190638,3827946917&fm=26&gp=0.jpg

 

 狭义的EEPROM:

 

 这种只读存储器的特点是任何字节都可以随机存取和修改,每个位可以写入0或1。这是最传统的EEPROM,可以存储100年,断电后擦除100次也不会丢失数据。它可靠性高,但电路复杂,成本高。所以目前的EEPROM从几十千字节到几百千字节,很少超过512K。

 

 

 

 闪光灯:

 

 闪存属于广义上的EEPROM,因为它也是一种电擦除的ROM。但是为了区别于一般的按字节擦除的EEPROM,我们都称之为Flash。

 

 单片机解密中Flash和EEPROM是什么意思?(图1)


 第二,闪存和EEPROM的区别

 通常单片机中的Flash是用来存储运行代码的,运行时不可更改;EEPROM用于存储用户数据,用户数据可以在操作过程中更改。比如一个时钟的闹铃时间最初设置为12: 00,然后运行时改为6: 00,存储在EEPROM中,不怕停电,即使重新上电也不用重新调整到6: 00。

 

 

 

 但最大的区别是FLASH是按扇区操作的,而EEPROM是按字节操作的。它们的寻址方式不同,存储单元的结构也不同。FLASH的电路结构更简单,容量占用芯片面积更小,成本自然低于EEPROM,适合作为程序存储器使用,而EEPROM更多的是作为非易失性数据存储器使用。当然,用FLASH做数据存储器是可以的,但是操作比EEPROM麻烦多了,所以更人性化的单片机设计会把FLASH和EEPROM集成在一起,而便宜的设计往往只有FLASH,早期的可擦单片机是EEPRM结构,基本已经停产了。

 

 在芯片的内部电路中,FLASH和EEPROM不仅电路不同,地址空间也不同,操作方法和指令自然也不同,无论是冯诺依曼结构还是哈佛结构。从技术上讲,程序存储器和非易失性数据存储器都只能使用FALSH结构或者EEPROM结构,甚至可以使用“灵活”的技术手段来模拟程序存储区中的“数据存储区”,但即便如此,两者在概念上还是有所不同,这是一个基本的常识性问题。

 

 EEPROM:电可擦可编程只读存储器。Flash的工作特性完全符合EEPROM的定义,毫无疑问就是EEPROM。第一款Flash推出时,在其数据手册中明确标注为EEPROM,目前大多数Flash手册中也有标注。两者的关系是“白马”和“马”。至于为什么业界要区分两者,主要原因是闪存EEPROM的操作方法与传统EEPROM有很大不同,次要原因是语言简洁。Flash EEPROM在非正式文档和口语中简称Flash。这里要强调白马的“白”属性,而不是它的“马”属性,来区分Flash和传统的EEPROM。

 

 Flash的特点是结构简单,在相同的工艺和相同的晶胞面积下可以获得更高的容量,在大数据量下运算速度更快,但缺点是运算过程麻烦,尤其是小数据量反复重写时,所以单片机中的Flash结构适合不需要频繁重写的程序存储器。

 

 在很多应用中,一些少量的数据需要频繁重写,传统结构的EEPROM非常适合这里。所以很多单片机设计了FLASH和传统两种EEPROM结构,以达到成本和功能的平衡,非常方便用户。随着ISP和IAP的普及,特别是在程序存储地址空间和数据存储地址空间重叠的单片机系统中,越来越多的单片机厂商使用IAP支持的程序存储器来模拟EEPROM的相应数据存储器,这是一种低成本实现非易失性数据存储器的替代方法。为了在商业宣传上实现与双EEPROM技术的“等效”,很多使用Flash程序存储器“模拟”(注意技术概念不是真正模拟的)的EEPROM数据存储器厂商都宣称自己的产品是带EEPROM的。严格来说这是很不严谨的,但是商人有商人的目的和方法,用Flash“模拟”EEPROM可以获得更大的商业利益,所以实际上是技术概念混乱的始作俑者。

 

 从成本上来说,用Flash来“模拟”EEPROM是比较划算的,否则没人会做。EEPROM模拟Flash怎么了?这可能发生在一些程序存储空间和数据存储空间连续的单片机中。这类单片机,尤其是存储容量小的低端单片机,仍然使用EEPROM作为非易失性存储器,比用Flash和传统EEPROM双工艺设计成本更低,但这种现象仅限于容量小的前提下。因为Flash技术的普及,现在很多商人和不严谨的技术人员都把程序内存叫做Flash。对于那些只使用传统EEPROM技术的单片机来说,他们并不太了解,所以他们错误地把EEPROM程序存储器称为“模拟闪存”。根本原因是他们不理解Flash只是一种内存结构,而不是内存的使用。错误的前提自然导致错误的结论。从商业上讲,用EEPROM模拟Flash是一种没有人会真正去做的愚蠢行为,违背了追求商业最佳利益的原则,技术上不可行。本质问题是Flash是内存类型,不是单片机中的程序内存。即使单片机的程序内存使用Flash,其逆命题也是无效的。


推荐资讯