<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>

您好,歡迎來電子發燒友網! ,新用戶?[免費注冊]

您的位置:電子發燒友網>電子百科>存儲設備>閃存卡>

帶有雙組閃存的MCU優點

2011年05月05日 10:48 本站整理 作者:Spring 用戶評論(0

?

?

MCU(微控制器)在過去幾十年里在CPU性能、通信接口、模數和數模外設、內存大小及讀寫次數等方面呈指數發展。我們專注于帶有非易失性嵌入式存儲器的MCU(我們在USB閃存驅動器、存儲器等內擁有閃存),從首批帶有一次性編程(OTP)的器件到EPROM(電可編程只讀存儲器),再到EEPROM (在方程中增加了“可擦”一詞,能夠在不需要紫外線燈的情況下擦除它),到現在的嵌入式閃存(在某些情況下稱為Flash EEPROM),這是目前最常用的閃存。

  EEPROM和Flash在概念上類似,兩者都是可電擦除和寫入的存儲器,但是它們之間也存在某些差異。最初Flash只能在大數據塊上寫入,但是現在兩者比較接近了,一個單字節、詞或雙詞都可以寫入,取決于架構是支持8位、16位還是32位寫入操作,是否需要與偶數地址對齊,因此主要的區別是擦除過程。EEPROM的擦除大小很小(在大多數情況下,只能擦除一個單字節),而Flash需要在大扇區中(在某些情況下為數據塊或頁面)擦除,而且還取決于所使用的器件,扇區可以是幾個字節或是幾千個字節。

Flash受歡迎主要有兩個原因:一是隨著扇區的增加,其擦除流程與典型的EEPROM相比,速度更快。使用EEPROM工作時,擦除過程很慢,通常一個字節以ms為單位。盡管Flash的擦除時間大致相同,但是它適用于擦除整個扇區。這樣,減少了對設備進行編程的時間,因此也減少了制造流程所需的時間。另一個原因是Flash存儲器的造價低于EEPROM,因此構建有許多Flash存儲器的MCU可實現更高的成本效益。

  帶有嵌入式閃存的MCU支持系統內編程。這意味著MCU可以在用于最終應用的印刷電路板(PCB)上進行編程。在某些情況下,需要增加一些額外電路,以進入或退出編程模式,但是能夠在不移除設備的情況下進行或先在套接字中進行編程是值得的,這意味著即使軟件開發沒有完成,板卡也能夠完全填充。還可以在原始版本出來后升級軟件而不更改硬件,從而加快面市速度,因為基于OTP或ROM的設備需要完整的軟件版本才能夠推出。

  演進的下一步是向MCU的Flash存儲器添加自編程功能,允許MCU在運行時執行寫入/擦除操作。這樣會帶來兩大好處:一是代碼本身可以包含再次對整個應用進行編程的例程,允許通過外設進行遠程更新(這些通常稱為引導程序,所使用的外設通常是串行接口),因此具有很高的靈活性,能夠在安裝后更新設計;二是能夠在運行時存儲非易失性數據,如空調的溫度或電視上編程后的頻道。

  Flash自編程

  下面闡述了在沒有雙閃存陣列的情況下如何在系統中和運行時寫入閃存。

  要在運行時進行寫入和擦除流程,則需要對任何一側施加較高電壓或清除各個位。當對Flash庫施加高電壓時,無法讀取整個存儲器,因此有兩種典型的替代方案讓系統保持工作:一種是其它存儲器運行寫入/擦除(通常是RAM)Flash的代碼,第二種方法是在執行Flash操作時,為CPU提供一種拖延代碼執行的方法。

這兩種方法都另有一個限制:由于中斷矢量通常位于Flash存儲器,因此在執行Flash命令時需要禁用中斷功能,因為CPU在那段時間無法讀取Flash,而且在需要時,也不能獲取中斷矢量。在使用I2C、UART或USB等串行外設運行的系統中,這些外設可以每秒數kB(如UART或I2C總線)或每秒數MB(如USB)的速率交流信息;禁用中斷功能幾毫秒便可能導致丟失大量信息。因此,系統需要設計成在修改Flash時允許停止這些串行通信,然后當中斷功能再次啟用時,恢復所有信息。

 

非常好我支持^.^

(4) 100%

不好我反對

(0) 0%

( 發表人:Spring )

      發表評論

      用戶評論
      評價:好評中評差評

      發表評論,獲取積分! 請遵守相關規定!

      ?
      亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
      <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
      <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
      <acronym id="s8ci2"></acronym>
      <acronym id="s8ci2"><center id="s8ci2"></center></acronym>