在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

單片機為何需要Flash和EEPROM?它們有何作用

454398 ? 來源:alpha007 ? 作者:alpha007 ? 2022-12-06 11:45 ? 次閱讀

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

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

EEPROM 的全稱是“電可擦除可編程只讀存儲器”,即 Electrically Erasable Programmable Read-Only Memory。是相對于紫外擦除的 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 手冊上也是這么標明的,二者的關系是“白馬”和“馬”。至于為什么業界要區分二者,主要的原因是 Flash EEPROM 的操作方法和傳統 EEPROM 截然不同,次要的原因是為了語言的簡練,非正式文件和口語中 Flash EEPROM 就簡稱為 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,但其逆命題不成立。

一家之言,你有什么看法呢?

審核編輯黃昊宇

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

    關注

    10

    文章

    1640

    瀏覽量

    148319
  • EEPROM
    +關注

    關注

    9

    文章

    1027

    瀏覽量

    81783
收藏 人收藏

    評論

    相關推薦

    AFE4400的30管腳CLKOUT什么作用,他需要單片機相連嗎?連接到哪?

    AFE4400的30管腳CLKOUT什么作用,他需要單片機相連嗎?連接到哪?
    發表于 12-31 08:32

    開關電源電路中為何需要串聯小電阻

    開關電源電路中為何需要串聯小電阻,起什么作用,在電源中會見到阻值特別小的電阻,通常是0.5-2.2歐姆,它們分別在不同的位置,起到不同的作用。 在電源輸入端會串聯一顆2.2歐左右
    的頭像 發表于 11-19 13:40 ?1965次閱讀
    開關電源電路中<b class='flag-5'>為何需要</b>串聯小電阻

    單片機編程語言哪些選擇

    常用的單片機編程語言,以及它們的特點和應用場景: 1. C語言 特點 :C語言是一種通用的編程語言,以其高效性和靈活性而聞名。它提供了豐富的庫函數和直接的硬件訪問能力,非常適合用于單片機編程。 應用 :C語言是
    的頭像 發表于 11-01 14:13 ?798次閱讀

    8位單片機為何不會被高端單片機取代?

    )應用:8位單片機應用廣泛,包括汽車電子、家用電器、醫療設備、工業自動化和消費電子產品。它們通常是低成本、低功耗和實時控制應用的首選。 8位單片機為何不會被高端
    發表于 09-24 16:51

    十天學會單片機可能嗎?單片機入門需要多久?

    一下,單片機的入門其實并沒有想象中那么難。對于那些一定編程基礎,尤其是C語言基礎的學習者來說,入門的過程可能僅需幾天。例如,有人可能在三天內就掌握了單片機的基礎
    的頭像 發表于 09-05 08:00 ?1190次閱讀
    十天學會<b class='flag-5'>單片機</b>可能嗎?<b class='flag-5'>單片機</b>入門<b class='flag-5'>需要</b>多久?

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

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

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

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

    ST32F103單片機燒錄程序,段數據需要存放到flash中,怎么操作?

    ST32F103單片機燒錄程序,段數據需要存放到flash中,怎么生成的hex中帶這段數據,直接燒錄程序就一起把這段數據燒錄進去呢?
    發表于 04-19 07:28

    8位單片機為何不會過時?

    對于8位單片機來說,由于其主要處理8位數據,所以其“字”的長度可能也是8位,但這并不是絕對的,還需要具體看單片機的設計。
    的頭像 發表于 03-20 16:29 ?1896次閱讀

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

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

    FLASHEEPROM的區別和擴展【硬件干貨】

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

    單片機晶振電路原理及作用 51單片機晶振怎么接

    單片機是一種集成電路芯片,內部包含了微處理器核心、存儲器和各種周邊接口電路。晶振是單片機工作的時鐘源,為單片機提供穩定的時鐘信號。在單片機的設計中,晶振電路起著重要的
    的頭像 發表于 01-24 15:14 ?8583次閱讀

    單片機最小系統包含哪幾部分 單片機最小系統的作用

    單片機最小系統包含以下幾部分:單片機芯片、時鐘電路、復位電路、電源電路、外圍電路和連接接口等。 單片機芯片:單片機是整個系統的核心部分,負責數據處理和控制任務。常見的
    的頭像 發表于 01-24 10:40 ?1.5w次閱讀

    單片機最小系統的作用 單片機最小系統包含哪幾部分

    單片機最小系統是指能夠獨立工作的最基本的硬件組成,也是單片機的必備基礎。它的作用是為單片機提供工作所需的最基本的資源和功能,使單片機能夠正常
    的頭像 發表于 01-18 13:54 ?4219次閱讀

    單片機為何需要FlashEEPROM它們作用

    單片機為何需要FlashEEPROM它們
    的頭像 發表于 01-18 11:43 ?3938次閱讀
    主站蜘蛛池模板: 丁香六月婷婷在线| 国产三片理论电影在线| 羞羞爱爱| 亚洲人成人| 婷婷在线观看香蕉五月天| 18岁禁黄色| 免费一级成人毛片| 男人你懂的网站| 天堂资源在线bt种子| 免费a网站| 淫www| 激情亚洲婷婷| 亚洲一区二区三区免费视频| 免费人成网站线观看合集| 我不卡午夜| 看久久| 最猛91大神ben与女教师| 嗯!啊!使劲用力在线观看| 91av视频网站| 井野雏田小樱天天被调教| 日韩欧美亚洲一区| 中文字幕亚洲天堂| 最新天堂网| 特级片毛片| 看日本黄大片在线观看| aaa一级片| 久热操| 亚洲一区二区三区播放在线| 综合久久婷婷| 日本美女中出| 国产精品久久久亚洲| 日日干天天操| 欧美成人猛男性色生活| 在线观看视频在线观看| 视频在线视频免费观看| 在线观看免费午夜大片| 双性人皇上被c到哭| 五月天婷婷电影| 激情综合婷婷丁香六月花| 午夜片在线观看| 欧美草逼|