吴忠躺衫网络科技有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

單片機里Flash和EEPROM的作用

h1654155282.3538 ? 來源:與非網 ? 作者:Flash ? 2020-10-11 09:40 ? 次閱讀

單片機運行時的數據都存在于RAM(隨機存儲器)中,在掉電后RAM中的數據是無法保留的,那么怎樣使數據在掉電后不丟失呢?這就需要使用EEPROM或FLASHROM等存儲器來實現。

插播一段:ROM最初不能編程,出廠什么內容就永遠什么內容,不靈活。后來出現了PROM,可以自己寫入一次,要是寫錯了,只能換一片。隨著不斷改進,終于出現了可多次擦除寫入的EPROM,每次擦除要把芯片拿到紫外線上照一下,想一下你往單片機上下了一個程序之后發現有個地方需要加一句話,為此你要把單片機放紫外燈下照半小時,然后才能再下一次,這么折騰一天也改不了幾次。歷史的車輪不斷前進,偉大的EEPROM出現了,拯救了一大批程序員,終于可以隨意的修改ROM中的內容了。

EEPROM的全稱是“電可擦除可編程只讀存儲器”,即ElectricallyErasableProgrammableRead-OnlyMemory。是相對于紫外擦除的rom來講的。但是今天已經存在多種EEPROM的變種,變成了一類存儲器的統稱。

狹義的EEPROM:

這種rom的特點是可以隨機訪問和修改任何一個字節,可以往每個bit中寫入0或者1。這是最傳統的一種EEPROM,掉電后數據不丟失,可以保存100年,可以擦寫100w次。具有較高的可靠性,但是電路復雜/成本也高。因此目前的EEPROM都是幾十千字節到幾百千字節的,絕少有超過512K的。

Flash:

Flash屬于廣義的EEPROM,因為它也是電擦除的ROM。但是為了區別于一般的按字節為單位的擦寫的EEPROM,我們都叫它Flash。

既然兩者差不多,為什么單片機中還要既有Flash又有EEPROM呢?

通常,單片機里的Flash都用于存放運行代碼,在運行過程中不能改;EEPROM是用來保存用戶數據,運行過程中可以改變,比如一個時鐘的鬧鈴時間初始化設定為12:00,后來在運行中改為6:00,這是保存在EEPROM里,不怕掉電,就算重新上電也不需要重新調整到6:00。

但最大區別是其實是:FLASH按扇區操作,EEPROM則按字節操作,二者尋址方法不同,存儲單元的結構也不同,FLASH的電路結構較簡單,同樣容量占芯片面積較小,成本自然比EEPROM低,因而適合用作程序存儲器,EEPROM則更多的用作非易失的數據存儲器。當然用FLASH做數據存儲器也行,但操作比EEPROM麻煩的多,所以更“人性化”的MCU設計會集成FLASH和EEPROM兩種非易失性存儲器,而廉價型設計往往只有FLASH,早期可電擦寫型MCU則都是EEPRM結構,現在已基本上停產了。

在芯片的內電路中,FLASH和EEPROM不僅電路不同,地址空間也不同,操作方法和指令自然也不同,不論馮諾伊曼結構還是哈佛結構都是這樣。技術上,程序存儲器和非易失數據存儲器都可以只用FALSH結構或EEPROM結構,甚至可以用“變通”的技術手段在程序存儲區模擬“數據存儲區”,但就算如此,概念上二者依然不同,這是基本常識問題。

EEPROM:電可擦除可編程只讀存儲器,Flash的操作特性完全符合EEPROM的定義,屬EEPROM無疑,首款Flash推出時其數據手冊上也清楚的標明是EEPROM,現在的多數Flash手冊上也是這么標明的,二者的關系是“白馬”和“馬”。至于為什么業界要區分二者,主要的原因是FlashEEPROM的操作方法和傳統EEPROM截然不同,次要的原因是為了語言的簡練,非正式文件和口語中FlashEEPROM就簡稱為Flash,這里要強調的是白馬的“白”屬性而非其“馬”屬性以區別Flash和傳統EEPROM。

Flash的特點是結構簡單,同樣工藝和同樣晶元面積下可以得到更高容量且大數據量下的操作速度更快,但缺點是操作過程麻煩,特別是在小數據量反復重寫時,所以在MCU中Flash結構適于不需頻繁改寫的程序存儲器。

