新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 帶有雙組閃存的MCU優(yōu)點(diǎn)

帶有雙組閃存的MCU優(yōu)點(diǎn)

作者: 時(shí)間:2011-05-10 來(lái)源:網(wǎng)絡(luò) 收藏

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

本文引用地址:http://www.butianyuan.cn/article/150782.htm

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

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

  嵌入式閃存的MCU支持系統(tǒng)內(nèi)編程。這意味著MCU可以在用于最終應(yīng)用的印刷電路板(PCB)上進(jìn)行編程。在某些情況下,需要增加一些額外電路,以進(jìn)入或退出編程模式,但是能夠在不移除設(shè)備的情況下進(jìn)行或先在套接字中進(jìn)行編程是值得的,這意味著即使軟件開(kāi)發(fā)沒(méi)有完成,板卡也能夠完全填充。還可以在原始版本出來(lái)后升級(jí)軟件而不更改硬件,從而加快面市速度,因?yàn)榛贠TP或ROM的設(shè)備需要完整的軟件版本才能夠推出。

  演進(jìn)的下一步是向MCU的Flash存儲(chǔ)器添加自編程功能,允許MCU在運(yùn)行時(shí)執(zhí)行寫(xiě)入/擦除操作。這樣會(huì)帶來(lái)兩大好處:一是代碼本身可以包含再次對(duì)整個(gè)應(yīng)用進(jìn)行編程的例程,允許通過(guò)外設(shè)進(jìn)行遠(yuǎn)程更新(這些通常稱為引導(dǎo)程序,所使用的外設(shè)通常是串行接口),因此具有很高的靈活性,能夠在安裝后更新設(shè)計(jì);二是能夠在運(yùn)行時(shí)存儲(chǔ)非易失性數(shù)據(jù),如空調(diào)的溫度或電視上編程后的頻道。

  Flash自編程

  下面闡述了在沒(méi)有雙閃存陣列的情況下如何在系統(tǒng)中和運(yùn)行時(shí)寫(xiě)入閃存。

  要在運(yùn)行時(shí)進(jìn)行寫(xiě)入和擦除流程,則需要對(duì)任何一側(cè)施加較高電壓或清除各個(gè)位。當(dāng)對(duì)Flash庫(kù)施加高電壓時(shí),無(wú)法讀取整個(gè)存儲(chǔ)器,因此有兩種典型的替代方案讓系統(tǒng)保持工作:一種是其它存儲(chǔ)器運(yùn)行寫(xiě)入/擦除(通常是RAM)Flash的代碼,第二種方法是在執(zhí)行Flash操作時(shí),為CPU提供一種拖延代碼執(zhí)行的方法。

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


上一頁(yè) 1 2 下一頁(yè)

評(píng)論


相關(guān)推薦

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

關(guān)閉