<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 在嵌入式設(shè)計中將FRAM用作閃存的替代方案

          在嵌入式設(shè)計中將FRAM用作閃存的替代方案

          作者: 時間:2012-11-01 來源:網(wǎng)絡(luò) 收藏

           如今,有多種存儲技術(shù)均具備改變處理領(lǐng)域格局的潛力。然而,迄今為止還沒有哪一種技術(shù)脫穎而出成為取代微控制器(MCU)中技術(shù)的強勁競爭者,直到的出現(xiàn)這種情況才得以改變。鐵電隨機存取存儲器()是一種非易失性的獨立型存儲技術(shù),本文將論述的主要技術(shù)屬性,同時探討可充分展現(xiàn)FRAM優(yōu)勢的具體用例。

          本文引用地址:http://www.ex-cimer.com/article/148282.htm

            FRAM是什么

            FRAM為非易失性存儲器,其功耗、可寫入次數(shù)、讀/寫速度均與常用的靜態(tài)RAM(SRAM)很相似。存儲在FRAM單元中的信息對應(yīng)于鐵電晶體的極化狀態(tài),即使在電源移除之后亦能保存其內(nèi)容。正是這一特點使FRAM擁有了真正的非易失性。而且,與單元的編程相比,晶體極化所需的電能消耗相對較低,因此FRAM寫入操作的功耗天生就比的要低。

            下面介紹的是目前幾種采用了閃存技術(shù)的微控制器的典型應(yīng)用。我們從中可以了解到,采用基于FRAM的MCU(而不是基于閃存的MCU)是如何實現(xiàn)成本、能耗與效率優(yōu)化的。

            數(shù)據(jù)錄入

            典型的數(shù)據(jù)錄入應(yīng)用(比如:溫度數(shù)據(jù)錄入器)能以介于1Hz至1000Hz之間的速率進行采樣。 我們知道閃存中單個字節(jié)的寫入時間約為75μs。相比之下,F(xiàn)RAM技術(shù)的寫入速率則可達到大約每125ns一個字節(jié)。這種寫入速度比閃存快了將近1000倍!我們考慮一下:當(dāng)應(yīng)用達到某個閃存段的末端并需要移動至下一個閃存段時,會突然出現(xiàn)20ms的延遲,以等待完成一個段擦除。

            這種擦除延遲并不適用于FRAM,因為它不需要在寫入操作之間對FRAM字節(jié)進行預(yù)擦除。每個閃存段20ms的延遲似乎沒那么令人望而卻步,但當(dāng)我們計算出其對最大寫入速度的顯著影響之后就不這么看了。為了方便本文的討論,假定寫入的內(nèi)存區(qū)塊的長度為512字節(jié)。一個閃存區(qū)塊每秒鐘可進行26次寫操作(包括每寫入512字節(jié)時完成一個擦除周期所需的時間)。這為我們提供了13kBps的總速度。

            與之相比,一個512字節(jié)FRAM區(qū)塊的寫入速度則可超過8MBps。并不是每一種應(yīng)用都要求如此高的寫入速度,假設(shè)您的目標應(yīng)用只需要每秒1kB的寫入速度,那么采用閃存技術(shù)的MCU將在7% 時間里處于運行狀態(tài)以執(zhí)行寫入操作。然而,F(xiàn)RAM MCU則僅需0.07%的運行時間即可完成該項任務(wù),這使得MCU能在99.9%的時間里保持待機狀態(tài),從而顯著地節(jié)省能耗。

            能量收集

            當(dāng)今的許多應(yīng)用都專注于使用更加清潔的綠色能源,這些能源取自諸如陽光、振動、熱量或機械變化等自然資源。此類應(yīng)用依賴于小的突發(fā)能量(其能以短的時間間隔提供電能),而MCU通常是在失去電源前的最后時刻決定可執(zhí)行多少行代碼?;陂W存的應(yīng)用非常重視功耗,這不僅是由于閃存存取時的平均功耗較高,同時也是因為閃存寫入過程中的峰值功耗較高所致。

            該峰值功耗主要是由于使用充電泵而引起的,最高數(shù)值可達到7mA,因而使得非易失性寫入操作在能量收集領(lǐng)域幾乎是行不通的。而采用FRAM時沒有充電泵;于是,不存在大電流的寫入操作。對FRAM進行寫操作時的平均功耗與FRAM讀操作或采用FRAM的執(zhí)行操作相同(即:未損害非易失性寫入操作,從而使FRAM成為適合能量收集應(yīng)用的真正靈活的可選)。

            RFID標簽

            射頻識別(RFID)標簽開始逐漸出現(xiàn)在許多場所:商店貨架(用于顯示商品價格)、各類會議(胸卡)以及工業(yè)自動化車間(用于標明和識別傳送帶上的物體)。部分此類應(yīng)用每天需要進行多達100次的存儲器寫入操作。

            假設(shè)一個典型壽命為1萬次寫入/擦除的閃存字節(jié)。為了實現(xiàn)10萬次寫入/擦除的壽命,應(yīng)用將需要為每個數(shù)據(jù)字節(jié)留出10個閃存字節(jié),從而以高冗余度為代價來滿足壽命要求。

            相比之下,一個FRAM存儲器字節(jié)的壽命可達1015次寫入/擦除,這是一個閃存字節(jié)的1000億倍。對于那些要求幾百萬次寫入/擦除之高壽命的應(yīng)用,F(xiàn)RAM的壽命指標是目前可用的其他非易失性存儲器技術(shù)所無法比擬的。
          手持式測量

            在對掉電現(xiàn)象高度關(guān)注的手持式測量中,血糖測量便是一個例子。在由于使用了電量耗盡的電池而導(dǎo)致供電故障的情況下,血糖計需要保存一個時間戳、保存電源發(fā)生故障時的讀數(shù)、甚至還可能在關(guān)斷之前執(zhí)行幾項數(shù)學(xué)函數(shù)運算。

            我們設(shè)想一種采用電荷耗盡之電池且基于閃存的測量應(yīng)用,電源電壓的下降可被近似為:在 0.01秒的時間里至300mV左右。在這段時間中,可寫入多達8萬個FRAM字節(jié),而相比之下閃存字節(jié)則只能寫入8千字節(jié)左右。然而,這還沒有把閃存寫入操作的高峰值電流及平均電流要求等因素考慮在內(nèi),這種大電流需求將迅速消耗電池電量,最終導(dǎo)致電池的后備供電能力顯著下降。

            電源故障過程中系統(tǒng)后備的另一個用例是電能計量,此時,能耗數(shù)據(jù)必需保存在非易失性存儲器之中,直到供電恢復(fù)為止。在此類場合中,系統(tǒng)后備期間的電能使用情況是至關(guān)緊要的,因為后備電池電源的期望使用期限長達10年之久。

            對于種類繁多、數(shù)量龐大的應(yīng)用而言,F(xiàn)RAM不僅提供了差異化、同時亦可能是唯一可行的選項。如需對基于FRAM的MCU進行測試驅(qū)動,不妨試用由德州儀器公司提供的MSP430FR57xx系列,樣片可免費獲得。

            FRAM能減少系統(tǒng)成本、提高系統(tǒng)效率和降低復(fù)雜性,同時具有遠低于閃存的功耗。如果您現(xiàn)有的基于閃存的MCU應(yīng)用存在能耗、寫入速度、使用壽命或電源故障后備方面的局限,那么或許這正是轉(zhuǎn)向FRAM的契機。

            1.jpg

            圖1:FRAM可實現(xiàn)連續(xù)的超低功耗數(shù)據(jù)錄入,并支持超過15萬年的連續(xù)數(shù)據(jù)錄入(對比之下,采用閃存時則需不到7分鐘的時間)。

            2.jpg

            圖2:一體化 - FRAM微控制器可提供最大的讀取、寫入、功耗與存儲器優(yōu)勢。

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();