很多應用中,需要頻繁的改寫某些小量數據且需掉電非易失,傳統結構的EEPROM在此非常適合,所以很多MCU內部設計了兩種EEPROM結構,FLASH的和傳統的,以期獲得成本和功能的均衡,這極大的方便了使用者。隨著ISP、IAP的流行,特別是在程序存儲地址空間和數據存儲地址空間重疊的MCU系中,現在越來越多的MCU生產商用支持IAP的程序存儲器來模擬EEPROM對應的數據存儲器,這是低成本下實現非易失數據存儲器的一種變通方法。為在商業宣傳上取得和雙EEPROM工藝的“等效”性,不少采用Flash程序存儲器“模擬”(注意,技術概念上并非真正的模擬)EEPROM數據存儲器的廠家紛紛宣稱其產品是帶EEPROM的,嚴格說,這是非常不嚴謹的,但商人有商人的目的和方法,用Flash“模擬”EEPROM可以獲取更大商業利益,所以在事實上,技術概念混淆的始作俑者正是他們。

從成本上講,用Flash“模擬”EEPROM是合算的,反之不會有人干,用EEPROM模擬Flash是怎么回事呢?這可能出在某些程序存儲空間和數據存儲空間連續的MCU上。這類MCU中特別是存儲容量不大的低端MCU依然采用EEPROM作為非易失存儲器,這在成本上反而比采用Flash和傳統EEPROM雙工藝的設計更低,但這種現象僅僅限于小容量前提下。因Flash工藝的流行,現在很多商人和不夠嚴謹的技術人員將程序存儲器稱為Flash,對于那些僅采用傳統EEPROM工藝的MCU而言,他們不求甚解,故而錯誤的將EEPROM程序存儲器稱為“模擬Flash”,根本的原因是他們未理解Flash只是一種存儲器結構而非存儲器的用途,錯誤的前提自然導致錯誤的結論。商業上講,用EEPROM模擬Flash是不會有人真去做的愚蠢行為,這違背商業追求最大利益的原則,技術上也不可行,而對于技術人員而言。本質的問題是Flash是一種存儲器類型而非MCU中的程序存儲器,即使MCU的程序存儲器用的是Flash,但其逆命題不成立。
責任編輯人:CC

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 單片機
    +關注

    關注

    6043

    文章

    44621

    瀏覽量

    638577
  • FlaSh
    +關注

    關注

    10

    文章

    1642

    瀏覽量

    148680
