eeprom壽命的延長(zhǎng)方法
EEPROM (Electrically Erasable Programmable read only memory),電可擦可編程只讀存儲(chǔ)器--一種掉電后數(shù)據(jù)不丟失的存儲(chǔ)芯片。 EEPROM 可以在電腦上或?qū)S迷O(shè)備上擦除已有信息,重新編程。一般用在即插即用。
EPROM(Erasable Programmable ROM,可擦除可編程ROM)芯片可重復(fù)擦除和寫入,解決了PROM芯片只能寫入一次的弊端。EPROM芯片有一個(gè)很明顯的特征,在其正面的陶瓷封裝上,開(kāi)有一個(gè)玻璃窗口,透過(guò)該窗口,可以看到其內(nèi)部的集成電路,紫外線透過(guò)該孔照射內(nèi)部芯片就可以擦除其內(nèi)的數(shù)據(jù),完成芯片擦除的操作要用到EPROM擦除器。
EPROM內(nèi)資料的寫入要用專用的編程器,并且往芯片中寫內(nèi)容時(shí)必須要加一定的編程電壓(VPP=12~24V,隨不同的芯片型號(hào)而定)。EPROM的型號(hào)是以27開(kāi)頭的,如27C020(8*256K)是一片2M Bits容量的EPROM芯片。EPROM芯片在寫入資料后,還要以不透光的貼紙或膠布把窗口封住,以免受到周圍的紫外線照射而使資料受損。
EEPROM(Electrically Erasable Programmable Read一Only Memory)即電子擦除式只讀存儲(chǔ)器,它是一種非揮發(fā)性存儲(chǔ)器,與擦除式只讀存儲(chǔ)器(EPROM)類似,電源消失后,儲(chǔ)存的數(shù)據(jù)依然存在,要消除儲(chǔ)存在其中的內(nèi)容,不是用紫外線照射方式,而是以電子信號(hào)直接消除即可。
正是由于EEPROM具有以上特點(diǎn),該器件可廣泛應(yīng)用于對(duì)數(shù)據(jù)存儲(chǔ)安全性及可靠性要求高的應(yīng)用場(chǎng)合,如門禁考勤系統(tǒng),測(cè)量和醫(yī)療儀表,非接觸式智能卡,稅控收款機(jī),預(yù)付費(fèi)電度表或復(fù)費(fèi)率電度表、水表、煤氣表以及家電遙控器等應(yīng)用場(chǎng)合。該類型存儲(chǔ)器在可靠數(shù)據(jù)存儲(chǔ)領(lǐng)域會(huì)獲得越來(lái)越廣泛的應(yīng)用。
但是,EEPROM有固定的使用壽命,這是指某一位由1寫為O或由O寫為1的次數(shù)。不同廠家的產(chǎn)品,相同廠家不同型號(hào)、系列的產(chǎn)品,它們的壽命也不盡相同,100萬(wàn)次為常見(jiàn)主流產(chǎn)品。假若某EEPROM壽命為100萬(wàn)次,每秒擦寫一次,則其使用時(shí)間為1000000/(3600×24)=12天。這對(duì)于需要較長(zhǎng)時(shí)間保存數(shù)據(jù)的應(yīng)用場(chǎng)合,顯然不滿足要求。
1 延長(zhǎng)EEPROM壽命的方法
一般應(yīng)用中,要存儲(chǔ)的數(shù)據(jù)比較單一,EEPROM空間與要存儲(chǔ)的數(shù)據(jù)相比要大得多。為此,可采用一種利用存儲(chǔ)器空間延長(zhǎng)EEPROM工作壽命的方法。
方法l:不固定數(shù)據(jù)存放的地址,而是用一個(gè)固定的基地址加上EEPROM內(nèi)的一個(gè)單元的內(nèi)容(即偏移地址)作為真正的地址;若發(fā)現(xiàn)存儲(chǔ)單元已壞(寫入和讀出的內(nèi)容不同),則偏移地址加1,重新寫入。如果采用100倍的存儲(chǔ)器空間冗余,可將EEPROM的實(shí)際壽命延長(zhǎng)100倍。
方法2:從第一個(gè)存儲(chǔ)單元開(kāi)始存儲(chǔ)數(shù)據(jù)N次,然后轉(zhuǎn)到下一個(gè)單元再存N次,依次類推,當(dāng)最后一個(gè)單元存放N次之后,再轉(zhuǎn)到第一個(gè)單元重新開(kāi)始。本文推薦采用該法,因?yàn)樯弦环N方法存在一個(gè)致命缺陷:當(dāng)某一個(gè)EEPROM單元寫壞再用下一個(gè)單元時(shí),原先存儲(chǔ)的數(shù)據(jù)就讀不出來(lái)了。本文后面的內(nèi)容也依此作根據(jù)進(jìn)行闡釋。
2 EEPROM數(shù)據(jù)儲(chǔ)存地址的確認(rèn)
嵌入式系統(tǒng)中的EEPROM電源消失后,儲(chǔ)存的數(shù)據(jù)依然存在。確認(rèn)數(shù)據(jù)所存地址是能夠正確將所存數(shù)據(jù)讀出的基本條件,但是掉電后再上電時(shí)如何確認(rèn)數(shù)據(jù)的地址指針呢?可以采用以下的方法。
2.1 找最大數(shù)據(jù)法
查找EEPROM中的最大數(shù)據(jù),就是掉電前最后一次存儲(chǔ)的數(shù)據(jù)。該法對(duì)于單片機(jī)來(lái)講,編程時(shí)程序量較大,可采用折半查找法或分塊查找法降低程序代碼量。
2.2用后還原法
循環(huán)將當(dāng)前數(shù)據(jù)寫入EEPROM后,立即將前面的EEPROM空間都清0再上電,查找數(shù)據(jù)非0的EEPROM空間即可。有的單片機(jī)要求在寫入數(shù)據(jù)之前,必須將所有空間都恢復(fù)為OxFF,這樣查找非0xFF的數(shù)據(jù)空間即可。
2.3地址指針?lè)?/p>
為每一個(gè)數(shù)據(jù)在EEPROM中設(shè)一個(gè)地址指針EE—ADR[i],這樣只要確認(rèn)EEADR[i]數(shù)值即可找到相應(yīng)數(shù)據(jù)。對(duì)于地址指針?lè)ㄓ邢率鲆恍┘记伞?/p>
①一個(gè)地址指針對(duì)應(yīng)一個(gè)數(shù)據(jù)。該方法思路簡(jiǎn)單,假設(shè)EEPROM空間可以存放50組數(shù)據(jù)和50個(gè)地址ADR[i],一組數(shù)據(jù)占用4個(gè)字節(jié),一個(gè)地址占用1個(gè)字節(jié),共250字節(jié),在儲(chǔ)存數(shù)據(jù)時(shí),使50個(gè)地址指向50組數(shù)據(jù)的首地址,且使小于變量i的ADR[i]都清零,或重新賦值為0xFF。查找數(shù)據(jù)時(shí),找到非O或非0xFF的ADR[i],然后根據(jù)ADR[i]的值來(lái)確定數(shù)據(jù)的儲(chǔ)存地址即可。
②用兩個(gè)變量來(lái)記錄數(shù)據(jù)儲(chǔ)存的地址,ADDR一0LD和ADDILNEW分別標(biāo)志當(dāng)前數(shù)據(jù)讀出時(shí)的地址和新采集來(lái)的數(shù)據(jù)下一次要存儲(chǔ)的地址。
③用一個(gè)字節(jié)的EEPROM空間作為地址指針。此時(shí),地址指針的數(shù)值總是和數(shù)據(jù)儲(chǔ)存的地址值相等,此種情況最具有技巧性,因?yàn)榇藭r(shí)可以使用最少的地址指針,因而可以最大量的節(jié)省。EEPROM空間,從而延長(zhǎng)EEP—ROM壽命。此方法的思路是:假設(shè)第O字節(jié)作為地址指針,當(dāng)該指針值為1時(shí),數(shù)據(jù)從第一個(gè)地址開(kāi)始儲(chǔ)存;為2時(shí),數(shù)據(jù)從第二個(gè)地址開(kāi)始儲(chǔ)存,依此類推。
非常好我支持^.^
(10) 90.9%
不好我反對(duì)
(1) 9.1%
相關(guān)閱讀:
- [電子說(shuō)] uboot的基本概念和啟動(dòng)流程分析 2023-10-24
- [控制/MCU] 單片機(jī)的三大功能 2023-10-24
- [電子說(shuō)] 怎樣延長(zhǎng)半導(dǎo)體元器件的壽命呢? 2023-10-24
- [電子說(shuō)] 您的存儲(chǔ)器堆疊了嗎?—賽靈思推出16GB HBM FPGA 2023-10-24
- [電子說(shuō)] STM32速成筆記(11)—EEPROM(AT24C02) 2023-10-24
- [制造/封裝] 什么是引線鍵合?引線鍵合的演變 2023-10-24
- [電子說(shuō)] 物聯(lián)網(wǎng)無(wú)線傳感器節(jié)點(diǎn)可使用國(guó)產(chǎn)鐵電存儲(chǔ)器PB85RS2MC 2023-10-24
- [電子說(shuō)] 應(yīng)用在PC機(jī)中的低功耗觸摸感應(yīng)芯片 2023-10-24
( 發(fā)表人:龔婷 )