湖南師范大學(xué)物理與信息科學(xué)學(xué)院 方淼榮
湖南師范大學(xué)數(shù)學(xué)與計(jì)算機(jī)科學(xué)學(xué)院 錢光明
非易失性存儲(chǔ)芯片歷史悠久,如ROM、PROM和EPROM等等。當(dāng)今,隨著便攜式低功耗電子設(shè)備的大量使用,這類存儲(chǔ)器幾乎天天伴隨著我們。U盤、手機(jī)、隨身聽都是再好不過(guò)的例子。不過(guò),我們?cè)诟械剿鼈儙?lái)的方便和實(shí)用的同時(shí),對(duì)它們的要求和主要特點(diǎn)也應(yīng)該心中有數(shù)。本文以兩類主要的存儲(chǔ)芯片EEPROM和FLASH為例,總結(jié)了兩個(gè)不太被一般使用者所注意的特點(diǎn)。
無(wú)論是EEPROM還FLASH芯片,生產(chǎn)商都不保證其中的數(shù)據(jù)可以無(wú)限期地保存下去。例如,F(xiàn)LASH芯片K9F6408U0B-TCB0的數(shù)據(jù)保存年限(Data Retention)在說(shuō)明書上給出的是10年,AT89C51單片機(jī)內(nèi)部的FLASH存儲(chǔ)器是10年(85℃),PIC18F2455單片機(jī)內(nèi)部的FLASH/EEPROM的程序和數(shù)據(jù)保存時(shí)間可以大于40年,而存儲(chǔ)器EEPROM芯片24LC512給出的指標(biāo)是大于200年。
通過(guò)查找芯片的產(chǎn)品說(shuō)明書,一般不難找到數(shù)據(jù)保存年限這一指標(biāo)。雖然有的年限長(zhǎng)一些,有的年限短一些,但總歸是有限的。
上世紀(jì)90年代出現(xiàn)了一個(gè)電腦“千年蟲”的問(wèn)題,因?yàn)楫?dāng)時(shí)許多電腦表示年份時(shí)本該取4位,但實(shí)際只取后兩位,導(dǎo)致2000年到來(lái)時(shí)可能誤認(rèn)為是1900年。通過(guò)預(yù)警和巨大努力,“千年蟲”問(wèn)題才得以順利解決。
現(xiàn)在,對(duì)于一個(gè)數(shù)據(jù)保存年限20年的芯片,意味著20年后里面的程序和/或數(shù)據(jù)可能發(fā)生了改變,這對(duì)于某些重要應(yīng)用場(chǎng)合是絕對(duì)不能允許的。當(dāng)然,有人說(shuō)生產(chǎn)商給出的保存年限指標(biāo)可能比較保守,實(shí)際時(shí)間會(huì)長(zhǎng)一些,但這并不能作為我們的行為依據(jù)。為此,我們能否提出一個(gè)“幾十年蟲”或是“存儲(chǔ)蟲”的概念,用以警示人們:信息如果幾十年放在芯片中不動(dòng),到時(shí)候可能已經(jīng)改變。許多人的生活節(jié)奏越來(lái)越快,需要顧及的嵌入式電子設(shè)備越來(lái)越多,一個(gè)地方20年不碰不是不可能的。
因?yàn)镋EPROM和/或FLASH存儲(chǔ)芯片常常用于低功耗便攜式裝置中,電能來(lái)源不是電網(wǎng)而是電池,應(yīng)用時(shí)必須考慮到芯片的用電指標(biāo)。有人會(huì)說(shuō)這些存儲(chǔ)芯片本來(lái)耗電很小,使用電池一般不會(huì)有問(wèn)題。但是別忘了:這類芯片的編程電流比讀電流要大,且FLASH比EEPROM大。例如:EEPROM芯片24LC512的讀電流最大值(maximum read current)約400μA(5.5V時(shí)),編程電流最大值(maximum write current)約5mA(5.5V時(shí))。而FLASH芯片K9F6408U0B-TCB0的編程電流可達(dá)20mA,有些FLASH芯片還可能更大一些。
5mA和20mA差別好像并不大,但在某些測(cè)量場(chǎng)合并不能忽視這一差別。例如,我們?cè)谠O(shè)計(jì)一個(gè)低功耗溫度測(cè)量裝置時(shí),采用EEPROM芯片24LC512,溫度傳感器DS18B20,鋰電池XL-050F。DS18B20在-10℃~85℃的范圍內(nèi)能保證±0.5℃的測(cè)量精度,且其工作電壓必須保證在3.0V~5.5V,溫度轉(zhuǎn)換時(shí)間(temperature conversion time)可長(zhǎng)達(dá)750ms,如果此期間發(fā)生了EEPROM芯片的寫操作,那么電池要多承受5mA(最大值)的電流沖擊,換作FLASH芯片K9F6408U0B-TCB0的話,則可能達(dá)20mA,這樣的電流沖擊是要造成電池電壓下降的。例如-10℃時(shí),6mA就可使鋰電池XL-050F電壓從3.6V降至3.23V左右,-40℃時(shí)降至3.0V以下,低于DS18B20的正常工作電壓了。
嵌入式、低功耗的測(cè)量往往要求我們精打細(xì)算,不但可能存在需要保證精度的問(wèn)題,還需考慮電池使用壽命、價(jià)格等等因素,這就提醒我們不要小看EEPROM和FLASH編程電流的這一點(diǎn)差別。有些文獻(xiàn)談到FLASH芯片非常適合于長(zhǎng)期測(cè)量和存儲(chǔ)參數(shù)。是的,它的容量是EEPROM無(wú)法比擬的。但是,器件選型時(shí)別忘了看一看編程電流。
[1]K9F6408U0B-TCB0,K9F6408U0B-TIB0 FLASH MEMORY.http://www.intl.samsungsemi.com/Memory/Flash/datasheets.html.
[2]PIC18F2455/2550/4455/4550數(shù)據(jù)手冊(cè).http//www.microchip.com.
[3]串行EEPROM系列數(shù)據(jù)手冊(cè).http//www.microchip.com.