時(shí),然后才能再下一次,這么折騰一天也改不了幾次。歷史的車(chē)輪不斷前進(jìn),偉大的EEPROM出現(xiàn)了,拯救了一大批程序員,終于可以隨意的修改ROM中的內(nèi)容了。
EEPROM的全稱是“電可擦除可編程只讀存儲(chǔ)器”,即Electrically Erasable Programmable Read-Only Memory。是相對(duì)于紫外擦除的rom來(lái)講的。但是今天已經(jīng)存在多種EEPROM的變種,變成了一類存儲(chǔ)器的統(tǒng)稱。
狹義的EEPROM:
這種rom的特點(diǎn)是可以隨機(jī)訪問(wèn)和修改任何一個(gè)字節(jié),可以往每個(gè)bit中寫(xiě)入0或者1。這是最傳統(tǒng)的一種EEPROM,掉電后數(shù)據(jù)不丟失,可以保存100年,可以擦寫(xiě)100w次。具有較高的可靠性,但是電路復(fù)雜/成本也高。因此目前的EEPROM都是幾十千字節(jié)到幾百千字節(jié)的,絕少有超過(guò)512K的。
Flash:
Flash屬于廣義的EEPROM,因?yàn)樗彩请姴脸腞OM。但是為了區(qū)別于一般的按字節(jié)為單位的擦寫(xiě)的EEPROM,我們都叫它Flash。
既然兩者差不多,為什么單片機(jī)中還要既有Flash又有EEPROM呢?
通常,單片機(jī)里的Flash都用于存放運(yùn)行代碼,在運(yùn)行過(guò)程中不能改;EEPROM是用來(lái)保存用戶數(shù)據(jù),運(yùn)行過(guò)程中可以改變,比如一個(gè)時(shí)鐘的鬧鈴時(shí)間初始化設(shè)定為12:00,后來(lái)在運(yùn)行中改為6:00,這是保存在EEPROM里,不怕掉電,就算重新上電也不需要重新調(diào)整到6:00。
但最大區(qū)別是其實(shí)是:FLASH按扇區(qū)操作,EEPROM則按字節(jié)操作,二者尋址方法不同,存儲(chǔ)單元的結(jié)構(gòu)也不同,F(xiàn)LASH的電路結(jié)構(gòu)較簡(jiǎn)單,同樣容量占芯片面積較小,成本自然比EEPROM低,因而適合用作程序存儲(chǔ)器,EEPROM則更多的用作非易失的數(shù)據(jù)存儲(chǔ)器。當(dāng)然用FLASH做數(shù)據(jù)存儲(chǔ)器也行,但操作比EEPROM麻煩的多,所以更“人性化”的MCU設(shè)計(jì)會(huì)集成FLASH和EEPROM兩種非易失性存儲(chǔ)器,而廉價(jià)型設(shè)計(jì)往往只有 FLASH,早期可電擦寫(xiě)型MCU則都是EEPRM結(jié)構(gòu),現(xiàn)在已基本上停產(chǎn)了。
在芯片的內(nèi)電路中,F(xiàn)LASH和EEPROM不僅電路不同,地址空間也不同,操作方法和指令自然也不同,不論馮諾伊曼結(jié)構(gòu)還是哈佛結(jié)構(gòu)都是這樣。技術(shù)上,程序存儲(chǔ)器和非易失數(shù)據(jù)存儲(chǔ)器都可以只用FALSH結(jié)構(gòu)或EEPROM結(jié)構(gòu),甚至可以用“變通”的技術(shù)手段在程序存儲(chǔ)區(qū)模擬“數(shù)據(jù)存儲(chǔ)區(qū)”,但就算如此,概念上二者依然不同,這是基本常識(shí)問(wèn)題。
EEPROM:電可擦除可編程只讀存儲(chǔ)器,F(xiàn)lash的操作特性完全符合EEPROM的定義,屬EEPROM無(wú)疑,首款Flash推出時(shí)其數(shù)據(jù)手冊(cè)上也清楚的標(biāo)明是EEPROM,現(xiàn)在的多數(shù)Flash手冊(cè)上也是這么標(biāo)明的,二者的關(guān)系是“白馬”和“馬”。至于為什么業(yè)界要區(qū)分二者,主要的原因是 Flash EEPROM的操作方法和傳統(tǒng)EEPROM截然不同,次要的原因是為了語(yǔ)言的簡(jiǎn)練,非正式文件和口語(yǔ)中Flash EEPROM就簡(jiǎn)稱為Flash,這里要強(qiáng)調(diào)的是白馬的“白”屬性而非其“馬”屬性以區(qū)別Flash和傳統(tǒng)EEPROM。
Flash的特點(diǎn)是結(jié)構(gòu)簡(jiǎn)單,同樣工藝和同樣晶元面積下可以得到更高容量且大數(shù)據(jù)量下的操作速度更快,但缺點(diǎn)是操作過(guò)程麻煩,特別是在小數(shù)據(jù)量反復(fù)重寫(xiě)時(shí),所以在MCU中Flash結(jié)構(gòu)適于不需頻繁改寫(xiě)的程序存儲(chǔ)器。
很多應(yīng)用中,需要頻繁的改寫(xiě)某些小量數(shù)據(jù)且需掉電非易失,傳統(tǒng)結(jié)構(gòu)的EEPROM在此非常適合,所以很多MCU內(nèi)部設(shè)計(jì)了兩種EEPROM結(jié)構(gòu),F(xiàn)LASH的和傳統(tǒng)的以期獲得成本和功能的均衡,這極大的方便了使用者。隨著ISP、IAP的流行,特別是在程序存儲(chǔ)地址空間和數(shù)據(jù)存儲(chǔ)地址空間重疊的MCU系中,現(xiàn)在越來(lái)越多的MCU生產(chǎn)商用支持IAP的程序存儲(chǔ)器來(lái)模擬EEPROM對(duì)應(yīng)的數(shù)據(jù)存儲(chǔ)器,這是低成本下實(shí)現(xiàn)非易失數(shù)據(jù)存儲(chǔ)器的一種變通方法。為在商業(yè)宣傳上取得和雙EEPROM工藝的“等效”性,不少采用Flash程序存儲(chǔ)器“模擬”(注意,技術(shù)概念上并非真正的模擬)EEPROM數(shù)據(jù)存儲(chǔ)器的廠家紛紛宣稱其產(chǎn)品是帶EEPROM的,嚴(yán)格說(shuō),這是非常不嚴(yán)謹(jǐn)?shù)模倘擞猩倘说哪康暮头椒ǎ肍lash“模擬”EEPROM可以獲取更大商業(yè)利益,所以在事實(shí)上,技術(shù)概念混淆的始作俑者正是他們。
-
單片機(jī)
+關(guān)注
關(guān)注
6059文章
44826瀏覽量
644961 -
FlaSh
+關(guān)注
關(guān)注
10文章
1657瀏覽量
150684 -
EEPROM
+關(guān)注
關(guān)注
9文章
1061瀏覽量
83047
原文標(biāo)題:詳解單片機(jī)為什么既有Flash又有EEPROM?
文章出處:【微信號(hào):mcu168,微信公眾號(hào):硬件攻城獅】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
如何利用單片機(jī)的內(nèi)部Flash模擬EEPROM
關(guān)于單片機(jī)中的flash和eeprom
STM32 FLASH模擬EEPROM資料
單片機(jī)中為什么有了Flash還有EEPROM?
單片機(jī)上FLASH和EEPROM有什么不同?
AVR單片機(jī)中的EEPROM介紹及EEPROM和FLASH的區(qū)別說(shuō)明

單片機(jī)中的FLASH和EEPROM怎么操作?資料下載

STM32單片機(jī)Flash模擬EEPROM

單片機(jī)雙字節(jié)數(shù)乘法運(yùn)算實(shí)驗(yàn)_單片機(jī)語(yǔ)音芯片既有flash又有EEPROM

單片機(jī)中為什么有了Flash還有EEPROM?

單片機(jī)中為什么有了Flash還有EEPROM?

為什么單片機(jī)語(yǔ)音芯片既有flash又有EEPROM

評(píng)論