收藏 人收藏

    評論

    相關推薦

    單片機中斷技術詳解

    在現代電子設備中,單片機作為控制核心發揮著舉足輕重的作用。而在其高效運作的背后,中斷機制是推動單片機實現實時響應與高效執行的關鍵因素。本文將深入探討單片機中的中斷概念、中斷系統的結構、
    的頭像 發表于 02-02 15:57 ?138次閱讀

    單片機在物聯網中的作用

    的核心組件,發揮著不可替代的作用。 一、單片機的定義與特點 單片機是一種集成電路芯片,它將計算機的CPU、存儲器、輸入/輸出接口等集成在一個芯片上。單片機具有體積小、成本低、功耗低、可
    的頭像 發表于 11-01 14:27 ?730次閱讀

    單片機的中斷機制

    單片機的中斷機制是一種重要的處理方式,它允許單片機在執行主程序的過程中,能夠暫停當前任務,轉而處理外部或內部緊急事件。這種機制極大地提高了系統的響應速度和處理能力,使得單片機在各種應用領域中得到廣泛應用。以下是對
    的頭像 發表于 10-17 18:03 ?967次閱讀

    51單片機(一款國產8位高性能Flash的接近感應單片機XD08M3232體驗感)

    給大家推薦一款在淘寶上發現的國產A/D型具有增強型1T8051內核8位高性能Flash的接近感應單片機XD08M3232,測試下來總體的感覺還是比較強大的,以下是本人試用后總結下來比較滿意的幾個點
    發表于 09-25 15:15

    單片機燒錄程序的基本步驟是什么

    單片機燒錄程序是單片機開發過程中非常重要的一步,它涉及到將編寫好的程序代碼通過一定的方式傳輸到單片機內部的存儲器中,使單片機能夠按照預定的邏輯執行任務。 一、硬件準備
    的頭像 發表于 09-02 09:47 ?1438次閱讀

    提高MSP430G系列單片機Flash擦寫壽命的方法

    電子發燒友網站提供《提高MSP430G系列單片機Flash擦寫壽命的方法.pdf》資料免費下載
    發表于 08-28 11:51 ?0次下載
    提高MSP430G系列<b class='flag-5'>單片機</b>的<b class='flag-5'>Flash</b>擦寫壽命的方法

    單片機boot0和boot1怎么設置

    單片機的啟動模式通常包括從內部ROM啟動、從外部ROM啟動、從外部Flash啟動等。 不同的啟動模式對應不同的Boot0和Boot1設置。 Boot0和Boot1的設置方法 Boot0和Boot1通常通過
    的頭像 發表于 08-22 09:50 ?3052次閱讀

    單片機復位電路中的電容是什么電容?

    單片機復位電路中的電容是一種特殊類型的電容,通常被稱為“去耦電容”或“旁路電容”。這種電容的主要作用是在單片機的電源線路中提供一個低阻抗的路徑,以便在電源電壓發生瞬變時,能夠迅速地吸收或釋放
    的頭像 發表于 08-06 10:31 ?916次閱讀

    ESP32-C6單片機支持哪些SPI Flash?

    開發環境:Windows11+VScode 使用的芯片型號:ESP32-C6 需要用到ESP32-C6的存儲功能,請問ESP32-C6單片機支持的片外SPI Flash,有沒有型號、品牌等要求,有沒有SPI Flash支持列表?
    發表于 06-07 06:42

    EEPROMFlash存儲器的區別

    可編程只讀存儲器)和Flash存儲器是兩種常見的非易失性存儲器,它們具有各自的特點和應用場景。本文將深入分析和比較EEPROMFlash存儲器的原理、結構、性能以及應用,以期為讀者提供全面而深入的理解。
    的頭像 發表于 05-23 16:35 ?6710次閱讀

    用stm32f103RC的flash模擬EEprom, 執行到EE_Init()時候單片機沒有反應是怎么回事?

    我用stm32f103RC的flash模擬EEprom, 執行到EE_Init()時候(之前還有一個FLASH_Unlock()函數),單片機沒有反應,沒法往下執行,我是用SWD下載程
    發表于 05-17 07:19

    如何系統、科學地自學單片機?

    很多初學者都會面臨這個問題,我想學習單片機、我也想學好單片機、我也想系統地學習單片機,但是單片機涉及到的學科多且雜根本不是三天兩天就能學完的,很多人都逃脫不了從入門到放棄的怪圈?那么我
    的頭像 發表于 03-28 08:03 ?1196次閱讀
    如何系統、科學地自學<b class='flag-5'>單片機</b>?

    8-Bit 觸控式 Flash 單片機中文資料

    而又有效的實現方法。 觸摸按鍵功能完全集成于單片機內,使用較少的外部元件便可實現觸摸按鍵的 應用。該系列單片機除了 Flash 程序存儲器,還包括 RAM 數據存儲器和用于存 儲串列數據、校準數據等非易失性數據的
    發表于 02-28 10:01 ?4次下載

    FLASH、EEPROM的區別和擴展【硬件干貨】

    EEPROMFLASH總體差異 ????部分MCU片內不帶程序存儲器ROM,可執行代碼只能放在外面的EEPROMFLASH(外擴)中; ????
    的頭像 發表于 02-27 08:37 ?2190次閱讀
    <b class='flag-5'>FLASH</b>、<b class='flag-5'>EEPROM</b>的區別和擴展【硬件干貨】

    51單片機流水燈制作

    ?流水燈是學習51單片機的一個基本項目,是我們對單片機IO口輸出認識的基本項目。當然學會了花樣流水燈也很好玩。 下面就分享一種51單片機流水燈制作的方法。 一、流水燈原理圖 二、相關知識 1
    的頭像 發表于 02-26 10:06 ?1706次閱讀
    51<b class='flag-5'>單片機</b>流水燈制作
    赌百家乐的玩法技巧和规则| 百家乐官网游戏平台架设| 百家乐星级游戏| ,| 百家乐棋牌游戏皇冠网| 昭苏县| 澳门百家乐赌客| 海立方百家乐官网赢钱| 百家乐出牌规| 百家乐官网游戏玩法规则| 百家乐真人游戏娱乐网| 百家乐官网怎么对冲打| 澳门百家乐游戏下| 大发888娱乐城lm0| 做生意招财的东西| 城口县| 百家乐庄闲和的概率| 百家乐官网牌路图表下| 澳门百家乐是怎样赌| 足球百家乐官网网上投注| 大发888 备用6222.com| 百家乐牌数计算法| 百家乐官网桩闲落注点| 威尼斯人娱乐城赌场| 高尔夫百家乐官网的玩法技巧和规则| 博彩赌场| 百家乐发牌牌规| 百家乐官网输一押二| 太阳城开户| 百家乐一起多少张牌| 百家乐官网六合彩3535| 巴登娱乐城开户| 太阳城百家乐分析解码| 网上现金游戏网 | 永利百家乐娱乐网| 广州百家乐官网桌子| 免费百家乐官网规律| 太阳城二手房| 24山入宅择日| 百家乐官网真人娱乐城陈小春| 免费百家乐计划工具|