嵌入式系統(tǒng)應(yīng)用中NV SRAM存儲器的應(yīng)用
傳統(tǒng)方案中常常采用EPROM、EEPROM和Flash存儲程序,NVSRAM具有高速存取時間和與SRAM相同的接口,因而可用于存儲程序。本文介紹NVSRAM如何與基于程序和數(shù)據(jù)存儲的微處理器進(jìn)行接口,并說明選用NVSRAM與現(xiàn)有的其它非易失存儲器相比具有哪些優(yōu)勢。
本文引用地址:http://m.butianyuan.cn/article/149199.htm盡管EPROM、EEPROM、Flash和NVSRAM在某種程度上提供了相同特性的非易失存儲方案,而在一些特殊應(yīng)用中,不適當(dāng)?shù)?a class="contentlabel" href="http://m.butianyuan.cn/news/listbylabel/label/存儲器">存儲器方案將會導(dǎo)致設(shè)計缺陷。微處理器系統(tǒng)選擇存儲器時主要面臨下列問題:
1。對特定的應(yīng)用,存儲容量不足;
2。程序存儲器需要較快的存取時間;
3。保證非易失存儲的寫周期次數(shù)不夠大,產(chǎn)品工作在有效壽命的后期時存在可靠性問題;
4。扇區(qū)寫入不可避免,特別是存儲器的扇區(qū)大于微處理器的緩沖區(qū)時。
5。采用UV擦除方式不便于開發(fā),一般無法滿足在線編程的要求,需要特殊的附加設(shè)備,而不適當(dāng)?shù)牟僮鲿?dǎo)致數(shù)據(jù)在光照下被擦除。表1列出了四種存儲器的不同特點,顯然,NVSRAM的綜合指標(biāo)最高。
EPROM的缺陷在于需要UV擦除時間,編程時需要額外的高電壓Vpp和Vcc。EPROM為程序存儲提供了一種可行方案,在微處理器應(yīng)用中能夠提供適當(dāng)?shù)慕涌诤妥x時間,但由于缺少電擦除功能無法用于非易失數(shù)據(jù)存儲。
EEPROM是一種較好的程序存儲方案,但其有限的寫周期次數(shù)和較低的寫速度使其很少用于數(shù)據(jù)存儲。寫周期次數(shù)的限制使其在大多數(shù)應(yīng)用中只能用于程序存儲。
初看起來,F(xiàn)lash是一種很好的解決方案,它同時提供了同步和異步讀功能,與EPROM和EEPROM相比具有較高的寫速度。但Flash存在寫周期次數(shù)有限的問題,劃分后的扇區(qū)(64字節(jié)到64k字節(jié))必須一次性寫入。這意味著數(shù)據(jù)必須由微處理器高速緩沖,然后一次寫入Flash器件的存儲區(qū)內(nèi)。如果設(shè)計中微處理器不具備足夠的內(nèi)部RAM,就無法緩存這些數(shù)據(jù)。在一些應(yīng)用中,如數(shù)據(jù)記錄儀,當(dāng)電源出現(xiàn)故障時可能導(dǎo)致滯留在微處理器緩沖區(qū)的數(shù)據(jù)丟失。盡管市場上也有一些Flash器件不需要扇區(qū)寫入,但產(chǎn)品的訂貨批量受限制。另外,這種產(chǎn)品還缺乏Flash器件標(biāo)準(zhǔn),雖然大多數(shù)Flash器件的異步讀操作與SRAM或EPROM相同,但并非所有器件都是如此,而且,寫接口標(biāo)準(zhǔn)較多,當(dāng)產(chǎn)品更新?lián)Q代無法支持相應(yīng)的標(biāo)準(zhǔn)時將限制器件的實際使用壽命。另外,還需保證寫操作不要超出最大寫周期次數(shù),因為當(dāng)器件達(dá)到有效壽命時將開始出現(xiàn)隨機(jī)存儲誤碼。有些Flash存儲器需要提供額外的編程電壓(大于13V)以保證快速寫模式,因而增加了系統(tǒng)成本,而尋找容量低于1Mb的Flash也比較困難。
NVSRAM可提供16kb至16Mb的存儲容量,存取時間高達(dá)70ns。讀、寫接口均與SRAM保持一致,標(biāo)準(zhǔn)Vcc條件下NVSRAM與同等速度SRAM的操作完全相同。無需擔(dān)心存儲數(shù)據(jù)分區(qū)問題,數(shù)據(jù)存儲位置與標(biāo)準(zhǔn)SRAM相同。電源失效時(Vcc跌落到標(biāo)準(zhǔn)工作電壓以下),內(nèi)部電路將片選(CE)信號置位,使存儲器處于寫保護(hù)狀態(tài)、并切換電源以便保持?jǐn)?shù)據(jù)。電源恢復(fù)正常后,NVSRAM恢復(fù)微處理器對CE信號的控制,SRAM電源切換到Vcc。CE信號被切換的瞬間只要微處理器控制信號沒有處于寫有效狀態(tài)(CE為高)就不會丟失數(shù)據(jù)。
由于工作狀態(tài)下NVSRAM與SRAM兼容,可以用速度相符的NVSRAM簡單地替代任何微處理器系統(tǒng)的SRAM,這種替代僅有的制約是需要了解電源所能提供的電流。Dallas半導(dǎo)體建議采用CPU監(jiān)控電路以保證微處理器在NVSRAM就緒之前處于復(fù)位狀態(tài)。微處理器復(fù)位狀態(tài)下,絕大多數(shù)總線控制信號(CE、WE、RD)處于禁止?fàn)顟B(tài),能夠避免NVSRAM在有效期內(nèi)數(shù)據(jù)不丟失。Maxim提供多種CPU監(jiān)控電路,完全勝任這項工作,配合其它與復(fù)位信號相關(guān)的功能就能保證系統(tǒng)更加可靠工作。
圖1是利用單片NV
SRAM存儲程序和數(shù)據(jù)的典型電路,該電路的主要優(yōu)點是節(jié)省了元器件數(shù),充分利用了存儲器空間。如果微控制器僅占用32kB存儲空間的1kB存儲程序,則其余31kB可用于非易失數(shù)據(jù)存儲。32kB的存儲容量足以滿足許多應(yīng)用場合,如果對程序和數(shù)據(jù)分別采用兩類存儲器將造成不必要的浪費(fèi),而且將迫使設(shè)計人員選用更大容量的存儲器。
利用NVSRAM存儲數(shù)據(jù)
NVSRAM非常適合在微控制器系統(tǒng)中存儲校準(zhǔn)信息、記錄數(shù)據(jù)等。如上所述,與SRAM工作在相同速度的NVSRAM采用標(biāo)準(zhǔn)的Vcc電源,NVSRAM在讀、寫操作時不需要延長時鐘周期,除非與高速DSP或先進(jìn)的微控制器配合使用。
絕大多數(shù)微控制器、包括8051系列產(chǎn)品,均提供程序存儲器和外部RAM的控制信號,圖1表明了如何利用這些現(xiàn)有的控制信號產(chǎn)生一組新的單片NVSRAM控制信號,同時用于程序和數(shù)據(jù)存儲。圖2表示3V系統(tǒng)中如何利用現(xiàn)存的控制信號對兩片獨立的存儲器尋址,主要區(qū)別是PSEN用于程序存儲器輸出使能控制,8051的RD信號(P3。7)用于數(shù)據(jù)存儲器的輸出使能控制。當(dāng)兩個存儲器輸出同時驅(qū)動到總線時,會導(dǎo)致總線沖突;另一種出現(xiàn)總線沖突的可能是微控制器將數(shù)據(jù)輸送給NVSRAM的時候,外部存儲器受指令控制輸出數(shù)據(jù)。這些情況都需要在設(shè)計中慎重考慮,以避免總線沖突。
針對這種設(shè)計需要說明兩點:首先,程序存儲器必須始終加寫保護(hù);其次,數(shù)據(jù)存儲器的可尋址空間可能大于微處理器尋址空間。
當(dāng)NVSRAM的WE引腳置為高電平時,不能寫入任何數(shù)據(jù),因此,需利用存儲器編程器對該引腳進(jìn)行編程。BPMicrosystems和DataI/O編程器幾乎支持所有Dallas半導(dǎo)體的NV
SRAM。當(dāng)采用編程器進(jìn)行器件編程時,注意在把器件安裝到電路之前要避免器件受ESD沖擊,因為ESD沖擊會造成器件中的數(shù)據(jù)丟失。一旦器件在保證數(shù)據(jù)正確的前提下裝入線路板,NVSRAM將有效保證數(shù)據(jù)的完整性。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評論