eeprom
EEPROM,電可擦可編程只讀存儲器--一種掉電后數(shù)據(jù)不丟失的存儲芯片。 EEPROM 可以在電腦上或?qū)S迷O(shè)備上擦除已有信息,重新編程。一般用在即插即用。
EEPROM(帶電可擦寫可編程讀寫存儲器)是用戶可更改的只讀存儲器EEPROM(ROM),其可通過高于普通電壓的作用來擦除和重編程(重寫)。不像EPROM芯片,EEPROM不需從計算機(jī)中取出即可修改。在一個EEPROM中,當(dāng)計算機(jī)在使用的時候可頻繁地反復(fù)編程,因此EEPROM的壽命是一個很重要的設(shè)計考慮參數(shù)。EEPROM是一種特殊形式的閃存,其應(yīng)用通常是個人電腦中的電壓來擦寫和重編程。
EEPROM,一般用于即插即用(Plug & Play)。常用在接口卡中,用來存放硬件設(shè)置數(shù)據(jù)。也常用在防止軟件非法拷貝的“硬件鎖”上面。
flash
FLASH 存儲器又稱閃存,根據(jù)內(nèi)部架構(gòu)和實(shí)現(xiàn)技術(shù)可以分為AND , NAND , NO R , NiNOR 等等,它結(jié)合了ROM和RAM的長處,不僅具備電子可擦除可編程(EEPROM)的性能,還不會斷電丟失數(shù)據(jù)同時可以快速讀取數(shù)據(jù)(NVRAM 的優(yōu)勢)。
與其他存儲介質(zhì)相比 , Flash存儲器具有如下優(yōu)點(diǎn):
1、與低讀、寫延遲和包含機(jī)械部件的磁盤相比, Flash存儲器的讀 、寫延遲較低 ;
2、統(tǒng)一的讀性能 ,尋道和旋轉(zhuǎn)延遲的消除使得隨機(jī)讀性能與順序讀性能幾乎一致;
3、低能耗 ,能量消耗顯著低于RAM 和磁盤存儲器;
4、高可靠性,MTBF(mean time between failures)比磁盤高一個數(shù)量級;
5、能適應(yīng)惡劣環(huán)境 ,包括高溫、劇烈震動等。
flash和eeprom區(qū)別和關(guān)系
單片機(jī)運(yùn)行時的數(shù)據(jù)都存在于RAM(隨機(jī)存儲器)中,在掉電后RAM 中的數(shù)據(jù)是無法保留的,那么怎樣使數(shù)據(jù)在掉電后不丟失呢?這就需要使用EEPROM 或FLASHROM 等存儲器來實(shí)現(xiàn)。在傳統(tǒng)的單片機(jī)系統(tǒng)中,一般是在片外擴(kuò)展存儲器,單片機(jī)與存儲器之間通過IIC 或SPI 等接口來進(jìn)行數(shù)據(jù)通信。這樣不光會增加開發(fā)成本,同時在程序開發(fā)上也要花更多的心思。
在STC 單片機(jī)中內(nèi)置了EEPROM(其實(shí)是采用IAP 技術(shù)讀寫內(nèi)部FLASH 來實(shí)現(xiàn)EEPROM),這樣就節(jié)省了片外資源,使用起來也更加方便。下面就詳細(xì)介紹STC 單片機(jī)內(nèi)置EEPROM 及其使用方法。
flash是用來放程序的,可以稱之為程序存儲器,可以擦出寫入但是基本都是整個扇區(qū)進(jìn)行的。一般來說 單片機(jī)里的flash都用于存放運(yùn)行代碼,在運(yùn)行過程中不能改;EEPROM是用來保存用戶數(shù)據(jù),運(yùn)行過程中可以改變,比如一個時鐘的鬧鈴時間初始化設(shè)定為12:00,后來在運(yùn)行中改為6:00,這是保存在EEPROM里,不怕掉電,就算重新上電也不需要重新調(diào)整到6:00。
下面是網(wǎng)上詳細(xì)的說法,感覺不錯:
FLASH 和EEPROM的最大區(qū)別是FLASH按扇區(qū)操作,EEPROM則按字節(jié)操作,二者尋址方法不同,存儲單元的結(jié)構(gòu)也不同,F(xiàn)LASH的電路結(jié)構(gòu)較簡單,同樣容量占芯片面積較小,成本自然比EEPROM低,因而適合用作程序存儲器,EEPROM則更多的用作非易失的數(shù)據(jù)存儲器。
當(dāng)然用FLASH做數(shù)據(jù)存儲器也行,但操作比EEPROM麻煩的多,所以更“人性化”的MCU設(shè)計會集成FLASH和EEPROM兩種非易失性存儲器,而廉價型設(shè)計往往只有 FLASH,早期可電擦寫型MCU則都是EEPRM結(jié)構(gòu),現(xiàn)在已基本上停產(chǎn)了。
在芯片的內(nèi)電路中,F(xiàn)LASH和EEPROM不僅電路不同,地址空間也不同,操作方法和指令自然也不同,不論馮諾伊曼結(jié)構(gòu)還是哈佛結(jié)構(gòu)都是這樣。技術(shù)上,程序存儲器和非易失數(shù)據(jù)存儲器都可以只用FALSH結(jié)構(gòu)或EEPROM結(jié)構(gòu),甚至可以用“變通”的技術(shù)手段在程序存儲區(qū)模擬“數(shù)據(jù)存儲區(qū)”,但就算如此,概念上二者依然不同,這是基本常識問題。
EEPROM:電可擦除可編程只讀存儲器,F(xiàn)lash的操作特性完全符合EEPROM的定義,屬EEPROM無疑,首款Flash推出時其數(shù)據(jù)手冊上也清楚的標(biāo)明是EEPROM,現(xiàn)在的多數(shù)Flash手冊上也是這么標(biāo)明的,二者的關(guān)系是“白馬”和“馬”。
至于為什么業(yè)界要區(qū)分二者,主要的原因是 Flash EEPROM的操作方法和傳統(tǒng)EEPROM截然不同,次要的原因是為了語言的簡練,非正式文件和口語中Flash EEPROM就簡稱為Flash,這里要強(qiáng)調(diào)的是白馬的“白”屬性而非其“馬”屬性以區(qū)別Flash和傳統(tǒng)EEPROM。
Flash的特點(diǎn)是結(jié)構(gòu)簡單,同樣工藝和同樣晶元面積下可以得到更高容量且大數(shù)據(jù)量
下的操作速度更快,但缺點(diǎn)是操作過程麻煩,特別是在小數(shù)據(jù)量反復(fù)重寫時,所以在MCU中Flash結(jié)構(gòu)適于不需頻繁改寫的程序存儲器。
很多應(yīng)用中,需要頻繁的改寫某些小量數(shù)據(jù)且需掉電非易失,傳統(tǒng)結(jié)構(gòu)的EEPROM在此非常適合,所以很多MCU內(nèi)部設(shè)計了兩種EEPROM結(jié)構(gòu),F(xiàn)LASH的和傳統(tǒng)的以期獲得成本和功能的均衡,這極大的方便了使用者。隨著ISP、IAP的流行,特別是在程序存儲地址空間和數(shù)據(jù)存儲地址空間重疊的MCU系中,現(xiàn)在越來越多的MCU生產(chǎn)商用支持IAP的程序存儲器來模擬EEPROM對應(yīng)的數(shù)據(jù)存儲器,這是低成本下實(shí)現(xiàn)非易失數(shù)據(jù)存儲器的一種變通方法。
為在商業(yè)宣傳上取得和雙EEPROM工藝的“等效”性,不少采用Flash程序存儲器“模擬”(注意,技術(shù)概念上并非真正的模擬)EEPROM數(shù)據(jù)存儲器的廠家紛紛宣稱其產(chǎn)品是帶EEPROM的,嚴(yán)格說,這是非常不嚴(yán)謹(jǐn)?shù)模倘擞猩倘说哪康暮头椒?,用Flash“模擬”EEPROM可以獲取更大商業(yè)利益,所以在事實(shí)上,技術(shù)概念混淆的始作俑者正是他們。
從成本上講,用Flash“模擬”EEPROM是合算的,反之不會有人干,用EEPROM模擬Flash是怎么回事呢?這可能出在某些程序存儲空間和數(shù)據(jù)存儲空間連續(xù)的MCU上。這類MCU中特別是存儲容量不大的低端MCU依然采用EEPROM作為非易失存儲器,這在成本上反而比采用Flash和傳統(tǒng)EEPROM雙工藝的設(shè)計更低,但這種現(xiàn)象僅僅限于小容量前提下。
因Flash工藝的流行,現(xiàn)在很多商人和不夠嚴(yán)謹(jǐn)?shù)募夹g(shù)人員將程序存儲器稱為Flash,對于那些僅采用傳統(tǒng)EEPROM工藝的MCU而言,他們不求甚解,故而錯誤的將EEPROM程序存儲器稱為“ 模擬Flash”,根本的原因是他們未理解Flash只是一種存儲器結(jié)構(gòu)而非存儲器的用途,錯誤的前提自然導(dǎo)致錯誤的結(jié)論。
商業(yè)上講,用EEPROM模擬 Flash是不會有人真去做的愚蠢行為,這違背商業(yè)追求最大利益的原則,技術(shù)上也不可行,而對于技術(shù)人員而言。本質(zhì)的問題是Flash是一種存儲器類型而非MCU中的程序存儲器,即使MCU的程序存儲器用的是Flash,但其逆命題不成立
評論
查看更多